Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=xfcetesting.git;a=commitdiff;h=e0be3060cd305e466d5d0571723e484539f2bde4
commit e0be3060cd305e466d5d0571723e484539f2bde4 Author: James Buren <[email protected]> Date: Thu Jun 7 03:39:17 2012 -0500 scratchbox-1.0.17-1-x86_64 * initial systemd draft (unable to test it right now) diff --git a/source/devel-extra/scratchbox/FrugalBuild b/source/devel-extra/scratchbox/FrugalBuild index bc1ad1a..fb3e2c3 100644 --- a/source/devel-extra/scratchbox/FrugalBuild +++ b/source/devel-extra/scratchbox/FrugalBuild @@ -12,12 +12,18 @@ archs=('i686' '!x86_64') up2date="lynx -dump http://scratchbox.org/download/files/sbox-releases/apophis/src/|Flasttar" source=(http://scratchbox.org/download/files/sbox-releases/apophis/tarball/scratchbox-core-$pkgver-i386.tar.gz \ http://scratchbox.org/download/files/sbox-releases/apophis/tarball/scratchbox-libs-$pkgver-i386.tar.gz \ - README.Frugalware rc.scratchbox) + README.Frugalware rc.$pkgname $pkgname.service) sha1sums=('4adbf025a29ee3d467e36a9801e1ae548bd1782b' \ '53c4eff97cdcca9a2c591f023796c59d3673b8ab' \ - 'c08ba6dc88526fe55cf0958f0b81b4dc3270c55e' \ - '7f17d4a73c673e58d736f3363ae732c63870d301') + 'a0086f8313df94ea766d86c9e983d05b02f023b7' \ + '7f17d4a73c673e58d736f3363ae732c63870d301' \ + '8fbdc00f075f1a6b9fe513a54c6fb6355757bd7c') +_F_cd_path='.' options=('nostrip') # why wasting our time with this if it's already done? +_F_systemd_scriptlet="$pkgname.install" +_F_sysvinit_units=($pkgname) +_F_systemd_units=($pkgname=) +Finclude systemd build() { @@ -29,4 +35,6 @@ build() # no Frcd2 here as no i18n Fexe /etc/rc.d/rc.scratchbox Fdoc README.Frugalware + Ffile /lib/systemd/system/$pkgname.service + Fgenscriptlet } diff --git a/source/devel-extra/scratchbox/README.Frugalware b/source/devel-extra/scratchbox/README.Frugalware index 18b63ee..f0f07c0 100644 --- a/source/devel-extra/scratchbox/README.Frugalware +++ b/source/devel-extra/scratchbox/README.Frugalware @@ -17,13 +17,13 @@ http://www.scratchbox.org/documentation/user[scratchbox documentation]. Also note that when you reboot and before trying to run scratchbox, you should run: -------------------------- -# service scratchbox start +# systemctl start scratchbox.service -------------------------- You can also add it to the default runlevel: ------------------------ -# service scratchbox add +# systemctl enable scratchbox.service ------------------------ Then to start scratchbox, run: diff --git a/source/devel-extra/scratchbox/scratchbox.install b/source/devel-extra/scratchbox/scratchbox.install index ee89f04..20cb6f1 100644 --- a/source/devel-extra/scratchbox/scratchbox.install +++ b/source/devel-extra/scratchbox/scratchbox.install @@ -1,21 +1,66 @@ +sysvinit_units=(@_F_sysvinit_units@) +systemd_units=(@_F_systemd_units@) + post_install() { if ! grep -q '^sbox:' /etc/group ; then groupadd -g 35 sbox fi + + local unit + local op + + 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 ! grep -q '^sbox:' /etc/group ; then + groupadd -g 35 sbox + 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() { groupdel sbox + + 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() +{ + systemctl daemon-reload >/dev/null 2>&1 } op=$1 shift - $op $* diff --git a/source/devel-extra/scratchbox/scratchbox.service b/source/devel-extra/scratchbox/scratchbox.service new file mode 100644 index 0000000..253e1b0 --- /dev/null +++ b/source/devel-extra/scratchbox/scratchbox.service @@ -0,0 +1,12 @@ +[Unit] +Description=Scratchbox +After=syslog.target + +[Service] +ExecStart=/usr/lib/scratchbox/sbin/sbox_ctl start +ExecStop=/usr/lib/scratchbox/sbin/sbox_ctl stop +Type=oneshot +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
