diff options
author | Hans Ulrich Niedermann <hun@n-dimensional.de> | 2011-01-31 16:44:43 +0100 |
---|---|---|
committer | Hans Ulrich Niedermann <hun@n-dimensional.de> | 2011-02-01 16:23:52 +0100 |
commit | 357ae922fa3621b76ca5209524285d310cd869a1 (patch) | |
tree | 7bd76e62dc43329e48dd68bf323475c0e1fd7e53 /src | |
parent | aa4ed2b47671786c2d651e2f0604fd18f7ab74a6 (diff) | |
download | fedora-packager-357ae922fa3621b76ca5209524285d310cd869a1.tar.gz fedora-packager-357ae922fa3621b76ca5209524285d310cd869a1.tar.xz fedora-packager-357ae922fa3621b76ca5209524285d310cd869a1.zip |
Add "fedpkg verify-files" command5/verify-files
usage: fedpkg verify-files [-h]
Locally run 'rpmbuild -bl' to verify the spec file's %files sections. This is
useful after a successful run of 'fedpkg install' or after a 'fedpkg local'
run which failed due to %files list inaccuracies.
Diffstat (limited to 'src')
-rw-r--r-- | src/fedpkg.bash | 2 | ||||
-rwxr-xr-x | src/fedpkg.py | 14 | ||||
-rw-r--r-- | src/pyfedpkg/__init__.py | 13 |
3 files changed, 28 insertions, 1 deletions
diff --git a/src/fedpkg.bash b/src/fedpkg.bash index 90cb2ac..e890345 100644 --- a/src/fedpkg.bash +++ b/src/fedpkg.bash @@ -37,7 +37,7 @@ _fedpkg() local options_value="--dist --user --path" local commands="build chain-build ci clean clog clone co commit compile diff gimmespec giturl help \ import install lint local mockbuild new new-sources patch prep pull push retire scratch-build sources \ - srpm switch-branch tag tag-request unused-patches update upload verrel" + srpm switch-branch tag tag-request unused-patches update upload verify-files verrel" # parse main options and get command diff --git a/src/fedpkg.py b/src/fedpkg.py index b9d46c4..e12124f 100755 --- a/src/fedpkg.py +++ b/src/fedpkg.py @@ -498,6 +498,14 @@ def diff(args): log.error('Could not diff: %s' % e) sys.exit(1) +def verify_files(args): + try: + mymodule = pyfedpkg.PackageModule(args.path, args.dist) + return mymodule.verify_files() + except pyfedpkg.FedpkgError, e: + log.error('Could not verify %%files list: %s' % e) + sys.exit(1) + def export(args): # not implimented; not planned log.warning('Not implimented yet, got %s' % args) @@ -1007,6 +1015,12 @@ packages will be built sequentially. help = 'short-circuit compile') parser_compile.set_defaults(command = compile) + # Verify %files list locally + parser_verify_files = subparsers.add_parser('verify-files', + help='Locally verify %%files section', + description="Locally run 'rpmbuild -bl' to verify the spec file's %files sections. This is useful after a successful run of 'fedpkg install' or after a 'fedpkg local' run which failed due to %files list inaccuracies.") + parser_verify_files.set_defaults(command = verify_files) + # export the module; not planned #parser_export = subparsers.add_parser('export', # help = 'Create a clean export') diff --git a/src/pyfedpkg/__init__.py b/src/pyfedpkg/__init__.py index 76b4e5d..0a1e897 100644 --- a/src/pyfedpkg/__init__.py +++ b/src/pyfedpkg/__init__.py @@ -1323,6 +1323,19 @@ class PackageModule: _run_command(cmd, shell=True) return + def verify_files(self): + """Run rpmbuild -bl on a module to verify the %files section""" + + # Get the sources + sources(self.path) + # setup the rpm command + cmd = ['rpmbuild'] + cmd.extend(self.rpmdefines) + cmd.extend(['-bl', os.path.join(self.path, self.spec)]) + # Run the command + _run_command(cmd, shell=True) + return + def getver(self): """Return the version-release of a package module.""" |