Как правильно установить модифицированную версию пакета?

В настоящее время я модифицирую инструмент резервного копирования 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), Здесь нужно сделать две вещи:

  1. + Изменить debian/source/format в 3.0 (quilt),

  2. (Рекомендуется) Внесите любые изменения в пакет в отдельном патче. Посмотрите на папку патчей Ubuntu для синтаксиса. Обратите внимание, что series Файл указывает, какие патчи в папке должны применяться и в каком порядке. (строки начинающиеся с # игнорируются)

Что касается версии вашего пакета, используя 32.0-0ubuntu5ppa1 будет работать (смотреть подчеркивания и тире).

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