Launchpad: CLI "Menyalin paket"

8

Saya menggunakan Launchpad untuk mengunggah a .dsc, a debian.tar.gzdan a .orig.tar.xz. Arsip asli berisi file i386 dan amd64, dan saya gunakan debian/rulesuntuk membangun paket arsitektur yang berbeda. Tapi itu hanya dibangun di atas seri Trusty. Saya ingin menggunakan fitur Salin paket , tapi saya ingin otomatis.

Saat ini, saya harus terhubung ke Launchpad , klik Lihat Detail Paket , klik Salin Paket , dan gunakan:

> Destination PPA:
> This PPA

> Destination series:
> Utopic

> Copy existing binaries

Apakah ada cara untuk mengotomatiskan semua ini "menyalin binari yang ada dari seri lama ke seri baru", atau melakukannya melalui CLI untuk menggunakannya dalam skrip?

Terima kasih


Memimpin:

  • T: Mungkin ubuntu-archive-toolsdapat membantu saya melakukannya, sepertinya memiliki skrip python paket-salinan?

    A: Itu tidak bekerja dengan itu:python copy-package -y -b --ppa-name=myname/myppa --to-ppa-name=myname/myppa -s trusty --to-suite=utopic -e versionofpackage

  • T: Mungkin jika saya mengubah entri changelog dari trusty ; urgency=lowmenjadi utopic trusty ; urgency=low?

    A: Tidak berfungsi:Unable to find distroseries: utopic trusty. Further error processing not possible because of a critical previous error.

  • T: Bangun 1 orig.tar.xzdan beberapa .dsc&debian.tar.gz

    A: Saya saat ini membangun nomor versi yang ditingkatkan (yaitu mypackage-1.1.0-0trusty0dan mypackage-1.1.0-0utopic0), tetapi solusinya bisa lebih baik karena saya harus mengunggah ulang orig.tar.xzuntuk masing-masing dan bahwa dibutuhkan dua kali tempat di PPA karena dibangun .debtidak dianggap sebagai salinan dari satu sama lain kecuali 2 paket.

TuanVaykadji
sumber
1
Sebagai catatan, Anda tidak perlu memuat ulang orig.tar.xzjika Anda sudah mengunggahnya sebelumnya. Jalankan debuild -sd(atau dpkg-build-package -sd) untuk menghasilkan .changesfile yang tidak mengunggah tarball asli.
saiarcot895
Kesalahan apa yang Anda dapatkan dengan metode pertama?
saiarcot895
Terima kasih atas tip pertama @ saiarcot895, saya akan menggunakannya !! Metode pertama tidak menghasilkan apa-apa, saya pikir itu karena --to-suitetidak dibuat untuk "seri" tetapi untuk sesuatu yang lain. Saya tidak tahu Tampaknya berfungsi tetapi tidak ada yang berubah pada PPA saya.
MrVaykadji
1
--to-suiteadalah untuk seri. Saya tidak akan menentukan -ebendera karena, secara default, versi terbaru akan dipilih. Juga, cobalah berpisah --ppa-name=myname/myppauntuk -p myname --ppa-name=myppa, karena --ppa-namehanya ingin nama PPA. Juga, Anda tidak perlu menentukan --to-*apakah itu sama dengan dari.
saiarcot895
@ saiarcot895: Saya tidak bisa mendapatkan paket-copy untuk bekerja. Saya memiliki token otorisasi, saya adalah pemilik PPA, tetapi tidak berhasil.
MrVaykadji

Jawaban:

2

copy-package baik untuk ini, tetapi doa modern yang benar adalah:

./copy-package --from=~myname/ubuntu/myppa --from-suite=trusty --to=~myname/ubuntu/myppa --to-suite=utopic -b -y packagename

(Seperti yang saiarcot895 catat dengan benar, Anda perlu memisahkan --ppadan --ppa-name, tetapi ini selalu sangat membingungkan yang merupakan salah satu alasan kami menambahkan unified --fromdan --toopsi untuk menentukan arsip. Juga, Anda lalai memasukkan nama paket, yang mungkin mengapa Anda tidak mendapatkan output; versi yang lebih baru dari copy-packagecek untuk ini.)

Colin Watson
sumber