summaryrefslogtreecommitdiff
path: root/0005-Fixes-for-exploded-SRPM-layouts.patch
diff options
context:
space:
mode:
Diffstat (limited to '0005-Fixes-for-exploded-SRPM-layouts.patch')
-rw-r--r--0005-Fixes-for-exploded-SRPM-layouts.patch227
1 files changed, 0 insertions, 227 deletions
diff --git a/0005-Fixes-for-exploded-SRPM-layouts.patch b/0005-Fixes-for-exploded-SRPM-layouts.patch
deleted file mode 100644
index f2b57b3..0000000
--- a/0005-Fixes-for-exploded-SRPM-layouts.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From fc4dc6882c802e9a8b7ece3101033cb662928adf Mon Sep 17 00:00:00 2001
-From: Troy Dawson <tdawson@redhat.com>
-Date: Fri, 23 Sep 2022 14:38:34 -0700
-Subject: [PATCH 1/2] Fixes for exploded SRPM layouts
-
-sources_filename incorrectly set when using SRPMLayout.
-
-Fixes: #633
-JIRA: RHELCMP-9992
-Merges: https://pagure.io/rpkg/pull-request/634
-
-Signed-off-by: Troy Dawson <tdawson@redhat.com>
----
- pyrpkg/__init__.py | 21 +++++++++++----------
- pyrpkg/cli.py | 2 +-
- pyrpkg/sources.py | 30 +++++++++++++++++++++++++-----
- tests/test_cli.py | 2 +-
- tests/test_sources.py | 33 +++++++++++++++++++++++++++++++++
- 5 files changed, 71 insertions(+), 17 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 1b6a0c4..a40fa5a 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -1153,7 +1153,8 @@ class Commands(object):
- def sources_filename(self):
- if self.layout is None:
- return os.path.join(self.path, 'sources')
-- return os.path.join(self.path, self.layout.sources_file_template)
-+ return os.path.join(
-+ self.path, self.layout.sources_file_template.replace("{0.repo_name}", self.repo_name))
-
- @property
- def osbs_config_filename(self):
-@@ -2163,9 +2164,9 @@ class Commands(object):
- self.log.info("sources file doesn't exist. Source files download skipped.")
- return
-
-- # Default to putting the files where the repository is
-+ # Default to putting the files in the layout sourcedir
- if not outdir:
-- outdir = self.path
-+ outdir = self.layout.sourcedir
-
- sourcesf = SourcesFile(self.sources_filename, self.source_entry_type)
-
-@@ -2578,7 +2579,7 @@ class Commands(object):
- cmd.append('--nocheck')
- if self.quiet:
- cmd.append('--quiet')
-- cmd.extend(['-bc', os.path.join(self.path, self.spec)])
-+ cmd.extend(['-bc', os.path.join(self.layout.specdir, self.spec)])
- # Run the command
- self._run_command(cmd)
-
-@@ -2657,7 +2658,7 @@ class Commands(object):
- if buildrootdir:
- cmd.extend(["--define", "_buildrootdir {0}".format(
- os.path.abspath(buildrootdir))])
-- cmd.extend(['-bi', os.path.join(self.path, self.spec)])
-+ cmd.extend(['-bi', os.path.join(self.layout.specdir, self.spec)])
- # Run the command
- self._run_command(cmd)
- return
-@@ -2798,7 +2799,7 @@ class Commands(object):
- if not hashtype == 'sha256':
- cmd.extend(["--define", "_source_filedigest_algorithm %s" % hashtype,
- "--define", "_binary_filedigest_algorithm %s" % hashtype])
-- specpath = os.path.join(self.path, self.spec)
-+ specpath = os.path.join(self.layout.specdir, self.spec)
- tmpdir = None
- try:
- if not self.uses_rpmautospec or not rpmautospec_process_distgit:
-@@ -3180,7 +3181,7 @@ class Commands(object):
- if buildrootdir:
- cmd.extend(["--define", "_buildrootdir {0}".format(
- os.path.abspath(buildrootdir))])
-- cmd.extend(['--nodeps', '-bp', os.path.join(self.path, self.spec)])
-+ cmd.extend(['--nodeps', '-bp', os.path.join(self.layout.specdir, self.spec)])
- # Run the command
- self._run_command(cmd)
-
-@@ -3238,7 +3239,7 @@ class Commands(object):
- if not hashtype == 'sha256':
- cmd.extend(["--define", "_source_filedigest_algorithm %s" % hashtype,
- "--define", "_binary_filedigest_algorithm %s" % hashtype])
-- specpath = os.path.join(self.path, self.spec)
-+ specpath = os.path.join(self.layout.specdir, self.spec)
- tmpdir = None
- try:
- if not self.uses_rpmautospec or not rpmautospec_process_distgit:
-@@ -3262,7 +3263,7 @@ class Commands(object):
- # Create a list for unused patches
- unused = []
- # Get the content of spec into memory for fast searching
-- with open(os.path.join(self.path, self.spec), 'r') as f:
-+ with open(os.path.join(self.layout.specdir, self.spec), 'r') as f:
- data = f.read()
- if six.PY2:
- try:
-@@ -3340,7 +3341,7 @@ class Commands(object):
- if buildrootdir:
- cmd.extend(["--define", "_buildrootdir {0}".format(
- os.path.abspath(buildrootdir))])
-- cmd.extend(['-bl', os.path.join(self.path, self.spec)])
-+ cmd.extend(['-bl', os.path.join(self.layout.specdir, self.spec)])
- # Run the command
- self._run_command(cmd)
-
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 9694f14..b0a16fb 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1484,7 +1484,7 @@ class cliClient(object):
- 'sources', help='Download source files',
- description='Download source files')
- sources_parser.add_argument(
-- '--outdir', default=os.curdir,
-+ '--outdir',
- help='Directory to download files into (defaults to pwd)')
- sources_parser.set_defaults(command=self.sources)
-
-diff --git a/pyrpkg/sources.py b/pyrpkg/sources.py
-index 858461d..cdd5275 100644
---- a/pyrpkg/sources.py
-+++ b/pyrpkg/sources.py
-@@ -67,15 +67,35 @@ class SourcesFile(object):
- return self.entry_type(m.group('hashtype'), m.group('file'),
- m.group('hash'))
-
-- # Try falling back on the old format
-+ # Try falling back on the old Fedora format
- try:
- hash, file = stripped.split(' ', 1)
-
- except ValueError:
-- raise MalformedLineError(
-- 'sources has invalid content: {0}\n'
-- 'Please note that sources file must not be modified manually.'
-- .format(stripped))
-+ # Try old Centos Format
-+ try:
-+ hash, file_path = stripped.split(' ', 1)
-+ if len(hash) == 128:
-+ hashtype = 'sha512'
-+ elif len(hash) == 64:
-+ hashtype = 'sha256'
-+ elif len(hash) == 40:
-+ hashtype = 'sha1'
-+ elif len(hash) == 32:
-+ hashtype = 'md5'
-+ else:
-+ raise MalformedLineError(
-+ 'sources has invalid content: {0}\n'
-+ 'Please note that sources file must not be modified manually.'
-+ .format(stripped))
-+ file = os.path.split(file_path)[1]
-+ return self.entry_type(hashtype, file, hash)
-+
-+ except ValueError:
-+ raise MalformedLineError(
-+ 'sources has invalid content: {0}\n'
-+ 'Please note that sources file must not be modified manually.'
-+ .format(stripped))
-
- return self.entry_type('md5', file, hash)
-
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 97ae0ce..dd1399a 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -1579,7 +1579,7 @@ class TestSources(LookasideCacheMock, CliTestCase):
- # NOTE: without --outdir, whatever to run sources command in package
- # repository, sources file is downloaded into current working
- # directory. Is this a bug, or need to improve?
-- self.assertTrue(os.path.exists('readme.patch'))
-+ self.assertTrue(os.path.exists(os.path.join(self.cloned_repo_path, 'readme.patch')))
-
- def test_sources_to_outdir(self):
- cli_cmd = ['rpkg', '--path', self.cloned_repo_path,
-diff --git a/tests/test_sources.py b/tests/test_sources.py
-index cfacc51..f041373 100644
---- a/tests/test_sources.py
-+++ b/tests/test_sources.py
-@@ -66,6 +66,39 @@ class SourcesFileTestCase(unittest.TestCase):
- self.assertEqual(entry.file, 'afile')
- self.assertEqual(str(entry), newline)
-
-+ def test_parse_old_style_centos_line(self):
-+ s = sources.SourcesFile(self.sourcesfile, 'old')
-+
-+ my_hash = 'abababab01010101010101010101010101010101'
-+ my_file = 'SUBDIR/afile'
-+
-+ line = '{0} {1}\n'.format(my_hash, my_file)
-+ newline = '{0} {1}\n'.format(my_hash, 'afile')
-+ entry = s.parse_line(line)
-+
-+ self.assertTrue(isinstance(entry, sources.SourceFileEntry))
-+ self.assertEqual(entry.hashtype, 'sha1')
-+ self.assertEqual(entry.hash, my_hash)
-+ self.assertEqual(entry.file, 'afile')
-+ self.assertEqual(str(entry), newline)
-+
-+ def test_migrate_old_style_centos_line(self):
-+ s = sources.SourcesFile(self.sourcesfile, 'bsd')
-+
-+ my_hash = 128 * 'x'
-+ my_file = 'SUBDIR/afile'
-+
-+ line = '{0} {1}\n'.format(my_hash, my_file)
-+ newline = '{0} {1}\n'.format(my_hash, 'afile')
-+ newline = 'SHA512 (afile) = {0}\n'.format(my_hash)
-+ entry = s.parse_line(line)
-+
-+ self.assertTrue(isinstance(entry, sources.SourceFileEntry))
-+ self.assertEqual(entry.hashtype, 'sha512')
-+ self.assertEqual(entry.hash, my_hash)
-+ self.assertEqual(entry.file, 'afile')
-+ self.assertEqual(str(entry), newline)
-+
- def test_parse_entry_line(self):
- s = sources.SourcesFile(self.sourcesfile, 'bsd')
-
---
-2.37.3
-