diff --git a/pungi/gather.py b/pungi/gather.py index 03a2cc33..b08c59d9 100644 --- a/pungi/gather.py +++ b/pungi/gather.py @@ -1162,8 +1162,10 @@ class Pungi(PungiBase): if po.sourcerpm not in self.sourcerpm_arch_map: # TODO: print a warning / throw an error continue - if not (set(self.compatible_arches[po.arch]) & set(self.sourcerpm_arch_map[po.sourcerpm]) - set(["noarch"])): - # skip all incompatible arches + if po.arch != 'noarch' and not (set(self.compatible_arches[po.arch]) & + set(self.sourcerpm_arch_map[po.sourcerpm]) - + set(["noarch"])): + # skip all incompatible arches unless it's a noarch debuginfo # this pulls i386 debuginfo for a i686 package for example continue msg = 'Added debuginfo %s.%s (repo: %s)' % (po.name, po.arch, po.repoid) diff --git a/tests/data/specs/dummy-mingw-qt5-qtbase.spec b/tests/data/specs/dummy-mingw-qt5-qtbase.spec new file mode 100644 index 00000000..efdfc884 --- /dev/null +++ b/tests/data/specs/dummy-mingw-qt5-qtbase.spec @@ -0,0 +1,47 @@ +Name: dummy-mingw-qt5-qtbase +Version: 5.6.0 +Release: 1 +License: LGPLv2 +Summary: A dummy mingw qt5 qtbase package + +%description +A dummy package with noarch debuginfo + +%package -n dummy-mingw32-qt5-qtbase +Summary: A dummy mingw32-qt5-qtbase package +BuildArch: noarch + +%description -n dummy-mingw32-qt5-qtbase +A dummy 32bit mingw-qt5-qtbase package + +%package -n dummy-mingw32-qt5-qtbase-debuginfo +Summary: A dummy mingw32-qt5-qtbase package debuginfo +BuildArch: noarch + +%description -n dummy-mingw32-qt5-qtbase-debuginfo +A dummy 32bit mingw-qt5-qtbase package debuginfo + +#%prep +#%setup -q + + +%build +echo OK + + +%install +rm -rf $RPM_BUILD_ROOT +mkdir $RPM_BUILD_ROOT + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files -n dummy-mingw32-qt5-qtbase +%files -n dummy-mingw32-qt5-qtbase-debuginfo + + +%changelog +* Mon Nov 7 2016 Lubomír Sedlář - 5.6.0-1 +- First release diff --git a/tests/fixtures/repos/repo/repodata/05ecf05b96e9d055dc9e3df028b1af2cf6661af7bb082278d96eebe4bf0b9012-filelists.xml.gz b/tests/fixtures/repos/repo/repodata/05ecf05b96e9d055dc9e3df028b1af2cf6661af7bb082278d96eebe4bf0b9012-filelists.xml.gz deleted file mode 100644 index 29800d97..00000000 Binary files a/tests/fixtures/repos/repo/repodata/05ecf05b96e9d055dc9e3df028b1af2cf6661af7bb082278d96eebe4bf0b9012-filelists.xml.gz and /dev/null differ diff --git a/tests/fixtures/repos/repo/repodata/0dff37e23a0af5dc33002460679b56b3b6af6ec9a36981c8377b44223724e549-primary.sqlite.bz2 b/tests/fixtures/repos/repo/repodata/0dff37e23a0af5dc33002460679b56b3b6af6ec9a36981c8377b44223724e549-primary.sqlite.bz2 new file mode 100644 index 00000000..401ab3c0 Binary files /dev/null and b/tests/fixtures/repos/repo/repodata/0dff37e23a0af5dc33002460679b56b3b6af6ec9a36981c8377b44223724e549-primary.sqlite.bz2 differ diff --git a/tests/fixtures/repos/repo/repodata/129bcb220b766abd0d38b33f919af26b017c6ae086cf087ca00d183d97d57a06-other.sqlite.bz2 b/tests/fixtures/repos/repo/repodata/129bcb220b766abd0d38b33f919af26b017c6ae086cf087ca00d183d97d57a06-other.sqlite.bz2 deleted file mode 100644 index 0f5a3789..00000000 Binary files a/tests/fixtures/repos/repo/repodata/129bcb220b766abd0d38b33f919af26b017c6ae086cf087ca00d183d97d57a06-other.sqlite.bz2 and /dev/null differ diff --git a/tests/fixtures/repos/repo/repodata/4305042fb21c392795638a1c79ec4a83d00b9dbef8cd79b06a4c4f1cd2c47235-filelists.xml.gz b/tests/fixtures/repos/repo/repodata/4305042fb21c392795638a1c79ec4a83d00b9dbef8cd79b06a4c4f1cd2c47235-filelists.xml.gz new file mode 100644 index 00000000..ab7c8292 Binary files /dev/null and b/tests/fixtures/repos/repo/repodata/4305042fb21c392795638a1c79ec4a83d00b9dbef8cd79b06a4c4f1cd2c47235-filelists.xml.gz differ diff --git a/tests/fixtures/repos/repo/repodata/443dade43e632f2bbb768b1768cb090175429b5e70823525c3a3f4d45b7984ed-primary.xml.gz b/tests/fixtures/repos/repo/repodata/443dade43e632f2bbb768b1768cb090175429b5e70823525c3a3f4d45b7984ed-primary.xml.gz deleted file mode 100644 index 64d5e9d9..00000000 Binary files a/tests/fixtures/repos/repo/repodata/443dade43e632f2bbb768b1768cb090175429b5e70823525c3a3f4d45b7984ed-primary.xml.gz and /dev/null differ diff --git a/tests/fixtures/repos/repo/repodata/74a554f4a2c7392d9ef0cf6a07652d7a198a104a202584e71f57bc247a32f41b-other.xml.gz b/tests/fixtures/repos/repo/repodata/74a554f4a2c7392d9ef0cf6a07652d7a198a104a202584e71f57bc247a32f41b-other.xml.gz deleted file mode 100644 index 0565771f..00000000 Binary files a/tests/fixtures/repos/repo/repodata/74a554f4a2c7392d9ef0cf6a07652d7a198a104a202584e71f57bc247a32f41b-other.xml.gz and /dev/null differ diff --git a/tests/fixtures/repos/repo/repodata/76ebb27d2d8e584aee9ade778d0f4908a9675e15bcb61e12dc687b6a98c9a20c-other.xml.gz b/tests/fixtures/repos/repo/repodata/76ebb27d2d8e584aee9ade778d0f4908a9675e15bcb61e12dc687b6a98c9a20c-other.xml.gz new file mode 100644 index 00000000..1efea03e Binary files /dev/null and b/tests/fixtures/repos/repo/repodata/76ebb27d2d8e584aee9ade778d0f4908a9675e15bcb61e12dc687b6a98c9a20c-other.xml.gz differ diff --git a/tests/fixtures/repos/repo/repodata/9249118941570779bf043a7a393f0308f891ac1d7fdd2dfe006d3caf69d26a6f-primary.sqlite.bz2 b/tests/fixtures/repos/repo/repodata/9249118941570779bf043a7a393f0308f891ac1d7fdd2dfe006d3caf69d26a6f-primary.sqlite.bz2 deleted file mode 100644 index aafae7a6..00000000 Binary files a/tests/fixtures/repos/repo/repodata/9249118941570779bf043a7a393f0308f891ac1d7fdd2dfe006d3caf69d26a6f-primary.sqlite.bz2 and /dev/null differ diff --git a/tests/fixtures/repos/repo/repodata/94431f15fa198cae4d31bf81c9714060e413c909b95d19ff0f9e00750b373b77-primary.xml.gz b/tests/fixtures/repos/repo/repodata/94431f15fa198cae4d31bf81c9714060e413c909b95d19ff0f9e00750b373b77-primary.xml.gz new file mode 100644 index 00000000..dd603c05 Binary files /dev/null and b/tests/fixtures/repos/repo/repodata/94431f15fa198cae4d31bf81c9714060e413c909b95d19ff0f9e00750b373b77-primary.xml.gz differ diff --git a/tests/fixtures/repos/repo/repodata/a5891b48313e9cd503e94e48c93a08b5160ce04f4fde2d1e32f21ef69f550141-filelists.sqlite.bz2 b/tests/fixtures/repos/repo/repodata/a5891b48313e9cd503e94e48c93a08b5160ce04f4fde2d1e32f21ef69f550141-filelists.sqlite.bz2 deleted file mode 100644 index 6005bcc1..00000000 Binary files a/tests/fixtures/repos/repo/repodata/a5891b48313e9cd503e94e48c93a08b5160ce04f4fde2d1e32f21ef69f550141-filelists.sqlite.bz2 and /dev/null differ diff --git a/tests/fixtures/repos/repo/repodata/fa89c463e1653f2544468cec48512d57501b9a72c129b9faed2f353cf2e82a3b-filelists.sqlite.bz2 b/tests/fixtures/repos/repo/repodata/fa89c463e1653f2544468cec48512d57501b9a72c129b9faed2f353cf2e82a3b-filelists.sqlite.bz2 new file mode 100644 index 00000000..a0c3f0a3 Binary files /dev/null and b/tests/fixtures/repos/repo/repodata/fa89c463e1653f2544468cec48512d57501b9a72c129b9faed2f353cf2e82a3b-filelists.sqlite.bz2 differ diff --git a/tests/fixtures/repos/repo/repodata/fc348dcd0e073c1ff457bd72617a1ef8274a2b9b74a82167e299af57525223e7-other.sqlite.bz2 b/tests/fixtures/repos/repo/repodata/fc348dcd0e073c1ff457bd72617a1ef8274a2b9b74a82167e299af57525223e7-other.sqlite.bz2 new file mode 100644 index 00000000..d5ffcccc Binary files /dev/null and b/tests/fixtures/repos/repo/repodata/fc348dcd0e073c1ff457bd72617a1ef8274a2b9b74a82167e299af57525223e7-other.sqlite.bz2 differ diff --git a/tests/fixtures/repos/repo/repodata/repomd.xml b/tests/fixtures/repos/repo/repodata/repomd.xml index 43ef3093..1f2ef0cd 100644 --- a/tests/fixtures/repos/repo/repodata/repomd.xml +++ b/tests/fixtures/repos/repo/repodata/repomd.xml @@ -1,68 +1,68 @@ - 1478525452 + 1478526049 - 443dade43e632f2bbb768b1768cb090175429b5e70823525c3a3f4d45b7984ed - e60486cc17a922a5cfa3b0eeb6b02176d046bb81d4477806ccf76e49f2f619dd - - 1478525452 - 32219 - 442634 + 94431f15fa198cae4d31bf81c9714060e413c909b95d19ff0f9e00750b373b77 + 6f364ce3b49fbed06d4d4cc001680b14f4a7c43b9e105a82a3e77c9b3af95389 + + 1478526049 + 32414 + 445535 - 05ecf05b96e9d055dc9e3df028b1af2cf6661af7bb082278d96eebe4bf0b9012 - 2df95e0dc72d04e62064d15d3b95d3aac7c4f1733ebb67c16beab89345808ceb - - 1478525452 - 19701 - 73844 + 4305042fb21c392795638a1c79ec4a83d00b9dbef8cd79b06a4c4f1cd2c47235 + 7c5c4df0b7d944e5d9cff8d8297d132f111e782710d6a1d99b33389f664e52b0 + + 1478526049 + 19949 + 74441 - 74a554f4a2c7392d9ef0cf6a07652d7a198a104a202584e71f57bc247a32f41b - 56bb0c634647446b741246930d55542b6ca50084008678ab441d5f4960d1eaea - - 1478525452 - 19712 - 117697 + 76ebb27d2d8e584aee9ade778d0f4908a9675e15bcb61e12dc687b6a98c9a20c + 5aa769f272cdb4cdccc13f9e1dfa74f6b2551dd25589b8fed9872c72c1bb3fcb + + 1478526049 + 19950 + 118659 - 9249118941570779bf043a7a393f0308f891ac1d7fdd2dfe006d3caf69d26a6f - c0ecdec1aeac2c4e1f32f97c04c703a438e139f4d9d9631a95e3fca5fec61e5c - - 1478525452 - 57571 + 0dff37e23a0af5dc33002460679b56b3b6af6ec9a36981c8377b44223724e549 + 4e7b4ec0f5d7814815f340866726e08c3fcfd14d0ff3d72bac92b6d416e8a0a3 + + 1478526049 + 57779 368640 10 - a5891b48313e9cd503e94e48c93a08b5160ce04f4fde2d1e32f21ef69f550141 - b8398ea076836772a553717e9abfcd6fec1cb7d69ad32c09094b4abf1345aa88 - - 1478525452 - 25706 + fa89c463e1653f2544468cec48512d57501b9a72c129b9faed2f353cf2e82a3b + ae73ede0c0fedc9925a1075c4d777d80613011e29066f93675a67c2d64003d4c + + 1478526049 + 25770 94208 10 - 129bcb220b766abd0d38b33f919af26b017c6ae086cf087ca00d183d97d57a06 - 41a274ac1928cbd1b9126972b154826842af8781a6037fade0ca1bc57443d5d2 - - 1478525452 - 29618 + fc348dcd0e073c1ff457bd72617a1ef8274a2b9b74a82167e299af57525223e7 + a7163e921e14be31ac532c3130c558eb3a12b282fc7b7c08dbf8d50c19f85dc0 + + 1478526049 + 29797 122880 10 cd2e022a3f1163bed5dd38328a2c0bd7a8db1589a9e67b25c6341941914e1077 - 1478525452 + 1478526049 5178 2f8cc4b5cf852eca9838393db012ad4e494ccea437ffbbbf95e110a388e15f35 cd2e022a3f1163bed5dd38328a2c0bd7a8db1589a9e67b25c6341941914e1077 - 1478525452 + 1478526049 1244 5178 diff --git a/tests/test_pungi.py b/tests/test_pungi.py index a519ddf0..60f2fc3c 100644 --- a/tests/test_pungi.py +++ b/tests/test_pungi.py @@ -1364,6 +1364,22 @@ class TestPungi(unittest.TestCase): "dummy-glibc-debuginfo-common-2.14-5.x86_64.rpm", ]) + def test_noarch_debuginfo(self): + packages = [ + "dummy-mingw32-qt5-qtbase", + ] + pkg_map = self.go(packages, None) + + self.assertItemsEqual(pkg_map["rpm"], [ + "dummy-mingw32-qt5-qtbase-5.6.0-1.noarch.rpm", + ]) + self.assertItemsEqual(pkg_map["srpm"], [ + "dummy-mingw-qt5-qtbase-5.6.0-1.src.rpm", + ]) + self.assertItemsEqual(pkg_map["debuginfo"], [ + "dummy-mingw32-qt5-qtbase-debuginfo-5.6.0-1.noarch.rpm", + ]) + if __name__ == "__main__": unittest.main()