Saya ingin dapat membuat paket yang tidak mengandung kode atau program itu sendiri, tetapi menginstal paket lain yang ada di repositori ke komputer, seperti bagaimana ubuntu-restricted-extraspaket itu?
Saya ingin dapat membuat paket yang tidak mengandung kode atau program itu sendiri, tetapi menginstal paket lain yang ada di repositori ke komputer, seperti bagaimana ubuntu-restricted-extraspaket itu?
Jawaban:
Paket meta seperti ini dapat dibuat dengan alat yang disebut equivs yang akan membuat paket dengan informasi ketergantungan saja.
Pertama, buat direktori:
mkdir my-metapackage
cd my-metapackage/
Sekarang jalankan program:
equivs-control ns-control
Ini akan membuat file bernama ns-control, buka file ini dengan editor teks Anda. File kontrol yang Anda hasilkan harus dimodifikasi Dependsatau Recommendsgaris - garisnya bergantung pada paket yang ingin Anda instal:
Section: misc
Priority: optional
Standards-Version: 3.9.1
Package: my-metapackage
Version: 1.0
Depends: openssh-server, gedit
Description: This package installes an ssh server and a text editor
The Long description of this package ends with a newline!
(Sebagai contoh, Anda harus memasukkan lebih banyak informasi)
Dan akhirnya, bangun paket dengan menjalankan
equivs-build ns-control
Paket Anda terletak di my-metapackage/my-metapackage_1.0_all.deb.
Jika Anda juga ingin membuat paket sumber, --fullopsi dapat diteruskan ke equivs-build, misalnya equivs-build --full ns-control. Ini akan menggunakan debuild & juga membuat file .dsc & .tar.gz.
Untuk membuat file .changes sumber yang dapat Anda unggah ke PPA, ekstrak & buat paket sumbernya dengan
dpkg-source -x my-metapackage_1.0.dsc
cd my-metapackage-1.0
debuild -S
Jika Maintainer yang Anda atur di ns-control cocok dengan kunci GPG Anda, itu harus membangun & menandatangani file my-metapackage_1.0_source.changes untuk Anda transfer ke PPA Anda
~/.devscriptsfile dan secara khusus mendefinisikan kunci GPG yang berbeda untuk digunakan dalam file devscripts, itu akan MENGATASI proses dpkg / debuild dan memilikinya gunakan kunci GPG spesifik yang ditentukan .devscripts. Sama seperti poin penting untuk kalimat terakhir dalam jawaban Anda
Depends:membuat instalasi menjadi baik jika dan hanya jika ada paket; itu tidak menginstal mereka jika mereka tidak ada di mesin saya. Untuk menginstalnya, saya menggunakan Providessebagai gantinya dan itu berfungsi seperti pesona. Lihat kode saya (baru saja mengubahnya): github.com/palladius/debian-packages/blob/master/…