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
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."
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()
# 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)
% 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"""
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: