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-extras
paket 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-extras
paket 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 Depends
atau Recommends
garis - 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, --full
opsi 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
~/.devscripts
file 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 Provides
sebagai gantinya dan itu berfungsi seperti pesona. Lihat kode saya (baru saja mengubahnya): github.com/palladius/debian-packages/blob/master/…