From 885043c9d2cb883f03a747c6d9a3c858a0d8864c Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 12 2021 21:02:54 +0000 Subject: [PATCH 1/4] Adjust fedpkg for the new default branch in dist-git: rawhide In some places we also reference main which will be a symlink to the rawhide branch and we currently still reference master to be backward compatible (even though once the rawhide branch appears the master branch will be removed and blocked). Signed-off-by: Pierre-Yves Chibon --- diff --git a/fedpkg/__init__.py b/fedpkg/__init__.py index c070416..6b2aab5 100644 --- a/fedpkg/__init__.py +++ b/fedpkg/__init__.py @@ -168,8 +168,8 @@ class Commands(pyrpkg.Commands): "--define 'el%s 1'" % macros['rhel'], "--define 'rhel %s'" % macros['rhel'], ] - # master - elif re.match(r'master$', self.branch_merge): + # master or main + elif re.match(r'master$', self.branch_merge) or re.match(r'mainr$', self.branch_merge): self._distval = self._findmasterbranch() self._distvar = 'fedora' self._disttag = 'fc%s' % self._distval @@ -204,13 +204,13 @@ class Commands(pyrpkg.Commands): self._rpmdefines.extend(extra_rpmdefines) def build_target(self, release): - if release == 'master': + if release in ('rawhide', 'main', 'master'): return 'rawhide' else: return '%s-candidate' % release def load_container_build_target(self): - if self.branch_merge == 'master': + if self.branch_merge in ('rawhide', 'main', 'master'): self._container_build_target = 'rawhide-%s-candidate' % self.ns else: super(Commands, self).load_container_build_target() diff --git a/fedpkg/cli.py b/fedpkg/cli.py index c6ccd95..fb0d6f3 100644 --- a/fedpkg/cli.py +++ b/fedpkg/cli.py @@ -110,7 +110,7 @@ class fedpkgClient(cliClient): opt_release = self.parser._option_string_actions['--release'] opt_release.help = 'Override the discovered release, e.g. f25, which has to match ' \ 'the remote branch name created in package repository. ' \ - 'Particularly, use master to build RPMs for rawhide.' + 'Particularly, use rawhide to build RPMs for rawhide.' def setup_fed_subparsers(self): """Register the fedora specific targets""" @@ -818,7 +818,7 @@ class fedpkgClient(cliClient): logger=self.log, repo_name=self.args.name, ns=self.args.new_repo_namespace, - branch='master', + branch='rawhide', summary=self.args.summary, description=self.args.description, upstreamurl=self.args.upstreamurl, @@ -863,7 +863,7 @@ class fedpkgClient(cliClient): :param config: A dict containing the configuration, loaded from file. Typically the value of `self.config`. :param branch: The git branch string when requesting a repo. - Typically 'master'. + Typically 'rawhide'. :param summary: A string, the summary of the new repo. Typically takes the value of `self.args.summary`. :param upstreamurl: A string, the upstreamurl of the new repo. @@ -1097,7 +1097,7 @@ class fedpkgClient(cliClient): logger=logger, repo_name=repo_name, ns='modules', - branch='master', + branch='rawhide', summary=summary, description=summary, upstreamurl=None, diff --git a/fedpkg/utils.py b/fedpkg/utils.py index 2c790c7..1dd7a37 100644 --- a/fedpkg/utils.py +++ b/fedpkg/utils.py @@ -436,7 +436,7 @@ def get_stream_branches(server_url, package_name): # should be ok to remove if from this list. stream_branches = [] for item in branches: - if item['name'] == 'master': + if item['name'] in ('master', 'rawhide', 'main'): continue elif re.match(r'^(f|el)\d+$', item['name']): continue @@ -469,7 +469,7 @@ def expand_release(rel, active_releases): returned from `get_release_branches`. :return: list of releases, for example ``[f28]``, or ``[el6, epel7]``. """ - if rel == 'master': + if rel in ('master', 'rawhide', 'main'): return ['master'] elif rel == 'fedora': return active_releases['fedora'] From 0415106bb87a0dbe56cace8a839a9bc66d9d7cb3 Mon Sep 17 00:00:00 2001 From: Mohan Boddu Date: Jan 19 2021 13:45:51 +0000 Subject: [PATCH 2/4] More updates to 'rawhide' default branch Signed-off-by: Mohan Boddu --- diff --git a/fedpkg/__init__.py b/fedpkg/__init__.py index 6b2aab5..8eecc59 100644 --- a/fedpkg/__init__.py +++ b/fedpkg/__init__.py @@ -168,9 +168,9 @@ class Commands(pyrpkg.Commands): "--define 'el%s 1'" % macros['rhel'], "--define 'rhel %s'" % macros['rhel'], ] - # master or main - elif re.match(r'master$', self.branch_merge) or re.match(r'mainr$', self.branch_merge): - self._distval = self._findmasterbranch() + # rawhide (previously master branch) + elif re.match(r'master$', self.branch_merge) or re.match(r'rawhide$', self.branch_merge) or re.match(r'main$', self.branch_merge): + self._distval = self._findrawhidebranch() self._distvar = 'fedora' self._disttag = 'fc%s' % self._distval self.mockconfig = 'fedora-rawhide-%s' % self.localarch @@ -244,8 +244,8 @@ class Commands(pyrpkg.Commands): return macros - def _findmasterbranch(self): - """Find the right "fedora" for master""" + def _findrawhidebranch(self): + """Find the right "fedora" for rawhide (previously master branch)""" # If we already have a koji session, just get data from the source if self._kojisession: diff --git a/fedpkg/cli.py b/fedpkg/cli.py index fb0d6f3..1d790ee 100644 --- a/fedpkg/cli.py +++ b/fedpkg/cli.py @@ -110,7 +110,7 @@ class fedpkgClient(cliClient): opt_release = self.parser._option_string_actions['--release'] opt_release.help = 'Override the discovered release, e.g. f25, which has to match ' \ 'the remote branch name created in package repository. ' \ - 'Particularly, use rawhide to build RPMs for rawhide.' + 'Particularly, use rawhide/main branch to build RPMs for rawhide.' def setup_fed_subparsers(self): """Register the fedora specific targets""" @@ -622,7 +622,7 @@ class fedpkgClient(cliClient): is named package.cfg in INI format. For example, [koji] - targets = master fedora epel7 + targets = rawhide fedora epel7 You only need to put Fedora releases and EPEL in option targets and fedpkg will convert it to proper Koji build target for submitting builds. Beside regular @@ -912,7 +912,7 @@ class fedpkgClient(cliClient): ticket_body = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': bug or '', 'monitor': 'no-monitoring', 'namespace': 'tests', diff --git a/fedpkg/utils.py b/fedpkg/utils.py index 1dd7a37..6bf3d0a 100644 --- a/fedpkg/utils.py +++ b/fedpkg/utils.py @@ -430,7 +430,7 @@ def get_stream_branches(server_url, package_name): branches = query_pdc( server_url, 'component-branches', params=query_args) # When write this method, endpoint component-branches contains not only - # stream branches, but also regular release branches, e.g. master, f28. + # stream branches, but also regular release branches, e.g. rawhide/main, f28. # Please remember to review the data regularly, there are only stream # branches, or some new replacement of PDC fixes the issue as well, it # should be ok to remove if from this list. @@ -470,7 +470,7 @@ def expand_release(rel, active_releases): :return: list of releases, for example ``[f28]``, or ``[el6, epel7]``. """ if rel in ('master', 'rawhide', 'main'): - return ['master'] + return ['rawhide'] elif rel == 'fedora': return active_releases['fedora'] elif rel == 'epel': From 458d1982f6bfa79693646552616bd9c18e449fc0 Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Jan 19 2021 13:45:51 +0000 Subject: [PATCH 3/4] Update tests for rawhide branch rename Signed-off-by: Lubomír Sedlář --- diff --git a/fedpkg/__init__.py b/fedpkg/__init__.py index 8eecc59..2ec2d6e 100644 --- a/fedpkg/__init__.py +++ b/fedpkg/__init__.py @@ -169,7 +169,7 @@ class Commands(pyrpkg.Commands): "--define 'rhel %s'" % macros['rhel'], ] # rawhide (previously master branch) - elif re.match(r'master$', self.branch_merge) or re.match(r'rawhide$', self.branch_merge) or re.match(r'main$', self.branch_merge): + elif re.match(r'(master|rawhide|main)$', self.branch_merge): self._distval = self._findrawhidebranch() self._distvar = 'fedora' self._disttag = 'fc%s' % self._distval diff --git a/test/test_cli.py b/test/test_cli.py index b816558..a20357f 100644 --- a/test/test_cli.py +++ b/test/test_cli.py @@ -468,7 +468,7 @@ class TestRequestRepo(CliTestCase): expected_issue_content = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': 1441813, 'description': '', 'exception': False, @@ -505,7 +505,7 @@ class TestRequestRepo(CliTestCase): expected_issue_content = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': 1441813, 'description': '', 'exception': False, @@ -545,7 +545,7 @@ class TestRequestRepo(CliTestCase): expected_issue_content = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': '', 'description': '', 'exception': False, @@ -586,7 +586,7 @@ class TestRequestRepo(CliTestCase): expected_issue_content = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': 1441813, 'description': '', 'exception': False, @@ -627,7 +627,7 @@ class TestRequestRepo(CliTestCase): expected_issue_content = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': 1441813, 'description': 'a description', 'exception': False, @@ -663,7 +663,7 @@ class TestRequestRepo(CliTestCase): expected_issue_content = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': '', 'description': '', 'exception': True, @@ -1192,7 +1192,7 @@ class TestRequestBranch(CliTestCase): summary = u'Automatically requested module for rpms/nethack:9.' expected_issue_content = { u'action': u'new_repo', - u'branch': u'master', + u'branch': u'rawhide', u'bug_id': u'', u'description': summary, u'exception': True, @@ -1481,7 +1481,7 @@ class TestRequestTestsRepo(CliTestCase): expected_issue_content = { 'action': 'new_repo', - 'branch': 'master', + 'branch': 'rawhide', 'bug_id': '', 'monitor': 'no-monitoring', 'namespace': 'tests', @@ -2189,7 +2189,7 @@ class TestReadReleasesFromLocalConfig(CliTestCase): rels = cli.read_releases_from_local_config(self.active_releases) rels = sorted(rels) - self.assertEqual(['el6', 'epel7', 'f27', 'f28', 'master'], rels) + self.assertEqual(['el6', 'epel7', 'f27', 'f28', 'rawhide'], rels) class TestIsStreamBranch(CliTestCase): diff --git a/test/test_commands.py b/test/test_commands.py index 3e9be98..c45d251 100644 --- a/test/test_commands.py +++ b/test/test_commands.py @@ -262,9 +262,9 @@ class TestLoadRpmDefines(CommandTestCase): self.assert_rpmdefines() @patch('pyrpkg.Commands.branch_merge', new_callable=PropertyMock) - @patch('fedpkg.Commands._findmasterbranch') - def test_load_master_dist_tag(self, _findmasterbranch, branch_merge): - _findmasterbranch.return_value = '28' + @patch('fedpkg.Commands._findrawhidebranch') + def test_load_master_dist_tag(self, _findrawhidebranch, branch_merge): + _findrawhidebranch.return_value = '28' branch_merge.return_value = 'master' self.cmd.load_rpmdefines() @@ -324,11 +324,11 @@ class TestLoadRpmDefines(CommandTestCase): self.assert_rpmdefines(extra_rpmdefines) -class TestFindMasterBranch(CommandTestCase): - """Test Commands._findmasterbranch""" +class TestFindRawhideBranch(CommandTestCase): + """Test Commands._findrawhidebranch""" def setUp(self): - super(TestFindMasterBranch, self).setUp() + super(TestFindRawhideBranch, self).setUp() self.cmd = self.make_commands() @@ -338,7 +338,7 @@ class TestFindMasterBranch(CommandTestCase): koji_session = kojisession.return_value koji_session.getBuildTarget.return_value = {'dest_tag_name': 'f28'} - result = self.cmd._findmasterbranch() + result = self.cmd._findrawhidebranch() koji_session.getBuildTarget.assert_called_once_with('rawhide') self.assertEqual('28', result) @@ -352,7 +352,7 @@ class TestFindMasterBranch(CommandTestCase): koji_session = anon_kojisession.return_value koji_session.getBuildTarget.return_value = {'dest_tag_name': 'f29'} - result = self.cmd._findmasterbranch() + result = self.cmd._findrawhidebranch() koji_session.getBuildTarget.assert_called_once_with('rawhide') self.assertEqual('29', result) @@ -363,7 +363,7 @@ class TestFindMasterBranch(CommandTestCase): # As the code shows, any error will be caught koji_session.getBuildTarget.side_effect = ValueError - result = self.cmd._findmasterbranch() + result = self.cmd._findrawhidebranch() self.assertEqual(28, result) @patch('pyrpkg.Commands.anon_kojisession', new_callable=PropertyMock) @@ -378,7 +378,7 @@ class TestFindMasterBranch(CommandTestCase): six.assertRaisesRegex( self, rpkgError, 'Unable to find rawhide target', - self.cmd._findmasterbranch) + self.cmd._findrawhidebranch) class TestOverrideBuildURL(CommandTestCase): diff --git a/test/test_utils.py b/test/test_utils.py index 9697512..d216c55 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -505,7 +505,7 @@ class TestExpandRelease(unittest.TestCase): def test_expand_master(self): result = utils.expand_release('master', self.releases) - self.assertEqual(['master'], result) + self.assertEqual(['rawhide'], result) def test_normal_release(self): result = utils.expand_release('f28', self.releases) From d0388913a7c909e9fe5d4cdf3f9447a0616f49f1 Mon Sep 17 00:00:00 2001 From: Mohan Boddu Date: Jan 19 2021 13:45:51 +0000 Subject: [PATCH 4/4] Adding test_expand_rawhide test Signed-off-by: Mohan Boddu --- diff --git a/test/test_utils.py b/test/test_utils.py index d216c55..939f60b 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -507,6 +507,10 @@ class TestExpandRelease(unittest.TestCase): result = utils.expand_release('master', self.releases) self.assertEqual(['rawhide'], result) + def test_expand_rawhide(self): + result = utils.expand_release('rawhide', self.releases) + self.assertEqual(['rawhide'], result) + def test_normal_release(self): result = utils.expand_release('f28', self.releases) self.assertEqual(['f28'], result)