diff --git a/arch/distcc-avahi/PKGBUILD b/arch/distcc-avahi/PKGBUILD index e41a2e796..f79202dfc 100644 --- a/arch/distcc-avahi/PKGBUILD +++ b/arch/distcc-avahi/PKGBUILD @@ -10,7 +10,7 @@ pkgname=distcc-avahi _pkgname=distcc pkgver=3.4 -pkgrel=17 +pkgrel=18 pkgdesc="Distributed compilation service for C, C++ and Objective-C (with Avahi/Zeroconf support)" arch=('x86_64' 'aarch64') url="https://github.com/distcc/distcc" @@ -22,12 +22,14 @@ provides=("distcc=${pkgver}") conflicts=('distcc') replaces=('distcc') backup=('etc/conf.d/distccd') +install=${pkgname}.install source=( "${_pkgname}-${pkgver}.tar.gz::https://github.com/distcc/distcc/archive/refs/tags/v${pkgver}.tar.gz" "distccd.conf" "distccd.service" "distcc.tmpfiles" "fix-gcc-rewrite-fqn-overflow.patch" + "${pkgname}.install" ) sha256sums=( '37a34c9555498a1168fea026b292ab07e7bb394715d87d8403e0c33b16d2d008' @@ -35,6 +37,7 @@ sha256sums=( 'a4f1d1bb21d61d41f22e918b448cfb852a6d95b0d3b922bd82805090cb2ce41a' 'd8aee2eb895c02a39e0f2b76fd4a5c9dce91405f1c443286ca324628eadbf3f1' '7ff56af2ea505bfbf65ceeb0c8f752295f73ffb1173c26a6e978840fad04f651' + 'f7d5e02298db44f46763b28ca509e9151e8331ce8cc9a732f1b5f49923d03f47' ) prepare() { diff --git a/arch/distcc-avahi/distcc-avahi.install b/arch/distcc-avahi/distcc-avahi.install new file mode 100644 index 000000000..f85f0cc7b --- /dev/null +++ b/arch/distcc-avahi/distcc-avahi.install @@ -0,0 +1,30 @@ +_fix_conf() { + local conf=/etc/conf.d/distccd + if [ -f "$conf" ] && grep -q '^DISTCC_ARGS=' "$conf"; then + cp -a "$conf" "${conf}.pre-distcc-avahi-fix.$(date +%Y%m%d-%H%M%S)" + sed -i 's/^DISTCC_ARGS=/DISTCC_OPTS=/' "$conf" + echo "==> distcc-avahi: renamed DISTCC_ARGS -> DISTCC_OPTS in $conf" + echo " (the systemd unit reads \$DISTCC_OPTS; backup left as ${conf}.pre-distcc-avahi-fix.*)" + fi +} + +_warn_masq() { + if [ ! -d /usr/lib/distcc ]; then + echo "==> distcc-avahi: /usr/lib/distcc/ not populated; running update-distcc-symlinks" + /usr/bin/update-distcc-symlinks 2>/dev/null || true + fi +} + +post_install() { + _fix_conf + _warn_masq +} + +post_upgrade() { + _fix_conf + _warn_masq + if systemctl is-active --quiet distccd 2>/dev/null; then + echo "==> distcc-avahi: distccd.service is active; restart with" + echo " 'sudo systemctl restart distccd' to pick up any conf change" + fi +}