2 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
6 sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
7 from common import checkdir
8 from config import ftp_dir,all_ftp_archs
13 opts, args = getopt.getopt(sys.argv[1:], None, ["nopoldek", "noyum"])
14 except getopt.GetoptError:
15 print "ERR: not enough parameters given"
16 print "gen-indexes.py [--nopoldek] [--noyum] tree [tree2...]"
28 if not do_poldek and not do_yum:
29 print "ERR: option --nopoldek conflicts with --noyum"
37 ftpio.connect('gen-indexes')
42 if ftpio.lock(tree, True):
45 print "ERR: %s tree already locked" % tree
50 home=os.environ['HOME']
56 print '-------------------------- %s --------------------------' % tree
57 for arch in all_ftp_archs:
58 print 'ARCHITECTURE: %s' % arch
60 os.system('%s.stat/bin/poldek --cachedir=%s/tmp/poldek -c %s.stat/etc/poldek.conf -s %s%s/%s/RPMS/ --mkidxz' %
61 (ftp_dir,home,ftp_dir,ftp_dir,tree,arch))
63 if config.poldek_indexes != "old":
64 os.system('%s.stat/bin/poldek-new --cachedir=%s/tmp/poldek --conf %s.stat/etc/poldek.conf -s %s%s/%s/RPMS/ --mkidxz --mkidx-type pndir' %
65 (ftp_dir,home,ftp_dir,ftp_dir,tree,arch))
66 if config.poldek_indexes != "new":
67 os.system('%s.stat/bin/poldek-new --cachedir=%s/tmp/poldek --conf %s.stat/etc/poldek.conf -s %s%s/%s/RPMS/ --mkidxz --mkidx-type pdir' %
68 (ftp_dir,home,ftp_dir,ftp_dir,tree,arch))
72 print '-------------------------- %s --------------------------' % tree
73 for arch in all_ftp_archs:
74 print 'ARCHITECTURE: %s' % arch
75 # Creating indexes for yum and other supporting xml repodata.
76 os.system('%s.stat/bin/createrepo --cache %s/tmp/createrepo/%s-%s %s%s/%s/RPMS' %
77 (ftp_dir,home,tree,arch,ftp_dir,tree,arch))