###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash51-$$(printf "%03d" "$${i}") || exit 1; \
done
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-paths-1.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-profile-1.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-3.2-ssh_source_bash.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-paths-1.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-profile-1.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-3.2-ssh_source_bash.patch
cd $(DIR_APP) && ./configure --prefix=$(PREFIX) $(CONFIGURE_OPTIONS)
cd $(DIR_APP) && make $(MAKETUNING)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@rm -rf $(DIR_APP) $(DIR_APP_EFI) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.04-BootHole.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.02_disable_vga_fallback.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.02_disable_vga_fallback.patch
cd $(DIR_APP) && autoreconf -vfi
# Install unifont
+++ /dev/null
-diff -Naur Python-2.7-org/setup.py Python-2.7/setup.py
---- Python-2.7-org/setup.py 2010-06-27 14:36:16.000000000 +0200
-+++ Python-2.7/setup.py 2010-07-13 22:23:04.000000000 +0200
-@@ -1125,7 +1125,7 @@
- 'ndbm'):
- ndbm_libs = ['ndbm']
- else:
-- ndbm_libs = []
-+ ndbm_libs = ['gdbm', 'gdbm_compat' ]
- print "building dbm using ndbm"
- dbmext = Extension('dbm', ['dbmmodule.c'],
- define_macros=[
-@@ -1140,7 +1140,7 @@
- if self.compiler.find_library_file(lib_dirs,
- 'gdbm_compat'):
- gdbm_libs.append('gdbm_compat')
-- if find_file("gdbm/ndbm.h", inc_dirs, []) is not None:
-+ if find_file("ndbm.h", inc_dirs, []) is not None:
- print "building dbm using gdbm"
- dbmext = Extension(
- 'dbm', ['dbmmodule.c'],
+++ /dev/null
-diff -Naur Python-2.7-org/setup.py Python-2.7/setup.py
---- Python-2.7-org/setup.py 2010-06-27 14:36:16.000000000 +0200
-+++ Python-2.7/setup.py 2010-07-13 22:23:04.000000000 +0200
-@@ -1125,7 +1125,7 @@
- 'ndbm'):
- ndbm_libs = ['ndbm']
- else:
-- ndbm_libs = []
-+ ndbm_libs = ['gdbm', 'gdbm_compat' ]
- print "building dbm using ndbm"
- dbmext = Extension('dbm', ['dbmmodule.c'],
- define_macros=[
-@@ -1140,7 +1140,7 @@
- if self.compiler.find_library_file(lib_dirs,
- 'gdbm_compat'):
- gdbm_libs.append('gdbm_compat')
-- if find_file("gdbm/ndbm.h", inc_dirs, []) is not None:
-+ if find_file("ndbm.h", inc_dirs, []) is not None:
- print "building dbm using gdbm"
- dbmext = Extension(
- 'dbm', ['dbmmodule.c'],
+++ /dev/null
-diff -Nur arm.vanilla/src/util/hostnames.py arm/src/util/hostnames.py
---- arm.vanilla/src/util/hostnames.py 2012-04-29 05:59:24.000000000 +0200
-+++ arm/src/util/hostnames.py 2013-07-31 17:59:19.245591564 +0200
-@@ -30,7 +30,6 @@
- import threading
- import itertools
- import Queue
--import distutils.sysconfig
-
- from util import log, sysTools
-
-@@ -264,7 +263,7 @@
- # 'socket.gethostbyaddr'. The following checks if the system has the
- # gethostbyname_r function, which determines if python resolutions can be
- # done in parallel or not. If so, this is preferable.
-- isSocketResolutionParallel = distutils.sysconfig.get_config_var("HAVE_GETHOSTBYNAME_R")
-+ isSocketResolutionParallel = True #distutils.sysconfig.get_config_var("HAVE_GETHOSTBYNAME_R")
- self.useSocketResolution = CONFIG["queries.hostnames.useSocketModule"] and isSocketResolutionParallel
-
- for _ in range(CONFIG["queries.hostnames.poolSize"]):
+++ /dev/null
-diff -Naur linux-3.14.76.org/arch/arm/mach-omap2/cclock3xxx_data.c linux-3.14.76/arch/arm/mach-omap2/cclock3xxx_data.c
---- linux-3.14.76.org/arch/arm/mach-omap2/cclock3xxx_data.c 2016-08-18 06:26:02.000000000 +0200
-+++ linux-3.14.76/arch/arm/mach-omap2/cclock3xxx_data.c 2016-08-18 06:37:51.442186995 +0200
-@@ -250,7 +250,7 @@
-
- static struct clk dpll1_ck;
-
--static struct clk_ops dpll1_ck_ops;
-+static clk_ops_no_const dpll1_ck_ops;
-
- static struct clk_ops dpll1_ck_ops_34xx __initdata = {
- .init = &omap2_init_clk_clkdm,
-diff -Naur linux-3.14.76.org/net/ipv6/addrconf.c linux-3.14.76/net/ipv6/addrconf.c
---- linux-3.14.76.org/net/ipv6/addrconf.c 2016-08-18 06:25:51.000000000 +0200
-+++ linux-3.14.76/net/ipv6/addrconf.c 2016-08-18 06:31:51.802186824 +0200
-@@ -4818,7 +4818,7 @@
- {
- struct inet6_dev *idev = ctl->extra1;
- int min_mtu = IPV6_MIN_MTU;
-- struct ctl_table lctl;
-+ ctl_table_no_const lctl;
-
- lctl = *ctl;
- lctl.extra1 = &min_mtu;
+++ /dev/null
-Submitted by: Alexander E. Patrakov
-Date: 2005-08-13
-Initial Package Version: 2.8.1
-Upstream Status: Unknown, but required for LSB >= 2.0 certification
-Origin: RedHat
-Description: Fixes treatment of whitespace in multibyte locales.
-
---- diffutils-2.8.4/src/diff.c.i18n 2002-06-17 01:55:42.000000000 -0400
-+++ diffutils-2.8.4/src/diff.c 2002-11-16 18:41:37.000000000 -0500
-@@ -275,6 +275,13 @@
- re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING);
- excluded = new_exclude ();
-
-+#ifdef HANDLE_MULTIBYTE
-+ if (MB_CUR_MAX > 1)
-+ lines_differ = lines_differ_multibyte;
-+ else
-+#endif
-+ lines_differ = lines_differ_singlebyte;
-+
- /* Decode the options. */
-
- while ((c = getopt_long (argc, argv, shortopts, longopts, 0)) != -1)
---- diffutils-2.8.4/src/diff.h.i18n 2002-11-16 18:31:32.000000000 -0500
-+++ diffutils-2.8.4/src/diff.h 2002-11-16 18:48:58.000000000 -0500
-@@ -23,6 +23,19 @@
- #include "system.h"
- #include <stdio.h>
-
-+/* For platform which support the ISO C amendement 1 functionality we
-+ support user defined character classes. */
-+#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H
-+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
-+# include <wchar.h>
-+# include <wctype.h>
-+# if defined (HAVE_MBRTOWC)
-+# define HANDLE_MULTIBYTE 1
-+# endif
-+#endif
-+
-+#define TAB_WIDTH 8
-+
- /* What kind of changes a hunk contains. */
- enum changes
- {
-@@ -350,7 +363,13 @@
- extern char const pr_program[];
- char *concat (char const *, char const *, char const *);
- char *dir_file_pathname (char const *, char const *);
--bool lines_differ (char const *, char const *);
-+
-+bool (*lines_differ) (char const *, char const *);
-+bool lines_differ_singlebyte (char const *, char const *);
-+#ifdef HANDLE_MULTIBYTE
-+bool lines_differ_multibyte (char const *, char const *);
-+#endif
-+
- lin translate_line_number (struct file_data const *, lin);
- struct change *find_change (struct change *);
- struct change *find_reverse_change (struct change *);
---- diffutils-2.8.4/src/io.c.i18n 2002-06-11 02:06:32.000000000 -0400
-+++ diffutils-2.8.4/src/io.c 2002-11-16 18:57:30.000000000 -0500
-@@ -26,6 +26,7 @@
- #include <regex.h>
- #include <setmode.h>
- #include <xalloc.h>
-+#include <assert.h>
-
- /* Rotate an unsigned value to the left. */
- #define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n)))
-@@ -213,6 +214,28 @@
- \f
- /* Split the file into lines, simultaneously computing the equivalence
- class for each line. */
-+#ifdef HANDLE_MULTIBYTE
-+# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL) \
-+do \
-+{ \
-+ mbstate_t state_bak = STATE; \
-+ \
-+ CONVFAIL = 0; \
-+ MBLENGTH = mbrtowc (&WC, P, END - (char const *)P, &STATE); \
-+ \
-+ switch (MBLENGTH) \
-+ { \
-+ case (size_t)-2: \
-+ case (size_t)-1: \
-+ STATE = state_bak; \
-+ ++CONVFAIL; \
-+ /* Fall through. */ \
-+ case 0: \
-+ MBLENGTH = 1; \
-+ } \
-+} \
-+while (0)
-+#endif
-
- static void
- find_and_hash_each_line (struct file_data *current)
-@@ -239,12 +262,280 @@
- bool same_length_diff_contents_compare_anyway =
- diff_length_compare_anyway | ignore_case;
-
-+#ifdef HANDLE_MULTIBYTE
-+ wchar_t wc;
-+ size_t mblength;
-+ mbstate_t state;
-+ int convfail;
-+
-+ memset (&state, '\0', sizeof (mbstate_t));
-+#endif
-+
- while ((char const *) p < suffix_begin)
- {
- char const *ip = (char const *) p;
-
- h = 0;
-+#ifdef HANDLE_MULTIBYTE
-+ if (MB_CUR_MAX > 1)
-+ {
-+ wchar_t lo_wc;
-+ char mbc[MB_LEN_MAX];
-+ mbstate_t state_wc;
-+
-+ /* Hash this line until we find a newline. */
-+ switch (ignore_white_space)
-+ {
-+ case IGNORE_ALL_SPACE:
-+ while (1)
-+ {
-+ if (*p == '\n')
-+ {
-+ ++p;
-+ break;
-+ }
-+
-+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+ if (convfail)
-+ mbc[0] = *p++;
-+ else if (!iswspace (wc))
-+ {
-+ bool flag = 0;
-+
-+ if (ignore_case)
-+ {
-+ lo_wc = towlower (wc);
-+ if (lo_wc != wc)
-+ {
-+ flag = 1;
-+
-+ p += mblength;
-+ memset (&state_wc, '\0', sizeof(mbstate_t));
-+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+ assert (mblength != (size_t)-1 &&
-+ mblength != (size_t)-2);
-+
-+ mblength = (mblength < 1) ? 1 : mblength;
-+ }
-+ }
-+
-+ if (!flag)
-+ {
-+ for (i = 0; i < mblength; i++)
-+ mbc[i] = *p++;
-+ }
-+ }
-+ else
-+ {
-+ p += mblength;
-+ continue;
-+ }
-+
-+ for (i = 0; i < mblength; i++)
-+ h = HASH (h, mbc[i]);
-+ }
-+ break;
-+
-+ case IGNORE_SPACE_CHANGE:
-+ while (1)
-+ {
-+ if (*p == '\n')
-+ {
-+ ++p;
-+ break;
-+ }
-
-+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+ if (!convfail && iswspace (wc))
-+ {
-+ while (1)
-+ {
-+ if (*p == '\n')
-+ {
-+ ++p;
-+ goto hashing_done;
-+ }
-+
-+ p += mblength;
-+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+ if (convfail || (!convfail && !iswspace (wc)))
-+ break;
-+ }
-+ h = HASH (h, ' ');
-+ }
-+
-+ /* WC is now the first non-space. */
-+ if (convfail)
-+ mbc[0] = *p++;
-+ else
-+ {
-+ bool flag = 0;
-+
-+ if (ignore_case)
-+ {
-+ lo_wc = towlower (wc);
-+ if (lo_wc != wc)
-+ {
-+ flag = 1;
-+
-+ p += mblength;
-+ memset (&state_wc, '\0', sizeof(mbstate_t));
-+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+ assert (mblength != (size_t)-1 &&
-+ mblength != (size_t)-2);
-+
-+ mblength = (mblength < 1) ? 1 : mblength;
-+ }
-+ }
-+
-+ if (!flag)
-+ {
-+ for (i = 0; i < mblength; i++)
-+ mbc[i] = *p++;
-+ }
-+ }
-+
-+ for (i = 0; i < mblength; i++)
-+ h = HASH (h, mbc[i]);
-+ }
-+ break;
-+
-+ case IGNORE_TAB_EXPANSION:
-+ {
-+ size_t column = 0;
-+
-+ while (1)
-+ {
-+ if (*p == '\n')
-+ {
-+ ++p;
-+ break;
-+ }
-+
-+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+ if (convfail)
-+ {
-+ h = HASH (h, *p++);
-+ ++column;
-+ }
-+ else
-+ {
-+ bool flag;
-+
-+ switch (wc)
-+ {
-+ case L'\b':
-+ column -= 0 < column;
-+ h = HASH (h, '\b');
-+ ++p;
-+ break;
-+
-+ case L'\t':
-+ {
-+ int repetitions;
-+
-+ repetitions = TAB_WIDTH - column % TAB_WIDTH;
-+ column += repetitions;
-+ do
-+ h = HASH (h, ' ');
-+ while (--repetitions != 0);
-+ ++p;
-+ }
-+ break;
-+
-+ case L'\r':
-+ column = 0;
-+ h = HASH (h, '\r');
-+ ++p;
-+ break;
-+
-+ default:
-+ flag = 0;
-+ column += wcwidth (wc);
-+ if (ignore_case)
-+ {
-+ lo_wc = towlower (wc);
-+ if (lo_wc != wc)
-+ {
-+ flag = 1;
-+ p += mblength;
-+ memset (&state_wc, '\0', sizeof(mbstate_t));
-+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+ assert (mblength != (size_t)-1 &&
-+ mblength != (size_t)-2);
-+
-+ mblength = (mblength < 1) ? 1 : mblength;
-+ }
-+ }
-+
-+ if (!flag)
-+ {
-+ for (i = 0; i < mblength; i++)
-+ mbc[i] = *p++;
-+ }
-+
-+ for (i = 0; i < mblength; i++)
-+ h = HASH (h, mbc[i]);
-+ }
-+ }
-+ }
-+ }
-+ break;
-+
-+ default:
-+ while (1)
-+ {
-+ if (*p == '\n')
-+ {
-+ ++p;
-+ break;
-+ }
-+
-+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+ if (convfail)
-+ mbc[0] = *p++;
-+ else
-+ {
-+ int flag = 0;
-+
-+ if (ignore_case)
-+ {
-+ lo_wc = towlower (wc);
-+ if (lo_wc != wc)
-+ {
-+ flag = 1;
-+ p += mblength;
-+ memset (&state_wc, '\0', sizeof(mbstate_t));
-+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+ assert (mblength != (size_t)-1 &&
-+ mblength != (size_t)-2);
-+
-+ mblength = (mblength < 1) ? 1 : mblength;
-+ }
-+ }
-+
-+ if (!flag)
-+ {
-+ for (i = 0; i < mblength; i++)
-+ mbc[i] = *p++;
-+ }
-+ }
-+
-+ for (i = 0; i < mblength; i++)
-+ h = HASH (h, mbc[i]);
-+ }
-+ }
-+ }
-+ else
-+#endif
- /* Hash this line until we find a newline. */
- if (ignore_case)
- switch (ignore_white_space)
---- diffutils-2.8.4/src/side.c.i18n 2002-06-11 02:06:32.000000000 -0400
-+++ diffutils-2.8.4/src/side.c 2002-11-16 18:41:37.000000000 -0500
-@@ -73,11 +73,72 @@
- register size_t out_position = 0;
- register char const *text_pointer = line[0];
- register char const *text_limit = line[1];
-+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
-+ unsigned char mbc[MB_LEN_MAX];
-+ wchar_t wc;
-+ mbstate_t state, state_bak;
-+ size_t mbc_pos, mblength;
-+ int mbc_loading_flag = 0;
-+ int wc_width;
-+
-+ memset (&state, '\0', sizeof (mbstate_t));
-+#endif
-
- while (text_pointer < text_limit)
- {
- register unsigned char c = *text_pointer++;
-
-+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
-+ if (MB_CUR_MAX > 1 && mbc_loading_flag)
-+ {
-+ mbc_loading_flag = 0;
-+ state_bak = state;
-+ mbc[mbc_pos++] = c;
-+
-+process_mbc:
-+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
-+
-+ switch (mblength)
-+ {
-+ case (size_t)-2: /* Incomplete multibyte character. */
-+ mbc_loading_flag = 1;
-+ state = state_bak;
-+ break;
-+
-+ case (size_t)-1: /* Invalid as a multibyte character. */
-+ if (in_position++ < out_bound)
-+ {
-+ out_position = in_position;
-+ putc (mbc[0], out);
-+ }
-+ memmove (mbc, mbc + 1, --mbc_pos);
-+ if (mbc_pos > 0)
-+ {
-+ mbc[mbc_pos] = '\0';
-+ goto process_mbc;
-+ }
-+ break;
-+
-+ default:
-+ wc_width = wcwidth (wc);
-+ if (wc_width < 1) /* Unprintable multibyte character. */
-+ {
-+ if (in_position <= out_bound)
-+ fprintf (out, "%lc", (wint_t)wc);
-+ }
-+ else /* Printable multibyte character. */
-+ {
-+ in_position += wc_width;
-+ if (in_position <= out_bound)
-+ {
-+ out_position = in_position;
-+ fprintf (out, "%lc", (wint_t)wc);
-+ }
-+ }
-+ }
-+ continue;
-+ }
-+#endif
- switch (c)
- {
- case '\t':
-@@ -135,8 +196,39 @@
- break;
-
- default:
-- if (! ISPRINT (c))
-- goto control_char;
-+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
-+ if (MB_CUR_MAX > 1)
-+ {
-+ memset (mbc, '\0', MB_LEN_MAX);
-+ mbc_pos = 0;
-+ mbc[mbc_pos++] = c;
-+ state_bak = state;
-+
-+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
-+
-+ /* The value of mblength is always less than 2 here. */
-+ switch (mblength)
-+ {
-+ case (size_t)-2: /* Incomplete multibyte character. */
-+ state = state_bak;
-+ mbc_loading_flag = 1;
-+ continue;
-+
-+ case (size_t)-1: /* Invalid as a multibyte character. */
-+ state = state_bak;
-+ break;
-+
-+ default:
-+ if (! iswprint (wc))
-+ goto control_char;
-+ }
-+ }
-+ else
-+#endif
-+ {
-+ if (! ISPRINT (c))
-+ goto control_char;
-+ }
- /* falls through */
- case ' ':
- if (in_position++ < out_bound)
---- diffutils-2.8.4/src/util.c.i18n 2002-06-11 02:06:32.000000000 -0400
-+++ diffutils-2.8.4/src/util.c 2002-11-16 18:41:37.000000000 -0500
-@@ -321,7 +321,7 @@
- Return nonzero if the lines differ. */
-
- bool
--lines_differ (char const *s1, char const *s2)
-+lines_differ_singlebyte (char const *s1, char const *s2)
- {
- register unsigned char const *t1 = (unsigned char const *) s1;
- register unsigned char const *t2 = (unsigned char const *) s2;
-@@ -450,6 +450,293 @@
-
- return 1;
- }
-+
-+#ifdef HANDLE_MULTIBYTE
-+# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL) \
-+do \
-+{ \
-+ mbstate_t bak = STATE; \
-+ \
-+ CONVFAIL = 0; \
-+ MBLENGTH = mbrtowc (&WC, T, END - T, &STATE); \
-+ \
-+ switch (MBLENGTH) \
-+ { \
-+ case (size_t)-2: \
-+ case (size_t)-1: \
-+ STATE = bak; \
-+ ++CONVFAIL; \
-+ /* Fall through. */ \
-+ case 0: \
-+ MBLENGTH = 1; \
-+ } \
-+} \
-+while (0)
-+
-+bool
-+lines_differ_multibyte (char const *s1, char const *s2)
-+{
-+ unsigned char const *end1, *end2;
-+ unsigned char c1, c2;
-+ wchar_t wc1, wc2, wc1_bak, wc2_bak;
-+ size_t mblen1, mblen2;
-+ mbstate_t state1, state2, state1_bak, state2_bak;
-+ int convfail1, convfail2, convfail1_bak, convfail2_bak;
-+
-+ unsigned char const *t1 = (unsigned char const *) s1;
-+ unsigned char const *t2 = (unsigned char const *) s2;
-+ unsigned char const *t1_bak, *t2_bak;
-+ size_t column = 0;
-+
-+ if (ignore_white_space == IGNORE_NO_WHITE_SPACE && !ignore_case)
-+ {
-+ while (*t1 != '\n')
-+ if (*t1++ != * t2++)
-+ return 1;
-+ return 0;
-+ }
-+
-+ memset (&state1, '\0', sizeof (mbstate_t));
-+ memset (&state2, '\0', sizeof (mbstate_t));
-+
-+ end1 = s1 + strlen (s1);
-+ end2 = s2 + strlen (s2);
-+
-+ while (1)
-+ {
-+ c1 = *t1;
-+ c2 = *t2;
-+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+
-+ /* Test for exact char equality first, since it's a common case. */
-+ if (convfail1 ^ convfail2)
-+ break;
-+ else if (convfail1 && convfail2 && c1 != c2)
-+ break;
-+ else if (!convfail1 && !convfail2 && wc1 != wc2)
-+ {
-+ switch (ignore_white_space)
-+ {
-+ case IGNORE_ALL_SPACE:
-+ /* For -w, just skip past any white space. */
-+ while (1)
-+ {
-+ if (convfail1)
-+ break;
-+ else if (wc1 == L'\n' || !iswspace (wc1))
-+ break;
-+
-+ t1 += mblen1;
-+ c1 = *t1;
-+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+ }
-+
-+ while (1)
-+ {
-+ if (convfail2)
-+ break;
-+ else if (wc2 == L'\n' || !iswspace (wc2))
-+ break;
-+
-+ t2 += mblen2;
-+ c2 = *t2;
-+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+ }
-+ t1 += mblen1;
-+ t2 += mblen2;
-+ break;
-+
-+ case IGNORE_SPACE_CHANGE:
-+ /* For -b, advance past any sequence of white space in
-+ line 1 and consider it just one space, or nothing at
-+ all if it is at the end of the line. */
-+ if (wc1 != L'\n' && iswspace (wc1))
-+ {
-+ size_t mblen_bak;
-+ mbstate_t state_bak;
-+
-+ do
-+ {
-+ t1 += mblen1;
-+ mblen_bak = mblen1;
-+ state_bak = state1;
-+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+ }
-+ while (!convfail1 && (wc1 != L'\n' && iswspace (wc1)));
-+
-+ state1 = state_bak;
-+ mblen1 = mblen_bak;
-+ t1 -= mblen1;
-+ convfail1 = 0;
-+ wc1 = L' ';
-+ }
-+
-+ /* Likewise for line 2. */
-+ if (wc2 != L'\n' && iswspace (wc2))
-+ {
-+ size_t mblen_bak;
-+ mbstate_t state_bak;
-+
-+ do
-+ {
-+ t2 += mblen2;
-+ mblen_bak = mblen2;
-+ state_bak = state2;
-+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+ }
-+ while (!convfail2 && (wc2 != L'\n' && iswspace (wc2)));
-+
-+ state2 = state_bak;
-+ mblen2 = mblen_bak;
-+ t2 -= mblen2;
-+ convfail2 = 0;
-+ wc2 = L' ';
-+ }
-+
-+ if (wc1 != wc2)
-+ {
-+ if (wc2 == L' ' && wc1 != L'\n' &&
-+ t1 > (unsigned char const *)s1 &&
-+ !convfail1_bak && iswspace (wc1_bak))
-+ {
-+ t1 = t1_bak;
-+ wc1 = wc1_bak;
-+ state1 = state1_bak;
-+ convfail1 = convfail1_bak;
-+ continue;
-+ }
-+ if (wc1 == L' ' && wc2 != L'\n'
-+ && t2 > (unsigned char const *)s2
-+ && !convfail2_bak && iswspace (wc2_bak))
-+ {
-+ t2 = t2_bak;
-+ wc2 = wc2_bak;
-+ state2 = state2_bak;
-+ convfail2 = convfail2_bak;
-+ continue;
-+ }
-+ }
-+
-+ t1_bak = t1; t2_bak = t2;
-+ wc1_bak = wc1; wc2_bak = wc2;
-+ state1_bak = state1; state2_bak = state2;
-+ convfail1_bak = convfail1; convfail2_bak = convfail2;
-+
-+ if (wc1 == L'\n')
-+ wc1 = L' ';
-+ else
-+ t1 += mblen1;
-+
-+ if (wc2 == L'\n')
-+ wc2 = L' ';
-+ else
-+ t2 += mblen2;
-+
-+ break;
-+
-+ case IGNORE_TAB_EXPANSION:
-+ if ((wc1 == L' ' && wc2 == L'\t')
-+ || (wc1 == L'\t' && wc2 == L' '))
-+ {
-+ size_t column2 = column;
-+
-+ while (1)
-+ {
-+ if (convfail1)
-+ {
-+ ++t1;
-+ break;
-+ }
-+ else if (wc1 == L' ')
-+ column++;
-+ else if (wc1 == L'\t')
-+ column += TAB_WIDTH - column % TAB_WIDTH;
-+ else
-+ {
-+ t1 += mblen1;
-+ break;
-+ }
-+
-+ t1 += mblen1;
-+ c1 = *t1;
-+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+ }
-+
-+ while (1)
-+ {
-+ if (convfail2)
-+ {
-+ ++t2;
-+ break;
-+ }
-+ else if (wc2 == L' ')
-+ column2++;
-+ else if (wc2 == L'\t')
-+ column2 += TAB_WIDTH - column2 % TAB_WIDTH;
-+ else
-+ {
-+ t2 += mblen2;
-+ break;
-+ }
-+
-+ t2 += mblen2;
-+ c2 = *t2;
-+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+ }
-+
-+ if (column != column2)
-+ return 1;
-+ }
-+ else
-+ {
-+ t1 += mblen1;
-+ t2 += mblen2;
-+ }
-+ break;
-+
-+ case IGNORE_NO_WHITE_SPACE:
-+ t1 += mblen1;
-+ t2 += mblen2;
-+ break;
-+ }
-+
-+ /* Lowercase all letters if -i is specified. */
-+ if (ignore_case)
-+ {
-+ if (!convfail1)
-+ wc1 = towlower (wc1);
-+ if (!convfail2)
-+ wc2 = towlower (wc2);
-+ }
-+
-+ if (convfail1 ^ convfail2)
-+ break;
-+ else if (convfail1 && convfail2 && c1 != c2)
-+ break;
-+ else if (!convfail1 && !convfail2 && wc1 != wc2)
-+ break;
-+ }
-+ else
-+ {
-+ t1_bak = t1; t2_bak = t2;
-+ wc1_bak = wc1; wc2_bak = wc2;
-+ state1_bak = state1; state2_bak = state2;
-+ convfail1_bak = convfail1; convfail2_bak = convfail2;
-+
-+ t1 += mblen1; t2 += mblen2;
-+ }
-+
-+ if (!convfail1 && wc1 == L'\n')
-+ return 0;
-+
-+ column += convfail1 ? 1 :
-+ (wc1 == L'\t') ? TAB_WIDTH - column % TAB_WIDTH : wcwidth (wc1);
-+ }
-+
-+ return 1;
-+}
-+#endif
- \f
- /* Find the consecutive changes at the start of the script START.
- Return the last link before the first gap. */
+++ /dev/null
-Don't read phy_idle_errors at dev_get_stats() because this can
-hung the userspace.
-
-https://sourceforge.net/p/e1000/bugs/500/
-Why this is set to wont-fix?
-
-I think it is better when phy errors are not reportet in the stats
-than a random hanging of the whole sytem.
-
-diff -Naur igb-5.3.4.4.org/src/igb_main.c igb-5.3.4.4/src/igb_main.c
---- igb-5.3.4.4.org/src/igb_main.c 2016-02-26 01:48:39.000000000 +0100
-+++ igb-5.3.4.4/src/igb_main.c 2016-03-31 09:22:10.671794282 +0200
-@@ -6032,14 +6032,14 @@
-
- /* Tx Dropped needs to be maintained elsewhere */
-
-- /* Phy Stats */
-- if (hw->phy.media_type == e1000_media_type_copper) {
-- if ((adapter->link_speed == SPEED_1000) &&
-- (!e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_tmp))) {
-- phy_tmp &= PHY_IDLE_ERROR_COUNT_MASK;
-- adapter->phy_stats.idle_errors += phy_tmp;
-- }
-- }
-+// /* Phy Stats */
-+// if (hw->phy.media_type == e1000_media_type_copper) {
-+// if ((adapter->link_speed == SPEED_1000) &&
-+// (!e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_tmp))) {
-+// phy_tmp &= PHY_IDLE_ERROR_COUNT_MASK;
-+// adapter->phy_stats.idle_errors += phy_tmp;
-+// }
-+// }
-
- /* Management Stats */
- adapter->stats.mgptc += E1000_READ_REG(hw, E1000_MGTPTC);
+++ /dev/null
-Submitted By: Alexander E. Patrakov
-Date: 2005-05-16
-Initial Package Version: 1.12
-Upstream Status: Not submitted, possibly incomplete
-Description: Makes Backspace and Delete keys consistent in all i386 keymaps.
-Obsoletes the /etc/kbd/bs-sends-del file for i386.
-
-diff -urN kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-l.map kbd-1.12/data/keymaps/i386/dvorak/dvorak-l.map
---- kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-l.map 2002-10-11 17:08:51.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/dvorak/dvorak-l.map 2005-05-16 19:54:48.000000000 +0600
-@@ -43,7 +43,7 @@
- keycode 11 = three numbersign
- keycode 12 = two at
- keycode 13 = one exclam
-- keycode 14 = BackSpace Delete
-+ keycode 14 = Delete Delete
- ! --------------------------------------------------------------------------
- ! Row 3
- ! --------------------------------------------------------------------------
-diff -urN kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-r.map kbd-1.12/data/keymaps/i386/dvorak/dvorak-r.map
---- kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-r.map 2002-10-11 17:08:51.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/dvorak/dvorak-r.map 2005-05-16 19:54:48.000000000 +0600
-@@ -43,7 +43,7 @@
- keycode 11 = slash question
- keycode 12 = bracketleft braceleft
- keycode 13 = bracketright braceright
-- keycode 14 = BackSpace Delete
-+ keycode 14 = Delete Delete
- ! --------------------------------------------------------------------------
- ! Row 3
- ! --------------------------------------------------------------------------
-diff -urN kbd-1.12.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map kbd-1.12/data/keymaps/i386/fgGIod/tr_f-latin5.map
---- kbd-1.12.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map 2002-10-13 06:21:12.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/fgGIod/tr_f-latin5.map 2005-05-16 19:54:48.000000000 +0600
-@@ -51,7 +51,7 @@
- alt keycode 12 = Meta_minus
- keycode 13 = minus underscore
- alt keycode 13 = Meta_equal
--keycode 14 = BackSpace Delete
-+keycode 14 = Delete Delete
- alt keycode 14 = Meta_Delete
- keycode 15 = Tab Tab
- alt keycode 15 = Meta_Tab
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/lt.l4.map kbd-1.12/data/keymaps/i386/qwerty/lt.l4.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/lt.l4.map 2002-10-13 05:59:51.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/lt.l4.map 2005-05-16 19:54:48.000000000 +0600
-@@ -205,7 +205,7 @@
- # edit this if you want the key above <Enter> to delete symbols above
- # cursor, not before.
- keycode 14 = \
-- BackSpace BackSpace BackSpace BackSpace \
-+ Delete Delete Delete Delete \
- Delete Delete Delete Delete \
- Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace \
- Meta_Delete Meta_Delete Meta_Delete Meta_Delete
-@@ -506,7 +506,7 @@
-
- # Edit this if you want strict VT100 emulation.
- string F111 = "\033[3$"
--keycode 111 = Delete F111 Delete F111 \
-+keycode 111 = Remove F111 Remove F111 \
- Remove Remove Remove Remove \
- Meta_Delete Meta_Delete Meta_Delete Meta_Delete \
- Boot Boot Boot Boot
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/lt.map kbd-1.12/data/keymaps/i386/qwerty/lt.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/lt.map 2002-10-13 06:00:25.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/lt.map 2005-05-16 19:54:48.000000000 +0600
-@@ -204,7 +204,7 @@
- # edit this if you want the key above <Enter> to delete symbols above
- # cursor, not before.
- keycode 14 = \
-- BackSpace BackSpace BackSpace BackSpace \
-+ Delete Delete Delete Delete \
- Delete Delete Delete Delete \
- Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace \
- Meta_Delete Meta_Delete Meta_Delete Meta_Delete
-@@ -505,7 +505,7 @@
-
- # Edit this if you want strict VT100 emulation.
- string F111 = "\033[3$"
--keycode 111 = Delete F111 Delete F111 \
-+keycode 111 = Remove F111 Remove F111 \
- Remove Remove Remove Remove \
- Meta_Delete Meta_Delete Meta_Delete Meta_Delete \
- Boot Boot Boot Boot
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/no-latin1.map kbd-1.12/data/keymaps/i386/qwerty/no-latin1.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/no-latin1.map 2002-10-11 17:08:49.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/no-latin1.map 2005-05-16 19:54:48.000000000 +0600
-@@ -3,7 +3,7 @@
- # Send comments to Kjetil T. Homme <kjetilho@ifi.uio.no>
- include "linux-with-alt-and-altgr"
- plain keycode 83 = KP_Comma
-- plain keycode 111 = Delete # "Remove" originally, weird...
-+ plain keycode 111 = Remove
- strings as usual
-
- keycode 1 = Escape
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru-ms.map kbd-1.12/data/keymaps/i386/qwerty/ru-ms.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru-ms.map 2002-10-13 06:07:05.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru-ms.map 2005-05-16 19:54:48.000000000 +0600
-@@ -89,8 +89,8 @@
- altgr alt keycode 13 = Meta_equal
- shift alt keycode 13 = Meta_plus
- altgr shift alt keycode 13 = Meta_plus
-- keycode 14 = BackSpace BackSpace BackSpace BackSpace
--# keycode 14 = Delete Delete Delete Delete
-+# keycode 14 = BackSpace BackSpace BackSpace BackSpace
-+ keycode 14 = Delete Delete Delete Delete
- alt keycode 14 = Meta_Delete
- altgr alt keycode 14 = Meta_Delete
- keycode 15 = Tab Tab Tab Tab
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru.map kbd-1.12/data/keymaps/i386/qwerty/ru.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru.map 2002-10-13 06:02:19.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru.map 2005-05-16 19:56:08.000000000 +0600
-@@ -37,7 +37,7 @@
- alt keycode 12 = Meta_minus
- keycode 13 = equal plus equal plus
- alt keycode 13 = Meta_equal
-- keycode 14 = BackSpace BackSpace BackSpace BackSpace
-+ keycode 14 = Delete Delete Delete Delete
- alt keycode 14 = Meta_Delete
- keycode 15 = Tab Tab Tab Tab
- alt keycode 15 = Meta_Tab
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru1.map kbd-1.12/data/keymaps/i386/qwerty/ru1.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru1.map 2002-10-13 06:02:30.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru1.map 2005-05-16 19:55:32.000000000 +0600
-@@ -143,8 +143,8 @@
-
- # The keycode "0xFF" is too dangerous for many programs (including emacs).
- # So let it be bracket instead of Hard Sign.
--# altgr keycode 27 = +0xDF
--# altgr shift keycode 27 = +0xFF
-+altgr keycode 27 = +0xDF
-+altgr shift keycode 27 = +0xFF
- control keycode 27 = Control_bracketright
- altgr control keycode 27 = Control_bracketright
- alt keycode 27 = Meta_bracketright
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru2.map kbd-1.12/data/keymaps/i386/qwerty/ru2.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru2.map 2002-10-13 06:05:47.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru2.map 2005-05-16 19:56:52.000000000 +0600
-@@ -46,7 +46,7 @@
- alt keycode 12 = Meta_minus
- keycode 13 = equal plus equal plus
- alt keycode 13 = Meta_equal
-- keycode 14 = BackSpace BackSpace BackSpace BackSpace
-+ keycode 14 = Delete Delete Delete Delete
- alt keycode 14 = Meta_Delete
- keycode 15 = Tab Tab Tab Tab
- alt keycode 15 = Meta_Tab
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/se-ir209.map kbd-1.12/data/keymaps/i386/qwerty/se-ir209.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/se-ir209.map 2002-10-13 06:12:48.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/se-ir209.map 2005-05-16 19:54:48.000000000 +0600
-@@ -345,7 +345,7 @@
- keycode 109 = Next Scroll_Forward
- keycode 110 = Insert
-
-- keycode 111 = Delete # "Remove" originally, weird...
-+ keycode 111 = Remove
- control alt keycode 111 = Boot
- control altgr keycode 111 = Boot
-
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/se-lat6.map kbd-1.12/data/keymaps/i386/qwerty/se-lat6.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/se-lat6.map 2002-10-13 06:13:01.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/se-lat6.map 2005-05-16 19:54:48.000000000 +0600
-@@ -374,6 +374,6 @@
- keycode 109 = Next Scroll_Forward
- keycode 110 = Insert
-
-- keycode 111 = Delete # "Remove" originally, weird...
-+ keycode 111 = Remove
- control alt keycode 111 = Boot
- control altgr keycode 111 = Boot
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/tr_q-latin5.map kbd-1.12/data/keymaps/i386/qwerty/tr_q-latin5.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/tr_q-latin5.map 2002-10-11 17:08:49.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/tr_q-latin5.map 2005-05-16 19:54:48.000000000 +0600
-@@ -49,7 +49,7 @@
- alt keycode 12 = Meta_minus
- keycode 13 = minus underscore
- alt keycode 13 = Meta_equal
--keycode 14 = BackSpace Delete
-+keycode 14 = Delete Delete
- alt keycode 14 = Meta_Delete
- keycode 15 = Tab Tab
- alt keycode 15 = Meta_Tab
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf-ws.map kbd-1.12/data/keymaps/i386/qwerty/ua-utf-ws.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf-ws.map 2002-10-13 06:07:56.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua-utf-ws.map 2005-05-16 19:54:48.000000000 +0600
-@@ -260,7 +260,7 @@
- shift ctrll ctrlr keycode 13 = plus
- alt ctrll ctrlr keycode 13 = Meta_equal
- shift alt ctrll ctrlr keycode 13 = Meta_plus
--keycode 14 = BackSpace Delete
-+keycode 14 = Delete Delete
- control keycode 14 = BackSpace
- alt keycode 14 = Meta_Delete
- ctrlr keycode 14 = BackSpace
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf.map kbd-1.12/data/keymaps/i386/qwerty/ua-utf.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf.map 2002-10-13 06:08:07.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua-utf.map 2005-05-16 19:54:48.000000000 +0600
-@@ -250,7 +250,7 @@
- shift ctrll ctrlr keycode 13 = plus
- alt ctrll ctrlr keycode 13 = Meta_equal
- shift alt ctrll ctrlr keycode 13 = Meta_plus
--keycode 14 = BackSpace Delete
-+keycode 14 = Delete Delete
- control keycode 14 = BackSpace
- alt keycode 14 = Meta_Delete
- ctrlr keycode 14 = BackSpace
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua-ws.map kbd-1.12/data/keymaps/i386/qwerty/ua-ws.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua-ws.map 2002-10-13 06:08:19.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua-ws.map 2005-05-16 19:54:48.000000000 +0600
-@@ -260,7 +260,7 @@
- shift ctrll ctrlr keycode 13 = plus
- alt ctrll ctrlr keycode 13 = Meta_equal
- shift alt ctrll ctrlr keycode 13 = Meta_plus
--keycode 14 = BackSpace Delete
-+keycode 14 = Delete Delete
- control keycode 14 = BackSpace
- alt keycode 14 = Meta_Delete
- ctrlr keycode 14 = BackSpace
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua.map kbd-1.12/data/keymaps/i386/qwerty/ua.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua.map 2002-10-13 06:08:31.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua.map 2005-05-16 19:54:48.000000000 +0600
-@@ -249,7 +249,7 @@
- shift ctrll ctrlr keycode 13 = plus
- alt ctrll ctrlr keycode 13 = Meta_equal
- shift alt ctrll ctrlr keycode 13 = Meta_plus
--keycode 14 = BackSpace Delete
-+keycode 14 = Delete Delete
- control keycode 14 = BackSpace
- alt keycode 14 = Meta_Delete
- ctrlr keycode 14 = BackSpace
+++ /dev/null
-Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
-Date: 2005-07-28
-Initial Package Version: 1.12
-Upstream Status: Unknown
-Origin: http://cvs.fedora.redhat.com/viewcvs/devel/kbd/kbd-1.12-alias.patch?rev=1.2&view=markup
-Description: Fix violations of C aliasing rules, triggered by gcc4.
-
-diff -Naur kbd-1.12.orig/src/psffontop.c kbd-1.12/src/psffontop.c
---- kbd-1.12.orig/src/psffontop.c 2004-01-16 19:45:31.000000000 +0000
-+++ kbd-1.12/src/psffontop.c 2005-07-28 20:33:57.946088984 +0000
-@@ -59,7 +59,6 @@
-
- static unsigned int
- assemble_ucs2(char **inptr, int cnt) {
-- unsigned char **in = (unsigned char **) inptr;
- unsigned int u1, u2;
-
- if (cnt < 2) {
-@@ -68,8 +67,8 @@
- exit(EX_DATAERR);
- }
-
-- u1 = *(*in)++;
-- u2 = *(*in)++;
-+ u1 = (unsigned char)*(*inptr)++;
-+ u2 = (unsigned char)*(*inptr)++;
- return (u1 | (u2 << 8));
- }
-
-@@ -110,7 +109,6 @@
- */
- static void
- get_uni_entry(char **inptr, char **endptr, struct unicode_list *up, int utf8) {
-- unsigned char **in = (unsigned char **) inptr;
- unsigned char uc;
- unicode unichar;
- int inseq = 0;
-@@ -126,14 +124,14 @@
- exit(EX_DATAERR);
- }
- if (utf8) {
-- uc = *(*in)++;
-+ uc = *(*inptr)++;
- if (uc == PSF2_SEPARATOR)
- break;
- if (uc == PSF2_STARTSEQ) {
- inseq = 1;
- continue;
- }
-- --(*in);
-+ --(*inptr);
- unichar = assemble_utf8(inptr, *endptr - *inptr);
- } else {
- unichar = assemble_ucs2(inptr, *endptr - *inptr);
+++ /dev/null
-Submitted By: Greg Schafer <greg at linuxfromscratch dot org>
-Date: 2004-01-07
-Initial Package Version: 1.10
-Origin: LFS Book and Anderson Lizardo <lizardo at linuxfromscratch dot org>
- (based on kbd-1.08-more-programs.patch)
-Description: Install additional programs included in kbd package,
- including their manpages. Note: setlogcons does not have
- a manpage.
-
-diff -Naur kbd-1.10.orig/man/Makefile kbd-1.10/man/Makefile
---- kbd-1.10.orig/man/Makefile 2002-10-11 22:12:53.000000000 +0000
-+++ kbd-1.10/man/Makefile 2004-01-07 02:36:13.471404128 +0000
-@@ -7,6 +7,9 @@
- install -d -m 755 $(MANDIR)/$$i; \
- install -m 644 $$i/*.[0-9] $(MANDIR)/$$i; \
- done
-+ install -d -m 755 $(MANDIR)/man8
-+ install -m 644 man8misc/setvesablank.8 $(MANDIR)/man8
-+ install -m 644 man8misc/getunimap.8 $(MANDIR)/man8
- rm -f $(MANDIR)/man5/keytables.5
-
- clean:
-diff -Naur kbd-1.10.orig/src/Makefile.in kbd-1.10/src/Makefile.in
---- kbd-1.10.orig/src/Makefile.in 2004-01-03 17:53:06.000000000 +0000
-+++ kbd-1.10/src/Makefile.in 2004-01-07 02:36:44.706655648 +0000
-@@ -46,8 +46,9 @@
- OLDPROGS= mapscrn loadunimap
-
- # Not installed by default
--MISC = screendump setlogcons setvesablank spawn_console spawn_login \
-- getunimap clrunimap outpsfheader setpalette
-+#MISC = screendump setlogcons setvesablank spawn_console spawn_login \
-+# getunimap clrunimap outpsfheader setpalette
-+MISC = setlogcons setvesablank getunimap
-
- # Installed by default
- SHCMDS = unicode_start unicode_stop
-@@ -73,7 +74,7 @@
- install: all
- install -d -m 0755 $(BINDIR) $(LOADKEYS_BINDIR)
- install -s -m 0755 $(setowner) $(PROGS) $(OLDPROGS) $(BINDIR)
--# install -s -m 0755 $(setowner) $(MISC) $(BINDIR)
-+ install -s -m 0755 $(setowner) $(MISC) $(BINDIR)
- install -c -m 0755 $(setowner) $(SHCMDS) $(BINDIR)
- for i in psfaddtable psfgettable psfstriptable; do \
- rm -f $(BINDIR)/$$i; ln -s psfxtable $(BINDIR)/$$i; \
+++ /dev/null
-diff -Naur linux-3.14.79.ORG/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c linux-3.14.79/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
---- linux-3.14.79.ORG/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 2017-06-16 19:58:56.000000000 +0200
-+++ linux-3.14.79/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 2017-06-17 09:32:51.645096482 +0200
-@@ -1776,7 +1776,7 @@
- ** VC_RESUME_FAILED - Currently unused - no mechanism to fail resume exists.
- */
-
--inline void
-+void
- set_suspend_state(VCHIQ_ARM_STATE_T *arm_state,
- enum vc_suspend_status new_state)
- {
+++ /dev/null
-From a44147a09baf8c46cc0b02332df3a4656e0659d5 Mon Sep 17 00:00:00 2001
-From: Arne Fitzenreiter <arne_f@ipfire.org>
-Date: Mon, 10 Dec 2018 13:12:00 +0100
-Subject: [PATCH] Revert "usb: dwc2: Fix DMA alignment to start at allocated
- boundary"
-
-This reverts commit 68fc92a0f3913d539d1ac68a861f895e34099e46.
----
- drivers/usb/dwc2/hcd.c | 44 +++++++++++++++++++++-----------------------
- 1 file changed, 21 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
-index fa20ec4..4b81d08 100644
---- a/drivers/usb/dwc2/hcd.c
-+++ b/drivers/usb/dwc2/hcd.c
-@@ -2644,29 +2644,34 @@ static int dwc2_alloc_split_dma_aligned_buf(struct dwc2_hsotg *hsotg,
-
- #define DWC2_USB_DMA_ALIGN 4
-
-+struct dma_aligned_buffer {
-+ void *kmalloc_ptr;
-+ void *old_xfer_buffer;
-+ u8 data[0];
-+};
-+
- static void dwc2_free_dma_aligned_buffer(struct urb *urb)
- {
-- void *stored_xfer_buffer;
-+ struct dma_aligned_buffer *temp;
-
- if (!(urb->transfer_flags & URB_ALIGNED_TEMP_BUFFER))
- return;
-
-- /* Restore urb->transfer_buffer from the end of the allocated area */
-- memcpy(&stored_xfer_buffer, urb->transfer_buffer +
-- urb->transfer_buffer_length, sizeof(urb->transfer_buffer));
-+ temp = container_of(urb->transfer_buffer,
-+ struct dma_aligned_buffer, data);
-
- if (usb_urb_dir_in(urb))
-- memcpy(stored_xfer_buffer, urb->transfer_buffer,
-+ memcpy(temp->old_xfer_buffer, temp->data,
- urb->transfer_buffer_length);
-- kfree(urb->transfer_buffer);
-- urb->transfer_buffer = stored_xfer_buffer;
-+ urb->transfer_buffer = temp->old_xfer_buffer;
-+ kfree(temp->kmalloc_ptr);
-
- urb->transfer_flags &= ~URB_ALIGNED_TEMP_BUFFER;
- }
-
- static int dwc2_alloc_dma_aligned_buffer(struct urb *urb, gfp_t mem_flags)
- {
-- void *kmalloc_ptr;
-+ struct dma_aligned_buffer *temp, *kmalloc_ptr;
- size_t kmalloc_size;
-
- if (urb->num_sgs || urb->sg ||
-@@ -2674,29 +2679,22 @@ static int dwc2_alloc_dma_aligned_buffer(struct urb *urb, gfp_t mem_flags)
- !((uintptr_t)urb->transfer_buffer & (DWC2_USB_DMA_ALIGN - 1)))
- return 0;
-
-- /*
-- * Allocate a buffer with enough padding for original transfer_buffer
-- * pointer. This allocation is guaranteed to be aligned properly for
-- * DMA
-- */
-+ /* Allocate a buffer with enough padding for alignment */
- kmalloc_size = urb->transfer_buffer_length +
-- sizeof(urb->transfer_buffer);
-+ sizeof(struct dma_aligned_buffer) + DWC2_USB_DMA_ALIGN - 1;
-
- kmalloc_ptr = kmalloc(kmalloc_size, mem_flags);
- if (!kmalloc_ptr)
- return -ENOMEM;
-
-- /*
-- * Position value of original urb->transfer_buffer pointer to the end
-- * of allocation for later referencing
-- */
-- memcpy(kmalloc_ptr + urb->transfer_buffer_length,
-- &urb->transfer_buffer, sizeof(urb->transfer_buffer));
--
-+ /* Position our struct dma_aligned_buffer such that data is aligned */
-+ temp = PTR_ALIGN(kmalloc_ptr + 1, DWC2_USB_DMA_ALIGN) - 1;
-+ temp->kmalloc_ptr = kmalloc_ptr;
-+ temp->old_xfer_buffer = urb->transfer_buffer;
- if (usb_urb_dir_out(urb))
-- memcpy(kmalloc_ptr, urb->transfer_buffer,
-+ memcpy(temp->data, urb->transfer_buffer,
- urb->transfer_buffer_length);
-- urb->transfer_buffer = kmalloc_ptr;
-+ urb->transfer_buffer = temp->data;
-
- urb->transfer_flags |= URB_ALIGNED_TEMP_BUFFER;
-
---
-2.7.4
-
+++ /dev/null
-diff -Naur linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2800usb.c linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
---- linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2800usb.c 2017-02-04 09:47:29.000000000 +0100
-+++ linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2800usb.c 2017-02-11 10:50:04.909859370 +0100
-@@ -448,7 +448,7 @@
-
- rt2x00usb_register_read(rt2x00dev, TXRXQ_PCNT, ®);
- if (rt2x00_get_field32(reg, TXRXQ_PCNT_TX0Q)) {
-- rt2x00_warn(rt2x00dev, "TX HW queue 0 timed out, invoke forced kick\n");
-+ rt2x00_dbg(rt2x00dev, "TX HW queue 0 timed out, invoke forced kick\n");
-
- rt2x00usb_register_write(rt2x00dev, PBF_CFG, 0xf40012);
-
-@@ -463,7 +463,7 @@
-
- rt2x00usb_register_read(rt2x00dev, TXRXQ_PCNT, ®);
- if (rt2x00_get_field32(reg, TXRXQ_PCNT_TX1Q)) {
-- rt2x00_warn(rt2x00dev, "TX HW queue 1 timed out, invoke forced kick\n");
-+ rt2x00_dbg(rt2x00dev, "TX HW queue 1 timed out, invoke forced kick\n");
-
- rt2x00usb_register_write(rt2x00dev, PBF_CFG, 0xf4000a);
-
-@@ -613,7 +613,7 @@
-
- if (unlikely(test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) ||
- !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))) {
-- rt2x00_warn(rt2x00dev, "Data pending for entry %u in queue %u\n",
-+ rt2x00_dbg(rt2x00dev, "Data pending for entry %u in queue %u\n",
- entry->entry_idx, qid);
- break;
- }
-diff -Naur linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c
---- linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c 2017-02-04 09:47:29.000000000 +0100
-+++ linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c 2017-02-11 10:50:04.909859370 +0100
-@@ -524,7 +524,7 @@
-
- static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue)
- {
-- rt2x00_warn(queue->rt2x00dev, "TX queue %d DMA timed out, invoke forced forced reset\n",
-+ rt2x00_dbg(queue->rt2x00dev, "TX queue %d DMA timed out, invoke forced reset\n",
- queue->qid);
-
- rt2x00queue_stop_queue(queue);