diff --git a/SOURCES/BZ-1826299-spectool-url-ignore-query.patch b/SOURCES/BZ-1826299-spectool-url-ignore-query.patch new file mode 100644 index 0000000..49ff260 --- /dev/null +++ b/SOURCES/BZ-1826299-spectool-url-ignore-query.patch @@ -0,0 +1,34 @@ +commit 26a8abc746fba9c0b32eb899b96c92841a37855a +Author: Michal Domonkos +Date: Thu Mar 26 17:00:46 2020 +0100 + + spectool: ignore query string in URL. BZ 1337544 + + When constructing the target filename from the given Source or Patch URL + (sub retrieve), do not include the query string (if present). + + Example: + * Before: http://some.url/foo.tgz?arg=123 => ./foo.tgz?arg=123 + * After: http://some.url/foo.tgz?arg=123 => ./foo.tgz + + Regex explanation: + * 1st group: ([^\/]+?) + * Lazily matches one or more characters that are not a forward slash + * 2nd group: (?:\?.*)?$ + * Matches a query string (if any) starting with a question mark, + followed by zero or more characters until the end of string, + without creating a capturing group (the leading ?:) + +diff --git a/spectool.in b/spectool.in +index 6f7499c..0ebf401 100644 +--- a/spectool.in ++++ b/spectool.in +@@ -198,7 +198,7 @@ sub retrievable { + sub retrieve { + my ($where, $url) = @_; + if (retrievable ($url)) { +- my $path = File::Spec->catfile($where, $url =~ m|([^/]+)$|); ++ my $path = File::Spec->catfile($where, $url =~ m|([^\/]+?)(?:\?.*)?$|); + print "Getting $url to $path\n"; + if (-e $path) { + if ($force) { diff --git a/SOURCES/BZ-1851499-port-to-str-return-values.patch b/SOURCES/BZ-1851499-port-to-str-return-values.patch new file mode 100644 index 0000000..c2b1adc --- /dev/null +++ b/SOURCES/BZ-1851499-port-to-str-return-values.patch @@ -0,0 +1,28 @@ +diff -up rpmdevtools-8.10/rpmdev-checksig.orig rpmdevtools-8.10/rpmdev-checksig +--- rpmdevtools-8.10/rpmdev-checksig.orig 2020-06-29 10:29:43.936758775 +0200 ++++ rpmdevtools-8.10/rpmdev-checksig 2020-06-29 10:29:55.540983848 +0200 +@@ -44,8 +44,8 @@ def lookupKeyID(ts, keyid): + mi.pattern('version', rpm.RPMMIRE_STRCMP, keyid) + for hdr in mi: + sum = hdr['summary'] +- mo = re.search(b'\<.*\>', sum) +- email = mo.group().decode(errors='replace') ++ mo = re.search('\<.*\>', sum) ++ email = mo.group() + return email + + +diff -up rpmdevtools-8.10/rpmdev-rmdevelrpms.py.orig rpmdevtools-8.10/rpmdev-rmdevelrpms.py +--- rpmdevtools-8.10/rpmdev-rmdevelrpms.py.orig 2020-06-29 10:28:59.503896990 +0200 ++++ rpmdevtools-8.10/rpmdev-rmdevelrpms.py 2020-06-29 10:29:09.897098576 +0200 +@@ -42,8 +42,8 @@ dev_re = re.compile("-(?:de(?:buginfo|ve + test_re = re.compile("^perl-(?:Devel|ExtUtils|Test)-") + lib_re1 = re.compile("^lib.+") + lib_re2 = re.compile("-libs?$") +-a_re = re.compile(b"\\w\\.a$") +-so_re = re.compile(b"\\w\\.so(?:\\.\\d+)*$") ++a_re = re.compile("\\w\\.a$") ++so_re = re.compile("\\w\\.so(?:\\.\\d+)*$") + comp_re = re.compile("^compat-gcc") + # required by Ant, which is required by Eclipse... + jdev_re = re.compile("^java-.+-gcj-compat-devel$") diff --git a/SPECS/rpmdevtools.spec b/SPECS/rpmdevtools.spec index f009c2a..ff7a31c 100644 --- a/SPECS/rpmdevtools.spec +++ b/SPECS/rpmdevtools.spec @@ -8,7 +8,7 @@ Name: rpmdevtools Version: 8.10 -Release: 7%{?dist} +Release: 8%{?dist} Summary: RPM Development Tools # rpmdev-setuptree is GPLv2, everything else GPLv2+ @@ -17,6 +17,8 @@ URL: https://pagure.io/rpmdevtools Source0: https://releases.pagure.org/rpmdevtools/%{name}-%{version}.tar.xz Patch0: rpmdevtools-8.10-no_qa_robot.patch +Patch1: BZ-1826299-spectool-url-ignore-query.patch +Patch2: BZ-1851499-port-to-str-return-values.patch BuildArch: noarch # help2man, pod2man, *python for creating man pages BuildRequires: help2man @@ -82,6 +84,8 @@ rpmdev-bumpspec Bump revision in specfile %setup -q %if ! 0%{?fedora} %patch0 -p1 -b .no_qa_robot +%patch1 -p1 +%patch2 -p1 %endif %if %{with python3} grep -lF "%{_bindir}/python " * \ @@ -130,6 +134,10 @@ done %changelog +* Mon Jun 29 2020 Michal Domonkos - 8.10-8 +- spectool: ignore query string in URL (RHBZ#1826299) +- Fix TypeError in rpmdev-rmdevelrpms and rpmdev-checksig (RHBZ#1851499) + * Mon Aug 13 2018 Thomas Woerner - 8.10-7 - removed fakeroot requirement and all qa_robot scripts (RHBZ#1615605) - Fixed missing build requires for python3-devel