Версии пакета для загрузки в PPA

6

У меня есть пакет с именем Artha , который я распространяю как исходные и (deb) двоичные файлы для x86 и x86_64-архитектур, т.е. я опыт создания файлов deb. У меня появилось довольно много запросов на создание PPA. Я думал, что сделаю это для предстоящего выпуска. Artha в репозитории Ubuntu имеет версию 1.0.2, и я пытаюсь создать PPA для Artha 1.0.3.

Я прочитал Документы Personal Package Archive в Launchpad, и теперь PPA настроен, но на этой странице при версировании говорит, что для пакета, такого как Artha, который уже находится в репозиториях Ubuntu, называется artha-1.0.2-1ubuntu1 , версия PPA должна быть artha-1.0.3-1ubuntu1ppa1 , так что, когда репозиции Ubuntu обновляются до 1.0.3 от Artha, он заменяет пакет PPA.

Когда я обычно делаю свой .deb-пакет, я получаю эти файлы

  • artha_1.0.3.orig.tar.bz2
  • artha_1.0.3-1.debian.tar.gz
  • artha_1.0.3-1.dsc
  • artha_1.0.3-1_amd64.build
  • artha_1.0.3-1_amd64.changes
  • artha_1.0.3-1_amd64.deb

и их эквиваленты для i386. Эта страница при загрузке в PPA говорит, что файлы .dsc, .changes и .debian.tar.gz будут быть загружен.

Вот моя путаница. Как я делаю эти файлы с вышеупомянутой версией? т. е. с суффиксом «ppa»? Конечно, я чувствую, что ручное переименование исходного пакета исходного кода Artha не кажется правильным.

Также должен ли я использовать debuild -S -sd или debuild -S -sa ? На странице Launchpad говорится, что альтернативная версия существующего пакета должна использовать предыдущую. Это звучит для меня неоднозначно. Что это значит? Обновлена ​​ли версия в качестве альтернативной версии?

Есть много подробных страниц по настройке PPA. Но они предназначены для настройки только один раз, в то время как PPA - это все, что дает обновления для определенного пакета быстрее, а обслуживание очень важно, мне было бы здорово, если бы кто-нибудь мог указать мне на такой документ, который рассказывает о внесении обновлений и т. Д. т.е. о вещах, которые происходят с PPA после начальной загрузки.

    
задан legends2k 07.10.2012 в 18:28
источник

1 ответ

7

Версия полученного пакета исходит из номера версии, предоставленного в debian/changelog . Поэтому у вас должна быть соответствующая версия.

1.0.3-1 заменит загрузку только Ubuntu 1.0.3-0ubuntu1

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-0ubuntu1 || echo "False"
False

Но он не заменит версию, исходящую из Debian с изменениями Ubuntu, т. е. 1.0.3-1ubuntu1

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1ubuntu1 || echo "False"
$

Символ tilda ( ~ ) имеет особое значение в номерах версий. Например:

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1~ppa1 || echo "False"
False

Поскольку ваш пакет не является исходным кодом Debian, я использую номер версии, такой как 1.0.3-0~ppa1 . Это гарантирует, что он меньше, чем версия, синхронизированная непосредственно с Debian или введенная в Ubuntu,

Итак, ваш журнал изменений должен выглядеть так:

artha (1.0.3-0~ppa1) quantal; urgency=low

  * New upstream release.

 -- Your Name <[email protected]>  Sun, 07 Oct 2012 13:06:56 -0400

Использовать debuild -S -sd или debuild -S -sa - это действительно другой вопрос, но вот краткий ответ.

-sa гарантирует, что .orig.tar.bz2 будет загружено. Если вы еще не загрузили эту версию выше, используйте это.

-sd явно делает это так, что загружаются только debian.tar.gz или diff.tar.gz . Это происходит, когда вы вносите изменения в восходящую версию, которая уже доступна в вашем целевом архиве или PPA. Это связано с тем, что там должен присутствовать оригинальный архив.

    
ответ дан andrewsomething 07.10.2012 в 19:09
источник