Membuat file deb di Debian menggunakan kode sumber github dan alat debuild

0

Saya ingin mengkompilasi nginx (dengan lib khusus) menggunakan kode sumber terbaru dari GitHub. Tetapi jika saya mengunduh kode dari GitHub, jelas, tidak ada folder "debian" dan file dalam.

Jadi, ketika saya menggunakan perintah debuild: yaitu, debuid clean, saya melihat kesalahan:

debuild: fatal error at line 629:
cannot find readable debian/changelog anywhere!
Are you in the source code tree?

Apakah mungkin untuk secara otomatis menghasilkan semua file di folder debian? Atau saya harus melakukannya secara manual?

Vyacheslav
sumber

Jawaban:

1

Orang bisa membuat sistem untuk autogenerating paket sederhana, tetapi saya belum melihatnya. Semua paket Debian yang saya ketahui memiliki rulesfile buatan tangan . Selain itu, sebagian besar file dalam debiansubdirektori terlihat sama (dengan perbedaan skrip) di seluruh paket.

Untuk apa nilainya, saya telah membangun 48 paket yang berbeda untuk pekerjaan saya sendiri , dan menyediakan skrip yang sesuai di tarball-source, tetapi di subdirektori yang berbeda untuk menghindari konflik dengan pembuat paket Debian. Debian tidak mendistribusikan skrip build mereka di dalam tarbal sumber, karena kebijakan mereka adalah mendistribusikan tambalan terhadap sumber hulu yang asli (tidak dimodifikasi). Jadi, kemungkinan satu-satunya sumber di mana Anda akan melihat gabungan keduanya adalah dari pengembang yang membuat paket sendiri.

Anda mungkin dapat mengadaptasi skrip dari paket Debian yang diberikan (meskipun beberapa memiliki kebiasaan aneh). Untuk memulai, Anda perlu menemukan skrip paket. Saya biasanya pergi ke halaman pelaporan bug

https://www.debian.org/Bugs/

dan (tidak semua paket dinamai secara konsisten), cari bug pada paket itu, mis., nginx masukkan deskripsi tautan di sini . Pada bahwa halaman, adalah pointer ke halaman paket . Dalam itu, ada link yang menunjuk ke paket sebagai rilis yang berbeda, misalnya, jessie (stabil) , dan mengikuti bahwa link yang akan membawa Anda ke halaman yang ada (di sebelah kanan ekstrim) link ke

Build-system Debian mengasumsikan potongan-potongan itu tersedia secara terpisah; untuk bangunan saya sendiri, saya menulis skrip yang mengasumsikan bahwa skrip saya berada di lokasi yang berbeda. Untuk salah satu solusi, Anda mungkin perlu membaca tambahan.

Thomas Dickey
sumber