commit: fecbb295a100c605dad1ba2c20fb762dc0e57d79
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 8 05:10:29 2026 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 8 05:11:02 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fecbb295
dev-util/kup: fix compressor paths on non-merged-usr
Eli noticed this when testing an infra deployment.
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/kup-0.3.6-path-lookup-compressor.patch | 62 ++++++++++++++++++++
dev-util/kup/kup-0.3.6-r5.ebuild | 68 ++++++++++++++++++++++
2 files changed, 130 insertions(+)
diff --git a/dev-util/kup/files/kup-0.3.6-path-lookup-compressor.patch
b/dev-util/kup/files/kup-0.3.6-path-lookup-compressor.patch
new file mode 100644
index 000000000000..453160f3c68e
--- /dev/null
+++ b/dev-util/kup/files/kup-0.3.6-path-lookup-compressor.patch
@@ -0,0 +1,62 @@
+Rely on PATH to find (de)compressors rather than assuming a location
+which will break w/ unmerged-usr.
+--- a/kup-server
++++ b/kup-server
+@@ -160,16 +160,16 @@ if (defined($cfg->param('compressors.use'))) {
+ } else {
+ %zformats = (
+ '.gz' => {
+- 'compress' => '/bin/gzip -9',
+- 'decompress' => '/bin/gzip -cd',
++ 'compress' => 'gzip -9',
++ 'decompress' => 'gzip -cd',
+ },
+ '.bz2' => {
+- 'compress' => '/usr/bin/bzip2 -9',
+- 'decompress' => '/usr/bin/bzip2 -cd',
++ 'compress' => 'bzip2 -9',
++ 'decompress' => 'bzip2 -cd',
+ },
+ '.xz' => {
+- 'compress' => '/usr/bin/xz -9',
+- 'decompress' => '/usr/bin/xz -cd',
++ 'compress' => 'xz -9',
++ 'decompress' => 'xz -cd',
+ },
+ );
+ }
+--- a/kup-server.1
++++ b/kup-server.1
+@@ -107,12 +107,12 @@ sure to configure the decompress command to output to
stdout. E.g.:
+ .RS
+ .nf
+ [gz]
+-compress_command = /bin/pigz -9
+-decompress_command = /bin/gzip -cd
++compress_command = pigz -9
++decompress_command = gzip -cd
+
+ [xz]
+-compress_command = /bin/xz -9 -T0
+-decompress_command = /bin/xz -cd
++compress_command = xz -9 -T0
++decompress_command = xz -cd
+ .fi
+ .RE
+ .SH AUTHOR
+--- a/kup-server.cfg
++++ b/kup-server.cfg
+@@ -60,9 +60,9 @@ use = gz, xz
+ ; Specify which commands should be used for compression and decompression of
+ ; each archival format. Make sure the decompression command outputs to stdout.
+ [gz]
+-compress_command = /bin/pigz -9
+-decompress_command = /bin/gzip -cd
++compress_command = pigz -9
++decompress_command = gzip -cd
+
+ [xz]
+-compress_command = /bin/xz -9 -T0
+-decompress_command = /bin/xz -cd
++compress_command = xz -9 -T0
++decompress_command = xz -cd
diff --git a/dev-util/kup/kup-0.3.6-r5.ebuild b/dev-util/kup/kup-0.3.6-r5.ebuild
new file mode 100644
index 000000000000..87d242f2b557
--- /dev/null
+++ b/dev-util/kup/kup-0.3.6-r5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tmpfiles
+
+DESCRIPTION="kernel.org uploader tool"
+HOMEPAGE="https://www.kernel.org/pub/software/network/kup"
+SRC_URI="https://www.kernel.org/pub/software/network/kup/${P}.tar.xz"
+
+# Debian has sometimes carried useful patches
+#DEB_PR=6
+#DEB_P=${PN}_${PV}-${DEB_PR}
+#SRC_URI+=" mirror://debian/pool/main/${PN::1}/${PN}/${DEB_P}.debian.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gitolite"
+
+RDEPEND="
+ app-arch/pigz
+ app-arch/xz-utils
+ dev-lang/perl
+ virtual/perl-Encode
+ virtual/perl-File-Spec
+ dev-perl/BSD-Resource
+ dev-perl/Config-Simple"
+
+DOCS=( README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.6-path-lookup-compressor.patch
+)
+
+src_prepare() {
+ if use gitolite; then
+ cp -f "${S}/${PN}-server" "${S}/${PN}-server-gitolite" || die
+ patch "${S}/${PN}-server-gitolite"
<"${FILESDIR}"/${PN}-server-gitolite-subcmd.patch || die
+ fi
+ default
+}
+
+src_install() {
+ dobin "${PN}" "${PN}-server" gpg-sign-all genrings
+ doman "${PN}.1" "${PN}-server.1"
+ insinto /etc/kup
+ doins kup-server.cfg
+ einstalldocs
+ # Gitolite expects "kup-server" inside the commands directory.
+ if use gitolite; then
+ exeinto /usr/libexec/gitolite/commands/
+ newexe kup-server-gitolite kup-server
+ # Gentoo's gitolite fork has a slightly different path:
+ exeinto /usr/libexec/gitolite-gentoo/commands/
+ dosym -r /usr/libexec/gitolite/commands/kup-server
/usr/libexec/gitolite-gentoo/commands/kup-server
+ fi
+ # Important data kept here
+ keepdir /var/lib/kup/pub
+ keepdir /var/lib/kup/pgp
+ # Will create other directories
+ newtmpfiles "${FILESDIR}"/kup.tmpfilesd kup.conf
+}
+
+pkg_postinst() {
+ tmpfiles_process ${PN}.conf
+}