コード例 #1
0
ファイル: create-pkgdb.py プロジェクト: joelvandal/dar
    }
    rec.update(
        re.search(
            '(?P<name>[^/]+)-(?P<version>[\w\.]+)-(?P<release>[\w\.]+)\.(?P<arch>\w+).rpm$',
            file).groupdict())
    rec['repo'] = repo(file)
    if rec['arch'] in ('src', 'nosrc'):
        rec['dist'] = rec['arch']
    else:
        rec['dist'] = dist(file)
    return rec


sys.stdout = os.fdopen(1, 'w', 0)

con, cur = darlib.opendb()
darlib.createtb(cur, 'pkg')
#pkgcon.autocommit = 1

#list = []
#for arg in sys.argv[1:]:
#	if os.path.isfile(arg):
#		list += open(arg, 'r').readlines()
#	elif os.path.isdir(arg):
#		list += glob.glob(os.path.join(arg, '*/*.rpm'))
#
#if not list:
#	list += glob.glob(os.path.join(packagedir, '*/*.rpm'))

for builder in ('dag', 'dries'):
    try:
コード例 #2
0
ファイル: print-obsolete.py プロジェクト: abdulla1/dar
import darlib

packagedir = '/dar/packages'

try: builder = sys.argv[1]
except: builder = 'dag'

def vercmp((e1, v1, r1), (e2, v2, r2)):
	return rpm.labelCompare((e1, v1, r1), (e2, v2, r2))

def filename(rec):
	return '%(parent)s/%(name)s-%(version)s-%(release)s.%(arch)s.rpm' % rec

sys.stdout = os.fdopen(1, 'w', 0)

con, cur = darlib.opendb()

cur.execute('select distinct name, parent, builder from pkg order by parent, name')
for name, parent, builder in cur.fetchall():
	if parent.find('kernel') == 0: continue
	cur.execute('select name, arch, version, release, dist, repo, parent from pkg where name = "%s" and builder = "%s" and arch != "src" order by dist, version, release, arch' % (name, builder))
	pkgs = cur.fetchall()
	A = {}
	obsoletelist = []
	for A['name'], A['arch'], A['version'], A['release'], A['dist'], A['repo'], A['parent'] in pkgs:
		if A['arch'] == 'nosrc': continue
		if A['repo'] == 'test': continue
		B = {}
		for B['name'], B['arch'], B['version'], B['release'], B['dist'], B['repo'], B['parent'] in pkgs:
			if B['arch'] == 'nosrc': continue
			if B['repo'] == 'test': continue