Hi,

Please consider approving grub2 1.96+20080724-10.  debdiff attached.

Thanks!

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."
diff -u grub2-1.96+20080724/debian/changelog 
grub2-1.96+20080724/debian/changelog
--- grub2-1.96+20080724/debian/changelog
+++ grub2-1.96+20080724/debian/changelog
@@ -1,3 +1,14 @@
+grub2 (1.96+20080724-10) unstable; urgency=high
+
+  * patches/03_disable_floppies.diff: Free .drive struct member when skipping
+    floppy drives.  (Closes: #496040)
+  * patches/902_boot_blocklist_hack.diff: Support separate /boot when using
+    blocklists.  (Closes: #496820, #489287, #494589)
+  * patches/00_ntfs_insensitive.diff: They say NTFS is an insensitive fool.
+    It must be true! (use case insensitive match in NTFS) (Closes: #497889)
+
+ -- Robert Millan <[EMAIL PROTECTED]>  Sat,  6 Sep 2008 14:56:38 +0200
+
 grub2 (1.96+20080724-9) unstable; urgency=high
 
   [ Felix Zielcke ]
diff -u grub2-1.96+20080724/debian/patches/03_disable_floppies.diff 
grub2-1.96+20080724/debian/patches/03_disable_floppies.diff
--- grub2-1.96+20080724/debian/patches/03_disable_floppies.diff
+++ grub2-1.96+20080724/debian/patches/03_disable_floppies.diff
@@ -3,9 +3,11 @@
 
 An ugly kludge.  Should this be merged upstream?
 
---- util/biosdisk.c    2008-04-07 18:45:01.000000000 +0200
-+++ util/biosdisk.c    2008-04-10 10:52:32.000000000 +0200
-@@ -550,6 +550,16 @@ read_device_map (const char *dev_map)
+Index: util/biosdisk.c
+===================================================================
+--- util/biosdisk.c    (revision 1832)
++++ util/biosdisk.c    (working copy)
+@@ -544,6 +544,18 @@
          continue;
        }
  
@@ -14,6 +16,8 @@
 +        char *q = p + sizeof ("/dev/fd") - 1;
 +        if (*q >= '0' && *q <= '9')
 +          {
++            free (map[drive].drive);
++            map[drive].drive = NULL;
 +            grub_util_info ("`%s' looks like a floppy drive, skipping", p);
 +            continue;
 +          }
diff -u grub2-1.96+20080724/debian/legacy/update-grub 
grub2-1.96+20080724/debian/legacy/update-grub
--- grub2-1.96+20080724/debian/legacy/update-grub
+++ grub2-1.96+20080724/debian/legacy/update-grub
@@ -115,7 +115,7 @@
        if ! test -e ${device_map} ; then
                echo quit | grub --batch --no-floppy --device-map=${device_map} 
> /dev/null
        fi
-       grub-probe --device-map=${device_map} -t device $1
+       grub-probe --device-map=${device_map} -t device $1 2> /dev/null
 }
 
 # Usage: convert_raid1 os_device
@@ -152,7 +152,7 @@
        if ! test -e ${device_map} ; then
                echo quit | grub --batch --no-floppy --device-map=${device_map} 
> /dev/null
        fi
-       GRUB_LEGACY_0_BASED_PARTITIONS=1 grub-probe --device-map=${device_map} 
-t drive -d "$1"
+       GRUB_LEGACY_0_BASED_PARTITIONS=1 grub-probe --device-map=${device_map} 
-t drive -d "$1" 2> /dev/null
 }
 
 # Usage: convert_default os_device
@@ -196,7 +196,7 @@
 kernel_dir=`make_system_path_relative_to_its_root /boot`
 
 # the "-t abstraction" check is a workaround untill #484297 is fixed
-if abstraction=`grub-probe -t abstraction --device ${root_device}` && [ 
"$abstraction" = "" ] && \
+if abstraction=`grub-probe -t abstraction --device ${root_device} 2> 
/dev/null` && [ "$abstraction" = "" ] && \
     root_uuid=`grub-probe --device-map=${device_map} --device ${root_device} 
--target=fs_uuid 2> /dev/null` && \
     test -e "/dev/disk/by-uuid/${root_uuid}" ; then
   linux_root_device=UUID=${root_uuid}
only in patch2:
unchanged:
--- grub2-1.96+20080724.orig/debian/patches/902_boot_blocklist_hack.diff
+++ grub2-1.96+20080724/debian/patches/902_boot_blocklist_hack.diff
@@ -0,0 +1,20 @@
+Index: util/i386/pc/grub-setup.c
+===================================================================
+--- util/i386/pc/grub-setup.c  (revision 1836)
++++ util/i386/pc/grub-setup.c  (working copy)
+@@ -383,6 +383,15 @@
+       grub_disk_cache_invalidate_all ();
+       
+       file = grub_file_open (core_path_dev);
++
++      if (grub_errno == GRUB_ERR_FILE_NOT_FOUND)
++      {
++        /* Clean the previous grub_errno */
++        grub_errno = GRUB_ERR_NONE;
++        strcpy (core_path_dev, "/grub/core.img");
++        file = grub_file_open (core_path_dev);
++      }
++      
+       if (file)
+       {
+         if (grub_file_size (file) != core_size)
only in patch2:
unchanged:
--- grub2-1.96+20080724.orig/debian/patches/00_ntfs_insensitive.diff
+++ grub2-1.96+20080724/debian/patches/00_ntfs_insensitive.diff
@@ -0,0 +1,102 @@
+2008-09-05  Bean  <[EMAIL PROTECTED]>
+
+       * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
+
+       * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
+       insensitive bit for names in Win32 and Win32 & DOS namespace.
+
+       * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
+
+       * include/grub/types.h (LONG_MAX): Likewise.
+
+Index: fs/ntfs.c
+===================================================================
+--- fs/ntfs.c  (revision 1851)
++++ fs/ntfs.c  (revision 1852)
+@@ -575,13 +575,20 @@
+ 
+   while (1)
+     {
+-      char *ustr;
++      char *ustr, namespace;
++
+       if (pos[0xC] & 2)               /* end signature */
+       break;
+ 
+-      np = pos + 0x52;
+-      ns = (unsigned char) *(np - 2);
+-      if (ns)
++      np = pos + 0x50;
++      ns = (unsigned char) *(np++);
++      namespace = *(np++);
++
++      /*
++       *  Ignore files in DOS namespace, as they will reappear as Win32
++       *  names.
++       */
++      if ((ns) && (namespace != 2))
+       {
+         enum grub_fshelp_filetype type;
+         struct grub_ntfs_file *fdiro;
+@@ -610,6 +617,9 @@
+         *grub_utf16_to_utf8 ((grub_uint8_t *) ustr, (grub_uint16_t *) np,
+                              ns) = '\0';
+ 
++          if (namespace)
++            type |= GRUB_FSHELP_CASE_INSENSITIVE;
++
+         if (hook (ustr, type, fdiro))
+           {
+             grub_free (ustr);
+Index: fs/fshelp.c
+===================================================================
+--- fs/fshelp.c        (revision 1851)
++++ fs/fshelp.c        (revision 1852)
+@@ -80,14 +80,17 @@
+                                   enum grub_fshelp_filetype filetype,
+                                   grub_fshelp_node_t node)
+       {
+-        if (type == GRUB_FSHELP_UNKNOWN || grub_strcmp (name, filename))
++        if (filetype == GRUB_FSHELP_UNKNOWN ||
++              (grub_strcmp (name, filename) &&
++               (! (filetype & GRUB_FSHELP_CASE_INSENSITIVE) ||
++                grub_strncasecmp (name, filename, LONG_MAX))))
+           {
+             grub_free (node);
+             return 0;
+           }
+         
+         /* The node is found, stop iterating over the nodes.  */
+-        type = filetype;
++        type = filetype & ~GRUB_FSHELP_CASE_INSENSITIVE;
+         oldnode = currnode;
+         currnode = node;
+         
+Index: include/grub/types.h
+===================================================================
+--- include/grub/types.h       (revision 1851)
++++ include/grub/types.h       (revision 1852)
+@@ -94,8 +94,10 @@
+ 
+ #if GRUB_CPU_SIZEOF_VOID_P == 8
+ # define ULONG_MAX 18446744073709551615UL
++# define LONG_MAX 9223372036854775807UL
+ #else
+ # define ULONG_MAX 4294967295UL
++# define LONG_MAX 2147483647UL
+ #endif
+ 
+ /* The type for representing a file offset.  */
+Index: include/grub/fshelp.h
+===================================================================
+--- include/grub/fshelp.h      (revision 1851)
++++ include/grub/fshelp.h      (revision 1852)
+@@ -26,6 +26,8 @@
+ 
+ typedef struct grub_fshelp_node *grub_fshelp_node_t;
+ 
++#define GRUB_FSHELP_CASE_INSENSITIVE  0x100
++
+ enum grub_fshelp_filetype
+   {
+     GRUB_FSHELP_UNKNOWN,

Reply via email to