Как создать пакет deb для одного скрипта python?

У меня есть один скрипт python, который я хочу распространять как пакет deb. Это индикатор, который показывает локальную дату на панели Unity. Я выполнил создание пакета .deb из сценариев или двоичных файлов, но я не смог создать пакет deb, потому что он терпит неудачу.

Может ли кто-нибудь дать мне пошаговую инструкцию о том, что я должен делать? Насколько я знаю, этот скрипт зависит от python-appindicator .

ЗАМЕТКА:
Мне не нужны ссылки на инструкции по упаковке Debian / Ubuntu. Я видел большинство из них. Я не считаю их дружелюбными для начинающих.

Ниже приведен базовый пример того, как может выглядеть исходный пакет для скрипта python. Хотя большинство обучающих программ для упаковки немного сложны, они могут действительно помочь, если вы столкнулись с проблемой. Тем не менее, я впервые узнал об основах упаковки Debian, просто посмотрев пакеты Debian. apt-get source что-то похожее и учиться на примере.

Вот ваш основной пакет исходного пакета:

 my-script/ -- myScript -- debian/ -- changelog -- copyright -- compat -- rules -- control -- install 

Запустите dch --create в каталоге, чтобы создать правильно отформатированную запись debian/changelog .

debian / copyright должны выглядеть так:

 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: myScript Upstream-Contact: Name, <email@address> Files: * Copyright: 2011, Name, <email@address> License: (GPL-2+ | LGPL-2 | GPL-3 | whatever) Full text of licence. . Unless there is a it can be found in /usr/share/common-licenses 

debian / compat может быть только: 7

debian / rules :

 #!/usr/bin/make -f %: dh $@ --with python2 

Обратите внимание, что перед dh $@ --with python2 должна быть «tab» , а не пробелы.

debian / control :

 Source: my-script Section: python Priority: optional Maintainer: Name, <email@address> Build-Depends: debhelper (>= 7), python (>= 2.6.6-3~) Standards-Version: 3.9.2 X-Python-Version: >= 2.6 Package: my-script Architecture: all Section: python Depends: python-appindicator, ${misc:Depends}, ${python:Depends} Description: short description A long description goes here. . It can contain multiple paragraphs 

debian / install :

 myScript usr/bin/ 

Этот файл указывает, какой файл будет установлен в какую папку.

Теперь постройте его с помощью debuild --no-tgz-check

Это создаст функциональный пакет deb. Lintian собирается бросить несколько предупреждений относительно отсутствия orig.tar.gz, но если вы не планируете создать правильный проект, который делает выпуски tarball, вы, вероятно, просто хотите проигнорировать это на данный момент.

  1. создать папку с любым именем в вашем доме, например: mypyscript
  2. Откройте папку и создайте две папки с именами «DEBIAN» и «usr»,
  3. Откройте папку DEBIAN. Создайте текстовый файл (без расширения) с именем «control».
  4. Откройте 'control' и напечатайте следующим образом и сохраните его на DEBIAN

     Package: mypyscript Version: 0.01 Architecture: all Maintainer: your name<your mail id> Installed-Size: 2 Depends: python-appindicator Section: extras Priority: optional Homepage: your homepage Description: describe 
  5. Вернитесь в папку с именем mypyscript. Откройте 'usr'. Создайте папку с именем «bin». Откройте «bin» и вставьте туда свой файл pythonscript.

  6. Вы также можете сделать запись в меню. Но это не обязательно.
  7. Вернитесь в домашнюю папку, где находится папка «mypyscript» или закрывает браузер файлов.
  8. Открытый терминал. Убедитесь, что терминал находится в домашней папке. введите dpkg -b mypyscript Затем нажмите enter. В секундах ваш пакет deb готов

Примечание. Пожалуйста, заполните файл «control» правильно. Не используйте апострофы. Это только для указания имен.

Вы можете попробовать с помощью Debreate , инструмента GUI для создания пакетов.

Я бы быстро проверил, отлично подходит для создания быстрых приложений и создания debs google, или вы можете найти учебники здесь http://developer.ubuntu.com/

Попробуйте pkgme . Предполагается, что он просто работает.

Установите через:

 sudo apt install pkgme 

Выполнить через:

 pkgme debuild 

(Для нового разработчика, возможно, придется запустить gpg --gen-key , см. Раздел «Разработка Keysigning», чтобы сделать это правильно)

Вы можете попробовать использовать Debreate

Это интерфейс Gui для создания пакетов и материалов, которые вы можете использовать PPA, также если вы не хотите загружать его с веб-сайта, указанного выше.

 sudo add-apt-repository ppa:antumdeluge/<ppaname>; sudo apt update; sudo apt install debreate 

Ive прикрепил ppa так, чтобы он работал как одна строка кода! Спасибо за удивительный вопрос и не забудьте сохранить эти строки кода в терминал!

Между тем есть статья, описывающая дилемму, найденную на https://www.nylas.com/blog/packaging-deploying-python/ . В основном говорится, что dh-virtualenv работает вместе с make-deb, чтобы легко развернуть код Python, используя файл setup.py. Краткое руководство можно найти на https://gist.github.com/JeOam/bc6cbf38f04d6f9dbf81