Создание версий пакета для загрузки в PPA

У меня есть пакет с именем 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 будут загружены.

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

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

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

6
задан 17 May 2014 в 23:04

1 ответ

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

1.0.3-1 заменит Ubuntu, только загружают versionized 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 <foo@bar.com>  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. Это вызвано тем, что th исходный tarball должен уже присутствовать там.

7
ответ дан 17 May 2014 в 23:04

Другие вопросы по тегам:

Похожие вопросы: