Я новичок в упаковке программного обеспечения для Ubuntu (PPA). Я попытался упаковать простой скрипт на python:
#!/usr/bin/env python
print("Hello World")
Согласно руководству по packagin следующие шаги должны создать пакет:
mkdir test-1.0
создает папка, в которой у меня есть мой python-скрипт my_script
. sudo chmod +x my_script
разрешает выполнение этого скрипта. bzr dh-make test 1.0 test-1.0.tar.gz
Для этого требуется файл .tar.gz, который я создаю из папки test-1.0
с помощью tar -czvf test-1.0.tar.gz test-1.0
. Теперь шаг 3 можно сделать. test/debian
нужно отредактировать: rm *ex *EX
test/debian/control
выглядит так:
Source: test
Section: utils
Priority: optional
Maintainer: Max Bla <Max@gmail.com>
Build-Depends: debhelper (>= 10)
Standards-Version: 4.1.2
Homepage: https://foo.com
Package: test
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: This is a little program to say Hello.
It does nothing but saying hello.
bzr add debian/source/format
в test
и bzr commit -m "Initial commit of Debian packaging."
bzr builddeb -- -us -uc
и получаю файл test_1.0-1_all.deb
. lintian test_1.0-1_all.deb
не показывает мне красных ошибок. Кажется, все в порядке. Наконец, когда я вхожу в sudo gdebi -n test_1.0-1_all.deb
, кажется, что пакет установлен правильно.
Если я хочу вызвать программу (my_script
) сейчас, она не может быть найдена, однако.
Я нашел альтернативный способ (однако это не официальный способ, описанный в руководстве по упаковке).
mkdir test2-1.0
cd test2/
mkdir -p usr/bin
и создайте тот же скрипт на Python, что и выше dh_make --native
и снова сконфигурируйте метафайлы в test2-1.0/debian
dpkg-deb -b test2-1.0 test2_1.0.deb
возвращает мне .deb-файл. sudo gdebi -n test2_1.0.deb
Возможно, вы можете поделиться некоторыми общими соображениями, если процедура, которую я показал, является правильной для сборки пакетов (здесь python) или если я должен сделать это по-другому.