summaryrefslogtreecommitdiff
path: root/distcc
diff options
context:
space:
mode:
authorDanny Rawlins <contact@romster.me>2021-03-08 16:24:44 +1100
committerDanny Rawlins <contact@romster.me>2021-03-08 16:24:44 +1100
commit8b598823f003358b2ab22dfc1e028ccd765dfc17 (patch)
tree415415159791f3b03984537bf8b278ddd2a139e4 /distcc
parent84dc8a2f6cfa1909b6a76dee323adcb009b18b09 (diff)
downloadcontrib-8b598823f003358b2ab22dfc1e028ccd765dfc17.tar.gz
contrib-8b598823f003358b2ab22dfc1e028ccd765dfc17.tar.xz
[notify] distcc: 3.3.3 -> 3.3.5 closes FS#1817 - distcc improvements
Diffstat (limited to 'distcc')
-rw-r--r--distcc/.footprint59
-rw-r--r--distcc/.signature13
-rw-r--r--distcc/Pkgfile40
-rw-r--r--distcc/README31
-rw-r--r--distcc/distcc-3.3.3-gcc-10-fix.patch28
-rw-r--r--distcc/distcc-3.3.3-py38.patch53
-rw-r--r--distcc/distccd36
-rw-r--r--distcc/distccd.conf12
-rwxr-xr-xdistcc/pre-install2
9 files changed, 129 insertions, 145 deletions
diff --git a/distcc/.footprint b/distcc/.footprint
index 0470c0dd1..602bc3437 100644
--- a/distcc/.footprint
+++ b/distcc/.footprint
@@ -1,4 +1,5 @@
drwxr-xr-x root/root etc/
+-rw-r--r-- root/root etc/distccd.conf
drwxr-xr-x root/root etc/rc.d/
-rwxr-xr-x root/root etc/rc.d/distccd
drwxr-xr-x root/root usr/
@@ -6,6 +7,7 @@ drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/distcc
-rwxr-xr-x root/root usr/bin/distccmon-text
-rwxr-xr-x root/root usr/bin/lsdistcc
+-rwxr-xr-x root/root usr/bin/pump
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/distcc/
lrwxrwxrwx root/root usr/lib/distcc/c++ -> ../../bin/distcc
@@ -13,6 +15,58 @@ lrwxrwxrwx root/root usr/lib/distcc/cc -> ../../bin/distcc
lrwxrwxrwx root/root usr/lib/distcc/cpp -> ../../bin/distcc
lrwxrwxrwx root/root usr/lib/distcc/g++ -> ../../bin/distcc
lrwxrwxrwx root/root usr/lib/distcc/gcc -> ../../bin/distcc
+drwxr-xr-x root/root usr/lib/python3.9/
+drwxr-xr-x root/root usr/lib/python3.9/site-packages/
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server-3.3.5-py3.9.egg-info
+drwxr-xr-x root/root usr/lib/python3.9/site-packages/include_server/
+drwxr-xr-x root/root usr/lib/python3.9/site-packages/include_server/__pycache__/
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/basics.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/basics_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/c_extensions_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/cache_basics.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/compiler_defaults.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/compress_files.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/include_analyzer.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/include_analyzer_memoizing_node.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/include_analyzer_memoizing_node_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/include_analyzer_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/include_server.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/include_server_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/macro_eval.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/macro_eval_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/mirror_path.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/mirror_path_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/parse_command.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/parse_command_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/parse_file.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/parse_file_test.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/run.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/setup.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/__pycache__/statistics.cpython-39.pyc
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/basics.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/basics_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/c_extensions_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/cache_basics.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/compiler_defaults.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/compress_files.py
+-rwxr-xr-x root/root usr/lib/python3.9/site-packages/include_server/distcc_pump_c_extensions.cpython-39-x86_64-linux-gnu.so
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/include_analyzer.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/include_analyzer_memoizing_node.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/include_analyzer_memoizing_node_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/include_analyzer_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/include_server.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/include_server_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/macro_eval.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/macro_eval_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/mirror_path.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/mirror_path_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/parse_command.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/parse_command_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/parse_file.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/parse_file_test.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/run.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/setup.py
+-rw-r--r-- root/root usr/lib/python3.9/site-packages/include_server/statistics.py
drwxr-xr-x root/root usr/sbin/
-rwxr-xr-x root/root usr/sbin/distccd
drwxr-xr-x root/root usr/share/
@@ -21,4 +75,9 @@ drwxr-xr-x root/root usr/share/man/man1/
-rw-r--r-- root/root usr/share/man/man1/distcc.1.gz
-rw-r--r-- root/root usr/share/man/man1/distccd.1.gz
-rw-r--r-- root/root usr/share/man/man1/distccmon-text.1.gz
+-rw-r--r-- root/root usr/share/man/man1/include_server.1.gz
-rw-r--r-- root/root usr/share/man/man1/lsdistcc.1.gz
+-rw-r--r-- root/root usr/share/man/man1/pump.1.gz
+drwxr-xr-x root/root var/
+drwxr-xr-x root/root var/run/
+drwxr-xr-x distcc/distcc var/run/distcc/
diff --git a/distcc/.signature b/distcc/.signature
index a6752a8d0..646cdf8d0 100644
--- a/distcc/.signature
+++ b/distcc/.signature
@@ -1,8 +1,7 @@
untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF3/cYlTfvzB/tCQgpYGlFCNO2jvXFfwQ+zoMVCpIb5+G81TPoizlcucHDMyWfYpfweDbsdwp2F9sh9b4YUsBn1gk=
-SHA256 (Pkgfile) = 0e7a08a1d22c5cbfaa00cadecc73fd2f9076c86a0debcc1af3751039c06eb99e
-SHA256 (.footprint) = 96261a14be1f68dc197a6eeab9ce9ffa685b7921e7802d2e62313e11e68575d4
-SHA256 (distcc-3.3.3.tar.gz) = b7f37d314704fbaf006d747514ff6e4d0d722102ef7d2aea132f97cf170f5169
-SHA256 (distccd) = d440c68490aab6c4552848d9253d033a0169cae56a0b94d75f68fa81642bb847
-SHA256 (distcc-3.3.3-py38.patch) = bc6d940980a24df9d5023a85d2b6869e8014967b561e14ab12cff7b3ff159497
-SHA256 (distcc-3.3.3-gcc-10-fix.patch) = bdb625de75400a79f873f323691fb980bbbe5373b24300e055edd475c6c23144
+RWSagIOpLGJF37C+jF3cbKbSTuALkqY/6NPH26KzPkxpGCI287MN4ZlPT86P2dEaHB/eGGAZowxV0A/C6sVeekbTXaAI6Yni6ws=
+SHA256 (Pkgfile) = f9d09d23f8eb8777d0f597ffbb8d93a8873864d4cd1b6283867a131a77721c00
+SHA256 (.footprint) = a02bb04a43c281a9085d56d381ee7094363505eee594601b6b9b5c01ee3e8d48
+SHA256 (distcc-3.3.5.tar.gz) = 7a8e45a3a2601b7d5805c7d5b24918e3ad84b6b5cc9153133f432fdcc6dce518
+SHA256 (distccd) = 5ff8d45e3e572cf0d4fb4e2e827bd77a618556c275f98d2770aff5621c4d1371
+SHA256 (distccd.conf) = 423bb705c252e52e01a9db813d8021a2647b57337daf7e58b6ffe969871d5add
diff --git a/distcc/Pkgfile b/distcc/Pkgfile
index 0f15a50e0..4846eee76 100644
--- a/distcc/Pkgfile
+++ b/distcc/Pkgfile
@@ -1,36 +1,29 @@
# Description: A tool to distribute compilations.
-# URL: http://distcc.org/
+# URL: https://github.com/distcc/distcc
# Maintainer: Danny Rawlins, crux at romster dot me
-# Optional: python3 gtk avahi
+# Optional: gtk avahi
name=distcc
-version=3.3.3
-release=2
+version=3.3.5
+release=1
source=(https://github.com/distcc/distcc/releases/download/v$version/$name-$version.tar.gz
- distccd
- distcc-3.3.3-py38.patch
- distcc-3.3.3-gcc-10-fix.patch)
+ distccd distccd.conf)
build() {
cd $name-$version
-[ -e '/usr/lib/pkgconfig/python-3.7.pc' ] || PKGMK_DISTCC+=' --disable-pump-mode'
-[ -e '/usr/lib/pkgconfig/gtk+-2.0.pc' ] || PKGMK_DISTCC+=' --without-gtk'
-[ -e '/usr/lib/pkgconfig/popt.pc' ] || PKGMK_DISTCC+=' --with-included-popt'
-
- patch -p1 -i $SRC/distcc-3.3.3-py38.patch
- patch -p1 -i $SRC/distcc-3.3.3-gcc-10-fix.patch
+prt-get isinst gtk3 || PKGMK_DISTCC+=' --without-gtk'
+prt-get isinst popt || PKGMK_DISTCC+=' --with-included-popt'
./autogen.sh
./configure ${PKGMK_DISTCC} \
--prefix=/usr \
--sysconfdir=/etc \
- --enable-rfc2553 \
- --disable-Werror
+ --enable-rfc2553
- make
- make DESTDIR=$PKG install
+ make WERROR_CFLAGS= INCLUDESERVER_PYTHON=/usr/bin/python3
+ make DESTDIR=$PKG INCLUDESERVER_PYTHON=/usr/bin/python3 install
# distccd should be in sbin
mv $PKG/usr/bin/distccd $PKG/usr/sbin/distccd
@@ -46,11 +39,14 @@ build() {
done
cd -
+ # install config file
+ install -D -m 0644 $SRC/distccd.conf $PKG/etc/distccd.conf
+
+ # create rundir
+ install -d $PKG/var/run/distcc
+ chown distcc:distcc $PKG/var/run/distcc
+
# cleanup
rm -r $PKG/usr/share/doc $PKG/etc/distcc $PKG/etc/default
- rm $PKG//usr/sbin/update-distcc-symlinks
-
- # python is required for pump mode
-[ -e '/usr/lib/pkgconfig/python-3.7.pc' ] || \
- rm $PKG/usr/share/man/man1/{pump,include_server}.1.gz
+ rm $PKG/usr/sbin/update-distcc-symlinks
}
diff --git a/distcc/README b/distcc/README
index 2da73ec9c..4943736f9 100644
--- a/distcc/README
+++ b/distcc/README
@@ -1,24 +1,11 @@
POST-INSTALL:
-To use distcc, just:
-a) Set DISTCC_ALLOW=IPADDR[/MASK] to /etc/rc.conf.
-b) Export DISTCC_HOSTS to include the compilation hosts.
-c) Prepend /usr/lib/distcc to your $PATH environment variable.
- (e.g. in pkgmk.conf)
-d) Export MAKEFLAGS=-j<n> where n is a number representing the number of
- parallel jobs you want.
-e) Optionally set DISTCC_LOG_LEVEL=LEVEL in /etc/rc.conf to be more or
- less verbose to syslogd.
-
-
-DISTCCD SERVICE
-
-There's a service to simplify running distccd. By default, it wont run without DISTCC_ALLOW=IPADDR[/MASK] to accept connections and runs as user 'nobody'. Both values can be overridden in /etc/rc.conf, like this:
-
-----
-DISTCC_ALLOW='192.168.1.0/24'
-DISTCC_USER='pkgmk'
-----
-
-There is more information on the public wiki http://crux.nu/Public/HomePage
-and in the man pages 'man distccd' and 'man distcc'.
+To set up distcc as a client:
+1. Export DISTCC_HOSTS to include the compilation hosts
+2. Prepend /usr/lib/distcc to your $PATH environment variable.
+3. Export MAKEFLAGS=-j<n> where n is a number representing the number of
+ parallel jobs you want.
+
+To set up distcc as a server:
+1. Set the ALLOW or ZEROCONF option in /etc/distccd.conf
+2. Start the service with the /etc/rc.d/distccd startup script
diff --git a/distcc/distcc-3.3.3-gcc-10-fix.patch b/distcc/distcc-3.3.3-gcc-10-fix.patch
deleted file mode 100644
index 2c0bce6c8..000000000
--- a/distcc/distcc-3.3.3-gcc-10-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 377969cc762569f4a5ec409a1e7ad6a7be3e51b3 Mon Sep 17 00:00:00 2001
-From: Romain Geissler <romain.geissler@amadeus.com>
-Date: Mon, 27 Jan 2020 09:28:43 +0000
-Subject: [PATCH] Fix build with gcc 10 which defaults to -fno-common (cf
- https://gcc.gnu.org/gcc-10/porting_to.html)
-
-This fixes the following link error I see when I use the latest gcc 10
-git branch:
-/opt/1A/toolchain/x86_64-v20.0.7/lib/gcc/x86_64-1a-linux-gnu/10.0.1/../../../../x86_64-1a-linux-gnu/bin/ld: src/serve.o:(.bss+0x0): multiple definition of `stats_text'; src/prefork.o:(.bss+0x0): first defined here
-/opt/1A/toolchain/x86_64-v20.0.7/lib/gcc/x86_64-1a-linux-gnu/10.0.1/../../../../x86_64-1a-linux-gnu/bin/ld: src/stats.o:(.data+0x20): multiple definition of `stats_text'; src/prefork.o:(.bss+0x0): first defined here
-collect2: error: ld returned 1 exit status
----
- src/stats.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/stats.h b/src/stats.h
-index 9bde285..74d4690 100644
---- a/src/stats.h
-+++ b/src/stats.h
-@@ -33,7 +33,7 @@ enum stats_e { STATS_TCP_ACCEPT, STATS_REJ_BAD_REQ, STATS_REJ_OVERLOAD,
- STATS_COMPILE_OK, STATS_COMPILE_ERROR, STATS_COMPILE_TIMEOUT,
- STATS_CLI_DISCONN, STATS_OTHER, STATS_ENUM_MAX };
-
--const char *stats_text[20];
-+extern const char *stats_text[20];
-
- int dcc_stats_init(void);
- void dcc_stats_init_kid(void);
diff --git a/distcc/distcc-3.3.3-py38.patch b/distcc/distcc-3.3.3-py38.patch
deleted file mode 100644
index 1ba5fee7d..000000000
--- a/distcc/distcc-3.3.3-py38.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From c52a023b8a17e4346c66a8fddee69b40b327eae7 Mon Sep 17 00:00:00 2001
-From: MartB <mart.b@outlook.de>
-Date: Thu, 28 Nov 2019 21:00:59 +0100
-Subject: [PATCH] Replace time.clock() with time.perf_counter()
-
-.clock() got removed in python 3.8 and was marked as deprecated since 3.3
-(https://github.com/python/cpython/pull/13270)
----
- include_server/parse_file.py | 4 ++--
- include_server/statistics.py | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/include_server/parse_file.py b/include_server/parse_file.py
-index d1dcc74..f5d78b7 100755
---- a/include_server/parse_file.py
-+++ b/include_server/parse_file.py
-@@ -272,7 +272,7 @@ def Parse(self, filepath, symbol_table):
-
- assert isinstance(filepath, str)
- self.filepath = filepath
-- parse_file_start_time = time.clock()
-+ parse_file_start_time = time.perf_counter()
- statistics.parse_file_counter += 1
-
- includepath_map_index = self.includepath_map.Index
-@@ -338,6 +338,6 @@ def Parse(self, filepath, symbol_table):
- expr_includes, next_includes)
-
-
-- statistics.parse_file_total_time += time.clock() - parse_file_start_time
-+ statistics.parse_file_total_time += time.perf_counter() - parse_file_start_time
-
- return (quote_includes, angle_includes, expr_includes, next_includes)
-diff --git a/include_server/statistics.py b/include_server/statistics.py
-index 9677af3..7bc9cb8 100755
---- a/include_server/statistics.py
-+++ b/include_server/statistics.py
-@@ -62,13 +62,13 @@ def StartTiming():
- global start_time, translation_unit_counter
- """Mark the start of a request to find an include closure."""
- translation_unit_counter += 1
-- start_time = time.clock()
-+ start_time = time.perf_counter()
-
-
- def EndTiming():
- """Mark the end of an include closure calculation."""
- global translation_unit_time, min_time, max_time, total_time
-- translation_unit_time = time.clock() - start_time
-+ translation_unit_time = time.perf_counter() - start_time
- min_time = min(translation_unit_time, min_time)
- max_time = max(translation_unit_time, max_time)
- total_time += translation_unit_time
diff --git a/distcc/distccd b/distcc/distccd
index aebad6fac..3643e7b9b 100644
--- a/distcc/distccd
+++ b/distcc/distccd
@@ -1,32 +1,42 @@
-#!/usr/bin/env bash
+#!//bin/sh
#
# /etc/rc.d/distccd: start/stop distcc daemon
#
-. /etc/rc.conf
-if [ -z "$DISTCC_ALLOW" ]; then
- echo "Please define a range of IPs allowed to connect to this distccd"
- echo "host in DISTCC_ALLOW in /etc/rc.conf. More detailed information"
- echo "can be found in the distcc's README package."
- exit 1
-fi
+USER="distcc"
+GROUP="distcc"
+RUNDIR="/var/run/distcc"
+PIDFILE="$RUNDIR/distcc.pid"
+PROG="/usr/sbin/distccd"
+ARGS="--daemon --pid-file $PIDFILE"
-DISTCC_USER="${DISTCC_USER:=nobody}"
-DISTCC_LOG_LEVEL="${DISTCC_LOG_LEVEL:=notice}"
+# Allow overriding variables in separate file (except for PATH)
+. /etc/distccd.conf
+PATH="/sbin:/usr/sbin:/bin:/usr/bin"
case $1 in
start)
- /usr/sbin/distccd --daemon --user "$DISTCC_USER" --allow "$DISTCC_ALLOW" --log-level "$DISTCC_LOG_LEVEL"
+ [ -d "$RUNDIR" ] || install -o $USER -g $GROUP -d "$RUNDIR"
+ start-stop-daemon --start --pidfile $PIDFILE --exec $PROG -- $ARGS
;;
stop)
- killall -q /usr/sbin/distccd
+ start-stop-daemon --stop --retry 60 --user $USER --pidfile $PIDFILE --remove-pidfile
;;
restart)
$0 stop
$0 start
;;
+status)
+ start-stop-daemon --status --user $USER --pidfile $PIDFILE
+ case $? in
+ 0) echo "$PROG running with pid: $(cat $PIDFILE)" ;;
+ 1) echo "$PROG not running, stale pidfile: $PIDFILE" ;;
+ 3) echo "$PROG not running" ;;
+ 4) echo "Unable to determine program status" ;;
+ esac
+ ;;
*)
- echo "usage: $0 [start|stop|restart]"
+ echo "usage: $0 [start|stop|status|restart]"
;;
esac
diff --git a/distcc/distccd.conf b/distcc/distccd.conf
new file mode 100644
index 000000000..f6bcb32c8
--- /dev/null
+++ b/distcc/distccd.conf
@@ -0,0 +1,12 @@
+#
+# This config file is sourced by /etc/rc.d/distccd
+# We can override or append to variables
+#
+
+# USER="distcc"
+# GROUP="distcc"
+# RUNDIR="/var/run/distcc"
+# PIDFILE="$RUNDIR/distcc.pid"
+
++# Uncomment this and set --allow or --allow-local as needed:
+# ARGS="$ARGS --allow 1.2.0.0/16 --allow 3.4.5.0/24 --allow-private --zeroconf"
diff --git a/distcc/pre-install b/distcc/pre-install
new file mode 100755
index 000000000..b3bd0f2bf
--- /dev/null
+++ b/distcc/pre-install
@@ -0,0 +1,2 @@
+/usr/sbin/groupadd --system distcc
+/usr/sbin/useradd --system --gid distcc --home-dir /var/empty --shell /bin/false distcc && passwd --lock distcc

Generated by cgit