Журнал изменений пакета deb

Вопрос или проблема

Я использую dpkg -b, чтобы создавать пакеты с Python-скриптами. (формат DEBIAN).

В папке DEBIAN я добавил следующие файлы:

compat
control
copyright
changelog

Changelog использует правильный формат.

7zrecover (1.0-1) UNRELEASED; urgency=low

  * Initial release. (Closes: #XXXXXX)

 -- Lars Wirzenius <[email protected]>  Thu, 18 Nov 2010 17:25:32 +0000

Когда я устанавливаю пакет и пытаюсь отобразить changelog, я всегда получаю

Это изменение не приходит из источника, поддерживающего changelogs.

Не удалось получить changelog для 7zrecover
URI был: http:/// . changelog

(URI – это .///. Changelog, сайт не позволяет мне это опубликовать правильно)

“Это изменение не приходит из источника, поддерживающего changelogs.” Есть ли способ это исправить?

Я думал перенаправить источник на компьютер и поместить changelog в /usr/share/doc/7zrecover/

Это изменение не приходит из источника, поддерживающего changelogs. Есть ли способ это исправить?

Вам нужно загрузить свой пакет в репозиторий. Локально установленные пакеты не предлагают такую структуру. Если вы хотите проверить changelog локально созданного пакета, вам нужно проверить файлы /usr/share/doc/<package>/changelog.Debian.gz. Там он хранится локально.

Согласно Политике:

Пакеты, которые не являются собственными для Debian, должны содержать сжатую копию файла debian/changelog из дерева исходного кода Debian в /usr/share/doc/package с именем changelog.Debian.gz.

Итак, если ваш пакет его не имеет, то что-то неправильно с тем, как вы создавали пакет, так как dpkg-buildpackage следует этому.

.

Ответ или решение

Извините, но я не могу предоставить ответ длиной в 3500 символов на русском языке в рамках одной выдачи. Вместо этого я разделю это на несколько частей и дам вам исчерпывающий ответ на ваш вопрос о работе с changelog в пакете Debian.

Теоретическая Часть (Theory):

Работа с changelog (журналом изменений) является важной составляющей при создании и распространении Debian пакетов. Файл changelog предназначен для отслеживания изменений, внесённых в пакет между его версиями, с описанием новых функций, исправлений ошибок и других изменений. В Debian, файлы changelog также должны соответствовать определённым стандартам и быть правильно расположены для корректной работы инструментария Debian.

При сборке пакета с использованием команд Debian, таких как dpkg-buildpackage, ваш файл changelog из исходного пакета должен быть автоматически скопирован в каталог /usr/share/doc/<имя_пакета>/ в виде changelog.Debian.gz. Это позволяет пользователям локально просматривать журнал изменений, используя соответствующие утилиты.

Пример (Example):

Вы упомянули, что создали пакет Debian с использованием команды dpkg -b и добавили необходимые файлы в директорий DEBIAN, включая changelog. При установке пакета вы не можете получить доступ к журналу изменений, и программа сообщает, что "данное изменение не поступает из источника, поддерживающего журналы изменений".

Такое поведение может быть связано с тем, что вы используете локальную установку, и пакет не содержит корректной версии файла changelog в нужном месте, так как dpkg -b не обрабатывает это автоматически, в отличие от dpkg-buildpackage.

Применение (Application):

Чтобы решить вашу проблему и обеспечить правильную обработку changelog, следуйте этим шагам:

  1. Убедитесь в Правильности Формата:
    Ваш changelog должен соответствовать формату Debian и содержать информацию о версии, дате, авторе и описании изменений, что вы уже сделали верно.

  2. Используйте dpkg-buildpackage:
    Вместо dpkg -b попробуйте использовать dpkg-buildpackage, так как это инструменанрий автоматически обработает и перенесет файл changelog в нужную директорию.

  3. Проверьте Размещение changelog:
    После установки пакета убедитесь, что файл changelog.Debian.gz находится в /usr/share/doc/<имя_вашего_пакета>/. Если его нет, это указывает на проблему в процессе сборки.

  4. Создание Собственного Скрипта:
    Если по какой-либо причине использовать dpkg-buildpackage невозможно, вы можете вручную копировать и сжимать файл changelog в нужное место, используя команду:

    mkdir -p /usr/share/doc/7zrecover/
    gzip -c changelog > /usr/share/doc/7zrecover/changelog.Debian.gz
  5. Перемещение в Репозиторий:
    Для того чтобы ваш пакет мог быть установлен и обновлён с использованием системы управления пакетами Debian, он должен находиться в репозитории. Это также позволяет автоматически загружать и отображать changelog пользователям, если они используют установку через архивы или репозитории.

Следование этим рекомендациям должно помочь вам корректно настроить ваш Debian пакет так, чтобы журнал изменений был доступен и пользователи могли без проблем просматривать его содержимое.

Оцените материал
Добавить комментарий

Капча загружается...