opendreambox 2.0
[opendreambox.git] / meta-opendreambox / classes / xinetd.bbclass
1 #
2 # xinetd.bbclass
3 #
4
5 DEPENDS += "xinetd"
6
7 do_install_append() {
8         install -d ${D}${sysconfdir}/xinetd.d
9         for srcfile in ${WORKDIR}/*.xinetd.in; do
10                 dstfile=`basename $srcfile .xinetd.in`
11                 sed -e 's,@BINDIR@,${bindir},' \
12                     -e 's,@SBINDIR@,${sbindir},' \
13                     $srcfile > ${D}${sysconfdir}/xinetd.d/$dstfile
14                 chmod 644 ${D}${sysconfdir}/xinetd.d/$dstfile
15         done
16 }
17
18 xinetd_reload() {
19 [ -z "$D" ] && PID=`pidof xinetd` && kill -HUP $PID || true
20 }
21
22 python populate_packages_append () {
23         packages = d.getVar('PACKAGES', True).split()
24         pkgdest = d.getVar('PKGDEST', True)
25         sysconfdir = d.getVar('sysconfdir', True)
26
27         for pkg in packages:
28                 xinetd_dir = '%s/%s/%s/xinetd.d' % (pkgdest, pkg, sysconfdir)
29                 if not os.path.exists(xinetd_dir):
30                         continue
31
32                 bb.note("adding xinetd dependency to %s" % pkg)
33
34                 rdepends = d.getVar('RDEPENDS_%s' % pkg, True)
35                 if rdepends:
36                         rdepends += " "
37                 rdepends += "xinetd"
38                 d.setVar('RDEPENDS_%s' % pkg, rdepends)
39
40                 bb.note('adding xinetd postinst and postrm scripts to %s' % pkg)
41
42                 postinst = d.getVar('pkg_postinst_%s' % pkg, True) or d.getVar('pkg_postinst', True)
43                 if not postinst:
44                         postinst = '#!/bin/sh\n'
45                 postinst += d.getVar('xinetd_reload', True)
46                 d.setVar('pkg_postinst_%s' % pkg, postinst)
47
48                 postrm = d.getVar('pkg_postrm_%s' % pkg, True) or d.getVar('pkg_postrm', True)
49                 if not postrm:
50                         postrm = '#!/bin/sh\n'
51                 postrm += d.getVar('xinetd_reload', True)
52                 d.setVar('pkg_postrm_%s' % pkg, postrm)
53 }