Как создать метапакет, который автоматически устанавливает другие пакеты?

Я хотел бы иметь возможность создавать пакет, который не содержит сам код или программы, но вместо этого устанавливает другие пакеты, которые существуют в репозиториях, на компьютер, что-то вроде того, что делает пакет ubuntu-restricted-extras?

54
задан 21 October 2011 в 14:40

1 ответ

Метапакет как это может быть создан с названным инструментом equivs который создаст пакет только с информацией о зависимостях.

Во-первых, создайте каталог:

mkdir my-metapackage
cd my-metapackage/

Теперь запустите программу:

equivs-control ns-control

Это создаст названный файл ns-control, откройте этот файл со своим текстовым редактором. Файл управления, который Вы генерируете, должен иметь Depends или Recommends строки изменили для зависимости от пакетов, которые Вы хотите установленный:

Section: misc
Priority: optional
Standards-Version: 3.9.1

Package: my-metapackage
Version: 1.0   
Depends: openssh-server, gedit
Description: This package installes an ssh server and a text editor
 The Long description of this package ends with a newline!

(Просто пример, необходимо включать больше информации),

И наконец, создайте пакет путем выполнения

equivs-build ns-control

Ваш пакет расположен в my-metapackage/my-metapackage_1.0_all.deb.

Если Вы хотите также создать исходный пакет, --full опция может быть передана equivs-build, например. equivs-build --full ns-control. Это будет использовать debuild и также создавать .dsc и .tar.gz файлы.

Для создания источника .changes файл, который можно загрузить на PPA извлеките и создайте исходный пакет с

dpkg-source -x my-metapackage_1.0.dsc
cd my-metapackage-1.0
debuild -S

Если Специалист по обслуживанию, которого Вы устанавливаете в управлении нс, соответствует Вашему ключу GPG, оно должно создать и подписаться мой-metapackage_1.0_source.changes файл для Вас к dput к Вашему PPA

47
ответ дан 21 October 2011 в 14:40

Другие вопросы по тегам:

Похожие вопросы: