Вопрос Какое простейшее руководство по упаковке Debian?


Я пошел в Ubuntu wiki, но запутался, было слишком много способов. Скажите, пожалуйста, простое руководство по упаковке Debian.


137
2017-08-06 05:38


происхождения


Вы хотите создавать пакеты для собственного использования, на определенном компьютере или для других пользователей? - andol
На каком языке вы хотите упаковать программное обеспечение? - Umang
У меня такая же проблема. Большинство учебных пособий и руководств начинаются с «get upstream tarball». С этого момента мы теряемся. У нас есть простая вещь, которую мы хотим развернуть, нет начального tarball, нет исходного кода. его просто военный файл, некоторые скрипты и некоторые файлы jar. Что такое верхний тар-мяч, и кто-нибудь видел руководство, не использующее его, которое является всеобъемлющим (например, касается проблем пользователей) - John Little
Я пойду тот самый Я отправил его поверх StackOVerflow. - rsm


ответы:


Эта является хорошим HOWTO для создания базового .deb файл. Он подходит для создания .deb файлы для личного использования, но не достаточно строгие, если вы хотите, чтобы пакет был включен в Debian / Ubuntu - для этого вы должны прочитать Новое руководство по эксплуатации Debian и / или Руководство по упаковке Ubuntu (который, я считаю, вы уже пробовали).

Хороший инструмент для проверки ваших .deb файл для соответствия lintian (устанавливается из репозиториев).

В чатах Ask Ubuntu было две сессии.

Основы упаковки на Ubuntu (упаковка: часть 1)

Ubuntu Packaging для Launchpad PPAs (упаковка: часть 2)


91
2017-08-06 18:50



Это хорошо компилирует то, что необходимо для начала упаковки, но в HOWTO я пропускаю информацию, чтобы включить значок приложения в файл deb (и ничего не нашел об этом в другом месте). Любой намек на то, как это сделать? - nightcod3r


С какими деталями вы сталкиваетесь? Несмотря на сложность, руководство было совершенно ясным, когда я следил за ним.

Краткое описание:

  • Исходный источник .tar.gz
  • Бег dh_make
  • Редактировать файлы debian
  • Запустить debuild

13
2017-08-06 06:11



Что меня смущает, так ли этот процесс независимо от исходного языка или структуры каталогов? - Seth♦
Суть в том, что у нас нет .tar.gz. мы хотим упаковать приложение, которое мы написали. Похоже, что ни один гид не охватывает это, все они начинаются с «upstream tarball», который у нас нет. - John Little
@JohnLittle этот ответ может быть полезен: askubuntu.com/a/27731/5 - Nathan Osman
Как насчет многолетней, многократной упаковки? Должен ли я каждый раз делать такой длинный и сложный процесс упаковки? - kravemir
Если у пользователя нет GPG ключ, debuild будет терпеть неудачу с "debsign: ошибка gpg произошла! Aborting ....». - agc


Вы даже можете использовать dpkg-deb для создания простых пакетов.

Вот хороший учебник из Ubuntuforums,


8
2017-12-16 09:12





Самый простой способ упаковать что-то - это использовать Checkinstall,


4
2017-08-06 05:44



checkinstall обеспечивает быстрый способ создания бинарного пакета debin (.deb) из исходного метода установки. Однако он не обеспечивает надлежащего пакета debian (построенного из исходного пакета debian). - João Pinto
OH man .. Мне пришлось использовать это перед компиляцией .. это как часы компиляции. - ppumkin


Первоначально опубликовано в Переполнение стека, это руководство предназначено для предварительно скомпилированного или интерпретируемого программного обеспечения:

Правильный способ создания пакета deb - использование dpkg-buildpackage но иногда это немного сложно. Вместо этого вы можете использовать dpkg -b <folder> и он создаст ваш пакет Debian.

Это основа для создания пакета Debian с dpkg -b <folder> с любым двоичным файлом или с любым сценарием, который запускается автоматически, без ручной компиляции (Python, Bash, Pearl, Ruby):

  1. Создайте файлы и папки, чтобы воссоздать следующую структуру:

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    Сценарии, помещенные в /usr/bin/ вызывается непосредственно из терминала, обратите внимание, что я не добавил расширение к скрипту. Также вы можете заметить, что структура пакета deb будет структурой программы после ее установки. Поэтому, если вы будете следовать этой логике, если ваша программа имеет один файл, вы можете ProgramName-Version/usr/bin/your_script, но если у вас несколько файлов, вы должны поместить их под ProgramName-Version/usr/share/ProgramName/all your files и поместите только один файл в /usr/bin/ которые вызовут ваши скрипты из /usr/share/ProgramName/

  2. Измените все права доступа к папке на root:

     chown root:root -R /path/to/ProgramName-Version  
    
  3. Измените разрешения сценария:

     chmod 0755 /path/to/the/script
    
  4. Наконец, вы можете запустить: dpkg -b /path/to/the/ProgramName-Version и ваш пакет deb будет создан! (Вы также можете добавить сценарии post / pre inst и все, что хотите, оно работает как обычный пакет Debian)

Вот пример control файл. Вам нужно только скопировать / вставить его в пустой файл под названием «control» и поместить его в папку DEBIAN.

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.

3
2017-07-07 02:21





Нет, самый простой и понятный гид в этом мире

http://blog.noizeramp.com/2005/08/31/packaging-java-applications-for-ubuntu-and-other-debians/,

Несколько дней назад, для моего первого приложения, я создал пакет DEB, следуя этому руководству. Очень ясно, и мое приложение успешно упаковано. Да, по крайней мере, это проще для меня.

Вы можете сравнить его с Debian Packaging Guide.


2



«Простой» не означает «полный». Существует множество политик, в которых основное учебное пособие по упаковке .deb не распространяется на различные типы программ, поэтому упаковка не так проста, как просто «простой учебник». - Thomas Ward♦
определенно просто. Это заставило меня начать, и я смог создать свой первый пакет debian в течение нескольких минут. Все еще много деталей, чтобы иметь дело с (плохие пакеты качества messsages от lintian), но отличная отправная точка. - atmelino