Release 4.1.26
This commit is contained in:
parent
ad7a42e1cf
commit
900266f1e1
@ -1,21 +1,24 @@
|
||||
From 622ba38a84d3e748ee1fa8b278f22af74c8aa393 Mon Sep 17 00:00:00 2001
|
||||
From a6c0cf38c05e67e616a424dad16194d5de36134a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
|
||||
Date: Wed, 4 Jul 2018 09:16:51 +0200
|
||||
Subject: [PATCH] Skip tests involving lookaside with new DNF
|
||||
Subject: [PATCH] Fix tests for DNF 3
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
DNF 3 seems to work differently than previous versions in terms of
|
||||
handling lookaside. Disable the the tests for now.
|
||||
The configuration for modules has changed.
|
||||
|
||||
Lookaside handling has changed, and there are now test failures. This
|
||||
could be a bug in DNF, or maybe Pungi is not setting things up
|
||||
correctly. As a temporary workaround we can skip the tests.
|
||||
|
||||
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
|
||||
---
|
||||
tests/test_gather.py | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
tests/test_gather.py | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/test_gather.py b/tests/test_gather.py
|
||||
index 25dfc399..2ea3e324 100644
|
||||
index 25dfc399..8ccbf2f8 100644
|
||||
--- a/tests/test_gather.py
|
||||
+++ b/tests/test_gather.py
|
||||
@@ -22,6 +22,7 @@ os.environ['PATH'] = '%s:%s' % (BINDIR, os.environ['PATH'])
|
||||
@ -26,15 +29,19 @@ index 25dfc399..2ea3e324 100644
|
||||
from pungi.dnf_wrapper import DnfWrapper, Conf
|
||||
from pungi.gather_dnf import Gather, GatherOptions, PkgFlag
|
||||
HAS_DNF = True
|
||||
@@ -1810,7 +1811,6 @@ class DNFDepsolvingTestCase(DepsolvingBase, unittest.TestCase):
|
||||
@@ -1810,7 +1811,10 @@ class DNFDepsolvingTestCase(DepsolvingBase, unittest.TestCase):
|
||||
conf = Conf(base_arch)
|
||||
conf.persistdir = persistdir
|
||||
conf.cachedir = self.cachedir
|
||||
- conf.modulesdir = os.path.join(persistdir, 'modules.d')
|
||||
+ if int(dnf_version.split('.')[0]) < 3:
|
||||
+ conf.modulesdir = os.path.join(persistdir, 'modules.d')
|
||||
+ else:
|
||||
+ conf.modulesdir._set(os.path.join(persistdir, 'modules.d'))
|
||||
if exclude:
|
||||
conf.exclude = exclude
|
||||
dnf = DnfWrapper(conf)
|
||||
@@ -1888,6 +1888,7 @@ class DNFDepsolvingTestCase(DepsolvingBase, unittest.TestCase):
|
||||
@@ -1888,6 +1892,7 @@ class DNFDepsolvingTestCase(DepsolvingBase, unittest.TestCase):
|
||||
"dummy-glibc-debuginfo-common-2.14-5.x86_64.rpm",
|
||||
])
|
||||
|
||||
@ -42,7 +49,7 @@ index 25dfc399..2ea3e324 100644
|
||||
def test_firefox_selfhosting_with_krb5_lookaside(self):
|
||||
super(DNFDepsolvingTestCase, self).test_firefox_selfhosting_with_krb5_lookaside()
|
||||
self.assertFlags("dummy-krb5-devel-1.10-5.x86_64", [PkgFlag.lookaside])
|
||||
@@ -1910,3 +1911,7 @@ class DNFDepsolvingTestCase(DepsolvingBase, unittest.TestCase):
|
||||
@@ -1910,3 +1915,7 @@ class DNFDepsolvingTestCase(DepsolvingBase, unittest.TestCase):
|
||||
])
|
||||
self.assertItemsEqual(pkg_map["debuginfo"], [
|
||||
])
|
@ -1,7 +1,7 @@
|
||||
From c6bb04041867c242629c9becd83d47f2722b2432 Mon Sep 17 00:00:00 2001
|
||||
From 9dc20c455df71f95a7f131ac10b7013042c5f71d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
|
||||
Date: Wed, 11 Apr 2018 09:18:59 +0200
|
||||
Subject: [PATCH 1/6] Revert "Move ostree phase and pipelines for running
|
||||
Subject: [PATCH 1/3] Revert "Move ostree phase and pipelines for running
|
||||
phases"
|
||||
|
||||
This reverts commit 660c04368ba1abed310f121d01f0fa029eea5f11.
|
||||
@ -15,10 +15,10 @@ This reverts commit 660c04368ba1abed310f121d01f0fa029eea5f11.
|
||||
delete mode 100644 pungi/phases/weaver.py
|
||||
|
||||
diff --git a/bin/pungi-koji b/bin/pungi-koji
|
||||
index b3b49de5..e797ce86 100755
|
||||
index 42dcb424..f6971591 100755
|
||||
--- a/bin/pungi-koji
|
||||
+++ b/bin/pungi-koji
|
||||
@@ -365,27 +365,41 @@ def run_compose(compose, create_latest_link=True, latest_link_status=None):
|
||||
@@ -367,27 +367,41 @@ def run_compose(compose, create_latest_link=True, latest_link_status=None):
|
||||
# Store the password
|
||||
compose.conf["signing_key_password"] = signing_key_password
|
||||
|
||||
@ -71,7 +71,7 @@ index b3b49de5..e797ce86 100755
|
||||
|
||||
# write treeinfo before ISOs are created
|
||||
for variant in compose.get_variants():
|
||||
@@ -401,17 +415,12 @@ def run_compose(compose, create_latest_link=True, latest_link_status=None):
|
||||
@@ -403,17 +417,12 @@ def run_compose(compose, create_latest_link=True, latest_link_status=None):
|
||||
pungi.metadata.write_media_repo(compose, arch, variant, timestamp)
|
||||
|
||||
# Start all phases for image artifacts
|
||||
@ -95,7 +95,7 @@ index b3b49de5..e797ce86 100755
|
||||
|
||||
image_checksum_phase.start()
|
||||
image_checksum_phase.stop()
|
||||
@@ -420,6 +429,7 @@ def run_compose(compose, create_latest_link=True, latest_link_status=None):
|
||||
@@ -422,6 +431,7 @@ def run_compose(compose, create_latest_link=True, latest_link_status=None):
|
||||
compose.im.dump(compose.paths.compose.metadata("images.json"))
|
||||
osbs_phase.dump_metadata()
|
||||
|
||||
@ -615,5 +615,5 @@ index ba80afe3..a8b9469a 100644
|
||||
|
||||
if __name__ == "__main__":
|
||||
--
|
||||
2.14.3
|
||||
2.14.4
|
||||
|
||||
|
@ -1,21 +1,21 @@
|
||||
From 376f52f1c18e5c8500fa8afd9c91ba9a6e4c4ae0 Mon Sep 17 00:00:00 2001
|
||||
From 883a69645b92b243787312af232aeb804cf53292 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
|
||||
Date: Wed, 11 Apr 2018 09:19:53 +0200
|
||||
Subject: [PATCH 2/6] Revert "Other repo for OstreeInstaller"
|
||||
Subject: [PATCH 2/3] Revert "Other repo for OstreeInstaller"
|
||||
|
||||
This reverts commit 5c081cb545715c2a912ff50fa57554e89d905868.
|
||||
---
|
||||
pungi/checks.py | 3 ++-
|
||||
pungi/phases/ostree_installer.py | 11 ++------
|
||||
pungi/util.py | 21 +++++----------
|
||||
tests/test_ostree_installer_phase.py | 50 +++++++++++++-----------------------
|
||||
4 files changed, 28 insertions(+), 57 deletions(-)
|
||||
pungi/checks.py | 3 +-
|
||||
pungi/phases/ostree_installer.py | 18 ++----------
|
||||
pungi/util.py | 21 ++++----------
|
||||
tests/test_ostree_installer_phase.py | 54 +++++++++++++-----------------------
|
||||
4 files changed, 29 insertions(+), 67 deletions(-)
|
||||
|
||||
diff --git a/pungi/checks.py b/pungi/checks.py
|
||||
index 2ddd7164..03cab460 100644
|
||||
index 017fab23..61d42b89 100644
|
||||
--- a/pungi/checks.py
|
||||
+++ b/pungi/checks.py
|
||||
@@ -998,7 +998,7 @@ def make_schema():
|
||||
@@ -1009,7 +1009,7 @@ def make_schema():
|
||||
"tag_ref": {"type": "boolean"},
|
||||
"ostree_ref": {"type": "string"},
|
||||
},
|
||||
@ -24,7 +24,7 @@ index 2ddd7164..03cab460 100644
|
||||
"additionalProperties": False,
|
||||
}),
|
||||
]
|
||||
@@ -1019,6 +1019,7 @@ def make_schema():
|
||||
@@ -1030,6 +1030,7 @@ def make_schema():
|
||||
"template_repo": {"type": "string"},
|
||||
"template_branch": {"type": "string"},
|
||||
},
|
||||
@ -33,7 +33,7 @@ index 2ddd7164..03cab460 100644
|
||||
}),
|
||||
|
||||
diff --git a/pungi/phases/ostree_installer.py b/pungi/phases/ostree_installer.py
|
||||
index 2eac49f7..abcb1572 100644
|
||||
index 587ff2c5..861d9db1 100644
|
||||
--- a/pungi/phases/ostree_installer.py
|
||||
+++ b/pungi/phases/ostree_installer.py
|
||||
@@ -9,7 +9,7 @@ from kobo import shortcuts
|
||||
@ -45,27 +45,34 @@ index 2eac49f7..abcb1572 100644
|
||||
from ..wrappers import kojiwrapper, iso, lorax, scm
|
||||
|
||||
|
||||
@@ -62,14 +62,7 @@ class OstreeInstallerThread(WorkerThread):
|
||||
@@ -62,21 +62,7 @@ class OstreeInstallerThread(WorkerThread):
|
||||
self.pool.log_info('[BEGIN] %s' % msg)
|
||||
self.logdir = compose.paths.log.topdir('%s/%s/ostree_installer-%s' % (arch, variant, self.num))
|
||||
|
||||
- repo_baseurl = compose.paths.work.arch_repo('$basearch', create_dir=False)
|
||||
- comps_baseurl = compose.paths.work.comps_repo('$basearch', variant=variant, create_dir=False)
|
||||
- repos = get_repo_urls(None, # compose==None. Special value says that method should ignore deprecated variant-type repo
|
||||
- shortcuts.force_list(config['repo'])
|
||||
- + shortcuts.force_list(translate_path(compose, repo_baseurl))
|
||||
- + shortcuts.force_list(translate_path(compose, comps_baseurl)),
|
||||
- + shortcuts.force_list(translate_path(compose, repo_baseurl)),
|
||||
- arch=arch,
|
||||
- logger=self.pool)
|
||||
- if compose.has_comps:
|
||||
- repos.append(
|
||||
- translate_path(
|
||||
- compose,
|
||||
- compose.paths.work.comps_repo(
|
||||
- '$basearch', variant=variant, create_dir=False
|
||||
- ),
|
||||
- )
|
||||
- )
|
||||
+ repos = get_repo_urls(compose, shortcuts.force_list(config['repo']), arch=arch)
|
||||
repos = [url.replace('$arch', arch) for url in repos]
|
||||
output_dir = os.path.join(compose.paths.work.topdir(arch), variant.uid, 'ostree_installer')
|
||||
util.makedirs(os.path.dirname(output_dir))
|
||||
diff --git a/pungi/util.py b/pungi/util.py
|
||||
index ea0f6e48..3150e26c 100644
|
||||
index 78a9c9be..31e763b5 100644
|
||||
--- a/pungi/util.py
|
||||
+++ b/pungi/util.py
|
||||
@@ -686,8 +686,6 @@ def get_repo_url(compose, repo, arch='$basearch'):
|
||||
@@ -688,8 +688,6 @@ def get_repo_url(compose, repo, arch='$basearch'):
|
||||
Convert repo to repo URL.
|
||||
|
||||
@param compose - required for access to variants
|
||||
@ -74,7 +81,7 @@ index ea0f6e48..3150e26c 100644
|
||||
@param repo - string or a dict which at least contains 'baseurl' key
|
||||
@param arch - string to be used as arch in repo url
|
||||
"""
|
||||
@@ -698,17 +696,14 @@ def get_repo_url(compose, repo, arch='$basearch'):
|
||||
@@ -700,17 +698,14 @@ def get_repo_url(compose, repo, arch='$basearch'):
|
||||
raise RuntimeError('Baseurl is required in repo dict %s' % str(repo))
|
||||
if '://' not in repo:
|
||||
# this is a variant name
|
||||
@ -96,7 +103,7 @@ index ea0f6e48..3150e26c 100644
|
||||
"""
|
||||
Convert repos to a list of repo URLs.
|
||||
|
||||
@@ -719,11 +714,7 @@ def get_repo_urls(compose, repos, arch='$basearch', logger=None):
|
||||
@@ -721,11 +716,7 @@ def get_repo_urls(compose, repos, arch='$basearch', logger=None):
|
||||
urls = []
|
||||
for repo in repos:
|
||||
repo = get_repo_url(compose, repo, arch=arch)
|
||||
@ -109,7 +116,7 @@ index ea0f6e48..3150e26c 100644
|
||||
return urls
|
||||
|
||||
|
||||
@@ -781,7 +772,7 @@ def get_repo_dicts(repos, logger=None):
|
||||
@@ -783,7 +774,7 @@ def get_repo_dicts(repos, logger=None):
|
||||
repo_dict = get_repo_dict(repo)
|
||||
if repo_dict == {}:
|
||||
if logger:
|
||||
@ -119,7 +126,7 @@ index ea0f6e48..3150e26c 100644
|
||||
repo_dicts.append(repo_dict)
|
||||
return repo_dicts
|
||||
diff --git a/tests/test_ostree_installer_phase.py b/tests/test_ostree_installer_phase.py
|
||||
index ee3294e5..f44ca4ef 100644
|
||||
index 7569e348..25227689 100644
|
||||
--- a/tests/test_ostree_installer_phase.py
|
||||
+++ b/tests/test_ostree_installer_phase.py
|
||||
@@ -14,7 +14,6 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
@ -130,7 +137,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
|
||||
|
||||
LOG_PATH = 'logs/x86_64/Everything/ostree_installer-1'
|
||||
@@ -96,9 +95,6 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -98,9 +97,6 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
'koji_profile': 'koji',
|
||||
'runroot_tag': 'rrt',
|
||||
'image_volid_formats': ['{release_short}-{variant}-{arch}'],
|
||||
@ -140,7 +147,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
})
|
||||
|
||||
def assertImageAdded(self, compose, ImageCls, iso):
|
||||
@@ -125,7 +121,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -127,7 +123,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
]
|
||||
|
||||
for s in force_list(sources):
|
||||
@ -149,7 +156,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
|
||||
lorax_cmd.append('--variant=Everything')
|
||||
lorax_cmd.append('--nomacboot')
|
||||
@@ -179,7 +175,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -182,7 +178,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
self.compose.supported = False
|
||||
pool = mock.Mock()
|
||||
cfg = {
|
||||
@ -158,7 +165,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
'release': '20160321.n.0',
|
||||
}
|
||||
koji = KojiWrapper.return_value
|
||||
@@ -197,8 +193,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -200,8 +196,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
|
||||
|
||||
self.assertRunrootCall(koji,
|
||||
@ -168,7 +175,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
cfg['release'],
|
||||
extra=['--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)])
|
||||
self.assertIsoLinked(link, get_file_size, get_mtime, final_iso_path)
|
||||
@@ -233,12 +228,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -236,12 +231,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
|
||||
t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
|
||||
|
||||
@ -182,7 +189,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
extra=['--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)])
|
||||
self.assertIsoLinked(link, get_file_size, get_mtime, final_iso_path)
|
||||
self.assertImageAdded(self.compose, ImageCls, iso)
|
||||
@@ -257,7 +247,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -260,7 +250,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
cfg = {
|
||||
'release': '20160321.n.0',
|
||||
'repo': [
|
||||
@ -191,7 +198,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
'https://example.com/extra-repo1.repo',
|
||||
'https://example.com/extra-repo2.repo',
|
||||
],
|
||||
@@ -274,10 +264,9 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -277,10 +267,9 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
|
||||
|
||||
sources = [
|
||||
@ -204,7 +211,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
]
|
||||
|
||||
self.assertRunrootCall(koji, sources, cfg['release'], isfinal=True,
|
||||
@@ -296,8 +285,8 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -299,8 +288,8 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
cfg = {
|
||||
'release': '20160321.n.0',
|
||||
'repo': [
|
||||
@ -215,7 +222,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
'https://example.com/extra-repo1.repo',
|
||||
'https://example.com/extra-repo2.repo',
|
||||
],
|
||||
@@ -314,10 +303,10 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -317,10 +306,10 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
|
||||
|
||||
sources = [
|
||||
@ -229,7 +236,18 @@ index ee3294e5..f44ca4ef 100644
|
||||
]
|
||||
|
||||
self.assertRunrootCall(koji, sources, cfg['release'], isfinal=True,
|
||||
@@ -368,7 +357,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -353,9 +342,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
|
||||
t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
|
||||
|
||||
- sources = [
|
||||
- 'http://example.com/work/$basearch/repo',
|
||||
- ]
|
||||
+ sources = []
|
||||
|
||||
self.assertRunrootCall(koji, sources, cfg['release'], isfinal=True,
|
||||
extra=['--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)])
|
||||
@@ -405,7 +392,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
get_dir_from_scm):
|
||||
pool = mock.Mock()
|
||||
cfg = {
|
||||
@ -238,7 +256,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
'release': '20160321.n.0',
|
||||
'add_template': ['some_file.txt'],
|
||||
'add_arch_template': ['other_file.txt'],
|
||||
@@ -395,8 +384,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -432,8 +419,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
'branch': 'f24', 'dir': '.'},
|
||||
templ_dir, logger=pool._logger)])
|
||||
self.assertRunrootCall(koji,
|
||||
@ -248,7 +266,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
cfg['release'],
|
||||
isfinal=True,
|
||||
extra=['--add-template=%s/some_file.txt' % templ_dir,
|
||||
@@ -417,7 +405,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -454,7 +440,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
get_file_size, get_mtime, ImageCls, copy_all):
|
||||
pool = mock.Mock()
|
||||
cfg = {
|
||||
@ -257,7 +275,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
'release': '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN',
|
||||
"installpkgs": ["fedora-productimg-atomic"],
|
||||
"add_template": ["/spin-kickstarts/atomic-installer/lorax-configure-repo.tmpl"],
|
||||
@@ -449,8 +437,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -486,8 +472,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
|
||||
self.assertRunrootCall(
|
||||
koji,
|
||||
@ -267,7 +285,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
'20151203.t.0',
|
||||
isfinal=True,
|
||||
extra=['--installpkgs=fedora-productimg-atomic',
|
||||
@@ -479,7 +466,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -516,7 +501,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
get_file_size, get_mtime, ImageCls, copy_all):
|
||||
pool = mock.Mock()
|
||||
cfg = {
|
||||
@ -276,7 +294,7 @@ index ee3294e5..f44ca4ef 100644
|
||||
'release': None,
|
||||
"installpkgs": ["fedora-productimg-atomic"],
|
||||
"add_template": ["/spin-kickstarts/atomic-installer/lorax-configure-repo.tmpl"],
|
||||
@@ -511,8 +498,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
@@ -548,8 +533,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
|
||||
self.assertRunrootCall(
|
||||
koji,
|
||||
@ -287,5 +305,5 @@ index ee3294e5..f44ca4ef 100644
|
||||
isfinal=True,
|
||||
extra=['--installpkgs=fedora-productimg-atomic',
|
||||
--
|
||||
2.14.3
|
||||
2.14.4
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 836750b9c53aa4c6330b986e7fb28f92d940df55 Mon Sep 17 00:00:00 2001
|
||||
From 079177c5bf498fe21c1f0b03d127bfa25fa09fe0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
|
||||
Date: Wed, 11 Apr 2018 09:20:51 +0200
|
||||
Subject: [PATCH 3/6] Revert "Ostree can use pkgset repos"
|
||||
Subject: [PATCH 3/3] Revert "Ostree can use pkgset repos"
|
||||
|
||||
This reverts commit c7cc200246300c6a3946b2e3a9f5f7693896a7d6.
|
||||
---
|
||||
@ -31,10 +31,10 @@ index 2918fff8..0550b18c 100644
|
||||
# copy the original config and update before save to a json file
|
||||
new_config = copy.copy(config)
|
||||
diff --git a/pungi/util.py b/pungi/util.py
|
||||
index 3150e26c..7cfbb4e6 100644
|
||||
index 31e763b5..9f0aab69 100644
|
||||
--- a/pungi/util.py
|
||||
+++ b/pungi/util.py
|
||||
@@ -726,16 +726,19 @@ def _translate_url_to_repo_id(url):
|
||||
@@ -728,16 +728,19 @@ def _translate_url_to_repo_id(url):
|
||||
return ''.join([s if s in list(_REPOID_CHARS) else '_' for s in url])
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ index 3150e26c..7cfbb4e6 100644
|
||||
"""
|
||||
repo_dict = {}
|
||||
if isinstance(repo, dict):
|
||||
@@ -745,8 +748,10 @@ def get_repo_dict(repo):
|
||||
@@ -747,8 +750,10 @@ def get_repo_dict(repo):
|
||||
if name is None:
|
||||
name = _translate_url_to_repo_id(url)
|
||||
else:
|
||||
@ -72,7 +72,7 @@ index 3150e26c..7cfbb4e6 100644
|
||||
repo['name'] = name
|
||||
repo['baseurl'] = url
|
||||
return repo
|
||||
@@ -757,24 +762,24 @@ def get_repo_dict(repo):
|
||||
@@ -759,24 +764,24 @@ def get_repo_dict(repo):
|
||||
repo_dict['name'] = _translate_url_to_repo_id(repo)
|
||||
repo_dict['baseurl'] = repo
|
||||
else:
|
||||
@ -226,10 +226,10 @@ index ad14eca4..3a9ebf32 100644
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
diff --git a/tests/test_util.py b/tests/test_util.py
|
||||
index 1f22b63e..322301ff 100644
|
||||
index 739ea9e1..ab4f3459 100644
|
||||
--- a/tests/test_util.py
|
||||
+++ b/tests/test_util.py
|
||||
@@ -588,35 +588,43 @@ class GetRepoFuncsTestCase(unittest.TestCase):
|
||||
@@ -587,35 +587,43 @@ class GetRepoFuncsTestCase(unittest.TestCase):
|
||||
self.assertEqual(util.get_repo_urls(self.compose, repos), expect)
|
||||
|
||||
def test_get_repo_dict_from_normal_url(self):
|
||||
@ -283,5 +283,5 @@ index 1f22b63e..322301ff 100644
|
||||
|
||||
|
||||
--
|
||||
2.14.3
|
||||
2.14.4
|
||||
|
||||
|
@ -1,107 +0,0 @@
|
||||
From c8e03cfba196719e80c953c3d197653ef84716ed Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
|
||||
Date: Tue, 29 May 2018 08:38:09 +0200
|
||||
Subject: [PATCH 4/6] kojiwrapper: Make result of runroot world readable
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The commands in runroot run as root every time. If they create files
|
||||
that are not readable to other users, the reset of compose could have
|
||||
problems with it if it does not run as root too. Particularly updates
|
||||
composes in Bodhi run under apache user.
|
||||
|
||||
Relates: https://pagure.io/pungi/issue/932
|
||||
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
|
||||
---
|
||||
pungi/phases/ostree_installer.py | 3 ++-
|
||||
pungi/wrappers/kojiwrapper.py | 7 ++++++-
|
||||
tests/test_koji_wrapper.py | 18 ++++++++++++++++++
|
||||
tests/test_ostree_installer_phase.py | 3 ++-
|
||||
4 files changed, 28 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pungi/phases/ostree_installer.py b/pungi/phases/ostree_installer.py
|
||||
index abcb1572..572edbbb 100644
|
||||
--- a/pungi/phases/ostree_installer.py
|
||||
+++ b/pungi/phases/ostree_installer.py
|
||||
@@ -174,7 +174,8 @@ class OstreeInstallerThread(WorkerThread):
|
||||
channel=runroot_channel,
|
||||
use_shell=True, task_id=True,
|
||||
packages=packages, mounts=[compose.topdir],
|
||||
- weight=compose.conf['runroot_weights'].get('ostree_installer'))
|
||||
+ weight=compose.conf['runroot_weights'].get('ostree_installer'),
|
||||
+ destdir=output_dir)
|
||||
output = koji.run_runroot_cmd(koji_cmd, log_file=log_file)
|
||||
if output["retcode"] != 0:
|
||||
raise RuntimeError("Runroot task failed: %s. See %s for more details."
|
||||
diff --git a/pungi/wrappers/kojiwrapper.py b/pungi/wrappers/kojiwrapper.py
|
||||
index f89640ca..b8d56791 100644
|
||||
--- a/pungi/wrappers/kojiwrapper.py
|
||||
+++ b/pungi/wrappers/kojiwrapper.py
|
||||
@@ -66,7 +66,9 @@ class KojiWrapper(object):
|
||||
def _get_cmd(self, *args):
|
||||
return ["koji", "--profile=%s" % self.profile] + list(args)
|
||||
|
||||
- def get_runroot_cmd(self, target, arch, command, quiet=False, use_shell=True, channel=None, packages=None, mounts=None, weight=None, task_id=True, new_chroot=False):
|
||||
+ def get_runroot_cmd(self, target, arch, command, quiet=False, use_shell=True,
|
||||
+ channel=None, packages=None, mounts=None, weight=None,
|
||||
+ task_id=True, new_chroot=False, destdir=None):
|
||||
cmd = self._get_cmd("runroot")
|
||||
|
||||
if quiet:
|
||||
@@ -109,6 +111,9 @@ class KojiWrapper(object):
|
||||
|
||||
# HACK: remove rpmdb and yum cache
|
||||
command = "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; " + command
|
||||
+
|
||||
+ if destdir:
|
||||
+ command += "; chmod a+r %s" % shlex_quote(destdir)
|
||||
cmd.append(command)
|
||||
|
||||
return cmd
|
||||
diff --git a/tests/test_koji_wrapper.py b/tests/test_koji_wrapper.py
|
||||
index 7bf13773..4a14aed6 100644
|
||||
--- a/tests/test_koji_wrapper.py
|
||||
+++ b/tests/test_koji_wrapper.py
|
||||
@@ -416,6 +416,24 @@ class RunrootKojiWrapperTest(KojiWrapperBaseTestCase):
|
||||
'--task-id', '--weight=1000', '--package=some_other_package',
|
||||
'--package=lorax', '--mount=/tmp'])
|
||||
|
||||
+ def test_with_destdir(self):
|
||||
+ cmd = self.koji.get_runroot_cmd('tgt', 's390x', ['/bin/echo', '&'],
|
||||
+ quiet=True, channel='chan',
|
||||
+ packages=['lorax', 'some_other_package'],
|
||||
+ mounts=['/tmp'], weight=1000, destdir="/output dir")
|
||||
+ self.assertEqual(len(cmd), 14)
|
||||
+ self.assertEqual(cmd[:3], ['koji', '--profile=custom-koji', 'runroot'])
|
||||
+ self.assertEqual(cmd[-3], 'tgt')
|
||||
+ self.assertEqual(cmd[-2], 's390x')
|
||||
+ self.assertEqual(
|
||||
+ cmd[-1],
|
||||
+ "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; /bin/echo '&'; chmod a+r '/output dir'"
|
||||
+ )
|
||||
+ self.assertItemsEqual(cmd[3:-3],
|
||||
+ ['--channel-override=chan', '--quiet', '--use-shell',
|
||||
+ '--task-id', '--weight=1000', '--package=some_other_package',
|
||||
+ '--package=lorax', '--mount=/tmp'])
|
||||
+
|
||||
@mock.patch('pungi.wrappers.kojiwrapper.run')
|
||||
def test_run_runroot_cmd_no_task_id(self, run):
|
||||
cmd = ['koji', 'runroot']
|
||||
diff --git a/tests/test_ostree_installer_phase.py b/tests/test_ostree_installer_phase.py
|
||||
index f44ca4ef..859b18da 100644
|
||||
--- a/tests/test_ostree_installer_phase.py
|
||||
+++ b/tests/test_ostree_installer_phase.py
|
||||
@@ -142,7 +142,8 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
'rm -rf %s && %s' % (outdir, ' '.join(lorax_cmd)),
|
||||
channel=None, mounts=[self.topdir],
|
||||
packages=['pungi', 'lorax', 'ostree'],
|
||||
- task_id=True, use_shell=True, weight=weight)])
|
||||
+ task_id=True, use_shell=True, weight=weight,
|
||||
+ destdir=outdir)])
|
||||
self.assertEqual(koji.run_runroot_cmd.call_args_list,
|
||||
[mock.call(koji.get_runroot_cmd.return_value,
|
||||
log_file='%s/%s/runroot.log' % (self.topdir, LOG_PATH))])
|
||||
--
|
||||
2.14.3
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 80cb233b2225abd8fcb687aa61a522e6e8280617 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
|
||||
Date: Thu, 31 May 2018 14:50:03 +0200
|
||||
Subject: [PATCH 5/6] kojiwrapper: Don't mark runroot as successful by chmod
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
|
||||
---
|
||||
pungi/wrappers/kojiwrapper.py | 2 +-
|
||||
tests/test_koji_wrapper.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/pungi/wrappers/kojiwrapper.py b/pungi/wrappers/kojiwrapper.py
|
||||
index b8d56791..bcfb5303 100644
|
||||
--- a/pungi/wrappers/kojiwrapper.py
|
||||
+++ b/pungi/wrappers/kojiwrapper.py
|
||||
@@ -113,7 +113,7 @@ class KojiWrapper(object):
|
||||
command = "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; " + command
|
||||
|
||||
if destdir:
|
||||
- command += "; chmod a+r %s" % shlex_quote(destdir)
|
||||
+ command += " && chmod a+r %s" % shlex_quote(destdir)
|
||||
cmd.append(command)
|
||||
|
||||
return cmd
|
||||
diff --git a/tests/test_koji_wrapper.py b/tests/test_koji_wrapper.py
|
||||
index 4a14aed6..30037b27 100644
|
||||
--- a/tests/test_koji_wrapper.py
|
||||
+++ b/tests/test_koji_wrapper.py
|
||||
@@ -427,7 +427,7 @@ class RunrootKojiWrapperTest(KojiWrapperBaseTestCase):
|
||||
self.assertEqual(cmd[-2], 's390x')
|
||||
self.assertEqual(
|
||||
cmd[-1],
|
||||
- "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; /bin/echo '&'; chmod a+r '/output dir'"
|
||||
+ "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; /bin/echo '&' && chmod a+r '/output dir'"
|
||||
)
|
||||
self.assertItemsEqual(cmd[3:-3],
|
||||
['--channel-override=chan', '--quiet', '--use-shell',
|
||||
--
|
||||
2.14.3
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 210037ad48aa7f91d0391dc7c9330d4fd5c7172e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
|
||||
Date: Mon, 4 Jun 2018 08:31:08 +0200
|
||||
Subject: [PATCH 6/6] kojiwrapper: Call chmod recursively
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Related: https://pagure.io/pungi/issue/932
|
||||
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
|
||||
---
|
||||
pungi/wrappers/kojiwrapper.py | 2 +-
|
||||
tests/test_koji_wrapper.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/pungi/wrappers/kojiwrapper.py b/pungi/wrappers/kojiwrapper.py
|
||||
index bcfb5303..abcdecb9 100644
|
||||
--- a/pungi/wrappers/kojiwrapper.py
|
||||
+++ b/pungi/wrappers/kojiwrapper.py
|
||||
@@ -113,7 +113,7 @@ class KojiWrapper(object):
|
||||
command = "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; " + command
|
||||
|
||||
if destdir:
|
||||
- command += " && chmod a+r %s" % shlex_quote(destdir)
|
||||
+ command += " && chmod -R a+r %s" % shlex_quote(destdir)
|
||||
cmd.append(command)
|
||||
|
||||
return cmd
|
||||
diff --git a/tests/test_koji_wrapper.py b/tests/test_koji_wrapper.py
|
||||
index 30037b27..0f20562a 100644
|
||||
--- a/tests/test_koji_wrapper.py
|
||||
+++ b/tests/test_koji_wrapper.py
|
||||
@@ -427,7 +427,7 @@ class RunrootKojiWrapperTest(KojiWrapperBaseTestCase):
|
||||
self.assertEqual(cmd[-2], 's390x')
|
||||
self.assertEqual(
|
||||
cmd[-1],
|
||||
- "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; /bin/echo '&' && chmod a+r '/output dir'"
|
||||
+ "rm -f /var/lib/rpm/__db*; rm -rf /var/cache/yum/*; set -x; /bin/echo '&' && chmod -R a+r '/output dir'"
|
||||
)
|
||||
self.assertItemsEqual(cmd[3:-3],
|
||||
['--channel-override=chan', '--quiet', '--use-shell',
|
||||
--
|
||||
2.14.3
|
||||
|
42
pungi.spec
42
pungi.spec
@ -1,6 +1,6 @@
|
||||
Name: pungi
|
||||
Version: 4.1.25
|
||||
Release: 7%{?dist}
|
||||
Version: 4.1.26
|
||||
Release: 1%{?dist}
|
||||
Summary: Distribution compose tool
|
||||
|
||||
Group: Development/Tools
|
||||
@ -10,10 +10,7 @@ Source0: https://pagure.io/releases/%{name}/%{name}-%{version}.tar.bz2
|
||||
Patch0: 0001-Revert-Move-ostree-phase-and-pipelines-for-running-p.patch
|
||||
Patch1: 0002-Revert-Other-repo-for-OstreeInstaller.patch
|
||||
Patch2: 0003-Revert-Ostree-can-use-pkgset-repos.patch
|
||||
Patch3: 0004-kojiwrapper-Make-result-of-runroot-world-readable.patch
|
||||
Patch4: 0005-kojiwrapper-Don-t-mark-runroot-as-successful-by-chmo.patch
|
||||
Patch5: 0006-kojiwrapper-Call-chmod-recursively.patch
|
||||
Patch6: 0001-Skip-tests-involving-lookaside-with-new-DNF.patch
|
||||
Patch3: 0001-Fix-tests-for-DNF-3.patch
|
||||
|
||||
BuildRequires: python3-nose
|
||||
BuildRequires: python3-mock
|
||||
@ -41,6 +38,7 @@ BuildRequires: python3-PyYAML
|
||||
BuildRequires: libmodulemd >= 1.3.0
|
||||
BuildRequires: python3-gobject
|
||||
BuildRequires: python3-pdc-client
|
||||
BuildRequires: python3-createrepo_c
|
||||
|
||||
#deps for doc building
|
||||
BuildRequires: python3-sphinx, texlive-collection-fontsrecommended
|
||||
@ -75,6 +73,7 @@ Requires: python3-koji
|
||||
Requires: libmodulemd >= 1.3.0
|
||||
Requires: python3-gobject
|
||||
Requires: python3-pdc-client
|
||||
Requires: python3-createrepo_c
|
||||
|
||||
Requires: python3-%{name} = %{version}-%{release}
|
||||
|
||||
@ -181,6 +180,37 @@ nosetests-3 --exe
|
||||
%{_bindir}/%{name}-wait-for-signed-ostree-handler
|
||||
|
||||
%changelog
|
||||
* Mon Jul 16 2018 Lubomír Sedlář <lsedlar@redhat.com> - 4.1.26-1
|
||||
- gather: Add a hybrid depsolver backend (lsedlar)
|
||||
- Always use lookasides for repoclosure (lsedlar)
|
||||
- doc: closing parentheses for require_all_comps_packages (kdreyer)
|
||||
- osbs: Generate unique repo names (lsedlar)
|
||||
- Expand version field during image_build using version_generator (sinny)
|
||||
- createrepo: Stop including modulemd in debug repos (lsedlar)
|
||||
- Simplify iterating over module defaults (lsedlar)
|
||||
- pkgset: Apply module filters on pkgset level (lsedlar)
|
||||
- init: Validate whitespace in comps groups (lsedlar)
|
||||
- createrepo: Include empty modules (lsedlar)
|
||||
- createiso: Break hardlinks by copying files (lsedlar)
|
||||
- pkgset: Query Koji instead of PDC (mcurlej)
|
||||
- config: Report variants validity issues (lsedlar)
|
||||
- variants: Reject values with whitespace (lsedlar)
|
||||
- osbs: Fresh koji session for getting metadata (lsedlar)
|
||||
- gather: Ignore comps in lookaside repo (lsedlar)
|
||||
- init: Test that init phase correctly clones defaults (lsedlar)
|
||||
- init: Add tests for cloning module defaults (lsedlar)
|
||||
- init: Add validation for module defaults (lsedlar)
|
||||
- ostree-installer: Skip comps repo if there are no comps (lsedlar)
|
||||
- Add test for getting licenses from a repo (lsedlar)
|
||||
- Add content_licenses to module metadata (sgallagh)
|
||||
- Update virtualenv instructions (lsedlar)
|
||||
- Allow extracting koji event from another compose (lsedlar)
|
||||
- Copy modules instead of reparsing them (sgallagh)
|
||||
- Silence config warnings in quiet mode (lsedlar)
|
||||
- osbs: Add nvr to metadata (lsedlar)
|
||||
- Always get old compose with release type suffix (patrick)
|
||||
- Make ostree_installer check if buildinstall is skipped correctly (puiterwijk)
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.25-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (pungi-4.1.25.tar.bz2) = 6f58f6693619345fd517cab9ad833f961a544772d9f16ed75cf37d3c9b3905ea9c7c372c1906c1900bd18311a0ed0c182100e2017716db65f80595b51914ba96
|
||||
SHA512 (pungi-4.1.26.tar.bz2) = 8b6aef74ea27b6e64f8d64297f0f6014dd7280f74754cf955f3e9680122e987ca0dedde5c96eeccb105958ced40133d62d9e52aa19097f33067ada9275d8dcd4
|
||||
|
Loading…
Reference in New Issue
Block a user