distcc: fix startup by creating 'distcc' user
[openembedded.git] / recipes / distcc / distcc_3.1.bb
1 DESCRIPTION = "distcc is a parallel build system that distributes \
2 compilation of C/C++/ObjC code across machines on a network."
3 SECTION = "devel"
4 LICENSE = "GPLv2"
5
6 PR = "r1"
7
8 DEPENDS = "avahi gtk+"
9 RRECOMMENDS = "avahi-daemon"
10
11 SRC_URI = "http://distcc.googlecode.com/files/distcc-${PV}.tar.bz2 \
12            file://default \
13            file://distccmon-gnome.desktop \
14            file://distcc"
15
16 inherit distutils-base autotools update-rc.d
17
18 INITSCRIPT_NAME = "distcc"
19
20 EXTRA_OECONF = " --with-gtk --with-avahi ac_cv_path_PYTHON=${STAGINGDIR_NATIVE}/python PYTHON_CFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}"
21
22 do_install_append() {
23     install -d ${D}${sysconfdir}/init.d/
24     install -d ${D}${sysconfdir}/default
25     install -d ${D}${sysconfdir}/distcc
26     install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
27     install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
28     install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/
29     echo "+zeroconf" > ${D}${sysconfdir}/distcc/hosts
30 }
31
32 PACKAGES += "distcc-distmon-gnome"
33
34 FILES_${PN} = " ${sysconfdir} \
35                 ${bindir}/distcc \
36                 ${bindir}/lsdistcc \
37                 ${bindir}/distccd \
38                 ${bindir}/distccmon-text"
39
40 FILES_${PN}-dbg += "${bindir}/.debug"
41
42 CONFFILES_${PN} += "${sysconfdir}/default/distcc \
43                     ${sysconfdir}/distcc/hosts \
44                     ${sysconfdir}/init.d/distcc \
45                    " 
46
47 FILES_distcc-distmon-gnome = "  ${bindir}/distccmon-gnome \
48                                 ${datadir}/distcc"
49
50
51 pkg_postinst_${PN} () {
52     # can't do this offline
53     if [ "x$D" != "x" ]; then
54         exit 1
55     fi
56     grep "^distcc:" /etc/group > /dev/null || addgroup distcc
57     grep "^distcc:" /etc/passwd > /dev/null || adduser --disabled-password --system --home /var/lib/distcc distcc --ingroup distcc -g "distcc daemon"
58 }
59
60 pkg_postrm_${PN} () {
61     deluser distcc || true
62     delgroup distcc || true
63 }