summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2013-01-04 15:10:02 +0200
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>2014-06-05 14:20:06 +0300
commitaecfc649d6825acc147f3009577bfeb688bdc874 (patch)
treef85a7bc9cee921eef73ea53b034f832da6575222
parentea21b59f810bcf29cbdc68e2d866887022f3ee1f (diff)
downloadgit-buildpackage-aecfc649d6825acc147f3009577bfeb688bdc874.tar.gz
git-buildpackage-aecfc649d6825acc147f3009577bfeb688bdc874.tar.bz2
git-buildpackage-aecfc649d6825acc147f3009577bfeb688bdc874.zip
rpm.SpecFile: change specfile attribute to represent filename
There is specdir to get the (absolute) directory path. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
-rw-r--r--gbp/rpm/__init__.py8
-rwxr-xr-xgbp/scripts/buildpackage_rpm.py10
-rwxr-xr-xgbp/scripts/import_srpm.py7
-rwxr-xr-xgbp/scripts/pq_rpm.py2
-rw-r--r--tests/test_rpm.py2
5 files changed, 14 insertions, 15 deletions
diff --git a/gbp/rpm/__init__.py b/gbp/rpm/__init__.py
index 1000302b..46cea28a 100644
--- a/gbp/rpm/__init__.py
+++ b/gbp/rpm/__init__.py
@@ -127,8 +127,8 @@ class SpecFile(object):
def __init__(self, specfile):
# Load spec file into our special data structure
- self.specfile = os.path.abspath(specfile)
- self.specdir = os.path.dirname(self.specfile)
+ self.specfile = os.path.basename(specfile)
+ self.specdir = os.path.dirname(os.path.abspath(specfile))
self._content = LinkedList()
try:
with open(specfile) as spec_file:
@@ -247,7 +247,7 @@ class SpecFile(object):
"""
Write, possibly updated, spec to disk
"""
- with open(self.specfile, 'w') as spec_file:
+ with open(os.path.join(self.specdir, self.specfile), 'w') as spec_file:
for line in self._content:
spec_file.write(str(line))
@@ -663,7 +663,7 @@ class SpecFile(object):
Return patches of the RPM as a gbp patchseries
"""
series = PatchSeries()
- patchdir = os.path.dirname(self.specfile)
+ patchdir = self.specdir
for n, p in sorted(self.patches.iteritems()):
if p['autoupdate'] and p['apply']:
fname = os.path.basename(p['filename'])
diff --git a/gbp/scripts/buildpackage_rpm.py b/gbp/scripts/buildpackage_rpm.py
index 338350c9..3c6b7c1c 100755
--- a/gbp/scripts/buildpackage_rpm.py
+++ b/gbp/scripts/buildpackage_rpm.py
@@ -517,9 +517,8 @@ def main(argv):
pkgfiles = os.listdir(spec.specdir)
for f in pkgfiles:
src = os.path.join(spec.specdir, f)
- if f == os.path.basename(spec.specfile):
+ if f == spec.specfile:
dst = os.path.join(spec_dir, f)
- spec.specfile = os.path.abspath(dst)
else:
dst = os.path.join(source_dir, f)
try:
@@ -530,7 +529,7 @@ def main(argv):
shutil.copy2(src, dst)
except IOError, err:
raise GbpError, "Error exporting files: %s" % err
- spec.specdir = spec_dir
+ spec.specdir = os.path.abspath(spec_dir)
if options.orig_prefix != 'auto':
options.orig_prefix = options.orig_prefix % dict(spec.version,
@@ -570,9 +569,10 @@ def main(argv):
# Finally build the package:
if options.builder.startswith("rpmbuild"):
- builder_args.extend([spec.specfile])
+ builder_args.append(os.path.join(spec.specdir,
+ spec.specfile))
else:
- builder_args.extend([os.path.basename(spec.specfile)])
+ builder_args.append(spec.specfile)
RunAtCommand(options.builder, builder_args, shell=True,
extra_env={'GBP_BUILD_DIR': export_dir})(dir=export_dir)
if options.postbuild:
diff --git a/gbp/scripts/import_srpm.py b/gbp/scripts/import_srpm.py
index 269101d9..bbaa4328 100755
--- a/gbp/scripts/import_srpm.py
+++ b/gbp/scripts/import_srpm.py
@@ -157,8 +157,7 @@ def import_spec_patches(repo, spec, dirs):
repo.force_head('HEAD', hard=True)
raise PatchImportError("Unable to update spec file, you need to edit"
"and commit it manually")
- repo.commit_all(msg=PATCH_AUTODELETE_COMMIT_MSG %
- os.path.basename(spec.specfile))
+ repo.commit_all(msg=PATCH_AUTODELETE_COMMIT_MSG % spec.specfile)
def force_to_branch_head(repo, branch):
@@ -331,7 +330,7 @@ def main(argv):
for num, src in spec.sources.iteritems():
if num != spec.orig_src_num:
files.append(src['filename'])
- files.append(spec.specfile)
+ files.append(os.path.join(spec.specdir, spec.specfile))
for fname in files:
fpath = os.path.join(dirs['src'], fname)
if os.path.exists(fpath):
@@ -469,7 +468,7 @@ def main(argv):
if options.patch_import:
spec = parse_spec(os.path.join(repo.path,
options.packaging_dir,
- os.path.basename(spec.specfile)))
+ spec.specfile))
import_spec_patches(repo, spec, dirs)
commit = options.packaging_branch
diff --git a/gbp/scripts/pq_rpm.py b/gbp/scripts/pq_rpm.py
index ba34054c..8a938fa3 100755
--- a/gbp/scripts/pq_rpm.py
+++ b/gbp/scripts/pq_rpm.py
@@ -337,7 +337,7 @@ def import_spec_patches(repo, branch, options):
repo.set_branch(branch)
- return os.path.basename(spec.specfile)
+ return spec.specfile
def rebase_pq(repo, branch, options):
diff --git a/tests/test_rpm.py b/tests/test_rpm.py
index 29ecb56c..68886e86 100644
--- a/tests/test_rpm.py
+++ b/tests/test_rpm.py
@@ -88,7 +88,7 @@ class TestSpecFile(object):
spec = SpecFileTester(spec_filepath)
# Test basic properties
- assert spec.specfile == spec_filepath
+ assert spec.specfile == os.path.basename(spec_filepath)
assert spec.specdir == os.path.dirname(spec_filepath)
assert spec.specpath == spec_filepath