Я пытался создать пакет для GNU Emacs 25.1 с помощью файла управления:
Package: emacs
Priority: extra
Section: checkinstall
Installed-Size: 129184
Maintainer: Brenton Horne <example@example.com>
Architecture: amd64
Version: 25.1-1
Provides: emacs
Description: GNU Emacs, the extensible and self-documenting text editor.
Source: gnu
Depends: gconf-service, libacl1 (>= 2.2.51-8), libasound2 (>= 1.0.16), libc6 (>= 2.16), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.9.14), libfontconfig1 (>= 2.11.94), libfreetype6 (>= 2.2.1), libgconf-2-4 (>= 3.2.5), libgdk-pixbuf2.0-0 (>= 2.22.0), libgif7 (>= 5.1), libglib2.0-0 (>= 2.37.3), libgnutls30 (>= 3.4.2), libgpm2 (>= 1.20.4), libice6 (>= 1:1.0.0), libjpeg8 (>= 8c), libm17n-0 (>= 1.6.1), libmagickcore-6.q16-2 (>= 8:6.8.8.2), libmagickwand-6.q16-2 (>= 8:6.8.8.2), libotf0 (>= 0.9.11), libpango-1.0-0 (>= 1.18.0), libpng12-0 (>= 1.2.13-4), librsvg2-2 (>= 2.14.4), libselinux1 (>= 1.32), libsm6, libtiff5 (>= 4.0.3), libtinfo5 (>= 6), libx11-6, libxft2 (>> 2.1.1), libxml2 (>= 2.7.4), libxpm4, libxrender1, zlib1g (>= 1:1.1.4)
Package-List: emacs
Binary-Package: emacs
поскольку Вы можете предполагать, что этот файл управления был первоначально создан Checkinstall. К сожалению, выполнение dpkg-buildpackage
с этим управлением файл дает сообщение об ошибке:
dpkg-source: error: emacs/debian/control doesn't list any binary package
Что я пропускаю?
Я думаю, что debian/control файлу нужно Source:
раздел. Посмотрите debian-политика раздел 5.2. Кроме того, удостоверьтесь, что исходное имя в debian/changelog соответствует источнику и двоичным именам. Если, например, главная запись журнала изменений похож
emacs25 (25.1-private) UNRELEASED; urgency=medium
затем, необходимо использовать emacs25
после Source:
и Package:
(предположение, что Вы только хотите один двоичный пакет названный emacs25
).
я мог бы быть неправым, это просто вещи, которые я ожидал бы, судя по опыту.
Выполненный
$ apt-get source emacs24
Исследование, как это было сделано там.
Выполнение
$ sudo apt-get build-dep emacs24
Для получения pkgs, который будет необходим.
Затем копируют debian каталог в новый источник и начинают пересматривать файлы правил и управление. Жизненно важно работать
$ dch
, поскольку тот файл указывает номер версии.
Для создания я убеждаю
$ dpkg-buildpackage -rfakeroot
, Когда Вы адаптируете debian каталог, многим частям не будет нужна фиксация. Если существует проблема, рассмотрите установку подпапки патчей из пути. Те патчи не могут больше быть релевантными.
я думаю, что это - хороший полезный опыт! Но если Вы просто хотите пакеты Emacs, используйте Emacs 25 от ppa
https://emacs.stackexchange.com/questions/12772/prebuilt-ubuntu-emacs-25-1
, можно даже получить их источник и изучить их работу в debian папке :)
[еще 1117] веб-источники для пакетов: