Как правильно установить модифицированную версию пакета?
В настоящее время я модифицирую инструмент резервного копирования deja-dup, мои бесславные попытки задокументированы по адресу: https://answers.launchpad.net/deja-dup/+question/76645 а мою ветку source можно найти по адресу: lp: ~ Беовульфоф / + барахло / дежа-дуп.
По сути, я добавил параметры асинхронной загрузки для удаленных файловых систем и параметр для ручного выбора размера файлов резервных копий, вместо того, чтобы просто использовать 5/25MiB (я думаю, что пользователь должен иметь возможность решать сам).
Но моя проблема не в изменениях, а в версии для сборки пакета. Во время разработки патча я просто увеличил номер версии до 33.ubuntu3
в то время как оригинальная упаковка имеет 32.0-0ubuntu5
,
Я хочу создать пакет и это для моего PPA, но поэтому я хотел изменить в соответствии с руководством по упаковке для 32.0_0ubuntu5ppa1
,
Если я попытаюсь собрать пакет с исходным кодом bzr builddeb -S -- -us -uc
он утверждает следующее:
bzr: ERROR: Inconsistency between source format and version: version is not native, format is native.
Итак, какую версию я должен установить пакет, прежде чем собирать его для PPA?
1 ответ
Причина, по которой вы получаете эту ошибку, заключается в том, что debian/source/format
Файл говорит, что это 3.0 (native)
пакет.
В качестве справочной информации, debian/source/format
Файл описывает формат пакета. Доступны три формата:
1.0
: Указывает, чтоdebian
папка и любые изменения, которые необходимо внести в другие файлы в исходном пакете, будут находиться в.diff.gz
файл. Это приводит к.orig.tar.gz
который содержит верхний тарбол и.diff.gz
это включает изменения / дополнения для упаковки.3.0 (quilt)
: Указывает, чтоdebian
папка в.debian.tar.gz
файл, и что изменения в исходных файлах будут указаны как отдельные файлы исправлений вdebian/patches
папку, и будет использовать систему лоскутного одеяла.3.0 (native)
: Такой же как3.0 (quilt)
, но для пакетов, которые не будут иметь патчей, потому что само программное обеспечение / программа создается дистрибьюторами (Debian, Ubuntu и т. д.), и поэтому любые изменения вносятся непосредственно в файлы.
Для последних двух форматов разные форматы версий. 3.0 (quilt)
ожидает номер версии с последующим -#
или же -#ubuntu#
, Некоторые примеры этого 2.7-1ubuntu3
(с точки зрения Ubuntu это означает, что пакет был импортирован из Debian, но поверх него есть изменения, специфичные для Ubuntu) и 3.4-2
(с точки зрения Ubuntu это означает, что пакет был импортирован из Debian, но не имеет специфичных для Ubuntu изменений). Обратите внимание, что версия не обязательно указывает, есть ли изменения, внесенные в сам архив исходной версии (файлы исправлений в debian/patches
), или это просто изменения в сборке пакета.
За 3.0 (native)
, нет тире после версии. Некоторые примеры этого 23
а также 8.4
,
В вашем случае версия следует 3.0 (quilt)
формат, но debian/source/format
говорит 3.0 (native)
, Здесь нужно сделать две вещи:
+ Изменить
debian/source/format
в3.0 (quilt)
,(Рекомендуется) Внесите любые изменения в пакет в отдельном патче. Посмотрите на папку патчей Ubuntu для синтаксиса. Обратите внимание, что
series
Файл указывает, какие патчи в папке должны применяться и в каком порядке. (строки начинающиеся с#
игнорируются)
Что касается версии вашего пакета, используя 32.0-0ubuntu5ppa1
будет работать (смотреть подчеркивания и тире).