From c4e6bf30f65c46691abacfa6a1f618c0358a064f Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 12 Sep 2018 10:34:10 -0400 Subject: [PATCH] Some more bug fixes and just some general hygiene. Add 2 conditions to boot-success timer and service: Don't run it for system users Resolves: rhbz#1592201 Don't run it when pkexec isn't available Resolves: rhbz#1619445 Use -Wsign-compare -Wconversion -Wextra in the build. Related: rhbz#1624532 Related: rhbz#1626844 Signed-off-by: Peter Jones --- ...p-all-the-places-Wsign-compare-error.patch | 392 ++++++++++++++++++ ...gn-compare-Wno-conversion-Wno-error-.patch | 59 +++ ...s.timer-Add-a-few-Conditions-for-run.patch | 33 ++ grub.patches | 3 + grub2.spec | 10 +- 5 files changed, 496 insertions(+), 1 deletion(-) create mode 100644 0240-Attempt-to-fix-up-all-the-places-Wsign-compare-error.patch create mode 100644 0241-Don-t-use-Wno-sign-compare-Wno-conversion-Wno-error-.patch create mode 100644 0242-grub-boot-success.timer-Add-a-few-Conditions-for-run.patch diff --git a/0240-Attempt-to-fix-up-all-the-places-Wsign-compare-error.patch b/0240-Attempt-to-fix-up-all-the-places-Wsign-compare-error.patch new file mode 100644 index 0000000..fc0af79 --- /dev/null +++ b/0240-Attempt-to-fix-up-all-the-places-Wsign-compare-error.patch @@ -0,0 +1,392 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Tue, 11 Sep 2018 16:41:30 -0400 +Subject: [PATCH] Attempt to fix up all the places -Wsign-compare=error finds. + +Signed-off-by: Peter Jones +--- + grub-core/gnulib/regcomp.c | 4 ++-- + grub-core/gnulib/regex_internal.c | 6 +++--- + grub-core/gnulib/regexec.c | 20 ++++++++++---------- + grub-core/kern/emu/misc.c | 2 +- + grub-core/lib/reed_solomon.c | 4 ++-- + grub-core/osdep/linux/blocklist.c | 2 +- + grub-core/osdep/linux/getroot.c | 2 +- + grub-core/osdep/linux/hostdisk.c | 2 +- + util/grub-fstest.c | 2 +- + util/grub-menulst2cfg.c | 2 +- + util/grub-mkfont.c | 13 +++++++------ + util/grub-probe.c | 2 +- + util/grub-rpm-sort.c | 2 +- + util/setup.c | 2 +- + grub-core/gnulib/regex.h | 2 +- + grub-core/gnulib/regex_internal.h | 4 ++-- + 16 files changed, 36 insertions(+), 35 deletions(-) + +diff --git a/grub-core/gnulib/regcomp.c b/grub-core/gnulib/regcomp.c +index 596e0cf3ef7..e0ebd8d497a 100644 +--- a/grub-core/gnulib/regcomp.c ++++ b/grub-core/gnulib/regcomp.c +@@ -334,7 +334,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, + *p++ = dfa->nodes[node].opr.c; + memset (&state, '\0', sizeof (state)); + if (__mbrtowc (&wc, (const char *) buf, p - buf, +- &state) == p - buf ++ &state) == (size_t)(p - buf) + && (__wcrtomb ((char *) buf, towlower (wc), &state) + != (size_t) -1)) + re_set_fastmap (fastmap, false, buf[0]); +@@ -3760,7 +3760,7 @@ fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax) + || num == REG_ERROR) + ? REG_ERROR + : num == REG_MISSING +- ? c - '0' ++ ? (Idx)(c - '0') + : MIN (RE_DUP_MAX + 1, num * 10 + c - '0')); + } + return num; +diff --git a/grub-core/gnulib/regex_internal.c b/grub-core/gnulib/regex_internal.c +index 899b0ae67e1..836ea5d0ca7 100644 +--- a/grub-core/gnulib/regex_internal.c ++++ b/grub-core/gnulib/regex_internal.c +@@ -224,7 +224,7 @@ build_wcs_buffer (re_string_t *pstr) + /* Apply the translation if we need. */ + if (BE (pstr->trans != NULL, 0)) + { +- int i, ch; ++ unsigned int i, ch; + + for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) + { +@@ -367,7 +367,7 @@ build_wcs_upper_buffer (re_string_t *pstr) + prev_st = pstr->cur_state; + if (BE (pstr->trans != NULL, 0)) + { +- int i, ch; ++ unsigned int i, ch; + + for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) + { +@@ -751,7 +751,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) + memset (&cur_state, 0, sizeof (cur_state)); + mbclen = __mbrtowc (&wc2, (const char *) pp, mlen, + &cur_state); +- if (raw + offset - p <= mbclen ++ if ((size_t)(raw + offset - p) <= mbclen + && mbclen < (size_t) -2) + { + memset (&pstr->cur_state, '\0', +diff --git a/grub-core/gnulib/regexec.c b/grub-core/gnulib/regexec.c +index a7776f088f2..402a85c9c6a 100644 +--- a/grub-core/gnulib/regexec.c ++++ b/grub-core/gnulib/regexec.c +@@ -490,7 +490,7 @@ re_search_stub (struct re_pattern_buffer *bufp, + { + if (ret_len) + { +- assert (pmatch[0].rm_so == start); ++ assert (pmatch[0].rm_so == (long)start); + rval = pmatch[0].rm_eo - start; + } + else +@@ -928,11 +928,11 @@ re_search_internal (const regex_t *preg, + if (BE (mctx.input.offsets_needed != 0, 0)) + { + pmatch[reg_idx].rm_so = +- (pmatch[reg_idx].rm_so == mctx.input.valid_len ++ (pmatch[reg_idx].rm_so == (long)mctx.input.valid_len + ? mctx.input.valid_raw_len + : mctx.input.offsets[pmatch[reg_idx].rm_so]); + pmatch[reg_idx].rm_eo = +- (pmatch[reg_idx].rm_eo == mctx.input.valid_len ++ (pmatch[reg_idx].rm_eo == (long)mctx.input.valid_len + ? mctx.input.valid_raw_len + : mctx.input.offsets[pmatch[reg_idx].rm_eo]); + } +@@ -1472,11 +1472,11 @@ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, + } + memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); + +- for (idx = pmatch[0].rm_so; idx <= pmatch[0].rm_eo ;) ++ for (idx = pmatch[0].rm_so; idx <= (long)pmatch[0].rm_eo ;) + { + update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); + +- if (idx == pmatch[0].rm_eo && cur_node == mctx->last_node) ++ if (idx == (long)pmatch[0].rm_eo && cur_node == mctx->last_node) + { + Idx reg_idx; + if (fs) +@@ -1575,7 +1575,7 @@ update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, + if (reg_num < nmatch) + { + /* We are at the last node of this sub expression. */ +- if (pmatch[reg_num].rm_so < cur_idx) ++ if (pmatch[reg_num].rm_so < (long)cur_idx) + { + pmatch[reg_num].rm_eo = cur_idx; + /* This is a non-empty match or we are not inside an optional +@@ -3006,7 +3006,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, + mctx->state_log[str_idx] = cur_state; + } + +- for (null_cnt = 0; str_idx < last_str && null_cnt <= mctx->max_mb_elem_len;) ++ for (null_cnt = 0; str_idx < last_str && null_cnt <= (long)mctx->max_mb_elem_len;) + { + re_node_set_empty (&next_nodes); + if (mctx->state_log[str_idx + 1]) +@@ -3786,7 +3786,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, + const re_string_t *input, Idx str_idx) + { + const re_token_t *node = dfa->nodes + node_idx; +- int char_len, elem_len; ++ unsigned int char_len, elem_len; + Idx i; + + if (BE (node->type == OP_UTF8_PERIOD, 0)) +@@ -4144,7 +4144,7 @@ extend_buffers (re_match_context_t *mctx, int min_len) + /* Double the lengths of the buffers, but allocate at least MIN_LEN. */ + ret = re_string_realloc_buffers (pstr, + MAX (min_len, +- MIN (pstr->len, pstr->bufs_len * 2))); ++ MIN ((long)pstr->len, (long)(pstr->bufs_len * 2)))); + if (BE (ret != REG_NOERROR, 0)) + return ret; + +@@ -4316,7 +4316,7 @@ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from, + = (from == to ? -1 : 0); + + mctx->bkref_ents[mctx->nbkref_ents++].more = 0; +- if (mctx->max_mb_elem_len < to - from) ++ if (mctx->max_mb_elem_len < (long)(to - from)) + mctx->max_mb_elem_len = to - from; + return REG_NOERROR; + } +diff --git a/grub-core/kern/emu/misc.c b/grub-core/kern/emu/misc.c +index 3d3a4a4a975..9367caf763c 100644 +--- a/grub-core/kern/emu/misc.c ++++ b/grub-core/kern/emu/misc.c +@@ -175,7 +175,7 @@ grub_util_get_image_size (const char *path) + sz = ftello (f); + if (sz < 0) + grub_util_error (_("cannot open `%s': %s"), path, strerror (errno)); +- if (sz != (size_t) sz) ++ if (sz > (off_t)(GRUB_SIZE_MAX >> 1)) + grub_util_error (_("file `%s' is too big"), path); + ret = (size_t) sz; + +diff --git a/grub-core/lib/reed_solomon.c b/grub-core/lib/reed_solomon.c +index ee9fa7b4feb..19c20085279 100644 +--- a/grub-core/lib/reed_solomon.c ++++ b/grub-core/lib/reed_solomon.c +@@ -156,7 +156,7 @@ static void + rs_encode (gf_single_t *data, grub_size_t s, grub_size_t rs) + { + gf_single_t *rs_polynomial; +- int i, j; ++ unsigned int i, j; + gf_single_t *m; + m = xmalloc ((s + rs) * sizeof (gf_single_t)); + grub_memcpy (m, data, s * sizeof (gf_single_t)); +@@ -325,7 +325,7 @@ static void + encode_block (gf_single_t *ptr, grub_size_t s, + gf_single_t *rptr, grub_size_t rs) + { +- int i, j; ++ unsigned int i, j; + for (i = 0; i < SECTOR_SIZE; i++) + { + grub_size_t ds = (s + SECTOR_SIZE - 1 - i) / SECTOR_SIZE; +diff --git a/grub-core/osdep/linux/blocklist.c b/grub-core/osdep/linux/blocklist.c +index c77d6085ccb..42a315031ff 100644 +--- a/grub-core/osdep/linux/blocklist.c ++++ b/grub-core/osdep/linux/blocklist.c +@@ -109,7 +109,7 @@ grub_install_get_blocklist (grub_device_t root_dev, + else + { + struct fiemap *fie2; +- int i; ++ unsigned int i; + fie2 = xmalloc (sizeof (*fie2) + + fie1.fm_mapped_extents + * sizeof (fie1.fm_extents[1])); +diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c +index 4c5a13022dc..2b7a626d5ea 100644 +--- a/grub-core/osdep/linux/getroot.c ++++ b/grub-core/osdep/linux/getroot.c +@@ -236,7 +236,7 @@ grub_find_root_devices_from_btrfs (const char *dir) + { + int fd; + struct btrfs_ioctl_fs_info_args fsi; +- int i, j = 0; ++ unsigned int i, j = 0; + char **ret; + + fd = open (dir, 0); +diff --git a/grub-core/osdep/linux/hostdisk.c b/grub-core/osdep/linux/hostdisk.c +index 06179fca725..bee732c2133 100644 +--- a/grub-core/osdep/linux/hostdisk.c ++++ b/grub-core/osdep/linux/hostdisk.c +@@ -83,7 +83,7 @@ grub_util_get_fd_size_os (grub_util_fd_t fd, const char *name, unsigned *log_sec + if (sector_size & (sector_size - 1) || !sector_size) + return -1; + for (log_sector_size = 0; +- (1 << log_sector_size) < sector_size; ++ (1U << log_sector_size) < sector_size; + log_sector_size++); + + if (log_secsize) +diff --git a/util/grub-fstest.c b/util/grub-fstest.c +index a358ae47152..f82f9504054 100644 +--- a/util/grub-fstest.c ++++ b/util/grub-fstest.c +@@ -323,7 +323,7 @@ cmd_cmp (char *src, char *dest) + read_file (src, cmp_hook, ff); + + { +- grub_uint64_t pre; ++ long long pre; + pre = ftell (ff); + fseek (ff, 0, SEEK_END); + if (pre != ftell (ff)) +diff --git a/util/grub-menulst2cfg.c b/util/grub-menulst2cfg.c +index a39f8693947..358d604210b 100644 +--- a/util/grub-menulst2cfg.c ++++ b/util/grub-menulst2cfg.c +@@ -34,7 +34,7 @@ main (int argc, char **argv) + char *buf = NULL; + size_t bufsize = 0; + char *suffix = xstrdup (""); +- int suffixlen = 0; ++ size_t suffixlen = 0; + const char *out_fname = 0; + + grub_util_host_init (&argc, &argv); +diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c +index 0fe45a6103d..3e09240b99f 100644 +--- a/util/grub-mkfont.c ++++ b/util/grub-mkfont.c +@@ -138,7 +138,8 @@ add_glyph (struct grub_font_info *font_info, FT_UInt glyph_idx, FT_Face face, + int width, height; + int cuttop, cutbottom, cutleft, cutright; + grub_uint8_t *data; +- int mask, i, j, bitmap_size; ++ int mask, i, bitmap_size; ++ unsigned int j; + FT_GlyphSlot glyph; + int flag = FT_LOAD_RENDER | FT_LOAD_MONOCHROME; + FT_Error err; +@@ -183,7 +184,7 @@ add_glyph (struct grub_font_info *font_info, FT_UInt glyph_idx, FT_Face face, + cuttop = cutbottom = cutleft = cutright = 0; + else + { +- for (cuttop = 0; cuttop < glyph->bitmap.rows; cuttop++) ++ for (cuttop = 0; cuttop < (long)glyph->bitmap.rows; cuttop++) + { + for (j = 0; j < glyph->bitmap.width; j++) + if (glyph->bitmap.buffer[j / 8 + cuttop * glyph->bitmap.pitch] +@@ -203,10 +204,10 @@ add_glyph (struct grub_font_info *font_info, FT_UInt glyph_idx, FT_Face face, + break; + } + cutbottom = glyph->bitmap.rows - 1 - cutbottom; +- if (cutbottom + cuttop >= glyph->bitmap.rows) ++ if (cutbottom + cuttop >= (long)glyph->bitmap.rows) + cutbottom = 0; + +- for (cutleft = 0; cutleft < glyph->bitmap.width; cutleft++) ++ for (cutleft = 0; cutleft < (long)glyph->bitmap.width; cutleft++) + { + for (j = 0; j < glyph->bitmap.rows; j++) + if (glyph->bitmap.buffer[cutleft / 8 + j * glyph->bitmap.pitch] +@@ -225,7 +226,7 @@ add_glyph (struct grub_font_info *font_info, FT_UInt glyph_idx, FT_Face face, + break; + } + cutright = glyph->bitmap.width - 1 - cutright; +- if (cutright + cutleft >= glyph->bitmap.width) ++ if (cutright + cutleft >= (long)glyph->bitmap.width) + cutright = 0; + } + +@@ -262,7 +263,7 @@ add_glyph (struct grub_font_info *font_info, FT_UInt glyph_idx, FT_Face face, + + mask = 0; + data = &glyph_info->bitmap[0] - 1; +- for (j = cuttop; j < height + cuttop; j++) ++ for (j = cuttop; j < (long)height + cuttop; j++) + for (i = cutleft; i < width + cutleft; i++) + add_pixel (&data, &mask, + glyph->bitmap.buffer[i / 8 + j * glyph->bitmap.pitch] & +diff --git a/util/grub-probe.c b/util/grub-probe.c +index e45dbf9e049..e50bd43699d 100644 +--- a/util/grub-probe.c ++++ b/util/grub-probe.c +@@ -798,7 +798,7 @@ argp_parser (int key, char *arg, struct argp_state *state) + + case 't': + { +- int i; ++ unsigned int i; + + for (i = PRINT_FS; i < ARRAY_SIZE (targets); i++) + if (strcmp (arg, targets[i]) == 0) +diff --git a/util/grub-rpm-sort.c b/util/grub-rpm-sort.c +index f33bd1ed568..8345944105f 100644 +--- a/util/grub-rpm-sort.c ++++ b/util/grub-rpm-sort.c +@@ -232,7 +232,7 @@ main (int argc, char *argv[]) + struct arguments arguments; + char **package_names = NULL; + size_t n_package_names = 0; +- int i; ++ unsigned int i; + + grub_util_host_init (&argc, &argv); + +diff --git a/util/setup.c b/util/setup.c +index 9c1e1b7da6a..b0bb71eaaed 100644 +--- a/util/setup.c ++++ b/util/setup.c +@@ -407,7 +407,7 @@ SETUP (const char *dir, + int is_ldm; + grub_err_t err; + grub_disk_addr_t *sectors; +- int i; ++ unsigned int i; + grub_fs_t fs; + unsigned int nsec, maxsec; + +diff --git a/grub-core/gnulib/regex.h b/grub-core/gnulib/regex.h +index 854c6edaf75..9e754c637e6 100644 +--- a/grub-core/gnulib/regex.h ++++ b/grub-core/gnulib/regex.h +@@ -58,7 +58,7 @@ typedef size_t __re_long_size_t; + + /* The traditional GNU regex implementation mishandles strings longer + than INT_MAX. */ +-typedef int __re_idx_t; ++typedef unsigned int __re_idx_t; + typedef unsigned int __re_size_t; + typedef unsigned long int __re_long_size_t; + +diff --git a/grub-core/gnulib/regex_internal.h b/grub-core/gnulib/regex_internal.h +index c467b290708..c3103844eda 100644 +--- a/grub-core/gnulib/regex_internal.h ++++ b/grub-core/gnulib/regex_internal.h +@@ -399,7 +399,7 @@ struct re_string_t + unsigned char offsets_needed; + unsigned char newline_anchor; + unsigned char word_ops_used; +- int mb_cur_max; ++ unsigned int mb_cur_max; + }; + typedef struct re_string_t re_string_t; + +@@ -691,7 +691,7 @@ struct re_dfa_t + unsigned int is_utf8 : 1; + unsigned int map_notascii : 1; + unsigned int word_ops_used : 1; +- int mb_cur_max; ++ unsigned int mb_cur_max; + bitset_t word_char; + reg_syntax_t syntax; + Idx *subexp_map; diff --git a/0241-Don-t-use-Wno-sign-compare-Wno-conversion-Wno-error-.patch b/0241-Don-t-use-Wno-sign-compare-Wno-conversion-Wno-error-.patch new file mode 100644 index 0000000..dae1ea5 --- /dev/null +++ b/0241-Don-t-use-Wno-sign-compare-Wno-conversion-Wno-error-.patch @@ -0,0 +1,59 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Tue, 11 Sep 2018 15:59:39 -0400 +Subject: [PATCH] Don't use -Wno-sign-compare -Wno-conversion -Wno-error, do + use -Wextra. + +Signed-off-by: Peter Jones +--- + configure.ac | 14 +++++++++++--- + conf/Makefile.common | 2 +- + 2 files changed, 12 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 61c4683cb76..40fcf567ae7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1396,11 +1396,11 @@ fi + # Set them to their new values for the tests below. + CC="$TARGET_CC" + if test x"$platform" = xemu ; then +-CFLAGS="$TARGET_CFLAGS -Wno-error" ++CFLAGS="$TARGET_CFLAGS" + elif test "x$TARGET_APPLE_LINKER" = x1 ; then +-CFLAGS="$TARGET_CFLAGS -nostdlib -static -Wno-error" ++CFLAGS="$TARGET_CFLAGS -nostdlib -static" + else +-CFLAGS="$TARGET_CFLAGS -nostdlib -Wno-error" ++CFLAGS="$TARGET_CFLAGS -nostdlib" + fi + CPPFLAGS="$TARGET_CPPFLAGS" + +@@ -1975,6 +1975,14 @@ if test x"$enable_werror" != xno ; then + HOST_CFLAGS="$HOST_CFLAGS -Werror" + fi + ++AC_ARG_ENABLE([wextra], ++ [AS_HELP_STRING([--disable-wextra], ++ [do not use -Wextra when building GRUB])]) ++if test x"$enable_wextra" != xno ; then ++ TARGET_CFLAGS="$TARGET_CFLAGS -Wextra" ++ HOST_CFLAGS="$HOST_CFLAGS -Wextra" ++fi ++ + TARGET_CPP="$TARGET_CC -E" + TARGET_CCAS=$TARGET_CC + +diff --git a/conf/Makefile.common b/conf/Makefile.common +index b93879804c0..0d9910d7875 100644 +--- a/conf/Makefile.common ++++ b/conf/Makefile.common +@@ -66,7 +66,7 @@ grubconfdir = $(sysconfdir)/grub.d + platformdir = $(pkglibdir)/$(target_cpu)-$(platform) + starfielddir = $(pkgdatadir)/themes/starfield + +-CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion ++CFLAGS_GNULIB = -Wno-undef -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code + CPPFLAGS_GNULIB = -I$(top_builddir)/grub-core/gnulib -I$(top_srcdir)/grub-core/gnulib + + CFLAGS_POSIX = -fno-builtin diff --git a/0242-grub-boot-success.timer-Add-a-few-Conditions-for-run.patch b/0242-grub-boot-success.timer-Add-a-few-Conditions-for-run.patch new file mode 100644 index 0000000..4f82ba2 --- /dev/null +++ b/0242-grub-boot-success.timer-Add-a-few-Conditions-for-run.patch @@ -0,0 +1,33 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 3 Sep 2018 13:01:58 +0200 +Subject: [PATCH] grub-boot-success.timer: Add a few Conditions for running the + timer + +Add 2 Conditions for running the boot-success timer / service: + +1) Do not run it for system users, this fixes errors about gdm not being +allowed to use pkexec when the greeter session lasts for more then 2 minutes: +https://bugzilla.redhat.com/show_bug.cgi?id=1592201#c6 + +2) Do not run the timer when pkexec is not available (on minimal installs) +since then it will just lead to a bunch of errors without doing anything: +https://bugzilla.redhat.com/show_bug.cgi?id=1619445 + +Signed-off-by: Hans de Goede +--- + docs/grub-boot-success.timer | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/docs/grub-boot-success.timer b/docs/grub-boot-success.timer +index 221b532781b..67bd829b795 100644 +--- a/docs/grub-boot-success.timer ++++ b/docs/grub-boot-success.timer +@@ -1,5 +1,7 @@ + [Unit] + Description=Mark boot as successful after the user session has run 2 minutes ++ConditionUser=!@system ++ConditionPathExists=/usr/bin/pkexec + + [Timer] + OnActiveSec=2min diff --git a/grub.patches b/grub.patches index 62d24be..c19582e 100644 --- a/grub.patches +++ b/grub.patches @@ -237,3 +237,6 @@ Patch0236: 0236-Add-a-version-command.patch Patch0237: 0237-Add-more-dprintf-and-nerf-dprintf-in-script.c.patch Patch0238: 0238-arm-arm64-loader-Better-memory-allocation-and-error-.patch Patch0239: 0239-Try-to-pick-better-locations-for-kernel-and-initrd.patch +Patch0240: 0240-Attempt-to-fix-up-all-the-places-Wsign-compare-error.patch +Patch0241: 0241-Don-t-use-Wno-sign-compare-Wno-conversion-Wno-error-.patch +Patch0242: 0242-grub-boot-success.timer-Add-a-few-Conditions-for-run.patch diff --git a/grub2.spec b/grub2.spec index cebd206..f95ca91 100644 --- a/grub2.spec +++ b/grub2.spec @@ -7,7 +7,7 @@ Name: grub2 Epoch: 1 Version: 2.02 -Release: 57%{?dist} +Release: 58%{?dist} Summary: Bootloader with support for Linux, Multiboot and more Group: System Environment/Base License: GPLv3+ @@ -498,6 +498,14 @@ fi %endif %changelog +* Wed Sep 12 2018 Peter Jones - 2.02-58 +- Add 2 conditions to boot-success timer and service: + - Don't run it for system users + Resolves: rhbz#1592201 + - Don't run it when pkexec isn't available + Resolves: rhbz#1619445 +- Use -Wsign-compare -Wconversion -Wextra in the build. + * Tue Sep 11 2018 Peter Jones - 2.02-57 - Limit grub_malloc() on x86_64 to < 31bit addresses, as some devices seem to have a colossally broken storage controller (or UEFI driver) that can't do