from daklib.config import Config
from daklib.dbconn import *
-from daklib.contents import ContentsScanner, ContentsWriter
+from daklib.contents import BinaryContentsScanner, ContentsWriter, \
+ SourceContentsScanner
from daklib import daklog
from daklib import utils
generate
generate Contents-$arch.gz files
- scan
- scan the debs in the existing pool and load contents into the bin_contents table
+ scan-source
+ scan the source packages in the existing pool and load contents into
+ the src_contents table
+
+ scan-binary
+ scan the (u)debs in the existing pool and load contents into the
+ bin_contents table
OPTIONS
-h, --help
-f, --force
write Contents files for suites marked as untouchable, too
-OPTIONS for scan
+OPTIONS for scan-source and scan-binary
-l, --limit=NUMBER
maximum number of packages to scan
"""
def write_all(cnf, suite_names = [], force = None):
Logger = daklog.Logger(cnf.Cnf, 'contents generate')
- ContentsWriter.write_all(suite_names, force)
+ ContentsWriter.write_all(Logger, suite_names, force)
Logger.close()
################################################################################
-def write_helper(suite_name, argv):
- session = DBConn().session()
- suite = get_suite(suite_name, session)
- architecture = get_architecture(argv[0], session)
- debtype = get_override_type(argv[1], session)
- if len(argv) == 3:
- component = get_component(argv[2], session)
- else:
- component = None
- session.rollback()
- ContentsWriter(suite, architecture, debtype, component).write_file()
- session.close()
+def binary_scan_all(cnf, limit):
+ Logger = daklog.Logger(cnf.Cnf, 'contents binary_scan')
+ result = BinaryContentsScanner.scan_all(limit)
+ processed = '%(processed)d packages processed' % result
+ remaining = '%(remaining)d packages remaining' % result
+ Logger.log([processed, remaining])
+ Logger.close()
################################################################################
-def scan_all(cnf, limit):
- Logger = daklog.Logger(cnf.Cnf, 'contents scan')
- result = ContentsScanner.scan_all(limit)
+def source_scan_all(cnf, limit):
+ Logger = daklog.Logger(cnf.Cnf, 'contents source_scan')
+ result = SourceContentsScanner.scan_all(limit)
processed = '%(processed)d packages processed' % result
remaining = '%(remaining)d packages remaining' % result
Logger.log([processed, remaining])
args = apt_pkg.ParseCommandLine(cnf.Cnf, arguments, sys.argv)
options = cnf.SubTree('Contents::Options')
- if (len(args) < 1) or options['Help']:
+ if (len(args) != 1) or options['Help']:
usage()
limit = None
if len(options['Limit']) > 0:
limit = int(options['Limit'])
- if args[0] == 'scan':
- scan_all(cnf, limit)
+ if args[0] == 'scan-source':
+ source_scan_all(cnf, limit)
+ return
+
+ if args[0] == 'scan-binary':
+ binary_scan_all(cnf, limit)
return
suite_names = utils.split_args(options['Suite'])
write_all(cnf, suite_names, force)
return
- if args[0] == 'generate_helper':
- write_helper(suite_names[0], args[1:])
- return
-
usage()