Extend the code to ignore junk files
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
@@ -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
@@ -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
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 /.)
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" ; thencase "$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 fromeditors
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]
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-kpkgkernel_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
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" ; thencase "$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 fromeditors
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)