Панель запуска: CLI «Копирование пакетов»

8

Я использую Launchpad, чтобы загрузить a .dsc, a debian.tar.gzи a .orig.tar.xz. Архив orig содержит файлы i386 и amd64, и я использую их debian/rulesдля создания пакетов различных архитектур. Но он основан только на серии Trusty. Я хотел бы использовать функцию копирования пакетов , но я хочу, чтобы она была автоматизирована.

В настоящее время я должен подключиться к Launchpad , нажать View Details (Детали пакета) , нажать Copy Packages и использовать:

> Destination PPA:
> This PPA

> Destination series:
> Utopic

> Copy existing binaries

Есть ли способ автоматизировать все это «скопировать существующие двоичные файлы из более старых серий в новые серии» или сделать это через CLI для использования в сценарии?

Спасибо


Приводит:

  • Q: Может быть, ubuntu-archive-toolsможет помочь мне сделать это, кажется, есть сценарий Python с копией пакета?

    A: Это не работает с этим:python copy-package -y -b --ppa-name=myname/myppa --to-ppa-name=myname/myppa -s trusty --to-suite=utopic -e versionofpackage

  • В: Может быть, если я изменю свою запись в журнале изменений trusty ; urgency=lowна utopic trusty ; urgency=low?

    A: это не работает:Unable to find distroseries: utopic trusty. Further error processing not possible because of a critical previous error.

  • Q: Build 1 orig.tar.xzи несколько .dsc&debian.tar.gz

    A: В настоящее время я создаю увеличенный номер версии (то есть mypackage-1.1.0-0trusty0и mypackage-1.1.0-0utopic0), но решение могло бы быть лучше, так как мне пришлось бы повторно загружать orig.tar.xzдля каждого из них, и это занимает вдвое больше места в PPA, так как собранные .debне считаются копией друг друга, но 2 пакета.

MrVaykadji
источник
1
Для записи, вам не нужно повторно загружать, orig.tar.xzесли вы уже загрузили его раньше. Запустите debuild -sd(или dpkg-build-package -sd), чтобы создать .changesфайл, который не загружает исходный архив.
saiarcot895
Какую ошибку вы получили с первым методом?
saiarcot895
Спасибо за первый совет @ saiarcot895, я буду им пользоваться !! Первый метод ничего не выводил, я думаю, это потому, что --to-suiteон создан не для «серии», а для чего-то другого. Я не знаю. Казалось, работает, но ничего не изменилось на моем PPA.
MrVaykadji
1
--to-suiteдля серии. Я не буду указывать -eфлаг, так как по умолчанию будет выбрана последняя версия. Кроме того , попробуйте расщеплению до --ppa-name=myname/myppaк -p myname --ppa-name=myppa, так как --ppa-nameпросто хочет имя PPA. Кроме того, вам не нужно указывать, --to-*если это то же самое, что и из.
saiarcot895
@ saiarcot895: Я не могу заставить работать пакет копирования. У меня есть токен авторизации, я владелец PPA, но он не работает.
MrVaykadji

Ответы:

2

copy-package это хорошо, но правильным современным вызовом будет:

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

(Как правильно заметил saiarcot895, вам нужно было отделить --ppaи --ppa-name, но это всегда было очень запутанным, что было одной из причин, по которой мы добавили унифицированные --fromи --toопции для указания архивов. Кроме того, вы забыли включить имя пакета, что, вероятно, поэтому вы не получили вывод; более свежие версии copy-packageпроверки для этого.)

Колин Уотсон
источник