62 lines
2.4 KiB
Diff
62 lines
2.4 KiB
Diff
createrepo: Implement --dbpath command line option
|
|
|
|
--dbpath option allows to specify path to the directory
|
|
with rpm database. By default createrepo uses or creates
|
|
rpm database in /var/lib/rpm/
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
|
|
--- createrepo-0.4.11.orig/genpkgmetadata.py 2015-03-30 22:18:19.904000000 +0300
|
|
+++ createrepo-0.4.11/genpkgmetadata.py 2015-03-30 22:28:49.208000000 +0300
|
|
@@ -65,6 +65,7 @@
|
|
-p, --pretty = output xml files in pretty format.
|
|
--update = update existing metadata (if present)
|
|
-d, --database = generate the sqlite databases.
|
|
+ --dbpath <dir> = specify path to rpm db directory.
|
|
""")
|
|
|
|
sys.exit(retval)
|
|
@@ -72,10 +73,13 @@
|
|
class MetaDataGenerator:
|
|
def __init__(self, cmds):
|
|
self.cmds = cmds
|
|
- self.ts = rpm.TransactionSet()
|
|
self.pkgcount = 0
|
|
self.files = []
|
|
|
|
+ if self.cmds['dbpath']:
|
|
+ rpm.addMacro("_dbpath", self.cmds['dbpath'])
|
|
+ self.ts = rpm.TransactionSet()
|
|
+
|
|
def _os_path_walk(self, top, func, arg):
|
|
"""Directory tree walk with callback function.
|
|
copy of os.path.walk, fixes the link/stating problem
|
|
@@ -435,6 +439,7 @@
|
|
cmds['dir-pattern-match'] = ['.*bin\/.*', '^\/etc\/.*']
|
|
cmds['skip-symlinks'] = False
|
|
cmds['pkglist'] = []
|
|
+ cmds['dbpath'] = None
|
|
|
|
try:
|
|
gopts, argsleft = getopt.getopt(args, 'phqVvndg:s:x:u:c:o:CSi:', ['help', 'exclude=',
|
|
@@ -442,7 +447,7 @@
|
|
'baseurl=', 'groupfile=', 'checksum=',
|
|
'version', 'pretty', 'split', 'outputdir=',
|
|
'noepoch', 'checkts', 'database', 'update',
|
|
- 'skip-symlinks', 'pkglist='])
|
|
+ 'skip-symlinks', 'pkglist=', 'dbpath='])
|
|
except getopt.error, e:
|
|
errorprint(_('Options Error: %s.') % e)
|
|
usage()
|
|
@@ -516,6 +521,8 @@
|
|
cmds['skip-symlinks'] = True
|
|
elif arg in ['-i', '--pkglist']:
|
|
cmds['pkglist'] = a
|
|
+ elif arg == '--dbpath':
|
|
+ cmds['dbpath'] = os.path.realpath(a)
|
|
|
|
except ValueError, e:
|
|
errorprint(_('Options Error: %s') % e)
|