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
+}

Reply via email to