Package: release.debian.org Severity: normal Tags: d-i User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package grub2 Version -18 added a fix for #767037 (workaround for buggy EFI implementations) which included a new debconf template. -19 adds translations for the new template (including a wording fix to the English) and fixes two issues with that new funcitionality (one, #773092, is important, the other, #773004, is fairly minor but quite irritating in practice). I also added a README.source. Note that this upload does not include the upstream translation updates discussed in preapproval bug #773224, since there wasn't an obvious yes to that question. I've filtered the actual debian/po templates from the debdiff below ("filterdiff -p1 -x debian/po/\*"). diff -Nru grub2-2.02~beta2/debian/changelog grub2-2.02~beta2/debian/changelog --- grub2-2.02~beta2/debian/changelog 2014-12-08 08:38:41.000000000 +0000 +++ grub2-2.02~beta2/debian/changelog 2014-12-22 11:55:53.000000000 +0000 @@ -1,3 +1,45 @@ +grub2 (2.02~beta2-19) unstable; urgency=medium + + [ Steve McIntyre ] + * Handle case insensitivity of VFAT filesystem on /boot/EFI when installing + extra cpoy of grub-efi to the removable media path + /boot/efi/EFI/BOOT/BOOT$ARCH.EFI (Closes: #773092) + * Make the force_efi_extra_removable debconf prompt only show up when + configuring grub-*efi*. Closes: #773004 + + [ Ian Campbell ] + * Improvements to English wording of new debconf template from Justin B Rye. + * Add debian/README.source. + + [ Debconf translations ] + * [eu] Basque (Iñaki Larrañaga Murgoitio, Closes: #772946) + * [be] Belarusian (Viktar Siarheichyk, Closes: #773054) + * [pt_BR] Brazilian Portuguese (Adriano Rafael Gomes, Closes: #773682) + * [bg] Bulgarian (Damyan Ivanov, Closes: #772878) + * [cs] Czech (Miroslav Kure, Closes: #772924) + * [nl] Dutch (Frans Spiesschaert, Closes: 773637) + * [eo] Esperanto (Felipe Castro, Closes: #773096) + * [fi] Finish (Timo Jyrinki, Closes: #772921) + * [fr] French (Christian PERRIER, Closes: #772771) + * [de] German (Martin Eberhard Schauer, Closes: #773664) + * [el] Greek (Panagiotis Georgakopoulos, Closes: #773068) + * [he] Hebrew (Omer Zak, Closes: #773377) + * [is] Icelandic (Sveinn í Felli, Closes: #772922) + * [it] Italian (Luca Monducci, Closes: #773553) + * [kk] Kazakh (Baurzhan Muftakhidinov, Closes: #772916) + * [lt] Lithuanian (Rimas Kudelis, Closes: #773060) + * [pl] Polish (Łukasz Dulny, Closes: #772930) + * [ro] Romanian (Andrei POPESCU, Closes: #773349) + * [ru] Russian (Yuri Kozlov, Closes: #773211) + * [sl] Slovenian (Vanja Cvelbar, Closes: #773508) + * [es] Spanish (Manuel "Venturi" Porras Peralta, Closes: #773222) + * [sv] Swedish (Martin Bagge & Anders Jonsson, Closes: 773208) + * [th] Thai (Theppitak Karoonboonyanan, Closes: #773160) + * [zh_TW] Traditional Chinese (Vincent W. Chen, Closes: #773418) + * [tr] Turkish (Mert Dirik, Closes: #773666) + + -- Ian Campbell <i...@debian.org> Mon, 22 Dec 2014 11:55:33 +0000 + grub2 (2.02~beta2-18) unstable; urgency=medium [ Steve McIntyre ] diff -Nru grub2-2.02~beta2/debian/config.in grub2-2.02~beta2/debian/config.in --- grub2-2.02~beta2/debian/config.in 2014-12-07 16:41:50.000000000 +0000 +++ grub2-2.02~beta2/debian/config.in 2014-12-22 11:55:53.000000000 +0000 @@ -73,5 +73,9 @@ db_input ${priority} grub2/linux_cmdline || true db_input medium grub2/linux_cmdline_default || true -db_input low grub2/force_efi_extra_removable || true +case @PACKAGE@ in + grub-*efi*) + db_input low grub2/force_efi_extra_removable || true + ;; +esac db_go diff -Nru grub2-2.02~beta2/debian/.git-dpm grub2-2.02~beta2/debian/.git-dpm --- grub2-2.02~beta2/debian/.git-dpm 2014-12-08 08:38:08.000000000 +0000 +++ grub2-2.02~beta2/debian/.git-dpm 2014-12-22 11:55:53.000000000 +0000 @@ -1,6 +1,6 @@ # see git-dpm(1) from git-dpm package -dfcbcb60e5428bcb87ba96011c7b7ab1b7891fa1 -dfcbcb60e5428bcb87ba96011c7b7ab1b7891fa1 +617a691e4a95e67967ca8b0c77c59d347df182d6 +617a691e4a95e67967ca8b0c77c59d347df182d6 e8f07821cce1bd0ab6d5622c2a42440f15f4fd71 e8f07821cce1bd0ab6d5622c2a42440f15f4fd71 grub2_2.02~beta2.orig.tar.xz diff -Nru grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch --- grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch 2014-12-08 08:38:08.000000000 +0000 +++ grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch 2014-12-22 11:55:53.000000000 +0000 @@ -1,4 +1,4 @@ -From dfcbcb60e5428bcb87ba96011c7b7ab1b7891fa1 Mon Sep 17 00:00:00 2001 +From 617a691e4a95e67967ca8b0c77c59d347df182d6 Mon Sep 17 00:00:00 2001 From: Steve McIntyre <93...@debian.org> Date: Wed, 3 Dec 2014 01:25:12 +0000 Subject: Add support for forcing EFI installation to the removable media path @@ -12,17 +12,17 @@ Signed-off-by: Steve McIntyre <93...@debian.org> -Bug-Debian: https://bugs.debian.org/767037 +Bug-Debian: https://bugs.debian.org/767037 https://bugs.debian.org/773092 Forwarded: Not yet -Last-Update: 2014-12-03 +Last-Update: 2014-12-20 Patch-Name: grub-install-extra-removable.patch --- - util/grub-install.c | 46 ++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 44 insertions(+), 2 deletions(-) + util/grub-install.c | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 108 insertions(+), 2 deletions(-) diff --git a/util/grub-install.c b/util/grub-install.c -index 7a7734e..18015da 100644 +index 7a7734e..54fbd35 100644 --- a/util/grub-install.c +++ b/util/grub-install.c @@ -56,6 +56,7 @@ @@ -64,35 +64,99 @@ {0, 0, 0, 0, 0, 0} }; -@@ -829,6 +838,27 @@ fill_core_services (const char *core_services) +@@ -829,6 +838,91 @@ fill_core_services (const char *core_services) free (sysv_plist); } ++/* Helper routine for also_install_removable() below. Walk through the ++ specified dir, looking to see if there is a file/dir that matches ++ the search string exactly, but in a case-insensitive manner. If so, ++ return a copy of the exact file/dir that *does* exist. If not, ++ return NULL */ ++static char * ++check_component_exists(const char *dir, ++ const char *search) ++{ ++ grub_util_fd_dir_t d; ++ grub_util_fd_dirent_t de; ++ char *found = NULL; ++ ++ d = grub_util_fd_opendir (dir); ++ if (!d) ++ grub_util_error (_("cannot open directory `%s': %s"), ++ dir, grub_util_fd_strerror ()); ++ ++ while ((de = grub_util_fd_readdir (d))) ++ { ++ if (strcasecmp (de->d_name, search) == 0) ++ { ++ found = xstrdup (de->d_name); ++ break; ++ } ++ } ++ grub_util_fd_closedir (d); ++ return found; ++} ++ ++/* Some complex directory-handling stuff in here, to cope with ++ * case-insensitive FAT/VFAT filesystem semantics. Ugh. */ +static void -+also_install_removable(const char *src, const char *base_efidir, const char *efi_suffix_upper) ++also_install_removable(const char *src, ++ const char *base_efidir, ++ const char *efi_suffix_upper) +{ + char *efi_file = NULL; + char *dst = NULL; -+ char *dir = NULL; ++ char *cur = NULL; ++ char *found = NULL; + + if (!efi_suffix_upper) + grub_util_error ("%s", _("efi_suffix_upper not set")); + efi_file = xasprintf ("BOOT%s.EFI", efi_suffix_upper); + -+ dir = grub_util_path_concat (3, base_efidir, "EFI", "BOOT"); -+ grub_install_mkdir_p (dir); ++ /* We need to install in $base_efidir/EFI/BOOT/$efi_file, but we ++ * need to cope with case-insensitive stuff here. Build the path one ++ * component at a time, checking for existing matches each time. */ ++ ++ /* Look for "EFI" in base_efidir. Make it if it does not exist in ++ * some form. */ ++ found = check_component_exists(base_efidir, "EFI"); ++ if (found == NULL) ++ found = xstrdup("EFI"); ++ dst = grub_util_path_concat (2, base_efidir, found); ++ cur = xstrdup (dst); ++ free (dst); ++ free (found); ++ grub_install_mkdir_p (cur); + -+ dst = grub_util_path_concat (2, dir, efi_file); -+ grub_install_copy_file (src, dst, 1); ++ /* Now BOOT */ ++ found = check_component_exists(cur, "BOOT"); ++ if (found == NULL) ++ found = xstrdup("BOOT"); ++ dst = grub_util_path_concat (2, cur, found); ++ cur = xstrdup (dst); + free (dst); ++ free (found); ++ grub_install_mkdir_p (cur); ++ ++ /* Now $efi_file */ ++ found = check_component_exists(cur, efi_file); ++ if (found == NULL) ++ found = xstrdup(efi_file); ++ dst = grub_util_path_concat (2, cur, found); ++ cur = xstrdup (dst); ++ free (dst); ++ free (found); ++ grub_install_copy_file (src, cur, 1); ++ ++ free (cur); + free (efi_file); -+ free (dir); +} + int main (int argc, char *argv[]) { -@@ -846,6 +876,7 @@ main (int argc, char *argv[]) +@@ -846,6 +940,7 @@ main (int argc, char *argv[]) char *relative_grubdir; char **efidir_device_names = NULL; grub_device_t efidir_grub_dev = NULL; @@ -100,7 +164,7 @@ char *efidir_grub_devname; int efidir_is_mac = 0; int is_prep = 0; -@@ -878,6 +909,9 @@ main (int argc, char *argv[]) +@@ -878,6 +973,9 @@ main (int argc, char *argv[]) bootloader_id = xstrdup ("grub"); } @@ -110,7 +174,7 @@ if (!grub_install_source_directory) { if (!target) -@@ -1087,6 +1121,8 @@ main (int argc, char *argv[]) +@@ -1087,6 +1185,8 @@ main (int argc, char *argv[]) if (!efidir_is_mac && grub_strcmp (fs->name, "fat") != 0) grub_util_error (_("%s doesn't look like an EFI partition.\n"), efidir); @@ -119,7 +183,7 @@ /* The EFI specification requires that an EFI System Partition must contain an "EFI" subdirectory, and that OS loaders are stored in subdirectories below EFI. Vendors are expected to pick names that do -@@ -1949,9 +1985,15 @@ main (int argc, char *argv[]) +@@ -1949,9 +2049,15 @@ main (int argc, char *argv[]) fprintf (config_dst_f, "configfile $prefix/grub.cfg\n"); fclose (config_dst_f); free (config_dst); diff -Nru grub2-2.02~beta2/debian/po/ar.po grub2-2.02~beta2/debian/po/ar.po diff -Nru grub2-2.02~beta2/debian/po/ast.po grub2-2.02~beta2/debian/po/ast.po diff -Nru grub2-2.02~beta2/debian/po/be.po grub2-2.02~beta2/debian/po/be.po diff -Nru grub2-2.02~beta2/debian/po/bg.po grub2-2.02~beta2/debian/po/bg.po diff -Nru grub2-2.02~beta2/debian/po/ca.po grub2-2.02~beta2/debian/po/ca.po diff -Nru grub2-2.02~beta2/debian/po/cs.po grub2-2.02~beta2/debian/po/cs.po diff -Nru grub2-2.02~beta2/debian/po/cy.po grub2-2.02~beta2/debian/po/cy.po diff -Nru grub2-2.02~beta2/debian/po/da.po grub2-2.02~beta2/debian/po/da.po diff -Nru grub2-2.02~beta2/debian/po/de.po grub2-2.02~beta2/debian/po/de.po diff -Nru grub2-2.02~beta2/debian/po/dz.po grub2-2.02~beta2/debian/po/dz.po diff -Nru grub2-2.02~beta2/debian/po/el.po grub2-2.02~beta2/debian/po/el.po diff -Nru grub2-2.02~beta2/debian/po/eo.po grub2-2.02~beta2/debian/po/eo.po diff -Nru grub2-2.02~beta2/debian/po/es.po grub2-2.02~beta2/debian/po/es.po diff -Nru grub2-2.02~beta2/debian/po/eu.po grub2-2.02~beta2/debian/po/eu.po diff -Nru grub2-2.02~beta2/debian/po/fa.po grub2-2.02~beta2/debian/po/fa.po diff -Nru grub2-2.02~beta2/debian/po/fi.po grub2-2.02~beta2/debian/po/fi.po diff -Nru grub2-2.02~beta2/debian/po/fr.po grub2-2.02~beta2/debian/po/fr.po diff -Nru grub2-2.02~beta2/debian/po/gl.po grub2-2.02~beta2/debian/po/gl.po diff -Nru grub2-2.02~beta2/debian/po/gu.po grub2-2.02~beta2/debian/po/gu.po diff -Nru grub2-2.02~beta2/debian/po/he.po grub2-2.02~beta2/debian/po/he.po diff -Nru grub2-2.02~beta2/debian/po/hr.po grub2-2.02~beta2/debian/po/hr.po diff -Nru grub2-2.02~beta2/debian/po/hu.po grub2-2.02~beta2/debian/po/hu.po diff -Nru grub2-2.02~beta2/debian/po/id.po grub2-2.02~beta2/debian/po/id.po diff -Nru grub2-2.02~beta2/debian/po/is.po grub2-2.02~beta2/debian/po/is.po diff -Nru grub2-2.02~beta2/debian/po/it.po grub2-2.02~beta2/debian/po/it.po diff -Nru grub2-2.02~beta2/debian/po/ja.po grub2-2.02~beta2/debian/po/ja.po diff -Nru grub2-2.02~beta2/debian/po/ka.po grub2-2.02~beta2/debian/po/ka.po diff -Nru grub2-2.02~beta2/debian/po/kk.po grub2-2.02~beta2/debian/po/kk.po diff -Nru grub2-2.02~beta2/debian/po/km.po grub2-2.02~beta2/debian/po/km.po diff -Nru grub2-2.02~beta2/debian/po/ko.po grub2-2.02~beta2/debian/po/ko.po diff -Nru grub2-2.02~beta2/debian/po/lt.po grub2-2.02~beta2/debian/po/lt.po diff -Nru grub2-2.02~beta2/debian/po/lv.po grub2-2.02~beta2/debian/po/lv.po diff -Nru grub2-2.02~beta2/debian/po/mr.po grub2-2.02~beta2/debian/po/mr.po diff -Nru grub2-2.02~beta2/debian/po/nb.po grub2-2.02~beta2/debian/po/nb.po diff -Nru grub2-2.02~beta2/debian/po/nl.po grub2-2.02~beta2/debian/po/nl.po diff -Nru grub2-2.02~beta2/debian/po/pl.po grub2-2.02~beta2/debian/po/pl.po diff -Nru grub2-2.02~beta2/debian/po/pt_BR.po grub2-2.02~beta2/debian/po/pt_BR.po diff -Nru grub2-2.02~beta2/debian/po/pt.po grub2-2.02~beta2/debian/po/pt.po diff -Nru grub2-2.02~beta2/debian/po/ro.po grub2-2.02~beta2/debian/po/ro.po diff -Nru grub2-2.02~beta2/debian/po/ru.po grub2-2.02~beta2/debian/po/ru.po diff -Nru grub2-2.02~beta2/debian/po/si.po grub2-2.02~beta2/debian/po/si.po diff -Nru grub2-2.02~beta2/debian/po/sk.po grub2-2.02~beta2/debian/po/sk.po diff -Nru grub2-2.02~beta2/debian/po/sl.po grub2-2.02~beta2/debian/po/sl.po diff -Nru grub2-2.02~beta2/debian/po/sv.po grub2-2.02~beta2/debian/po/sv.po diff -Nru grub2-2.02~beta2/debian/po/ta.po grub2-2.02~beta2/debian/po/ta.po diff -Nru grub2-2.02~beta2/debian/po/templates.pot grub2-2.02~beta2/debian/po/templates.pot diff -Nru grub2-2.02~beta2/debian/po/th.po grub2-2.02~beta2/debian/po/th.po diff -Nru grub2-2.02~beta2/debian/po/tr.po grub2-2.02~beta2/debian/po/tr.po diff -Nru grub2-2.02~beta2/debian/po/ug.po grub2-2.02~beta2/debian/po/ug.po diff -Nru grub2-2.02~beta2/debian/po/uk.po grub2-2.02~beta2/debian/po/uk.po diff -Nru grub2-2.02~beta2/debian/po/vi.po grub2-2.02~beta2/debian/po/vi.po diff -Nru grub2-2.02~beta2/debian/po/zh_CN.po grub2-2.02~beta2/debian/po/zh_CN.po diff -Nru grub2-2.02~beta2/debian/po/zh_TW.po grub2-2.02~beta2/debian/po/zh_TW.po diff -Nru grub2-2.02~beta2/debian/README.source grub2-2.02~beta2/debian/README.source --- grub2-2.02~beta2/debian/README.source 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02~beta2/debian/README.source 2014-12-22 11:55:53.000000000 +0000 @@ -0,0 +1,42 @@ +Git Tree +======== + +The grub2 packaging is maintained via the pkg-grub project on alioth: +https://alioth.debian.org/projects/pkg-grub/ + +The primary git tree is pkg-grub/grub.git. It can be obtained with: + + git clone git://anonscm.debian.org/pkg-grub/grub.git + +Git Submodules +-------------- + +grub.git/debian/grub-extras is maintained as a git submodule. After +cloning the main repository you should run: + + git submodule update --init + +To initialise this tree. See git-submodule(1) for more info. + +If you are using a tool such as git-buildpackage(1) then you will need to tell +it explicitly that it needs to consider submodules, by passing the +--git-submodules option. + +Git Branches +------------ + +pkg-grub/grub.git uses git-dpm and contains the following branches: + +- upstream: + + The master branch of the upstream grub.git tree, at the point + corresponding to the current Debian package version. + +- master: + + The main packaging branch, based on upstream. debian/patches + maintained using git-dpm. + +- pristine-tar: + + pritine-tar metadata based on upstream (not upstream). diff -Nru grub2-2.02~beta2/debian/templates.in grub2-2.02~beta2/debian/templates.in --- grub2-2.02~beta2/debian/templates.in 2014-12-07 16:41:50.000000000 +0000 +++ grub2-2.02~beta2/debian/templates.in 2014-12-22 11:55:53.000000000 +0000 @@ -15,13 +15,14 @@ Template: grub2/force_efi_extra_removable Type: boolean Default: false -_Description: Force extra installation to the EFI removable path? +_Description: Force extra installation to the EFI removable media path? Some EFI-based systems are buggy and do not handle new bootloaders correctly. - If you force extra installation of GRUB to the EFI removable path, it should - make sure that this system will boot Debian correctly despite such a problem. - However, this may remove the ability to boot any other operating systems that - also depend on this path. If so, you will need to ensure that GRUB is - configured successfully to be able boot any other OS installations correctly. + If you force an extra installation of GRUB to the EFI removable media path, + this should ensure that this system will boot Debian correctly despite such a + problem. However, it may remove the ability to boot any other operating + systems that also depend on this path. If so, you will need to make sure that + GRUB is configured successfully to be able to boot any other OS installations + correctly. # still unused Template: grub2/kfreebsd_cmdline unblock grub2/2.02~beta2-19 -- System Information: Debian Release: 8.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386, armhf, armel Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Init: sysvinit (via /sbin/init) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org