[yum-cvs] yum-utils/plugins/merge-conf merge-conf.py,1.1,1.2
Tim Lauridsen
timlau at linux.duke.edu
Sun Jun 17 07:03:45 UTC 2007
Update of /home/groups/yum/cvs/yum-utils/plugins/merge-conf
In directory login1.linux.duke.edu:/tmp/cvs-serv5297/plugins/merge-conf
Modified Files:
merge-conf.py
Log Message:
Patch to detech vimdiff by Aurelien Bompard
Index: merge-conf.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/plugins/merge-conf/merge-conf.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- merge-conf.py 12 Apr 2007 13:11:41 -0000 1.1
+++ merge-conf.py 17 Jun 2007 07:03:42 -0000 1.2
@@ -34,6 +34,11 @@
help='Merge configuration changes after installation')
def posttrans_hook(conduit):
+ has_vimdiff = False
+ for d in os.getenv("PATH", "").split(":"):
+ if os.path.exists(os.path.join(d, "vimdiff")):
+ has_vimdiff = True
+ break
ts = conduit.getTsInfo()
for tsmem in ts.getMembers():
rpmdb = conduit.getRpmDB()
@@ -57,11 +62,11 @@
for file, mode, flags in filetuple:
if flags & RPMFILE_CONFIG:
if flags & RPMFILE_NOREPLACE:
- mergeConfFiles(tsmem.po.name, file, True, conduit)
+ mergeConfFiles(tsmem.po.name, file, True, conduit, has_vimdiff)
else:
- mergeConfFiles(tsmem.po.name, file, False, conduit)
+ mergeConfFiles(tsmem.po.name, file, False, conduit, has_vimdiff)
-def mergeConfFiles(pkg, file, noreplace, conduit):
+def mergeConfFiles(pkg, file, noreplace, conduit, has_vimdiff):
if noreplace:
local_file = file
pkg_file = "%s.rpmnew" % file
@@ -98,7 +103,8 @@
print " - install the package's version (i)"
else:
print " - keep your version (n)"
- print " - merge interactively with vim (v)"
+ if has_vimdiff:
+ print " - merge interactively with vim (v)"
print " - background this process and examine manually (z)"
sys.stdout.write("Your answer ? ")
answer = sys.stdin.readline().strip()
@@ -124,7 +130,7 @@
os.system(os.getenv("SHELL", "bash"))
elif answer == "q":
print "Choosing RPM's default action."
- elif answer == "v":
+ elif answer == "v" and has_vimdiff:
os.system("""vimdiff '%s' '%s'""" % (final_file, other_file))
break
else:
More information about the Yum-cvs-commits
mailing list