diff --git a/0001-checks-Use-GitResolver-for-scm-dicts.patch b/0001-checks-Use-GitResolver-for-scm-dicts.patch new file mode 100644 index 00000000..43935b23 --- /dev/null +++ b/0001-checks-Use-GitResolver-for-scm-dicts.patch @@ -0,0 +1,31 @@ +From 258fec5e76f3f4a3b9f40bc79c2f92dad1378b31 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= +Date: Tue, 5 Mar 2019 14:45:21 +0100 +Subject: [PATCH] checks: Use GitResolver for scm dicts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Otherwise the offline flag is not honored correctly. + +Signed-off-by: Lubomír Sedlář +--- + pungi/checks.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pungi/checks.py b/pungi/checks.py +index a38db3c3..d7be16d2 100644 +--- a/pungi/checks.py ++++ b/pungi/checks.py +@@ -304,7 +304,7 @@ def _extend_with_default_and_alias(validator_class, offline=False): + # and there's a repo URL specified + and "repo" in instance[property] + ): +- instance[property]["branch"] = util.resolve_git_ref( ++ instance[property]["branch"] = resolver( + instance[property]["repo"], instance[property].get("branch", "HEAD") + ) + +-- +2.17.2 + diff --git a/0001-image-build-Fix-typo-in-file-extension-for-vmdk-imag.patch b/0001-image-build-Fix-typo-in-file-extension-for-vmdk-imag.patch deleted file mode 100644 index 7ead7699..00000000 --- a/0001-image-build-Fix-typo-in-file-extension-for-vmdk-imag.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 42a8965e87c5bc8e00cfe52db529080fcafb1135 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= -Date: Mon, 25 Feb 2019 16:06:59 +0100 -Subject: [PATCH] image-build: Fix typo in file extension for vmdk image -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Lubomír Sedlář ---- - pungi/phases/image_build.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pungi/phases/image_build.py b/pungi/phases/image_build.py -index 3fce8871..cca9eeb4 100644 ---- a/pungi/phases/image_build.py -+++ b/pungi/phases/image_build.py -@@ -33,7 +33,7 @@ EXTENSIONS = { - 'vagrant-virtualbox': ['vagrant-virtualbox.box'], - 'vagrant-vmware-fusion': ['vagrant-vmware-fusion.box'], - 'vdi': ['vdi'], -- 'vmdk': ['vdmk'], -+ 'vmdk': ['vmdk'], - 'vpc': ['vhd'], - 'vsphere-ova': ['vsphere.ova'], - } --- -2.17.2 - diff --git a/0001-update-iso-creation-for-ppc64le.patch b/0001-update-iso-creation-for-ppc64le.patch deleted file mode 100644 index e9800cc4..00000000 --- a/0001-update-iso-creation-for-ppc64le.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 071d11a8836c7da8730cdfd54531121a75bb4dcf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dan=20Hor=C3=A1k?= -Date: Wed, 20 Feb 2019 11:47:33 +0100 -Subject: [PATCH 1/2] update iso creation for ppc64le -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Don't produce ISO image with Apple/HFS compatibility stuff on ppc64le. - -Signed-off-by: Dan Horák ---- - pungi/wrappers/iso.py | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/pungi/wrappers/iso.py b/pungi/wrappers/iso.py -index 0b8afa2a..f059ccd9 100644 ---- a/pungi/wrappers/iso.py -+++ b/pungi/wrappers/iso.py -@@ -63,7 +63,7 @@ def get_boot_options(arch, createfrom, efi=True): - ] - return result - -- if arch in ("ppc", "ppc64", "ppc64le"): -+ if arch in ("ppc", "ppc64"): - result = [ - '-part', - '-hfs', -@@ -78,6 +78,15 @@ def get_boot_options(arch, createfrom, efi=True): - ] - return result - -+ if arch == "ppc64le": -+ result = [ -+ '-r', -+ '-l', -+ '-sysid', 'PPC', -+ '-chrp-boot', -+ ] -+ return result -+ - if arch == "sparc": - result = [ - '-G', '/boot/isofs.b', --- -2.17.2 - diff --git a/0002-Make-the-Apple-HFS-compatibility-configurable.patch b/0002-Make-the-Apple-HFS-compatibility-configurable.patch deleted file mode 100644 index 81115565..00000000 --- a/0002-Make-the-Apple-HFS-compatibility-configurable.patch +++ /dev/null @@ -1,203 +0,0 @@ -From f33973ee65812390762e106f8715508758849f5f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= -Date: Thu, 21 Feb 2019 13:56:58 +0100 -Subject: [PATCH 2/2] Make the Apple/HFS compatibility configurable -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The default is the original behaviour. On F30+ a new option should be -added to config to make it work. - -Over time as users move to this option (which requires a new enough -version of lorax), the default should be switched and then the option -removed. - -Resolves: https://pagure.io/pungi/issue/1126 -Merges: https://pagure.io/pungi/pull-request/1128 -Signed-off-by: Lubomír Sedlář ---- - doc/configuration.rst | 5 +++++ - pungi/checks.py | 1 + - pungi/createiso.py | 8 ++++++-- - pungi/phases/createiso.py | 1 + - pungi/phases/extra_isos.py | 1 + - pungi/wrappers/iso.py | 6 +++--- - tests/test_createiso_phase.py | 17 ++++++++++++----- - 7 files changed, 29 insertions(+), 10 deletions(-) - -diff --git a/doc/configuration.rst b/doc/configuration.rst -index fa9b3b2a..7aae3689 100644 ---- a/doc/configuration.rst -+++ b/doc/configuration.rst -@@ -1036,6 +1036,11 @@ Options - (*int|str*) -- how much free space should be left on each disk. The format - is the same as for ``iso_size`` option. - -+**iso_hfs_ppc64le_compatible** = True -+ (*bool*) -- when set to False, the Apple/HFS compatibility is turned off -+ for ppc64le ISOs. This option only makes sense for bootable products, and -+ affects images produced in *createiso* and *extra_isos* phases. -+ - .. note:: - - Source architecture needs to be listed explicitly. -diff --git a/pungi/checks.py b/pungi/checks.py -index 0f2ab356..8ac5b882 100644 ---- a/pungi/checks.py -+++ b/pungi/checks.py -@@ -735,6 +735,7 @@ def make_schema(): - "type": "boolean", - "default": False, - }, -+ "iso_hfs_ppc64le_compatible": {"type": "boolean", "default": True}, - "multilib": _variant_arch_mapping({ - "$ref": "#/definitions/list_of_strings" - }), -diff --git a/pungi/createiso.py b/pungi/createiso.py -index d079b778..2e0ff706 100644 ---- a/pungi/createiso.py -+++ b/pungi/createiso.py -@@ -13,7 +13,8 @@ from .wrappers.jigdo import JigdoWrapper - - CreateIsoOpts = namedtuple('CreateIsoOpts', - ['buildinstall_method', 'arch', 'output_dir', 'jigdo_dir', -- 'iso_name', 'volid', 'graft_points', 'supported', 'os_tree']) -+ 'iso_name', 'volid', 'graft_points', 'supported', 'os_tree', -+ "hfs_compat"]) - CreateIsoOpts.__new__.__defaults__ = (None,) * len(CreateIsoOpts._fields) - - -@@ -48,7 +49,10 @@ def make_image(f, opts): - if opts.buildinstall_method == 'lorax': - emit(f, FIND_TEMPLATE_SNIPPET) - mkisofs_kwargs["boot_args"] = iso.get_boot_options( -- opts.arch, os.path.join('$TEMPLATE', 'config_files/ppc')) -+ opts.arch, -+ os.path.join("$TEMPLATE", "config_files/ppc"), -+ hfs_compat=opts.hfs_compat, -+ ) - elif opts.buildinstall_method == 'buildinstall': - mkisofs_kwargs["boot_args"] = iso.get_boot_options( - opts.arch, "/usr/lib/anaconda-runtime/boot") -diff --git a/pungi/phases/createiso.py b/pungi/phases/createiso.py -index 060cc0f7..337592be 100644 ---- a/pungi/phases/createiso.py -+++ b/pungi/phases/createiso.py -@@ -140,6 +140,7 @@ class CreateisoPhase(PhaseLoggerMixin, PhaseBase): - graft_points=graft_points, - arch=arch, - supported=self.compose.supported, -+ hfs_compat=self.compose.conf["iso_hfs_ppc64le_compatible"], - ) - - if bootable: -diff --git a/pungi/phases/extra_isos.py b/pungi/phases/extra_isos.py -index 6c4b5e0f..a960f28c 100644 ---- a/pungi/phases/extra_isos.py -+++ b/pungi/phases/extra_isos.py -@@ -105,6 +105,7 @@ class ExtraIsosThread(WorkerThread): - graft_points=graft_points, - arch=arch, - supported=compose.supported, -+ hfs_compat=compose.conf["iso_hfs_ppc64le_compatible"], - ) - if compose.conf['create_jigdo']: - jigdo_dir = compose.paths.compose.jigdo_dir(arch, variant) -diff --git a/pungi/wrappers/iso.py b/pungi/wrappers/iso.py -index f059ccd9..d33e8cc6 100644 ---- a/pungi/wrappers/iso.py -+++ b/pungi/wrappers/iso.py -@@ -23,7 +23,7 @@ from kobo.shortcuts import force_list, relative_path, run - from pungi import util - - --def get_boot_options(arch, createfrom, efi=True): -+def get_boot_options(arch, createfrom, efi=True, hfs_compat=True): - """Checks to see what we need as the -b option for mkisofs""" - - if arch in ("arm", "armhfp"): -@@ -63,7 +63,7 @@ def get_boot_options(arch, createfrom, efi=True): - ] - return result - -- if arch in ("ppc", "ppc64"): -+ if arch in ("ppc", "ppc64") or (arch == "ppc64le" and hfs_compat): - result = [ - '-part', - '-hfs', -@@ -78,7 +78,7 @@ def get_boot_options(arch, createfrom, efi=True): - ] - return result - -- if arch == "ppc64le": -+ if arch == "ppc64le" and not hfs_compat: - result = [ - '-r', - '-l', -diff --git a/tests/test_createiso_phase.py b/tests/test_createiso_phase.py -index 3afd93be..d89a1af8 100644 ---- a/tests/test_createiso_phase.py -+++ b/tests/test_createiso_phase.py -@@ -109,7 +109,9 @@ class CreateisoPhaseTest(helpers.PungiTestCase): - arch='x86_64', - supported=True, - jigdo_dir='%s/compose/Server/x86_64/jigdo' % self.topdir, -- os_tree='%s/compose/Server/x86_64/os' % self.topdir)]) -+ os_tree='%s/compose/Server/x86_64/os' % self.topdir, -+ hfs_compat=True, -+ )]) - self.assertItemsEqual( - pool.queue_put.call_args_list, - [mock.call(( -@@ -178,7 +180,8 @@ class CreateisoPhaseTest(helpers.PungiTestCase): - buildinstall_method='lorax', - supported=True, - jigdo_dir='%s/compose/Server/x86_64/jigdo' % self.topdir, -- os_tree='%s/compose/Server/x86_64/os' % self.topdir), -+ os_tree='%s/compose/Server/x86_64/os' % self.topdir, -+ hfs_compat=True), - CreateIsoOpts(output_dir='%s/compose/Server/source/iso' % self.topdir, - iso_name='image-name', - volid='test-1.0 Server.src', -@@ -186,7 +189,8 @@ class CreateisoPhaseTest(helpers.PungiTestCase): - arch='src', - supported=True, - jigdo_dir='%s/compose/Server/source/jigdo' % self.topdir, -- os_tree='%s/compose/Server/source/tree' % self.topdir)]) -+ os_tree='%s/compose/Server/source/tree' % self.topdir, -+ hfs_compat=True)]) - self.assertItemsEqual( - pool.queue_put.call_args_list, - [mock.call((compose, -@@ -258,7 +262,8 @@ class CreateisoPhaseTest(helpers.PungiTestCase): - arch='src', - supported=True, - jigdo_dir='%s/compose/Server/source/jigdo' % self.topdir, -- os_tree='%s/compose/Server/source/tree' % self.topdir)]) -+ os_tree='%s/compose/Server/source/tree' % self.topdir, -+ hfs_compat=True)]) - self.assertItemsEqual( - pool.queue_put.call_args_list, - [mock.call((compose, -@@ -287,6 +292,7 @@ class CreateisoPhaseTest(helpers.PungiTestCase): - 'bootable': True, - 'createiso_skip': [], - 'buildinstall_skip': [('Server', {'*': True})], -+ "iso_hfs_ppc64le_compatible": False, - }) - helpers.touch(os.path.join( - compose.paths.compose.os_tree('x86_64', compose.variants['Server']), -@@ -321,7 +327,8 @@ class CreateisoPhaseTest(helpers.PungiTestCase): - arch='x86_64', - supported=True, - jigdo_dir='%s/compose/Server/x86_64/jigdo' % self.topdir, -- os_tree='%s/compose/Server/x86_64/os' % self.topdir)]) -+ os_tree='%s/compose/Server/x86_64/os' % self.topdir, -+ hfs_compat=False)]) - self.assertItemsEqual( - pool.queue_put.call_args_list, - [mock.call((compose, --- -2.17.2 - diff --git a/pungi.spec b/pungi.spec index 48debce6..14349913 100644 --- a/pungi.spec +++ b/pungi.spec @@ -1,16 +1,14 @@ %{?python_enable_dependency_generator} Name: pungi -Version: 4.1.33 -Release: 6%{?dist} +Version: 4.1.34 +Release: 1%{?dist} Summary: Distribution compose tool License: GPLv2 URL: https://pagure.io/pungi Source0: https://pagure.io/releases/%{name}/%{name}-%{version}.tar.bz2 -Patch0: 0001-update-iso-creation-for-ppc64le.patch -Patch1: 0002-Make-the-Apple-HFS-compatibility-configurable.patch -Patch2: 0001-image-build-Fix-typo-in-file-extension-for-vmdk-imag.patch +Patch0: 0001-checks-Use-GitResolver-for-scm-dicts.patch BuildRequires: python3-nose BuildRequires: python3-mock @@ -204,6 +202,23 @@ nosetests-3 --exe %{_bindir}/%{name}-wait-for-signed-ostree-handler %changelog +* Tue Mar 05 2019 Lubomír Sedlář - 4.1.34-1 +- config: Allow validating configuration in JSON (lsedlar) +- image-build: Accept formats in lists (lsedlar) +- image-build: Resolve git ref in ksurl (lsedlar) +- Resolve git branches in scm_dict (lsedlar) +- util: Refactor resolving git url (lsedlar) +- scm-wrapper: Refactor getting files from Git (lsedlar) +- osbs: Fix wrong message in logs (lsedlar) +- orchestrator: Log exception to log file (lsedlar) +- config-dump: Allow freezing koji event (lsedlar) +- Read koji event from config file (lsedlar) +- osbs: Accept local paths as repo URLs (lsedlar) +- image-build: Support repo/install_tree as path (lsedlar) +- osbs: Remove format requirement for registry (lsedlar) +- orchestrator: Use prefix for config substitutions (lsedlar) +- README: add link to documentation (kdreyer) + * Fri Mar 01 2019 Lubomír Sedlář - 4.1.33-6 - Update builddep on libmodulemd as well