Skip to contentSkip to conversation

Extend the code to ignore junk files

PATCH In review Lubomir Kundrak 4 participants 5 messages Apr 14, 2008 – Apr 17, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Extend the code to ignore junk files

Self-explainable. Make update-grub ignore rpm leftover files and VIM swap files.

2008-04-15 Lubomir Kundrak <[email protected]>

* util/update-grub.in: replace the junk file switch with unconditional call to grub_file_is_not_garbage
* util/update-grub_lib.in (grub_file_is_not_garbage): ignore also rpm leftover files and editor backup files

Signature · 1 line
Lubomir Kundrak (Red Hat Security Response Team)
util/update-grub.in +6 -12
diff -urp grub-1.96.orig/util/update-grub.in grub-1.96/util/update-grub.in
@@ -145,18 +145,12 @@ cat << EOF
 EOF
 
 for i in ${update_grub_dir}/* ; do
-  case "$i" in
-    # emacsen backup files. FIXME: support other editors
-    *~) ;;
-    *)
-      if grub_file_is_not_garbage "$i" && test -x "$i" ; then
-        echo
-        echo "### BEGIN $i ###"
-        "$i"
-        echo "### END $i ###"
-      fi
-    ;;
-  esac
+  if grub_file_is_not_garbage "$i" && test -x "$i" ; then
+    echo
+    echo "### BEGIN $i ###"
+    "$i"
+    echo "### END $i ###"
+  fi
 done
 
 # none of the children aborted with error, install the new grub.cfg
util/update-grub_lib.in +2 -0
diff -urp grub-1.96.orig/util/update-grub_lib.in grub-1.96/util/update-grub_lib.in
@@ -115,6 +115,8 @@ grub_file_is_not_garbage ()
   if test -f "$1" ; then
     case "$1" in
       *.dpkg-dist|*.dpkg-old|*.dpkg-tmp) return 1 ;; # debian dpkg
+      *.rpmnew|*.rpmsave) return 1 ;; # Fedora rpm
+      *.bak|*~|.*.swp) return 1 ;;    # backup and swap files from editors
     esac
   else
     return 1
#1 lore raw

util/update-grub_lib.in grub_file_is_not_garbage () · line 119

Quoted 8 lines · Lubomir Kundrak
util/update-grub_lib.in +2 -0
@@ -115,6 +115,8 @@ grub_file_is_not_garbage ()
   if test -f "$1" ; then
     case "$1" in
       *.dpkg-dist|*.dpkg-old|*.dpkg-tmp) return 1 ;; # debian dpkg
+      *.rpmnew|*.rpmsave) return 1 ;; # Fedora rpm
+      *.bak|*~|.*.swp) return 1 ;;    # backup and swap files from editors

This has the side-effect that Linux images whose name ends with ~ are excluded, which is probably not that uncommon. E.g. /boot/vmlinuz-2.6.24.foobar~

Is this really what we want?

Signature · 5 lines
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)
#2 lore raw
Quoted 11 lines · Robert Millan
Quoted 9 lines · Lubomir Kundrak

--- grub-1.96.orig/util/update-grub_lib.in 2008-04-15 00:16:12.000000000
+0200 +++ grub-1.96/util/update-grub_lib.in 2008-04-15 00:15:04.000000000
+0200 @@ -115,6 +115,8 @@ grub_file_is_not_garbage ()
if test -f "$1" ; then

     case "$1" in
       *.dpkg-dist|*.dpkg-old|*.dpkg-tmp) return 1 ;; # debian dpkg
(quoted diff) +2 -0
+      *.rpmnew|*.rpmsave) return 1 ;; # Fedora rpm
+      *.bak|*~|.*.swp) return 1 ;;    # backup and swap files from

editors

Quoted 5 lines

This has the side-effect that Linux images whose name ends with ~ are excluded, which is probably not that uncommon. E.g. /boot/vmlinuz-2.6.24.foobar~

Is this really what we want?

I don't know of any localversion policy requiring that the last character
not be a tilde character. However, I can say that 'fakeroot make-kpkg kernel_image' fails at the very last stage during making a .deb if the last character in the localversion ends in a tilde. i.e. you can't build a kernel "the Debian way" that has a localversion ending in a tilde.

dpkg-gencontrol: error: Illegal package name `linux-image-2.6.24.4-yee~' make[1]: *** [debian/linux-image-2.6.24.4-yee~] Error 255

But a localversion ending in a tilde is fine as far as the Linux 'make'
system is concerned, so the generic 'make install' method which is commonly used on many systems will still allow it.

-- Chris

Signature · 2 lines
Chris Knadle
[email protected]
#3 lore raw
Quoted 5 lines · Chris Knadle
Quoted 4 lines · Robert Millan

This has the side-effect that Linux images whose name ends with ~ are excluded, which is probably not that uncommon. E.g. /boot/vmlinuz-2.6.24.foobar~

Quoted 7 lines
Quoted 1 line

Is this really what we want?

I don't know of any localversion policy requiring that the last character
not be a tilde character. However, I can say that 'fakeroot make-kpkg kernel_image' fails at the very last stage during making a .deb if the last character in the localversion ends in a tilde. i.e. you can't build a kernel "the Debian way" that has a localversion ending in a tilde.

Let's remember a simple rule: "be liberal in what you accept and conservative in what you send". Unless we know that the tilde is used for junk (i.e. kernels that nobody would want to boot), let's accept it.

Signature · 2 lines
Regards,
Pavel Roskin
#4 lore raw
In reply to Chris Knadle
Quoted 12 lines · Chris Knadle
Quoted 11 lines · Robert Millan
Quoted 9 lines · Lubomir Kundrak

--- grub-1.96.orig/util/update-grub_lib.in 2008-04-15 00:16:12.000000000
+0200 +++ grub-1.96/util/update-grub_lib.in 2008-04-15 00:15:04.000000000
+0200 @@ -115,6 +115,8 @@ grub_file_is_not_garbage ()
if test -f "$1" ; then

     case "$1" in
       *.dpkg-dist|*.dpkg-old|*.dpkg-tmp) return 1 ;; # debian dpkg
(quoted diff) +2 -0
+      *.rpmnew|*.rpmsave) return 1 ;; # Fedora rpm
+      *.bak|*~|.*.swp) return 1 ;;    # backup and swap files from

editors

Quoted 5 lines
Quoted 5 lines

This has the side-effect that Linux images whose name ends with ~ are excluded, which is probably not that uncommon. E.g. /boot/vmlinuz-2.6.24.foobar~

Is this really what we want?

Not uncommon; well -- I've never seen that, nor heard about if as being a custom -- but it might be just that have not seen enough.

Quoted 2 lines

I don't know of any localversion policy requiring that the last character
not be a tilde character.

I think the localversion policy doesn't forbid the names ending with .dpkg-dist or .bak as well.

Quoted 7 lines

However, I can say that 'fakeroot make-kpkg
kernel_image' fails at the very last stage during making a .deb if the last character in the localversion ends in a tilde. i.e. you can't build a kernel "the Debian way" that has a localversion ending in a tilde.

dpkg-gencontrol: error: Illegal package name `linux-image-2.6.24.4-yee~' make[1]: *** [debian/linux-image-2.6.24.4-yee~] Error 255

I'm fairly sure rpm doesn't allow this too.

Signature · 1 line
Lubomir Kundrak (Red Hat Security Response Team)