Как упаковать один текстовый файл в .deb?

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

Я добавил необходимые манипуляции в файл после установки.

Проблема в том, что я не могу найти способ упаковать пример конфигурации, который должен быть скопирован и отредактирован из сценария postinstall.

На данный момент у меня просто есть папка с примером конфигурации, из которой я создаю tar.gz и orig.tar.gz, затем dh_make в этой папке редактирую сгенерированные файлы и запускаю debuild , Однако, если я открою полученный файл .deb с помощью менеджера архивов, то увижу, что образец файла вообще не был включен.

1
задан 31 May 2012 в 20:42

2 ответа

Для Вашего варианта использования Вы не использовали бы новый пакет для изменения конфигурации. Скорее необходимо восстановить пакет, который Вы изменяете с измененной конфигурацией по умолчанию (через патч). Затем Вы загрузили бы тот пакет на PPA или подобную систему репозитория для легкой установки.

Упаковка единственного файла в .deb только для изменения файла конфигурации другого .deb не рекомендуется, учитывая, что, если тот другой .deb изменяется и Вы ahve, явная версия в Вашем debian/control и новая версия слишком новые, Ваша система отклонит изменение конфигурации .deb.

Прокомментируйте этот ответ с тем, почему Вы конкретно хотите, чтобы .deb сделал изменения conf, и я могу уточнить то, как Вы пошли бы о выполнении этого, если вообще.


Ну, сначала то, что я предположил, что создание такого .deb будет легкой задачей, во-вторых, я не ожидаю, что конфигурация изменится много, и я думаю, что, если я повторно упаковываю другой пакет, я должен буду обновить свой пакет, как только обновление прибывает в исходное (?). Я был бы очень признателен за Вашу справку, пакет, из которого я пытаюсь изменить конфигурацию, является collectd, и я просто должен заменить/etc/collectd/collectd.conf в сценарии постустановки – Пушистый

Создание .deb не является легкой задачей, Вам на самом деле нужно существенное понимание того, как упаковка работает среди прочего. Необходимо будет обновить пакет, после того как обновление прибывает от исходного, но это может быть частично решено основанное на журналах изменений, включая, но не ограничиваясь, тем, какой пакет в настоящее время существует в Ubuntu, и что фиксируется в отличающейся версии. Но после того как у Вас есть патч, можно применить его так же легко в новой версии, как он должен применить его к старой версии, следовательно почему я упомянул это.


Я должен загрузить текущий .deb, распаковать и отредактировать его, или я должен иметь дело с кодом первоисточника? – Пушистый

Этот вопрос является не имеющим ответа в своей текущей форме, таким образом позвольте мне уточнить другие вопросы, которые я видел:

Что такое Исходный Пакет?

Исходный пакет является пакетом, в котором двоичные пакеты установщика (.debs) создаются из. Они содержат весь исходный код программы, но со всеми применимыми патчами и информацией о пакете Debian в них.

Редактирование исходного пакета означают, что я редактирую исходный код программы?

Не обязательно. Исходный код программы действительно, что пакет создается из, но если Вы не изменяете тот код, Вы могли изменить пакет, даже не касаясь кода. Завися, конечно, на том, что Вы пытаетесь сделать.

Таким образом для объяснения просто независимо от того, какой бы ни Вы делаете здесь, необходимо будет отредактировать или исходный код программы, загруженной в восходящем направлении или исходный код, содержавший в пакете. Таким образом, "Код Первоисточника" будет обработанным с независимо. postinst сценарии и другие связанные с установкой сценарии, хотя хранятся в debian/* в пакете, и не часть исходного кода.


Патчи к пакетам затронуты в упаковочном руководстве: http://developer.ubuntu.com/packaging/html/patches-to-packages.html

Полная Ubuntu, Упаковывающая Руководство, здесь: http://developer.ubuntu.com/packaging/html/


После получения дополнительной информации по электронной почте, конфигурация обновляется для определенного пакета для включения некоторого типа ограниченного API, который имеет ключ единственного использования.

Мой проект производства работ использования PPA не был бы рекомендован в этом случае, учитывая, что ключи API обычно характерны для отдельных конфигураций, и такие измененные конфигурации не должны быть разглашены, так, чтобы другие не пытались угнать те конфигурации.

1
ответ дан 31 May 2012 в 20:42

Если вы собираете это для Ubuntu, то, конечно же, Ubuntu - лучшее место для поиска информации о том, как это сделать. См. Вики Ubuntu

.
0
ответ дан 31 May 2012 в 20:42

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

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