--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.bart...@linux.intel.com> --- .../createrepo/createrepo/createrepo-dbpath.patch | 51 ++++++++++++++++++++++ .../createrepo/createrepo_0.4.11.bb | 1 + 2 files changed, 52 insertions(+) create mode 100644 meta/recipes-support/createrepo/createrepo/createrepo-dbpath.patch diff --git a/meta/recipes-support/createrepo/createrepo/createrepo-dbpath.patch b/meta/recipes-support/createrepo/createrepo/createrepo-dbpath.patch new file mode 100644 index 0000000..2b113bf --- /dev/null +++ b/meta/recipes-support/createrepo/createrepo/createrepo-dbpath.patch @@ -0,0 +1,51 @@ +--- createrepo-0.4.11.orig/genpkgmetadata.py 2015-03-30 22:18:19.904000000 +0300 ++++ createrepo-0.4.11.orig/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) diff --git a/meta/recipes-support/createrepo/createrepo_0.4.11.bb b/meta/recipes-support/createrepo/createrepo_0.4.11.bb index 49b45fc..adc193e 100644 --- a/meta/recipes-support/createrepo/createrepo_0.4.11.bb +++ b/meta/recipes-support/createrepo/createrepo_0.4.11.bb @@ -14,6 +14,7 @@ SRC_URI= "http://createrepo.baseurl.org/download/${BP}.tar.gz \ file://python-scripts-should-use-interpreter-from-env.patch \ file://createrepo-rpm549.patch \ file://recommends.patch \ + file://createrepo-dbpath.patch \ file://rpm-createsolvedb.py \ " -- 2.1.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core