make sure etc-update sorts updates in the order (1) leading dir path (2) filename...
authorMike Frysinger <vapier@gentoo.org>
Sun, 28 Jun 2009 16:12:28 +0000 (16:12 -0000)
committerMike Frysinger <vapier@gentoo.org>
Sun, 28 Jun 2009 16:12:28 +0000 (16:12 -0000)
svn path=/main/trunk/; revision=13723

bin/etc-update

index d84907cb779b72817bfac0f8e772ddf694a851e6..03fef8d18e1c87999e3d0e5603d2887ba6c76e0e 100755 (executable)
@@ -63,8 +63,8 @@ scan() {
                # The below set -f turns off file name globbing in the ${find_opts} expansion.
                for file in $(set -f ; find ${path}/ ${find_opts} \
                       ! -name '.*~' ! -iname '.*.bak' -print |
-                          sed -e "s:\(^.*/\)\(\._cfg[0-9]*_\)\(.*$\):\1\2\3\%\2\%\3:" |
-                          sort -t'%' -k3 -k2 | LANG=POSIX LC_ALL=POSIX cut -f1 -d'%'); do
+                          sed -e "s:\(^.*/\)\(\._cfg[0-9]*_\)\(.*$\):\1\2\3\%\1%\2\%\3:" |
+                          sort -t'%' -k2,2 -k4,4 -k3,3 | LANG=POSIX LC_ALL=POSIX cut -f1 -d'%'); do
 
                        rpath=$(echo "${file/\/\///}" | sed -e "s:/[^/]*$::")
                        rfile=$(echo "${file/\/\///}" | sed -e "s:^.*/::")