summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Helmert III <jchelmert3@posteo.net>2021-01-29 23:26:18 -0600
committerJoonas Niilola <juippis@gentoo.org>2021-02-11 10:56:03 +0200
commit643ed593c89f5f81e01cd5371cd06ab41b7349a9 (patch)
treed58f092d815db7d5b87c403b5be5a88d9a085ca7 /net-misc/apt-cacher-ng
parentnet-misc/apt-cacher-ng: take maintainership (diff)
downloadgentoo-643ed593c89f5f81e01cd5371cd06ab41b7349a9.tar.gz
gentoo-643ed593c89f5f81e01cd5371cd06ab41b7349a9.tar.bz2
gentoo-643ed593c89f5f81e01cd5371cd06ab41b7349a9.zip
net-misc/apt-cacher-ng: bump to 3.5_p3
Rework so as to not install everything manually in src_install but rely on the build system, clean up src_configure a bit, clean up dependencies, drop useless IUSE=systemd and related dependency, drop user.eclass and depend on acct-{user,group} packages, and update the OpenRC init.d and conf.d files to fix a security bug. These files were written by Michael Orlitzky (mjo). Bug: https://bugs.gentoo.org/631878 Closes: https://bugs.gentoo.org/538214 Closes: https://bugs.gentoo.org/701220 Thanks-to: Michael Orlitzky <mjo@gentoo.org> Signed-off-by: John Helmert III <jchelmert3@posteo.net> Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'net-misc/apt-cacher-ng')
-rw-r--r--net-misc/apt-cacher-ng/Manifest2
-rw-r--r--net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p1-r1.ebuild129
-rw-r--r--net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p3.ebuild97
-rw-r--r--net-misc/apt-cacher-ng/files/confd-r29
-rw-r--r--net-misc/apt-cacher-ng/files/initd-r320
5 files changed, 127 insertions, 130 deletions
diff --git a/net-misc/apt-cacher-ng/Manifest b/net-misc/apt-cacher-ng/Manifest
index 5715fe065c43..8f5b3dcee4fb 100644
--- a/net-misc/apt-cacher-ng/Manifest
+++ b/net-misc/apt-cacher-ng/Manifest
@@ -1,2 +1,2 @@
-DIST apt-cacher-ng_3.5-1.debian.tar.xz 49916 BLAKE2B c01c96e5cf46fa3b8c46145b34976f3c4a3b545819719a8de517fe53a91d6f65c460bee59d98de750912d7bb9e3416804a088bdf274d74352c35f757cdeb16ea SHA512 8a543f94ef5e206be40070eb757c950ad6915cfbd6cacfadb5bd91070d14b4bb1c3c550823cd088c15335963587cc34d414518ae0013f6561996f855ccf97359
+DIST apt-cacher-ng_3.5-3.debian.tar.xz 49708 BLAKE2B 85092374207a252dcb4ef7b95dc434f81f9b67791e20099dc058022a9a575130070c12827f3fd04640fcec3b44a444fb85d8cea6439d5eaeeb359f263fb05682 SHA512 f690ae69d38b8e9c73ef095e9779364c7c5ccd246b19e8f5ce2edde47861e44c0aedabc75bcf11f5b408e034e52190dc8ed1789b503284f8f68dc1f5e84e1712
DIST apt-cacher-ng_3.5.orig.tar.xz 325260 BLAKE2B 1cf19bd575d4e3d320f73771b31e98977417713d57ceaaccb8b6c0eff7bd5e02c99a0c197ddbc09d14d8f6a70799525dedfe1fbacb00357f65f0c8c4d540bcab SHA512 0bbc78c128d353ec2504f4d898d0ffb339778e98ab9899d48c61c094b15cafd92e430f864c82b66049578f5dd3c9e74fc5c09883231faeddce453be64e6f8954
diff --git a/net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p1-r1.ebuild b/net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p1-r1.ebuild
deleted file mode 100644
index 362e497b3c1b..000000000000
--- a/net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p1-r1.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit cmake user
-
-DESCRIPTION="Yet another caching HTTP proxy for Debian/Ubuntu software packages"
-HOMEPAGE="
- https://www.unix-ag.uni-kl.de/~bloch/acng/
- https://packages.qa.debian.org/a/apt-cacher-ng.html
-"
-LICENSE="BSD-4 ZLIB public-domain"
-SLOT="0"
-SRC_URI="
- mirror://debian/pool/main/a/${PN}/${PN}_${PV/_*}.orig.tar.xz
- mirror://debian/pool/main/a/${PN}/${PN}_${PV/_p/-}.debian.tar.xz
-"
-
-KEYWORDS="~amd64 ~x86"
-IUSE="doc fuse systemd tcpd"
-
-COMMON_DEPEND="
- app-arch/bzip2
- app-arch/xz-utils
- dev-libs/libevent:=
- dev-libs/openssl:0=
- sys-libs/zlib
- systemd? (
- sys-apps/systemd
- )
-"
-BDEPEND="
- ${COMMON_DEPEND}
- virtual/pkgconfig
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-lang/perl
- fuse? ( sys-fs/fuse )
- tcpd? ( sys-apps/tcp-wrappers )
-"
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.1-flags.patch
- "${FILESDIR}"/${PN}-3.5-perl-syntax.patch
- "${WORKDIR}"/debian/patches/debian-changes
-)
-S=${WORKDIR}/${P/_*}
-
-pkg_setup() {
- # add new user & group for daemon
- enewgroup ${PN}
- enewuser ${PN} -1 -1 -1 ${PN}
-}
-
-src_configure() {
- local mycmakeargs=()
- if use fuse; then
- mycmakeargs+=( "-DHAVE_FUSE_25=yes" )
- else
- mycmakeargs+=( "-DHAVE_FUSE_25=no" )
- fi
- if use tcpd; then
- mycmakeargs+=( "-DHAVE_LIBWRAP=yes" )
- else
- mycmakeargs+=( "-DHAVE_LIBWRAP=no" )
- fi
- if tc-ld-is-gold; then
- mycmakeargs+=( "-DUSE_GOLD=yes" )
- else
- mycmakeargs+=( "-DUSE_GOLD=no" )
- fi
-
- cmake_src_configure
-
- sed -i -e '/LogDir/s|/var/tmp|/var/log/'"${PN}"'|g' "${BUILD_DIR}"/conf/acng.conf || die
-}
-
-src_install() {
- pushd "${BUILD_DIR}" || die
- dosbin ${PN} acngtool
- dolib.so libsupacng.so
- if use fuse; then
- dobin acngfs
- fi
- popd || die
-
- newinitd "${FILESDIR}"/initd-r2 ${PN}
- newconfd "${FILESDIR}"/confd-r1 ${PN}
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/logrotate ${PN}
-
- doman doc/man/${PN}*
- if use fuse; then
- doman doc/man/acngfs*
- fi
-
- # Documentation
- dodoc doc/README TODO VERSION INSTALL ChangeLog
- if use doc; then
- dodoc doc/*.pdf
-
- docinto html
- dodoc doc/html/*
-
- find conf -name '*.gz' -exec gzip -d {} \; || die
- docinto examples/conf
- dodoc conf/*
- fi
-
- newdoc "${WORKDIR}"/debian/changelog debian.changelog
-
- # perl daily cron script
- dosbin scripts/expire-caller.pl
- insinto /etc/cron.daily
- newins "${FILESDIR}"/cron.daily ${PN}
-
- # default configuration
- insinto /etc/${PN}
- newins "${BUILD_DIR}"/conf/acng.conf ${PN}.conf
- doins $( echo conf/* | sed 's|conf/acng.conf.in||g' )
-
- keepdir /var/log/${PN}
- # Some directories must exists
- keepdir /var/log/${PN}
- fowners -R ${PN}:${PN} \
- /etc/${PN} \
- /var/log/${PN}
-}
diff --git a/net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p3.ebuild b/net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p3.ebuild
new file mode 100644
index 000000000000..56294639238b
--- /dev/null
+++ b/net-misc/apt-cacher-ng/apt-cacher-ng-3.5_p3.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Yet another caching HTTP proxy for Debian/Ubuntu software packages"
+HOMEPAGE="https://www.unix-ag.uni-kl.de/~bloch/acng/
+ https://packages.qa.debian.org/a/apt-cacher-ng.html"
+SRC_URI="mirror://debian/pool/main/a/${PN}/${PN}_${PV/_*}.orig.tar.xz
+ mirror://debian/pool/main/a/${PN}/${PN}_${PV/_p/-}.debian.tar.xz"
+
+LICENSE="BSD-4 ZLIB public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc fuse tcpd"
+
+DEPEND="acct-user/apt-cacher-ng
+ acct-group/apt-cacher-ng
+ app-arch/bzip2
+ dev-libs/libevent:=
+ dev-libs/openssl:0=
+ sys-libs/zlib
+ fuse? ( sys-fs/fuse:0 )
+ tcpd? ( sys-apps/tcp-wrappers )"
+BDEPEND="virtual/pkgconfig"
+RDEPEND="${DEPEND}
+ dev-lang/perl"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.3.1-flags.patch"
+ "${FILESDIR}/${PN}-3.5-perl-syntax.patch"
+ "${WORKDIR}/debian/patches/debian-changes"
+)
+
+S="${WORKDIR}/${P/_*}"
+
+src_prepare() {
+ # Fixup systemd/CMakeLists.txt cmake version requirement
+ sed -ie "s/2.6/3.1/" systemd/CMakeLists.txt || die
+
+ # Make sure we install everything the same way it used to be after
+ # switching from mostly custom src_install to relying on build system
+ # installation
+ sed -e "/install/s/LIBDIR/CFGDIR/" \
+ -e "/install.*acng\.conf/s/)$/ RENAME ${PN}.conf)/" \
+ -e "/file/s/)$/ \"*hooks\" \"backends_debian\")/" -i conf/CMakeLists.txt || die
+ sed -ie "/INSTALL.*acngtool/s/LIBDIR/CMAKE_INSTALL_SBINDIR/" source/CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DHAVE_FUSE_25=$(usex fuse)"
+ "-DHAVE_LIBWRAP=$(usex tcpd)"
+ # Unconditionally install systemd service file
+ "-DSDINSTALL=1"
+ )
+
+ if tc-ld-is-gold; then
+ mycmakeargs+=( "-DUSE_GOLD=yes" )
+ else
+ mycmakeargs+=( "-DUSE_GOLD=no" )
+ fi
+
+ cmake_src_configure
+
+ sed -ie '/LogDir/s|/var/tmp|/var/log/'"${PN}"'|g' "${BUILD_DIR}"/conf/acng.conf || die
+}
+
+src_install() {
+ newinitd "${FILESDIR}/initd-r3" "${PN}"
+ newconfd "${FILESDIR}/confd-r2" "${PN}"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate" "${PN}"
+
+ insinto /etc/cron.daily
+ newins "${FILESDIR}/cron.daily" "${PN}"
+
+ # USE=fuse installs acngfs, don't install manpage without the bin
+ if use !fuse; then
+ rm doc/man/acngfs.8 || die
+ fi
+
+ if use !doc; then
+ rm -r doc/html || die
+ fi
+
+ dosbin scripts/expire-caller.pl
+
+ keepdir "/var/log/${PN}"
+ fowners -R ${PN}:${PN} "/var/log/${PN}"
+
+ cmake_src_install
+}
diff --git a/net-misc/apt-cacher-ng/files/confd-r2 b/net-misc/apt-cacher-ng/files/confd-r2
new file mode 100644
index 000000000000..2e2f5c99dd4a
--- /dev/null
+++ b/net-misc/apt-cacher-ng/files/confd-r2
@@ -0,0 +1,9 @@
+# Additional options that are passed to the Daemon.
+APT_CACHER_NG_ARGS="-c /etc/apt-cacher-ng"
+
+# Specify the network services that correspond to the "BindAddress"
+# setting in your apt-cacher-ng.conf. For example, if you bind to
+# 127.0.0.1, then this should be set to "net.lo" which provides the
+# loopback interface. The default BindAddress listens on all available
+# interfaces, for which it suffices to have only one (net.lo) up.
+rc_need="net.lo"
diff --git a/net-misc/apt-cacher-ng/files/initd-r3 b/net-misc/apt-cacher-ng/files/initd-r3
new file mode 100644
index 000000000000..665b0e46bcab
--- /dev/null
+++ b/net-misc/apt-cacher-ng/files/initd-r3
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CACHEDIR="/var/cache/${RC_SVCNAME}"
+SOCKETDIR="/run/apt-cacher-ng"
+SOCKETFILE="${SOCKETDIR}/${RC_SVCNAME}.socket"
+
+command="/usr/sbin/apt-cacher-ng"
+command_args="SocketPath=${SOCKETFILE} foreground=1 ${APT_CACHER_NG_ARGS}"
+command_background="true"
+command_user="apt-cacher-ng:apt-cacher-ng"
+pidfile="/run/${RC_SVCNAME}.pid"
+retry="15"
+
+start_pre() {
+ for d in "${SOCKETDIR}" "${CACHEDIR}"; do
+ checkpath --directory --mode 0755 --owner "${command_user}" "${d}"
+ done
+}