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

В настоящее время я модифицирую инструмент резервного копирования deja-dup, мои бесславные попытки задокументированы в: https://answers.launchpad.net/deja-dup/+question/76645 и мой источник Ветвь может быть найдена в: lp: ~ beowulfof / + junk / deja-dup .

По сути, я добавил параметры асинхронной загрузки для удаленных файловых систем и параметр, позволяющий вручную выбирать размер файлов резервных копий, вместо того, чтобы просто использовать 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
задан 12 May 2015 в 13:18

1 ответ

Причина Вы получаете ту ошибку, состоит в том потому что debian/source/format файл говорит, что это - a 3.0 (native) пакет.

Как немного вводной информации, debian/source/format файл описывает формат пакета. Существует три доступные формата:

  • 1.0: Указывает что debian папка и любые изменения, которые должны быть внесены в другие файлы в восходящем пакете, будут в a .diff.gz файл. Это приводит к a .orig.tar.gz это содержит восходящий поток tarball и .diff.gz это включает изменения/дополнения для упаковки.

  • 3.0 (quilt): Указывает что debian папка в a .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 изменений). Обратите внимание, что версия не обязательно указывает, существуют ли изменения, внесенные в восходящий поток tarball сам (файлы исправления в 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 будет работать (наблюдайте символы нижнего подчеркивания и тире).

3
ответ дан 12 May 2015 в 13:18

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

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