Files
poky/meta/recipes-devtools/distcc/distcc_3.4.bb
Alexander Kanavin f59a7df3fe meta: remove S in recipes that fetch from git via setting BB_GIT_DEFAULT_DESTSUFFIX
Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX
is set to match S from bitbake.conf (which itself is set to match typical tarball
releases).

A few recipes are setting S to a sub-directory of the git tree and need
to be adjusted accordingly.

bzip2 recipe is fetching a tarball and separately cloning tests;
adjust the recipe to put the latter into 'bzip2-tests', instead of 'git'.

devupstream.bbclass no longer needs to rewrite S, and is adjusted accordingly.

Adjust scripts/lib/recipetool/append.py to not hardcode 'git' as unpack
destination.

Adjust kernel-yocto.bbclass to use the git unpack variable instead
of hardcoding 'git' (there's also removal of repetition of
string constants and a correction of workdir/unpackdir mismatch in
one of the if-else branches).

Ensure build-appliance-image recipe does not use 'git' as checkout directory for
poky repo, but rather explicitly name it 'poky'.

Ensure reproducible.py code that looks for git repositories does not
hardcode 'git' but uses the destination set by BB_GIT_DEFAULT_DESTSUFFIX.

Ensure recipetool does not write out unneeded S settings into newly
created recipes that fetch from git.

Adjust selftest to not hardcode 'git' as unpack directory.

(From OE-Core rev: f80c07019ddadaf9c5fb890faabfda7920ecd15e)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-06-20 12:07:26 +01:00

88 lines
2.9 KiB
BlitzBasic

SUMMARY = "A parallel build system"
DESCRIPTION = "distcc is a parallel build system that distributes \
compilation of C/C++/ObjC code across machines on a network."
HOMEPAGE = "https://github.com/distcc/distcc"
SECTION = "devel"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "avahi binutils"
PACKAGECONFIG ??= "popt"
PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+"
# use system popt by default
PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
RRECOMMENDS:${PN}-server = "avahi-daemon"
SRC_URI = "git://github.com/distcc/distcc.git;branch=master;protocol=https \
file://default \
file://distcc \
file://distcc.service \
"
SRCREV = "50d821efe99cae82c05be0a4ab3b4035ef0d3883"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
inherit autotools pkgconfig update-rc.d useradd systemd
ASNEEDED = ""
EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode"
PACKAGE_BEFORE_PN = "${PN}-distmon-gnome ${PN}-server"
USERADD_PACKAGES = "${PN}-server"
USERADD_PARAM:${PN}-server = "--system \
--home /dev/null \
--no-create-home \
--gid nogroup \
distcc"
UPDATERCPN = "${PN}-server"
INITSCRIPT_NAME = "distcc"
SYSTEMD_PACKAGES = "${PN}-server"
SYSTEMD_SERVICE:${PN}-server = "distcc.service"
do_install() {
# Improve reproducibility: compress w/o timestamps
oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install
install -d ${D}${sysconfdir}/init.d/
install -d ${D}${sysconfdir}/default
install -m 0755 ${UNPACKDIR}/distcc ${D}${sysconfdir}/init.d/
install -m 0755 ${UNPACKDIR}/default ${D}${sysconfdir}/default/distcc
install -d ${D}${systemd_system_unitdir}/
install -m 0644 ${UNPACKDIR}/distcc.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/distcc.service
}
FILES:${PN}-server = "${sysconfdir} \
${bindir}/distccd \
${sbindir}"
FILES:${PN}-distmon-gnome = "${bindir}/distccmon-gnome \
${datadir}/applications \
${datadir}/pixmaps"
#
# distcc upstream dropped the 3.2 branch which we reference in older project releases
# the revisions are there, just the branch is not. In order to be able to continue
# to build those old releases, adjust any mirror tarball to contain the missing branch
#
fixup_distcc_mirror_tarball () {
TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz
if [ -f $TBALL ]; then
TDIR=`mktemp -d`
cd $TDIR
tar -xzf $TBALL
set +e
git rev-parse --verify 3.2
if [ "$?" != "0" ]; then
git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c
tar -czf $TBALL *
fi
set -e
rm -rf $TDIR/*
fi
}
do_fetch[postfuncs] += "fixup_distcc_mirror_tarball"