blob: 45fc7cde532b95514767ad7256bcb42c3df781e4 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001SUMMARY = "A parallel build system"
2DESCRIPTION = "distcc is a parallel build system that distributes \
3compilation of C/C++/ObjC code across machines on a network."
Andrew Geissler90fd73c2021-03-05 15:25:55 -06004HOMEPAGE = "https://github.com/distcc/distcc"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08005SECTION = "devel"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00006LICENSE = "GPL-2.0-only"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08007LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
8
9DEPENDS = "avahi binutils"
10
11PACKAGECONFIG ??= "popt"
12PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+"
13# use system popt by default
14PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
15
Patrick Williams213cb262021-08-07 19:21:33 -050016RRECOMMENDS:${PN}-server = "avahi-daemon"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080017
Andrew Geissler595f6302022-01-24 19:11:47 +000018SRC_URI = "git://github.com/distcc/distcc.git;branch=master;protocol=https \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080019 file://default \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080020 file://distcc \
Andrew Geisslerd1e89492021-02-12 15:35:20 -060021 file://distcc.service \
22 "
William A. Kennington IIIac69b482021-06-02 12:28:27 -070023SRCREV = "50d821efe99cae82c05be0a4ab3b4035ef0d3883"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080024S = "${WORKDIR}/git"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060025UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080026
27inherit autotools pkgconfig update-rc.d useradd systemd
28
29ASNEEDED = ""
30
31EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode"
32
Brad Bishop00e122a2019-10-05 11:10:57 -040033PACKAGE_BEFORE_PN = "${PN}-distmon-gnome ${PN}-server"
34
35USERADD_PACKAGES = "${PN}-server"
Patrick Williams213cb262021-08-07 19:21:33 -050036USERADD_PARAM:${PN}-server = "--system \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080037 --home /dev/null \
38 --no-create-home \
39 --gid nogroup \
40 distcc"
41
Brad Bishop00e122a2019-10-05 11:10:57 -040042UPDATERCPN = "${PN}-server"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080043INITSCRIPT_NAME = "distcc"
44
Brad Bishop00e122a2019-10-05 11:10:57 -040045SYSTEMD_PACKAGES = "${PN}-server"
Patrick Williams213cb262021-08-07 19:21:33 -050046SYSTEMD_SERVICE:${PN}-server = "distcc.service"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080047
48do_install() {
49 # Improve reproducibility: compress w/o timestamps
50 oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install
51 install -d ${D}${sysconfdir}/init.d/
52 install -d ${D}${sysconfdir}/default
53 install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
54 install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
Andrew Geissler5199d832021-09-24 16:47:35 -050055 install -d ${D}${systemd_system_unitdir}/
56 install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_system_unitdir}
57 sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/distcc.service
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080058}
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080059
Patrick Williams213cb262021-08-07 19:21:33 -050060FILES:${PN}-server = "${sysconfdir} \
Brad Bishop00e122a2019-10-05 11:10:57 -040061 ${bindir}/distccd \
62 ${sbindir}"
Patrick Williams213cb262021-08-07 19:21:33 -050063FILES:${PN}-distmon-gnome = "${bindir}/distccmon-gnome \
Brad Bishop00e122a2019-10-05 11:10:57 -040064 ${datadir}/applications \
65 ${datadir}/pixmaps"
Brad Bishop19323692019-04-05 15:28:33 -040066
67#
68# distcc upstream dropped the 3.2 branch which we reference in older project releases
69# the revisions are there, just the branch is not. In order to be able to continue
70# to build those old releases, adjust any mirror tarball to contain the missing branch
71#
72fixup_distcc_mirror_tarball () {
73 TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz
74 if [ -f $TBALL ]; then
75 TDIR=`mktemp -d`
76 cd $TDIR
77 tar -xzf $TBALL
78 set +e
79 git rev-parse --verify 3.2
80 if [ "$?" != "0" ]; then
81 git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c
82 tar -czf $TBALL *
83 fi
84 set -e
85 rm -rf $TDIR/*
86 fi
87}
88do_fetch[postfuncs] += "fixup_distcc_mirror_tarball"