Saya punya beberapa paket. Sebut saja mereka A.deb
, B.deb
dan C.deb
. Setiap paket memiliki paket sumber yang sesuai A.dsc
dan A.tar.gz
, B.dsc
dan B.tar.gz
, C.dsc
dan C.tar.gz
. Paket tergantung satu sama lain: C.deb
tergantung B.deb
dan B.deb
tergantungA.deb
Jika saya memodifikasi A.deb
, saya perlu membangun kembali B.deb
atau tidak akan berfungsi. Hal yang sama berlaku untuk B.deb
dan C.deb
. Apakah ada cara untuk mengotomatisasi proses ini? Apakah mungkin ada alat atau skrip yang akan melakukannya untuk saya? Jika tidak, bagaimana saya bisa mengotomatisasi sendiri?
Selain itu, Tidak ada paket saya.
apt
package-management
software-installation
dpkg
dependencies
Xiaodongjie
sumber
sumber
make
diciptakan untuk. Makefile termasuk aturan yang menentukan apa yang perlu dikompilasi ulang / dibangun kembali berdasarkan apa yang telah berubah.make
, dan seperti yang Anda katakan sendiri, @xiaodongjie, target make akan menjadi paket yang dihasilkan, dengan dependensi paket-ke-paket mereka diumumkan, dan tindakan terkait untuk setiap target adalah perintah yang membuat paket tersebut . Instalmake-doc
dan ketikinfo make
untuk membaca semua tentang itu.Jawaban:
Anda akan menggunakan Makefile dengan dependensi build yang dideklarasikan, misalnya sebagai berikut:
Perhatikan bahwa lekukan perintah adalah TAB.
Dengan itu
Makefile
, Anda akan menggunakan perintahdan ini akan menentukan paket mana yang akan dibuat dan dalam urutan apa, dan kemudian membangunnya, semua tergantung pada cap waktu file. Misalnya, jika say
B.tar.gz
memiliki stempel waktu lebih lama dariB.deb
(mis. PaketB
memiliki sumber baru), maka itu akan menyebabkan pertamaB.deb
dibangun kembali, dan karena itu akan membuatnya dicap lebih lambat dariC.deb
itu, itu akan menyebabkanC.deb
dibangun kembali juga.sumber
Yah, mungkin saya benar-benar kehilangan maksud Anda, tapi sepertinya Anda mengkompilasi ulang paket A dan ingin mengkompilasi ulang paket B & C, yang saya hanya ingin membuat makefile untuk kami.
sumber