Deb-build
Материал из Ksimute
Правильные пацаны скрипты по серверам раскладывают пакетами. Т.к. это debian way да и апдейтить сотни серверов не имея репозитария, контроля версий и т.п. это ад в реальности. Как билдить пакеты: Вытягиваем из svn исходники:
packdev:~# svn co https://sources.mydomain.com/svn/operational/munin-plugins/munin-dwh-swap-usage-and-ram-1.0.0
В нем лежит наш
Внимание -1.0.0 обязательно (версия для работы dh_make)
packdev:~/munin-dwh-swap-usage-and-ram-1.0.0# dh_make -e ksi_korobanov@mail.ru --createorig Type of package: single binary
Создаем MakeFile
packdev:~/munin-dwh-swap-usage-and-ram-1.0.0# packdev-l32:~/munin-plugins/munin-vertica-events-check-1.0.0-1# cat Makefile
clean:
echo "Nothing to clean"
build:
echo "Everything is built already"
install:
mkdir -p ${DESTDIR}/usr/share/munin/plugins
cp -p swap-usage* ${DESTDIR}/usr/share/munin/plugins
Правим
debian/control
добавляем описание создаем postinst по примеру
case "$1" in
configure)
rm /etc/munin/plugins/swap_usage_and_ram
ln -sf /usr/share/munin/plugins/swap_usage_and_ram /etc/munin/plugins/swap_usage_and_ram
/etc/init.d/munin-node restart
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
Строим пакет
dpkg-buildpackage
Выкладываем в repo
dput
Повысить версию пакета на еденичку:
dch -i -m "what was done in this build"
смена версии
dch -v 0.3.6-0 -m "what was done in this version"