SecBSD's official ports repository

This commit is contained in:
purplerain 2023-08-16 22:26:55 +00:00
commit 2c0afcbbf3
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
64331 changed files with 5339189 additions and 0 deletions

72
devel/distcc/Makefile Normal file
View file

@ -0,0 +1,72 @@
COMMENT-main = distributed builds for C, C++ and Objective C
COMMENT-gtk = GTK+ monitor for distcc
COMMENT-server = distcc server
VERSION = 3.3.5
DISTNAME = distcc-${VERSION}
EPOCH = 0
CATEGORIES = devel net
REVISION = 5
HOMEPAGE = https://distcc.github.io/
# GPLv2
PERMIT_PACKAGE = Yes
MASTER_SITES = https://github.com/distcc/distcc/releases/download/v${VERSION}/
MULTI_PACKAGES = -main -gtk -server
MODULES = lang/python
MODPY_EGG_VERSION = ${VERSION}
MODPY_PYBUILD = setuptools
# Only -main needs an RDEP
MODPY_RUNDEP = No
WANTLIB += c popt pthread
LIB_DEPENDS = devel/popt
TEST_DEPENDS = devel/gdb
LIB_DEPENDS-main = ${LIB_DEPENDS}
RUN_DEPENDS-main += ${MODPY_RUN_DEPENDS}
WANTLIB-main = ${WANTLIB}
WANTLIB-server = ${WANTLIB}
LIB_DEPENDS-server = ${LIB_DEPENDS}
LIB_DEPENDS-gtk = ${LIB_DEPENDS} \
x11/gtk+2
RUN_DEPENDS-gtk = devel/desktop-file-utils
WANTLIB-gtk += ${WANTLIB} X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi
WANTLIB-gtk += Xinerama Xrandr Xrender atk-1.0 cairo fontconfig freetype
WANTLIB-gtk += gdk-x11-2.0 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gobject-2.0
WANTLIB-gtk += gtk-x11-2.0 harfbuzz intl pango-1.0 pangocairo-1.0
WANTLIB-gtk += pangoft2-1.0 z
USE_GMAKE = Yes
CONFIGURE_STYLE = gnu
CONFIGURE_ENV = CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_ARGS += --disable-Werror \
--without-libiberty \
--without-avahi \
--with-gtk
FAKE_FLAGS = sysconfdir="${PREFIX}/share/examples/"
pre-configure:
cd ${WRKSRC} && sed -i -E \
-e 's,/usr/(bin|lib)/distcc,${PREFIX}/\1/distcc,g' \
man/distcc.1 man/distccd.1 update-distcc-symlinks.py \
src/daemon.c src/serve.c
post-install:
rm -r ${PREFIX}/share/examples/default
pre-test:
ln -s ${LOCALBASE}/bin/egdb ${WRKDIR}/bin/gdb
.include <bsd.port.mk>

2
devel/distcc/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (distcc-3.3.5.tar.gz) = eo5Fo6JgG31YBcfVskkY462EtrXMkVMTP0Mv3Mbc5Rg=
SIZE (distcc-3.3.5.tar.gz) = 1204580

View file

@ -0,0 +1,22 @@
Don't install gzip'd manpages
Index: Makefile.in
--- Makefile.in.orig
+++ Makefile.in
@@ -1103,16 +1103,7 @@ install-include-server: include-server pump
install-man: $(man1_MEN)
$(mkinstalldirs) "$(DESTDIR)$(man1dir)"
for p in $(man1_MEN); do \
- if $(GZIP_BIN) --help >/dev/null 2>&1; then \
- mkdir -p "`dirname $$p`"; \
- if [ -e "$(DESTDIR)$(man1dir)$$p" ]; then rm -fv "$(DESTDIR)$(man1dir)$$p"; fi; \
- $(GZIP_BIN) < "$(srcdir)/$$p" > "$$p.gz"; \
- $(INSTALL_DATA) "$$p.gz" "$(DESTDIR)$(man1dir)" || exit 1; \
- else \
- echo "Warning: no working gzip, installing man pages uncompressed" 1>&2; \
- if [ -e "$(DESTDIR)$(man1dir)$$p.gz" ]; then rm -fv "$(DESTDIR)$(man1dir)$$p.gz"; fi; \
$(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(man1dir)" || exit 1; \
- fi; \
done
install-doc: $(pkgdoc_DOCS)

View file

@ -0,0 +1,13 @@
Use _distcc and don't advocate misusing the 'nobody' account.
--- man/distccd.1.orig Thu Dec 24 13:49:03 2015
+++ man/distccd.1 Thu Dec 24 13:49:16 2015
@@ -33,7 +33,7 @@ distcc may be started either by root or any other user
root, it gives away privileges and changes to the user specified by
the
.B --user
-option, or the user called "distcc", or the user called "nobody".
+option, or the user called "_distcc".
.PP
distccd does not have a configuration file; it's behaviour is
controlled only by command-line options and requests from

View file

@ -0,0 +1,12 @@
Index: src/setuid.c
--- src/setuid.c.orig
+++ src/setuid.c
@@ -41,7 +41,7 @@
#endif
#endif
-const char *opt_user = "distcc";
+const char *opt_user = "_distcc";
/**

View file

@ -0,0 +1 @@
GTK+ monitor for distcc a distributed client and server.

View file

@ -0,0 +1,4 @@
distcc is a program to distribute compilation of C or C++ code across
several machines on a network. distcc should always generate the same
results as a local compile, is simple to install and use, and is often
two or more times faster than a local compile.

View file

@ -0,0 +1,2 @@
distccd is the server for the distcc(1) distributed compiler. It
accepts and runs compilation jobs for network clients.

View file

@ -0,0 +1,5 @@
@bin bin/distccmon-gnome
share/applications/distccmon-gnome.desktop
share/pixmaps/
share/pixmaps/distccmon-gnome.png
@tag update-desktop-database

View file

@ -0,0 +1,98 @@
@bin bin/distcc
@bin bin/distccmon-text
@bin bin/lsdistcc
bin/pump
lib/python${MODPY_VERSION}/site-packages/include_server/
lib/python${MODPY_VERSION}/site-packages/include_server-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
lib/python${MODPY_VERSION}/site-packages/include_server-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
lib/python${MODPY_VERSION}/site-packages/include_server-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt
lib/python${MODPY_VERSION}/site-packages/include_server-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt
lib/python${MODPY_VERSION}/site-packages/include_server-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}basics.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}basics_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}c_extensions_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}cache_basics.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}compiler_defaults.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}compress_files.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}include_analyzer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}include_analyzer_memoizing_node.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}include_analyzer_memoizing_node_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}include_analyzer_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}include_server.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}include_server_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}macro_eval.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}macro_eval_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}mirror_path.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}mirror_path_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}parse_command.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}parse_command_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}parse_file.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}parse_file_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}run.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/${MODPY_PYCACHE}statistics.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/include_server/basics.py
lib/python${MODPY_VERSION}/site-packages/include_server/basics_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/c_extensions_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/cache_basics.py
lib/python${MODPY_VERSION}/site-packages/include_server/compiler_defaults.py
lib/python${MODPY_VERSION}/site-packages/include_server/compress_files.py
@so lib/python${MODPY_VERSION}/site-packages/include_server/distcc_pump_c_extensions.${MODPY_PYC_MAGIC_TAG}so
lib/python${MODPY_VERSION}/site-packages/include_server/include_analyzer.py
lib/python${MODPY_VERSION}/site-packages/include_server/include_analyzer_memoizing_node.py
lib/python${MODPY_VERSION}/site-packages/include_server/include_analyzer_memoizing_node_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/include_analyzer_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/include_server.py
lib/python${MODPY_VERSION}/site-packages/include_server/include_server_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/macro_eval.py
lib/python${MODPY_VERSION}/site-packages/include_server/macro_eval_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/mirror_path.py
lib/python${MODPY_VERSION}/site-packages/include_server/mirror_path_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/parse_command.py
lib/python${MODPY_VERSION}/site-packages/include_server/parse_command_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/parse_file.py
lib/python${MODPY_VERSION}/site-packages/include_server/parse_file_test.py
lib/python${MODPY_VERSION}/site-packages/include_server/run.py
lib/python${MODPY_VERSION}/site-packages/include_server/setup.py
lib/python${MODPY_VERSION}/site-packages/include_server/statistics.py
@man man/man1/distcc.1
@man man/man1/distccmon-text.1
@man man/man1/include_server.1
@man man/man1/lsdistcc.1
@man man/man1/pump.1
sbin/update-distcc-symlinks
share/doc/distcc/
share/doc/distcc/AUTHORS
share/doc/distcc/COPYING
share/doc/distcc/INSTALL
share/doc/distcc/NEWS
share/doc/distcc/README
share/doc/distcc/README.pump
share/doc/distcc/TODO
share/doc/distcc/example/
share/doc/distcc/example/README
share/doc/distcc/example/default
share/doc/distcc/example/hosts.allow
share/doc/distcc/example/init
share/doc/distcc/example/init-suse
share/doc/distcc/example/logrotate
share/doc/distcc/example/services
share/doc/distcc/example/xinetd
share/doc/distcc/protocol-1.txt
share/doc/distcc/protocol-2.txt
share/doc/distcc/protocol-3-impl.txt
share/doc/distcc/protocol-3.txt
share/doc/distcc/protocol-gssapi.txt
share/doc/distcc/reporting-bugs.txt
share/doc/distcc/status-1.txt
share/doc/distcc/survey.txt
share/doc/pkg-readmes/${PKGSTEM}
share/examples/distcc/
@sample ${SYSCONFDIR}/distcc/
share/examples/distcc/clients.allow
@sample ${SYSCONFDIR}/distcc/clients.allow
share/examples/distcc/commands.allow.sh
@sample ${SYSCONFDIR}/distcc/commands.allow.sh
share/examples/distcc/hosts
@sample ${SYSCONFDIR}/distcc/hosts

View file

@ -0,0 +1,6 @@
@newgroup _distcc:764
@newuser _distcc:764:_distcc::distcc user:/nonexistent:/sbin/nologin
@rcscript ${RCDIR}/distccd
@bin bin/distccd
@man man/man1/distccd.1
share/doc/pkg-readmes/${PKGSTEM}

View file

@ -0,0 +1,34 @@
+-----------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-----------------------------------------------------------------------
distcc
======
To spawn compilation jobs on remote hosts, a minimal configuration
such as the following can be used as `~/.distcc/hosts`:
localhost 192.168.178.13
or `/etc/distcc/hosts` for a system-wide configuration.
For SSH connections prefix hosts with `@` in the host specification.
distcc will run the jobs as the user invoking distcc.
Then set `$CC` to `distcc` to distribute compilation jobs across the
configured nodes.
Masquerading
============
Since distcc 3.3 it is recommended to use whitelisted compiler binaries.
This feature is called masquerading and it's enabled by default. See
the MASQUERADING section in distcc(1) how to set this up.
If you wish to disable it and fallback to the old behaviour, use the
`--make-me-a-botnet` parameter for distccd.
References
==========
For more information on using distcc and setting up a build cluster, please
refer to the Gentoo and Arch Linux wikis. While containing information
specific to their build systems, they do provide good general information:
- https://wiki.gentoo.org/wiki/Distcc
- https://wiki.archlinux.org/index.php/Distcc

View file

@ -0,0 +1,15 @@
+-----------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-----------------------------------------------------------------------
distccd
=======
distcc can run over TCP or SSH. For TCP connections the `distccd`
daemon has to be running on the remote hosts. Jobs will run by default
as the unprivileged `_distcc` user. In order to allow incoming
connections to a "worker", one has to modify distccd flags to
reflect the address/subnet of originating connections:
# rcctl enable distccd
# rcctl set distccd flags --allow 192.168.50.0/24
# rcctl start distccd

View file

@ -0,0 +1,11 @@
#!/bin/ksh
daemon="${PREFIX}/bin/distccd --daemon"
daemon_user="_distcc"
daemon_flags="--allow 127.0.0.1"
. /etc/rc.d/rc.subr
rc_reload=NO
rc_cmd $1