Нижче я припускаю, що джерело є відкритим (наприклад, сценарії Python), які не пов'язані ні з якою архітектурою (наприклад, amd64 або i386), отже, "всі". Якщо у вас є джерело C, вам потрібно використовувати його Architecture: amd64 i386
у вихідному control
файлі.
створення пакету, готового до Launchpad
Це врешті-решт стане серією окремих пакетів PPA для запуску.
Те, що я віддаю перевагу (але, можливо, не зможу досягти цього), - це звести свою упаковку до мінімуму - створити серію пакунків з шаблону та відрегулювати мінімум (зміни журналу змін тощо + файл tar).
Стартовий панель приймає лише вихідні пакети, тому створіть файл, rules
який встановлює файли в потрібних місцях. Для зручності я використовую дехельпер . Каталог з вашими файлами повинен виглядати так:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
debian/copyright
Файл також може бути корисний для інформування користувачів про ліцензії , пов'язаних з пакетом. Я не думаю, що вам потрібен postinst
сценарій, оскільки вам потрібно лише витягнути деякі файли. compat
повинен містити рівень сумісності дебхелера, скажімо, "8". ( для отримання детальної інформації зверніться до сторінки керівництва від дехелера )
changelog
Файл можна редагувати за допомогою dch
команди, доступною з devscripts
пакета. rules
( З використанням debhelper) повинна містити:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Зробіть його виконуваним за допомогою chmod 755 debian/rules
. Пакет джерела можна створити за допомогою debuild -S
. Обов’язково перебувайте в каталозі з іменем <package-name>-<version>
. Більш детальну інформацію про override_
поведінку та dh
команду можна знайти на її сторінці керівництва .
Посібник Debian New Maintainers був дуже цінним для мене, щоб зрозуміти це, рекомендується прочитати. Приклад упаковки можна знайти на https://github.com/Bumblebee-Project/bumblebee-ppa .
створення пакету з існуючого дерева файлів
dpkg-deb -b
може використовуватися для створення тарболів з існуючого дерева файлів. Спочатку почніть зі створення каталогу, який повинен бути названий за вашим пакетом. Я припускаю, що ви хочете назвати його myplugin
і ввести його /usr/share/rhythmbox/plugins/mypluginfolder
. Крім того, створіть DEBIAN
каталог (великі регістри!) Для зберігання інформації про пакет:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Скопіюйте файли:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
Далі вам знадобиться так званий контрольний файл, розташований в myplugin/DEBIAN/control
якому описується пакет. Вміст такого файлу міститься нижче:
Package: myplugin
Version: 1.0-1
Maintainer: You <whatever@contact.address>
Architecture: all
Description: plugins for Rhythmbox
Longer description here
.
As you can see, new paragraph are split by a single dot,
and lines have to be indented by one space.
Тепер ви можете за бажанням перевірити вміст вашого пакету. Наступна команда містить список файлів і вмісту записів у каталозі myplugin
:
find myplugin -ls
Якщо ви задоволені, складіть пакет у поточному каталозі:
dpkg-deb -b myplugin .
З'явиться новий файл, названий так, як <package>_<version>_<architecture>.deb
це в цьому прикладі myplugin_1.0-1_all.deb
. Ви можете використовувати less
програму, щоб зазирнути у файл. Наприклад, less myplugin_1.0-1_all.deb
.