summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Bergren <git@bdragon.rtk0.net>2018-10-10 21:21:33 +0000
committerBrandon Bergren <git@bdragon.rtk0.net>2018-10-11 01:22:48 +0000
commitcfcd67de277777293d892678d34e9b3a6d153939 (patch)
treebbe4fa059e242823ef31a5726aaa27854d502907
parent12d60ca9aff285fa1082aaa6b98ca8ae1892c95a (diff)
downloadpackages-cfcd67de277777293d892678d34e9b3a6d153939.tar.gz
packages-cfcd67de277777293d892678d34e9b3a6d153939.tar.bz2
packages-cfcd67de277777293d892678d34e9b3a6d153939.tar.xz
packages-cfcd67de277777293d892678d34e9b3a6d153939.zip
user/distcc: new package
-rw-r--r--user/distcc/APKBUILD57
-rw-r--r--user/distcc/distcc.pre-install6
2 files changed, 63 insertions, 0 deletions
diff --git a/user/distcc/APKBUILD b/user/distcc/APKBUILD
new file mode 100644
index 000000000..1a670b02d
--- /dev/null
+++ b/user/distcc/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer:
+pkgname=distcc
+pkgver=3.3.2
+pkgrel=0
+pkgdesc="Distributed builds for C, C++ and Objective C"
+url="https://distcc.github.io/"
+arch="all"
+# BadLogFile_Case depends on non-root, because distcc will NOT drop privs
+# and this test checks to ensure that distcc will abort if it can't access
+# its log file. Also, distccd WILL privdrop to 'distcc' and will abort if the
+# user does not exist. But if we don't run tests as root, we don't need the
+# user on the build box.
+options="!checkroot"
+license="GPL-2.0+"
+depends="python3"
+makedepends="python3-dev binutils-dev popt-dev"
+subpackages="$pkgname-doc"
+# These are needed if attempting to use checkroot.
+#pkgusers="distcc" # distccd privdrop, see src/setuid.c
+#pkggroups="distcc"
+install="$pkgname.pre-install"
+source="https://github.com/distcc/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz
+ "
+builddir=$srcdir/$pkgname
+
+build() {
+ cd "$builddir"
+ ./autogen.sh
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --without-avahi
+ make
+}
+
+check() {
+ cd "$builddir"
+ # Tests rely on invoking compiler, etc, with a normal path.
+ # The default "make check" target gets confused, so we manually
+ # invoke the test framework.
+ make check_programs
+ make PATH="$builddir:/usr/local/bin:/bin:/usr/bin" \
+ TESTDISTCC_OPTS="" \
+ maintainer-check-no-set-path
+}
+
+package() {
+ cd "$builddir"
+ make install DESTDIR="$pkgdir"
+}
+
+sha512sums="fdf11ed94ba50977b45e302179c5c4ba067cc3db37579cb8ed6d5b9487f8e3c89114f65af69333c38d374cf7634d7aef8d5a2d5c7fd8e9b1f4930c0897d6da10 distcc-3.3.2.tar.gz"
diff --git a/user/distcc/distcc.pre-install b/user/distcc/distcc.pre-install
new file mode 100644
index 000000000..ded93fd09
--- /dev/null
+++ b/user/distcc/distcc.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S distcc 2>/dev/null
+adduser -S -D -H -h /var/lib/distcc -s /bin/false -G distcc -g distcc distcc 2>/dev/null
+
+exit 0