Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=1b54b289d7bd9c8cca3a2fdfa980a5be68dde3eb
commit 1b54b289d7bd9c8cca3a2fdfa980a5be68dde3eb Author: James Buren <[email protected]> Date: Mon Jul 30 00:32:34 2012 -0500 quagga-0.99.21-1-x86_64 * version bump * convert to systemd schema * use upstream's systemd, logrotate, pam, and sysconfig files * remove local sysconfig file diff --git a/source/network-extra/quagga/FrugalBuild b/source/network-extra/quagga/FrugalBuild index bac8e10..defd5f2 100644 --- a/source/network-extra/quagga/FrugalBuild +++ b/source/network-extra/quagga/FrugalBuild @@ -2,36 +2,48 @@ # Maintainer: Krisztian VASAS <[email protected]> pkgname=quagga -pkgver=0.99.20 -pkgrel=2 +pkgver=0.99.21 +pkgrel=1 pkgdesc="A GPL licensed IPv4/IPv6 routing software" url="http://www.quagga.net/" -depends=('net-snmp>=5.7') -backup=('etc/sysconfig/quagga' 'etc/zebra.conf' 'etc/ospfd.conf' 'etc/ospf6d.conf' 'etc/bgpd.conf' \ - 'etc/ripd.conf' 'etc/ripngd.conf') +depends=('net-snmp>=5.7' 'pcre') +backup=('etc/sysconfig/quagga' etc/quagga/{zebra.conf,ospf6d.conf,babeld.conf,ripngd.conf,bgpd.conf,ripd.conf,ospfd.conf}) groups=('network-extra') archs=('i686' 'x86_64') up2date="lynx -dump $url | grep Latest | sed -ne 's/.*mostly-stable: \[.*\]\(.*\)$/\1/; p'" -source=($url/download/$pkgname-$pkgver.tar.gz \ - rc.quagga quagga.sysconfig README.Frugalware) -signatures=("${source[0]}.asc" '' '' '') +source=($url/download/$pkgname-$pkgver.tar.xz \ + rc.quagga README.Frugalware) +signatures=("${source[0]/.tar.xz/.tar.asc}" '' '') +_F_systemd_scriptlet="$pkgname.install" +_F_sysvinit_units=(quagga) +_F_systemd_units=(ripd= zebra= babeld= ospfd= isisd= ripngd= ospf6d= bgpd=) +Finclude systemd build() { Fbuild --localstatedir=/var/run/quagga --enable-snmp --enable-netlink \ --sysconfdir=/etc/quagga - Ffile $pkgname.sysconfig /etc/sysconfig/$pkgname + Ffilerel redhat/*.service /lib/systemd/system/ + Ffilerel redhat/quagga.sysconfig /etc/sysconfig/quagga + Ffilerel redhat/quagga.logrotate /etc/logrotate.d/quagga + Ffilerel redhat/quagga.pam /etc/pam.d/quagga Frcd2 - Fmkdir /var/run/quagga - Fmkdir /etc/quagga Fmkdir /var/log/quagga + Fdirschown /var/log/quagga 150 150 + Fdirschown /etc/quagga 150 150 + Ffileschown /etc/quagga 150 150 Fdoc README.Frugalware Frm /var/run Fmkdir /etc/tmpfiles.d + for i in $Fdestdir/etc/quagga/*.conf.sample; do + j="$(basename "$i")" + Fmv "/etc/quagga/$j" "/etc/quagga/${j/.sample/}" + done + Frm /etc/quagga/\*.conf.sample2 cat > $Fdestdir/etc/tmpfiles.d/quagga.conf << EOF -d $Flocalstatedir/run 0755 root root - -d $Flocalstatedir/run/quagga 0755 root root - +d $Flocalstatedir/run/quagga 0755 quagga quagga - EOF + Fgenscriptlet } # optimization OK diff --git a/source/network-extra/quagga/quagga.install b/source/network-extra/quagga/quagga.install index 31331ff..a64c03f 100644 --- a/source/network-extra/quagga/quagga.install +++ b/source/network-extra/quagga/quagga.install @@ -1,3 +1,6 @@ +sysvinit_units=(@_F_sysvinit_units@) +systemd_units=(@_F_systemd_units@) + post_install() { if ! grep -q '^quagga:' /etc/group; then @@ -8,34 +11,65 @@ post_install() useradd -u 150 -d /dev/null -g quagga quagga fi - chown 150:150 /var/run/quagga - chown 150:150 -R /etc/quagga - chown 150:150 -R /var/log/quagga -} + local unit + local op -pre_upgrade() -{ - - if [ -e /sbin/service ]; then - /sbin/service quagga stop - fi + for i in ${sysvinit_units[@]}; do + chkconfig --del rc.$i >/dev/null 2>&1 + done + + for i in ${systemd_units[@]}; do + unit=$(echo $i | cut -f 1 -d '=') + op=$(echo $i | cut -f 2 -d '=') + if echo $op | grep -q 'e'; then + systemctl enable $unit.service >/dev/null 2>&1 + fi + if echo $op | grep -q 's'; then + systemctl start $unit.service >/dev/null 2>&1 + fi + done } post_upgrade() { - post_install - if [ -e /sbin/service ]; then - /sbin/service quagga start + if ! grep -q '^quagga:' /etc/group; then + groupadd -g 150 quagga + fi + + if ! grep -q '^quagga:' /etc/passwd; then + useradd -u 150 -d /dev/null -g quagga quagga fi + + for i in ${sysvinit_units[@]}; do + chkconfig --del rc.$i >/dev/null 2>&1 + done + + systemctl daemon-reload >/dev/null 2>&1 } pre_remove() { + local unit + + for i in ${sysvinit_units[@]}; do + chkconfig --del rc.$i >/dev/null 2>&1 + done + + for i in ${systemd_units[@]}; do + unit=$(echo $i | cut -f 1 -d '=') + systemctl --no-reload disable $unit.service >/dev/null 2>&1 + systemctl stop $unit.service >/dev/null 2>&1 + done +} + +post_remove() +{ userdel quagga &> /dev/null groupdel quagga &> /dev/null + + systemctl daemon-reload >/dev/null 2>&1 } op=$1 shift - $op $* diff --git a/source/network-extra/quagga/quagga.sysconfig b/source/network-extra/quagga/quagga.sysconfig deleted file mode 100644 index 3e375ba..0000000 --- a/source/network-extra/quagga/quagga.sysconfig +++ /dev/null @@ -1,30 +0,0 @@ -# Here you can configure, which routing daemon(s) would you like to start - -# Write here the routing daemons you want to start -# NOTE: do not include 'zebra', that will be started automaticaly -START_ROUTING_DAEMONS='' - -# Main daemon settings -ZEBRA_CONF=/etc/quagga/zebra.conf -ZEBRA_PORT=2601 - -# OSPF daemon settings -OSPFD_CONF=/etc/quagga/ospfd.conf -OSPFD_PORT=2602 - -# OSPF6 daemon settings -OSPF6D_CONF=/etc/quagga/ospf6d.conf -OSPF6D_PORT=2603 - -# BGP daemon settings -BGPD_CONF=/etc/quagga/bgpd.conf -BGPD_PORT=2604 - -# RIP daemon settings -RIPD_CONF=/etc/quagga/ripd.conf -RIPD_PORT=2605 - -# RIPng daemon settings -RIPNGD_CONF=/etc/quagga/ripngd.conf -RIPNGD_PORT=2606 - _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
