createrepo/__init__.py | 26 ++++++++++++++++++++++----
genpkgmetadata.py | 3 ++-
2 files changed, 24 insertions(+), 5 deletions(-)
New commits:
commit 08c74e12b25d4dc6758afa4b8aa2779875a23bea
Merge: 566f6b3... 900caa2...
Author: Seth Vidal <[email protected]>
Date: Wed Feb 10 14:34:09 2010 -0500
Merge branch 'master' of ssh://createrepo.baseurl.org/srv/projects/createrepo/git/createrepo
* 'master' of ssh://createrepo.baseurl.org/srv/projects/createrepo/git/createrepo:
Make *Emacs unsuspicious about trailing whitespace.
Fix --exclude -> --excludes typo.
Add missing spaces in various help strings.
commit 566f6b3056901f2d20f37bac4292565fd055b60a
Author: Seth Vidal <[email protected]>
Date: Wed Feb 10 14:31:58 2010 -0500
add --read-pkgs-list option to output list of pkgs actually read.
completely optional and only really useful with --update or a --cachedir for what
pkgs DID get read/parsed.
diff --git a/createrepo/__init__.py b/createrepo/__init__.py
index 4ec2d51..0c0c7d8 100644
--- a/createrepo/__init__.py
+++ b/createrepo/__init__.py
@@ -100,7 +100,9 @@ class MetaDataConfig(object):
self.revision = str(int(time.time()))
self.content_tags = [] # flat list of strings (like web 2.0 tags)
self.distro_tags = []# [(cpeid(None allowed), human-readable-string)]
-
+ self.read_pkgs_list = None # filepath/name to write out list of pkgs
+ # read in this run of createrepo
+
class SimpleMDCallBack(object):
def errorlog(self, thing):
print >> sys.stderr, thing
@@ -130,6 +132,7 @@ class MetaDataGenerator:
self.current_pkg = 0
self.files = []
self.rpmlib_reqs = {}
+ self.read_pkgs = []
if not self.conf.directory and not self.conf.directories:
raise MDError, "No directory given on which to run."
@@ -368,7 +371,8 @@ class MetaDataGenerator:
self.closeMetadataDocs()
except (IOError, OSError), e:
raise MDError, _('Cannot access/write repodata files: %s') % e
-
+
+
def openMetadataDocs(self):
if self.conf.database_only:
self.setup_sqlite_dbs()
@@ -520,10 +524,12 @@ class MetaDataGenerator:
# we can use deltas:
if self.conf.deltas:
self._do_delta_rpm_package(po)
-
+ self.read_pkgs.append(pkg)
+
else:
po = pkg
-
+ self.read_pkgs.append(po.localpath)
+
if self.conf.database_only:
pass # disabled right now for sanity reasons (mine)
#po.do_sqlite_dump(self.md_sqlite)
@@ -1075,6 +1081,18 @@ class MetaDataGenerator:
% self.conf.olddir)
self.errorlog(_('Error was %s') % e)
self.errorlog(_('Please clean up this directory manually.'))
+
+ # write out the read_pkgs_list file with self.read_pkgs
+ if self.conf.read_pkgs_list:
+ try:
+ fo = open(self.conf.read_pkgs_list, 'w')
+ fo.write('\n'.join(self.read_pkgs))
+ fo.flush()
+ fo.close()
+ except (OSError, IOError), e:
+ self.errorlog(_('Could not write out readpkgs list: %s')
+ % self.conf.read_pkgs_list)
+ self.errorlog(_('Error was %s') % e)
def setup_sqlite_dbs(self, initdb=True):
"""sets up the sqlite dbs w/table schemas and db_infos"""
diff --git a/genpkgmetadata.py b/genpkgmetadata.py
index 9d755af..1be769e 100755
--- a/genpkgmetadata.py
+++ b/genpkgmetadata.py
@@ -110,7 +110,8 @@ def parse_args(args, conf):
action="append", help="paths to look for older pkgs to delta against")
parser.add_option("--num-deltas", default=1, dest='num_deltas', type='int',
help="the number of older versions to make deltas against")
-
+ parser.add_option("--read-pkgs-list", default=None, dest='read_pkgs_list',
+ help="output the paths to the pkgs actually read useful with --update")
(opts, argsleft) = parser.parse_args(args)
if len(argsleft) > 1 and not opts.split:
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.