Нижче я припускаю, що джерело є відкритим (наприклад, сценарії 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.