Я использую 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 пакета.
источник
orig.tar.xz
если вы уже загрузили его раньше. Запуститеdebuild -sd
(илиdpkg-build-package -sd
), чтобы создать.changes
файл, который не загружает исходный архив.--to-suite
он создан не для «серии», а для чего-то другого. Я не знаю. Казалось, работает, но ничего не изменилось на моем PPA.--to-suite
для серии. Я не буду указывать-e
флаг, так как по умолчанию будет выбрана последняя версия. Кроме того , попробуйте расщеплению до--ppa-name=myname/myppa
к-p myname --ppa-name=myppa
, так как--ppa-name
просто хочет имя PPA. Кроме того, вам не нужно указывать,--to-*
если это то же самое, что и из.Ответы:
copy-package
это хорошо, но правильным современным вызовом будет:(Как правильно заметил saiarcot895, вам нужно было отделить
--ppa
и--ppa-name
, но это всегда было очень запутанным, что было одной из причин, по которой мы добавили унифицированные--from
и--to
опции для указания архивов. Кроме того, вы забыли включить имя пакета, что, вероятно, поэтому вы не получили вывод; более свежие версииcopy-package
проверки для этого.)источник