From de6dc77d50659241e74edac9d22800cb26bdeeb8 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 28 Apr 2022 10:31:45 +0300 Subject: [PATCH] Fix rubygem unpack regression, causing rubygem builds to fail --- ...regression-in-rubygem-unpacking-2040.patch | 39 +++++++++++++++++++ rpm.spec | 6 ++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 0001-Fix-regression-in-rubygem-unpacking-2040.patch diff --git a/0001-Fix-regression-in-rubygem-unpacking-2040.patch b/0001-Fix-regression-in-rubygem-unpacking-2040.patch new file mode 100644 index 0000000..7daa937 --- /dev/null +++ b/0001-Fix-regression-in-rubygem-unpacking-2040.patch @@ -0,0 +1,39 @@ +From cbcd9dd38dd1d0379e5d25ed3c1b1e96353e4014 Mon Sep 17 00:00:00 2001 +Message-Id: +From: Panu Matilainen +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 + diff --git a/rpm.spec b/rpm.spec index 4d9571d..39506ea 100644 --- a/rpm.spec +++ b/rpm.spec @@ -30,7 +30,7 @@ %global rpmver 4.18.0 %global snapver alpha1 -%global baserelease 5 +%global baserelease 6 %global sover 9 %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 Patch102: 0001-Fix-regressions-on-dynamic-buildrequires-cli-switche.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 Patch906: rpm-4.7.1-geode-i686.patch @@ -614,6 +615,9 @@ fi %doc docs/librpm/html/* %changelog +* Thu Apr 28 2022 Panu Matilainen - 4.18.0-0.alpha1.6 +- Fix rubygem unpack regression, causing rubygem builds to fail + * Wed Apr 27 2022 Panu Matilainen - 4.18.0-0.alpha1.5 - Fix verbose source uncompress regression (#2079127)