Bug #74615 - Quote all file paths inside dispatch-conf shell commands.
authorZac Medico <zmedico@gentoo.org>
Mon, 24 Sep 2007 22:15:16 +0000 (22:15 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 24 Sep 2007 22:15:16 +0000 (22:15 -0000)
svn path=/main/trunk/; revision=7803

bin/dispatch-conf
cnf/dispatch-conf.conf
pym/portage/dispatch_conf.py

index e71512c7ebd23b677babefbee8a42631159f0c3c..c1dd7a3d169a916dd7576488dacbc9d7cb2312cc 100755 (executable)
@@ -29,9 +29,9 @@ from portage import dispatch_conf
 from portage.process import find_binary
 
 FIND_EXTANT_CONFIGS  = "find '%s' %s -iname '._cfg????_%s' ! -iname '.*~' ! -iname '.*.bak'"
-DIFF_CONTENTS        = 'diff -Nu %s %s'
-DIFF_CVS_INTERP      = 'diff -Nu %s %s | grep "^[+-][^+-]" | grep -v "# .Header:.*"'
-DIFF_WSCOMMENTS      = 'diff -Nu %s %s | grep "^[+-][^+-]" | grep -v "^[-+]#" | grep -v "^[-+][:space:]*$"'
+DIFF_CONTENTS        = "diff -Nu '%s' '%s'"
+DIFF_CVS_INTERP      = "diff -Nu '%s' '%s' | grep '^[+-][^+-]' | grep -v '# .Header:.*'"
+DIFF_WSCOMMENTS      = "diff -Nu '%s' '%s' | grep '^[+-][^+-]' | grep -v '^[-+]#' | grep -v '^[-+][:space:]*$'"
 
 # We need a secure scratch dir and python does silly verbose errors on the use of tempnam
 oldmask = os.umask(0077)
index d4caa95579f47b47086b091ca43ddee378556635..d9ccc12a62c854f4daf986483ff0f6d815164446 100644 (file)
@@ -12,13 +12,13 @@ use-rcs=no
 # Diff for display
 # %s old file
 # %s new file
-diff="diff -Nu %s %s | less --no-init --QUIT-AT-EOF"
+diff="diff -Nu '%s' '%s' | less --no-init --QUIT-AT-EOF"
 
 # Diff for interactive merges.
 # %s output file
 # %s old file
 # %s new file
-merge="sdiff --suppress-common-lines --output=%s %s %s"
+merge="sdiff --suppress-common-lines --output='%s' '%s' '%s'"
 
 # Automerge files comprising only CVS interpolations (e.g. Header or Id)
 # (yes or no)
index 690772bf85a6c201b439811de7e0c3e8eaec0199..860ffea301a1db2a8dd13433d2b1b8d900ed3be6 100644 (file)
@@ -16,9 +16,9 @@ RCS_BRANCH = '1.1.1'
 RCS_LOCK = 'rcs -ko -M -l'
 RCS_PUT = 'ci -t-"Archived config file." -m"dispatch-conf update."'
 RCS_GET = 'co'
-RCS_MERGE = 'rcsmerge -p -r' + RCS_BRANCH + ' %s >%s'
+RCS_MERGE = "rcsmerge -p -r" + RCS_BRANCH + " '%s' > '%s'"
 
-DIFF3_MERGE = 'diff3 -mE %s %s %s >%s'
+DIFF3_MERGE = "diff3 -mE '%s' '%s' '%s' > '%s'"
 
 def read_config(mandatory_opts):
     try:
@@ -33,7 +33,7 @@ def read_config(mandatory_opts):
     for key in mandatory_opts:
         if not opts.has_key(key):
             if key == "merge":
-                opts["merge"] = "sdiff --suppress-common-lines --output=%s %s %s"
+                opts["merge"] = "sdiff --suppress-common-lines --output='%s' '%s' '%s'"
             else:
                 print >> sys.stderr, 'dispatch-conf: Missing option "%s" in /etc/dispatch-conf.conf; fatal' % (key,)
 
@@ -106,7 +106,7 @@ def file_archive(archive, curconf, newconf, mrgconf):
 
     # Archive the current config file if it isn't already saved
     if os.path.exists(archive) \
-     and len(commands.getoutput('diff -aq %s %s' % (curconf,archive))) != 0:
+     and len(commands.getoutput("diff -aq '%s' '%s'" % (curconf,archive))) != 0:
         suf = 1
         while suf < 9 and os.path.exists(archive + '.' + str(suf)):
             suf += 1