Fix rubygem unpack regression, causing rubygem builds to fail

This commit is contained in:
Panu Matilainen 2022-04-28 10:31:45 +03:00
parent deee8829f8
commit de6dc77d50
2 changed files with 44 additions and 1 deletions

View File

@ -0,0 +1,39 @@
From cbcd9dd38dd1d0379e5d25ed3c1b1e96353e4014 Mon Sep 17 00:00:00 2001
Message-Id: <cbcd9dd38dd1d0379e5d25ed3c1b1e96353e4014.1651130985.git.pmatilai@redhat.com>
From: Panu Matilainen <pmatilai@redhat.com>
Date: Thu, 28 Apr 2022 10:17:16 +0300
Subject: [PATCH] Fix regression in rubygem unpacking (#2040)
Externalizing the source unpack in commit
cd5d667e99f931504a512b591fcde7ed92cee344 required changing the way
rubygems are unpacked, and now the .gemspec file gets unpacked into
different place. Oops. Reported and initial patch by Vit Ondruch.
Fixes: #2040
---
tools/rpmuncompress.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/rpmuncompress.c b/tools/rpmuncompress.c
index 609fb0f53..55aac4c44 100644
--- a/tools/rpmuncompress.c
+++ b/tools/rpmuncompress.c
@@ -97,12 +97,13 @@ static char *doUntar(const char *fn)
if (needtar) {
rasprintf(&buf, "%s '%s' | %s %s -", zipper, fn, tar, taropts);
} else if (at->compressed == COMPRESSED_GEM) {
- size_t nvlen = strlen(fn) - 3;
+ const char *bn = basename(fn);
+ size_t nvlen = strlen(bn) - 3;
char *gem = rpmGetPath("%{__gem}", NULL);
char *gemspec = NULL;
char gemnameversion[nvlen];
- rstrlcpy(gemnameversion, fn, nvlen);
+ rstrlcpy(gemnameversion, bn, nvlen);
gemspec = rpmGetPath("", gemnameversion, ".gemspec", NULL);
rasprintf(&buf, "%s '%s' && %s spec '%s' --ruby > '%s'",
--
2.35.1

View File

@ -30,7 +30,7 @@
%global rpmver 4.18.0 %global rpmver 4.18.0
%global snapver alpha1 %global snapver alpha1
%global baserelease 5 %global baserelease 6
%global sover 9 %global sover 9
%global srcver %{rpmver}%{?snapver:-%{snapver}} %global srcver %{rpmver}%{?snapver:-%{snapver}}
@ -60,6 +60,7 @@ Patch100: 0001-Fix-OpenPGP-key-ID-parsing-regression.patch
Patch101: 0001-Revert-Fix-shared-colored-files-not-removed-on-erasu.patch Patch101: 0001-Revert-Fix-shared-colored-files-not-removed-on-erasu.patch
Patch102: 0001-Fix-regressions-on-dynamic-buildrequires-cli-switche.patch Patch102: 0001-Fix-regressions-on-dynamic-buildrequires-cli-switche.patch
Patch103: 0001-Fix-a-typo-in-doUntar-that-breaks-verbose-uncompress.patch Patch103: 0001-Fix-a-typo-in-doUntar-that-breaks-verbose-uncompress.patch
Patch104: 0001-Fix-regression-in-rubygem-unpacking-2040.patch
# These are not yet upstream # These are not yet upstream
Patch906: rpm-4.7.1-geode-i686.patch Patch906: rpm-4.7.1-geode-i686.patch
@ -614,6 +615,9 @@ fi
%doc docs/librpm/html/* %doc docs/librpm/html/*
%changelog %changelog
* Thu Apr 28 2022 Panu Matilainen <pmatilai@redhat.com> - 4.18.0-0.alpha1.6
- Fix rubygem unpack regression, causing rubygem builds to fail
* Wed Apr 27 2022 Panu Matilainen <pmatilai@redhat.com> - 4.18.0-0.alpha1.5 * Wed Apr 27 2022 Panu Matilainen <pmatilai@redhat.com> - 4.18.0-0.alpha1.5
- Fix verbose source uncompress regression (#2079127) - Fix verbose source uncompress regression (#2079127)