Переопределяем конфигурационный файл в чужом пакете
Если возникает ситуация, что при установке собственного пакета нужно сразу положить конфиг для некоторого демона, но этот демон принадлежит другому пакету, то сделать это можно так:
З.Ы. да, в скрипте не рассмотрены варианты иные кроме install, а также не приведен пример postrm.
#packaging
Если возникает ситуация, что при установке собственного пакета нужно сразу положить конфиг для некоторого демона, но этот демон принадлежит другому пакету, то сделать это можно так:
#!/bin/shи запихнуть это в debian/my-awesome-package.preinst
set -e
if test "$1" = install; then
cp /etc/collectd/collectd.conf /etc/collectd/collectd.conf.original
dpkg-divert --quiet --package my-awesome-package --divert /etc/collectd/collectd.conf.original --rename /etc/collectd/collectd.conf
rm -f /etc/collectd/collectd.conf
fi
exit 0
З.Ы. да, в скрипте не рассмотрены варианты иные кроме install, а также не приведен пример postrm.
#packaging
куда можно потратить 3 часа
Способов потерять время - сотни. Можно поваляться на траве в погожий денек, написать какой-нибудь прикольной зеленоглазой девчонке, а можно... собирать пакеты и тестировать их в докере. И убить эти 3 часа в попытке исполнить .examples/.docs скрипты установки. Ну это те, которые приносят файлики в /usr/share/docs/<package>. Вы кладете туда файл, а он не приезжает после установки пакета. Самое главное что если пакет вскрыть с помощью ar, то нужные файлы там есть. При установке пакета - в нужных местах не появляются. Самое бесячее, что в нужной папке появляется файл copyright, а твои другие - нет.
Ларчик-то просто открывался. Всего-навсего в докере из коробки лежит конфиг dpkg, который говорит, мол copyright клади, а другие файлы не клади...
#packaging #docker
Способов потерять время - сотни. Можно поваляться на траве в погожий денек, написать какой-нибудь прикольной зеленоглазой девчонке, а можно... собирать пакеты и тестировать их в докере. И убить эти 3 часа в попытке исполнить .examples/.docs скрипты установки. Ну это те, которые приносят файлики в /usr/share/docs/<package>. Вы кладете туда файл, а он не приезжает после установки пакета. Самое главное что если пакет вскрыть с помощью ar, то нужные файлы там есть. При установке пакета - в нужных местах не появляются. Самое бесячее, что в нужной папке появляется файл copyright, а твои другие - нет.
Ларчик-то просто открывался. Всего-навсего в докере из коробки лежит конфиг dpkg, который говорит, мол copyright клади, а другие файлы не клади...
#packaging #docker