Bagaimana cara menyalin paket dari Debian ke PPA saya?

10

Saya ingin menambahkan paket gourmet terbaru dari Debian sid ke PPA tim kami sehingga pengguna Ubuntu yang ingin menjalankan versi Gourmet yang terkini dapat menambahkan PPA ke sumber perangkat lunak mereka. (Ketergantungan pada hal itu, seharusnya tidak menjadi masalah karena hampir semua dependensi kami saat ini sudah tersedia di semua versi Ubuntu yang saat ini didukung.)

Saya telah mengunduh *.dscfile dan debian dan tarballs asli, dan bahkan tahu saya bisa menggunakan ini untuk file paket source.changes. Saya juga mengunduh kunci publik pengelola Debian sehingga dputdapat memvalidasi paket. Saya kemudian mencoba mengunggah paket ke PPA kami menggunakan dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(Saya juga mencoba tanpa tilda.) Ini tampaknya berhasil, tetapi saya tidak mendapatkan email konfirmasi, dan tidak ada paket yang sekarang ditampilkan di PPA kami , yang membuat saya percaya bahwa paket itu ditolak karena kunci pengelola Debian jelas bukan kunci anggota tim kami.

Jadi apa cara termudah untuk "menyalin" paket dari Debian (sid) ke PPA Launchpad? Apakah saya benar-benar perlu membangun kembali seluruh paket secara lokal sebelum saya dapat mengunggahnya?

Bernhard Reiter
sumber
BTW, karena versi pengembangan Ubuntu secara otomatis menyinkronkan paket-paketnya dari Debian (yaitu, sebelum DebianImportFreeze), saya akan dengan senang hati menerima jawaban yang memberi tahu saya cara menyalin paket dari Utopic.
Bernhard Reiter

Jawaban:

12

Anda perlu membangun kembali paket sumber secara lokal sebelum mengunggah untuk menyesuaikan log perubahan dan membuat ulang file perubahan. Meskipun sejak backporting sebuah paket adalah tugas yang cukup umum, ini telah dituliskan. Lihatlah paket backportpackage Ikon halaman manualperintah ubuntu-dev-toolsInstal ubuntu-dev-tools .

Untuk mendukung paket dari Debian, cukup sediakan seri target distro, PPA, dan file dsc untuk paket tersebut:

backportpackage -d trusty -u ppa:gourmet/ppa http://ftp.de.debian.org/debian/pool/main/g/gourmet/gourmet_0.17.3-1.dsc

Lebih mudah untuk membuat backport paket dari satu rilis Ubuntu ke yang lain karena Anda tidak perlu menemukan file dsc. Katakanlah kita ingin mendukung dari utopis ke tepercaya:

backportpackage -s utopic -d trusty -u ppa:gourmet/ppa gourmet
andrewsomething
sumber
Luar biasa! Satu-satunya hal yang terlihat agak seperti bug bagi saya adalah bahwa paket tersebut berakhir di PPA pribadi saya (~ ockham-razor / ppa) meskipun saya memberikan ~gourmet/ppaargumen sebagai -uparameter. (Tapi untungnya saya bisa menyalinnya dari PPA saya ke tim Gourmet melalui Launchpad.)
Bernhard Reiter
1

Ada beberapa cara untuk melakukan ini.

Ketika saya melakukan ini untuk Rhythmbox saya mengikuti resep berikut:

Sebuah. Ambil file sumber dan file debian

masukkan deskripsi gambar di sini

b. Hapus kompresi sumber (.orig.tar.xz)

c. ubah nama folder sumbernya menjadi sepertirhythmbox-3.0.3

c. buka kompresi file debian (.debian.tar.xz)

d. pindahkan folder debian di bawah direktori sumber

e. dch -iuntuk mengubah file changelog

f. ubah nama paket "tidak stabil" menjadi nama target ubuntu - di sini saya telah menggunakan tepat untuk 12,04. Ubah versi yang sesuai untuk aplikasi Anda. Di sini rhythmbox 3.0.3 - jadi saya baru saja menambahkan-1~ppafossfreedom

rhythmbox (3.0.3-1~ppafossfreedom) precise; urgency=low

  * rebuild

 -- fossfreedom <[email protected]>  Thur, 07 Jun 2012 13:19:18 +0100

g. buat paket sumber baru:dh_build --createorig

h. Bangun hanya sumber dengan kunci Anda: di debuild -S -k0xABCDEFGmana ABCDEFGkunci Anda

saya. unggah paket Anda untuk bangunan:

cd ..
dput ppa:fossfreedom/rhythmbox rhythmbox_3.0.3-1_sources.changes    
kebebasan fosil
sumber
Nah, itu pada dasarnya membangun kembali paket. Baiklah. Saya berharap untuk cara yang lebih mudah, tapi saya kira tidak ada.
Bernhard Reiter
Lihatlah dgetperintah dari devscriptspaket. Ini akan menyederhanakan ini sedikit.
andrewsomething
@andrewsomething - ubah itu menjadi jawaban dengan contoh :) - Saya akan tertarik untuk melihat apakah itu dapat menyederhanakan kemasan saya juga.
fossfreedom
Yah saya punya jawaban yang sama sekali berbeda, tetapi Anda masih harus belajar tentang dget=) File dsc berisi semua informasi tentang bagian lain dari paket sumber. Jadi dgetakan ambil semuanya dan ekstrak dengan benar jika Anda memberikan tautan ke file dsc. dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc
andrewsomething
jawaban rapi - bagus sekali +1
fossfreedom