Added --leave-oldest option to urpm-repomanage

This commit is contained in:
Denis Silakov 2014-03-17 13:25:13 +04:00
parent 136621e4b8
commit 4ae2942553

View file

@ -99,6 +99,8 @@ def parseargs(args):
help=_('report obsolete packages'))
parser.add_argument("-r", "--remove-old", default=False, action="store_true",
help=_('remove older packages'))
parser.add_argument("-l", "--leave-oldest", default=False, action="store_true",
help=_('leave only the oldest version of every package'))
parser.add_argument("-s", "--space", default=False, action="store_true",
help=_('space separated output, not newline'))
parser.add_argument("-k", "--keep", default=1, dest='keep', action="store",
@ -257,6 +259,11 @@ def main(args):
newevrs = evrlist[keepnum:]
if len(evrlist[:keepnum]) > 0:
old_found = 1
if options.leave_oldest:
for dropped in evrlist[1:]:
(e,v,r,d) = dropped
pkg = str(verfile[(n,a,e,v,r,d)]).replace("['","").replace("']","")
subprocess.call(["rm", "-f", pkg])
if options.remove_old:
for dropped in evrlist[:keepnum]:
(e,v,r,d) = dropped
@ -285,6 +292,11 @@ def main(args):
oldevrs = evrlist[:keepnum]
if len(oldevrs) > 0:
old_found = 1
if options.leave_oldest:
for dropped in evrlist[1:]:
(e,v,r,d) = dropped
pkg = str(verfile[(n,a,e,v,r,d)]).replace("['","").replace("']","")
subprocess.call(["rm", "-f", pkg])
for (e,v,r,d) in oldevrs:
for pkg in verfile[(n,a,e,v,r,d)]:
outputpackages.append(pkg)