From 696264ba5b201452171e5a44a1bf50734661c7f0 Mon Sep 17 00:00:00 2001 From: Nathan Fisher Date: Fri, 19 Feb 2021 14:29:03 -0500 Subject: [PATCH] Minor housekeeping --- INSTALL | 2 +- patches/WiringPi-buildfixes.patch | 261 --------- patches/bash-5.0-upstream_fixes-1.patch | 608 --------------------- patches/gcc-9.1.0-rpi1-cpu-default.patch | 17 - patches/gcc-9.1.0-rpi2-cpu-default.patch | 18 - patches/gcc-9.1.0-rpi3-cpu-default.patch | 18 - patches/gcc-9.1.0-rpi4-cpu-default.patch | 18 - patches/glibc-2.31-fhs-1.patch | 72 --- patches/sysvinit-2.96-consolidated-1.patch | 73 --- 9 files changed, 1 insertion(+), 1086 deletions(-) delete mode 100644 patches/WiringPi-buildfixes.patch delete mode 100644 patches/bash-5.0-upstream_fixes-1.patch delete mode 100644 patches/gcc-9.1.0-rpi1-cpu-default.patch delete mode 100644 patches/gcc-9.1.0-rpi2-cpu-default.patch delete mode 100644 patches/gcc-9.1.0-rpi3-cpu-default.patch delete mode 100644 patches/gcc-9.1.0-rpi4-cpu-default.patch delete mode 100644 patches/glibc-2.31-fhs-1.patch delete mode 100644 patches/sysvinit-2.96-consolidated-1.patch diff --git a/INSTALL b/INSTALL index 0e682e9..0af7ca7 100644 --- a/INSTALL +++ b/INSTALL @@ -21,6 +21,6 @@ you wish to abort partway through and continue later, simply unmount To build the system: % make buildtools - # make buildworld + % make buildworld This creates a complete root filesystem in /src/build diff --git a/patches/WiringPi-buildfixes.patch b/patches/WiringPi-buildfixes.patch deleted file mode 100644 index 1b147bc..0000000 --- a/patches/WiringPi-buildfixes.patch +++ /dev/null @@ -1,261 +0,0 @@ -diff -ruN WiringPi.old/build WiringPi/build ---- WiringPi.old/build 2020-04-28 11:12:40.772877209 -0400 -+++ WiringPi/build 2020-05-01 02:08:44.286610513 -0400 -@@ -43,8 +43,6 @@ - fi - } - --sudo=${WIRINGPI_SUDO-sudo} -- - if [ x$1 = "xclean" ]; then - cd wiringPi - echo -n "wiringPi: " ; make clean -@@ -72,11 +70,11 @@ - - if [ x$1 = "xuninstall" ]; then - cd wiringPi -- echo -n "wiringPi: " ; $sudo make uninstall -+ echo -n "wiringPi: " ; make uninstall - cd ../devLib -- echo -n "DevLib: " ; $sudo make uninstall -+ echo -n "DevLib: " ; make uninstall - cd ../gpio -- echo -n "gpio: " ; $sudo make uninstall -+ echo -n "gpio: " ; make uninstall - exit - fi - -@@ -128,30 +126,28 @@ - echo - echo "WiringPi Library" - cd wiringPi -- $sudo make uninstall - if [ x$1 = "xstatic" ]; then - make -j5 static - check_make_ok -- $sudo make install-static -+ make install-static - else - make -j5 - check_make_ok -- $sudo make install -+ make install - fi - check_make_ok - - echo - echo "WiringPi Devices Library" - cd ../devLib -- $sudo make uninstall - if [ x$1 = "xstatic" ]; then - make -j5 static - check_make_ok -- $sudo make install-static -+ make install-static - else - make -j5 - check_make_ok -- $sudo make install -+ make install - fi - check_make_ok - -@@ -160,16 +156,16 @@ - cd ../gpio - make -j5 - check_make_ok -- $sudo make install -+ make install - check_make_ok - --# echo --# echo "wiringPi Daemon" --# cd ../wiringPiD --# make -j5 --# check_make_ok --# $sudo make install --# check_make_ok -+ echo -+ echo "wiringPi Daemon" -+ cd ../wiringPiD -+ make -j5 -+ check_make_ok -+ make install -+ check_make_ok - - # echo - # echo "Examples" -diff -ruN WiringPi.old/devLib/Makefile WiringPi/devLib/Makefile ---- WiringPi.old/devLib/Makefile 2020-04-28 11:12:40.772877209 -0400 -+++ WiringPi/devLib/Makefile 2020-05-01 02:02:06.743591696 -0400 -@@ -22,8 +22,7 @@ - ################################################################################# - - VERSION=$(shell cat ../VERSION) --DESTDIR?=/usr --PREFIX?=/local -+PREFIX?=/usr - - LDCONFIG?=ldconfig - -@@ -93,7 +92,7 @@ - $Q echo "[Install Dynamic Lib]" - $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib - $Q install -m 0755 libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) -- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so -+ $Q ln -sf libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so - $Q $(LDCONFIG) - - .PHONY: install-static -diff -ruN WiringPi.old/examples/Gertboard/Makefile WiringPi/examples/Gertboard/Makefile ---- WiringPi.old/examples/Gertboard/Makefile 2020-04-28 11:12:40.782877055 -0400 -+++ WiringPi/examples/Gertboard/Makefile 2020-05-01 01:28:21.140110902 -0400 -@@ -12,10 +12,10 @@ - #DEBUG = -g -O0 - DEBUG = -O3 - CC = gcc --INCLUDE = -I/usr/local/include -+INCLUDE = -I/usr/include - CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe - --LDFLAGS = -L/usr/local/lib -+LDFLAGS = -L/usr/lib - LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm - - # Should not alter anything below this line -diff -ruN WiringPi.old/examples/Makefile WiringPi/examples/Makefile ---- WiringPi.old/examples/Makefile 2020-04-28 11:12:40.782877055 -0400 -+++ WiringPi/examples/Makefile 2020-05-01 01:27:52.130110073 -0400 -@@ -29,10 +29,10 @@ - #DEBUG = -g -O0 - DEBUG = -O3 - CC = gcc --INCLUDE = -I/usr/local/include -+INCLUDE = -I/usr/include - CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe - --LDFLAGS = -L/usr/local/lib -+LDFLAGS = -L/usr/lib - LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt - - # Should not alter anything below this line -diff -ruN WiringPi.old/examples/PiFace/Makefile WiringPi/examples/PiFace/Makefile ---- WiringPi.old/examples/PiFace/Makefile 2020-04-28 11:12:40.782877055 -0400 -+++ WiringPi/examples/PiFace/Makefile 2020-05-01 01:26:15.171913223 -0400 -@@ -29,10 +29,10 @@ - #DEBUG = -g -O0 - DEBUG = -O3 - CC = gcc --INCLUDE = -I/usr/local/include -+INCLUDE = -I/usr/include - CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe - --LDFLAGS = -L/usr/local/lib -+LDFLAGS = -L/usr/lib - LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm - - # Should not alter anything below this line -diff -ruN WiringPi.old/examples/PiGlow/Makefile WiringPi/examples/PiGlow/Makefile ---- WiringPi.old/examples/PiGlow/Makefile 2020-04-28 11:12:40.782877055 -0400 -+++ WiringPi/examples/PiGlow/Makefile 2020-05-01 01:27:21.520702895 -0400 -@@ -29,10 +29,10 @@ - #DEBUG = -g -O0 - DEBUG = -O3 - CC = gcc --INCLUDE = -I/usr/local/include -+INCLUDE = -I/usr/include - CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe - --LDFLAGS = -L/usr/local/lib -+LDFLAGS = -L/usr/lib - LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm - - # Should not alter anything below this line -diff -ruN WiringPi.old/examples/q2w/Makefile WiringPi/examples/q2w/Makefile ---- WiringPi.old/examples/q2w/Makefile 2020-04-28 11:12:40.782877055 -0400 -+++ WiringPi/examples/q2w/Makefile 2020-05-01 01:26:49.051309040 -0400 -@@ -29,10 +29,10 @@ - #DEBUG = -g -O0 - DEBUG = -O3 - CC = gcc --INCLUDE = -I/usr/local/include -+INCLUDE = -I/usr/include - CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe - --LDFLAGS = -L/usr/local/lib -+LDFLAGS = -L/usr/lib - LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm - - ############################################################################### -diff -ruN WiringPi.old/examples/scrollPhat/Makefile WiringPi/examples/scrollPhat/Makefile ---- WiringPi.old/examples/scrollPhat/Makefile 2020-04-28 11:12:40.782877055 -0400 -+++ WiringPi/examples/scrollPhat/Makefile 2020-05-01 01:28:44.030287679 -0400 -@@ -29,10 +29,10 @@ - #DEBUG = -g -O0 - DEBUG = -O3 - CC = gcc --INCLUDE = -I/usr/local/include -+INCLUDE = -I/usr/include - CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe - --LDFLAGS = -L/usr/local/lib -+LDFLAGS = -L/usr/lib - LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm - - # Should not alter anything below this line -diff -ruN WiringPi.old/gpio/Makefile WiringPi/gpio/Makefile ---- WiringPi.old/gpio/Makefile 2020-04-28 11:12:40.782877055 -0400 -+++ WiringPi/gpio/Makefile 2020-05-01 02:14:42.900240265 -0400 -@@ -23,8 +23,7 @@ - # along with wiringPi. If not, see . - ################################################################################# - --DESTDIR?=/usr --PREFIX?=/local -+PREFIX?=/usr - - ifneq ($V,1) - Q ?= @ -@@ -72,6 +71,7 @@ - .PHONY: install - install: gpio - $Q echo "[Install]" -+ $Q install -d -m 0755 $(DESTDIR)$(PREFIX)/bin - $Q cp gpio $(DESTDIR)$(PREFIX)/bin - ifneq ($(WIRINGPI_SUID),0) - $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio -diff -ruN WiringPi.old/wiringPi/Makefile WiringPi/wiringPi/Makefile ---- WiringPi.old/wiringPi/Makefile 2020-04-28 11:12:40.792876901 -0400 -+++ WiringPi/wiringPi/Makefile 2020-05-01 01:58:00.868028111 -0400 -@@ -22,8 +22,7 @@ - ################################################################################# - - VERSION=$(shell cat ../VERSION) --DESTDIR?=/usr --PREFIX?=/local -+PREFIX?=/usr - - LDCONFIG?=ldconfig - -@@ -101,7 +100,7 @@ - $Q echo "[Install Dynamic Lib]" - $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib - $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) -- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so -+ $Q ln -sf libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so - $Q $(LDCONFIG) - - .PHONY: install-deb -diff -ruN WiringPi.old/wiringPiD/Makefile WiringPi/wiringPiD/Makefile ---- WiringPi.old/wiringPiD/Makefile 2020-04-28 11:12:40.802876747 -0400 -+++ WiringPi/wiringPiD/Makefile 2020-05-01 01:30:33.860439863 -0400 -@@ -22,8 +22,7 @@ - # along with wiringPi. If not, see . - ################################################################################# - --DESTDIR?=/usr --PREFIX?=/local -+PREFIX?=/usr - - ifneq ($V,1) - Q ?= @ diff --git a/patches/bash-5.0-upstream_fixes-1.patch b/patches/bash-5.0-upstream_fixes-1.patch deleted file mode 100644 index caa3fce..0000000 --- a/patches/bash-5.0-upstream_fixes-1.patch +++ /dev/null @@ -1,608 +0,0 @@ -Submitted By: Pierre Labastie -Date: 2019-12-01 -Initial Package Version: 5.0 -Upstream Status: Already in upstream patch repo -Origin: Upstream -Description: This patch contains upstream patch numbers 001 thru 011 - -diff -Naur bash-5.0/bashhist.c bash-5.0.11/bashhist.c ---- bash-5.0/bashhist.c 2018-07-06 04:41:14.000000000 +0200 -+++ bash-5.0.11/bashhist.c 2019-11-28 16:11:49.667000000 +0100 -@@ -560,15 +560,18 @@ - add that line to the history if ADDIT is non-zero. */ - if (!history_expansion_inhibited && history_expansion && history_expansion_p (line)) - { -+ int old_len; -+ - /* If we are expanding the second or later line of a multi-line - command, decrease history_length so references to history expansions - in these lines refer to the previous history entry and not the - current command. */ -+ old_len = history_length; - if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) - history_length--; - expanded = history_expand (line, &history_value); - if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) -- history_length++; -+ history_length = old_len; - - if (expanded) - { -diff -Naur bash-5.0/bashline.c bash-5.0.11/bashline.c ---- bash-5.0/bashline.c 2018-11-27 19:20:16.000000000 +0100 -+++ bash-5.0.11/bashline.c 2019-11-28 16:11:33.994000000 +0100 -@@ -231,6 +231,7 @@ - static int bash_complete_command __P((int, int)); - static int bash_possible_command_completions __P((int, int)); - -+static int completion_glob_pattern __P((char *)); - static char *glob_complete_word __P((const char *, int)); - static int bash_glob_completion_internal __P((int)); - static int bash_glob_complete_word __P((int, int)); -@@ -1741,7 +1742,7 @@ - - /* This could be a globbing pattern, so try to expand it using pathname - expansion. */ -- if (!matches && glob_pattern_p (text)) -+ if (!matches && completion_glob_pattern ((char *)text)) - { - matches = rl_completion_matches (text, glob_complete_word); - /* A glob expression that matches more than one filename is problematic. -@@ -1850,7 +1851,7 @@ - glob_matches = (char **)NULL; - } - -- globpat = glob_pattern_p (hint_text); -+ globpat = completion_glob_pattern ((char *)hint_text); - - /* If this is an absolute program name, do not check it against - aliases, reserved words, functions or builtins. We must check -@@ -3713,6 +3714,61 @@ - return bash_specific_completion (what_to_do, command_word_completion_function); - } - -+static int -+completion_glob_pattern (string) -+ char *string; -+{ -+ register int c; -+ char *send; -+ int open; -+ -+ DECLARE_MBSTATE; -+ -+ open = 0; -+ send = string + strlen (string); -+ -+ while (c = *string++) -+ { -+ switch (c) -+ { -+ case '?': -+ case '*': -+ return (1); -+ -+ case '[': -+ open++; -+ continue; -+ -+ case ']': -+ if (open) -+ return (1); -+ continue; -+ -+ case '+': -+ case '@': -+ case '!': -+ if (*string == '(') /*)*/ -+ return (1); -+ continue; -+ -+ case '\\': -+ if (*string++ == 0) -+ return (0); -+ } -+ -+ /* Advance one fewer byte than an entire multibyte character to -+ account for the auto-increment in the loop above. */ -+#ifdef HANDLE_MULTIBYTE -+ string--; -+ ADVANCE_CHAR_P (string, send - string); -+ string++; -+#else -+ ADVANCE_CHAR_P (string, send - string); -+#endif -+ } -+ return (0); -+} -+ - static char *globtext; - static char *globorig; - -@@ -3877,7 +3933,7 @@ - t = substring (rl_line_buffer, p, rl_point); - } - -- if (t && glob_pattern_p (t) == 0) -+ if (t && completion_glob_pattern (t) == 0) - rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ - FREE (t); - -diff -Naur bash-5.0/builtins/evalstring.c bash-5.0.11/builtins/evalstring.c ---- bash-5.0/builtins/evalstring.c 2018-12-26 17:19:21.000000000 +0100 -+++ bash-5.0.11/builtins/evalstring.c 2019-11-28 16:11:40.813000000 +0100 -@@ -100,12 +100,22 @@ - ((command->flags & CMD_INVERT_RETURN) == 0)); - } - -+int -+can_optimize_connection (command) -+ COMMAND *command; -+{ -+ return (*bash_input.location.string == '\0' && -+ (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && -+ command->value.Connection->second->type == cm_simple); -+} -+ - void - optimize_fork (command) - COMMAND *command; - { - if (command->type == cm_connection && -- (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) && -+ (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && -+ (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) && - should_suppress_fork (command->value.Connection->second)) - { - command->value.Connection->second->flags |= CMD_NO_FORK; -@@ -412,8 +422,18 @@ - command->flags |= CMD_NO_FORK; - command->value.Simple->flags |= CMD_NO_FORK; - } -- else if (command->type == cm_connection) -- optimize_fork (command); -+ -+ /* Can't optimize forks out here execept for simple commands. -+ This knows that the parser sets up commands as left-side heavy -+ (&& and || are left-associative) and after the single parse, -+ if we are at the end of the command string, the last in a -+ series of connection commands is -+ command->value.Connection->second. */ -+ else if (command->type == cm_connection && can_optimize_connection (command)) -+ { -+ command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING; -+ command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING; -+ } - #endif /* ONESHOT */ - - /* See if this is a candidate for $( value.Connection->connector == OR_OR) && - (exec_result != EXECUTION_SUCCESS))) - { -+ optimize_fork (command); -+ - second = command->value.Connection->second; - if (ignore_return && second) - second->flags |= CMD_IGNORE_RETURN; -diff -Naur bash-5.0/jobs.c bash-5.0.11/jobs.c ---- bash-5.0/jobs.c 2018-12-06 17:44:34.000000000 +0100 -+++ bash-5.0.11/jobs.c 2019-11-28 16:11:46.415000000 +0100 -@@ -2488,10 +2488,8 @@ - r = wait_for (last_procsub_child->pid); - wait_procsubs (); - reap_procsubs (); --#if 1 -+#if 0 - /* We don't want to wait indefinitely if we have stopped children. */ -- /* XXX - should add a loop that goes through the list of process -- substitutions and waits for each proc in turn before this code. */ - if (any_stopped == 0) - { - /* Check whether or not we have any unreaped children. */ -@@ -4839,15 +4837,13 @@ - end_job_control () - { - if (job_control) -- { -- terminate_stopped_jobs (); -+ terminate_stopped_jobs (); - -- if (original_pgrp >= 0) -- give_terminal_to (original_pgrp, 1); -- } -+ if (original_pgrp >= 0 && terminal_pgrp != original_pgrp) -+ give_terminal_to (original_pgrp, 1); - -- if (original_pgrp >= 0) -- setpgid (0, original_pgrp); -+ if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0) -+ shell_pgrp = original_pgrp; - } - - /* Restart job control by closing shell tty and reinitializing. This is -diff -Naur bash-5.0/lib/glob/glob.c bash-5.0.11/lib/glob/glob.c ---- bash-5.0/lib/glob/glob.c 2018-09-20 16:53:23.000000000 +0200 -+++ bash-5.0.11/lib/glob/glob.c 2019-11-28 16:11:33.990000000 +0100 -@@ -1061,7 +1061,7 @@ - char *directory_name, *filename, *dname, *fn; - unsigned int directory_len; - int free_dirname; /* flag */ -- int dflags; -+ int dflags, hasglob; - - result = (char **) malloc (sizeof (char *)); - result_size = 1; -@@ -1110,9 +1110,12 @@ - free_dirname = 1; - } - -+ hasglob = 0; - /* If directory_name contains globbing characters, then we -- have to expand the previous levels. Just recurse. */ -- if (directory_len > 0 && glob_pattern_p (directory_name)) -+ have to expand the previous levels. Just recurse. -+ If glob_pattern_p returns != [0,1] we have a pattern that has backslash -+ quotes but no unquoted glob pattern characters. We dequote it below. */ -+ if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1) - { - char **directories, *d, *p; - register unsigned int i; -@@ -1175,7 +1178,7 @@ - if (d[directory_len - 1] == '/') - d[directory_len - 1] = '\0'; - -- directories = glob_filename (d, dflags); -+ directories = glob_filename (d, dflags|GX_RECURSE); - - if (free_dirname) - { -@@ -1332,6 +1335,20 @@ - free (directory_name); - return (NULL); - } -+ /* If we have a directory name with quoted characters, and we are -+ being called recursively to glob the directory portion of a pathname, -+ we need to dequote the directory name before returning it so the -+ caller can read the directory */ -+ if (directory_len > 0 && hasglob == 2 && (flags & GX_RECURSE) != 0) -+ { -+ dequote_pathname (directory_name); -+ directory_len = strlen (directory_name); -+ } -+ -+ /* We could check whether or not the dequoted directory_name is a -+ directory and return it here, returning the original directory_name -+ if not, but we don't do that yet. I'm not sure it matters. */ -+ - /* Handle GX_MARKDIRS here. */ - result[0] = (char *) malloc (directory_len + 1); - if (result[0] == NULL) -diff -Naur bash-5.0/lib/glob/glob.h bash-5.0.11/lib/glob/glob.h ---- bash-5.0/lib/glob/glob.h 2013-10-28 19:46:12.000000000 +0100 -+++ bash-5.0.11/lib/glob/glob.h 2019-11-28 16:11:33.989000000 +0100 -@@ -30,6 +30,7 @@ - #define GX_NULLDIR 0x100 /* internal -- no directory preceding pattern */ - #define GX_ADDCURDIR 0x200 /* internal -- add passed directory name */ - #define GX_GLOBSTAR 0x400 /* turn on special handling of ** */ -+#define GX_RECURSE 0x800 /* internal -- glob_filename called recursively */ - - extern int glob_pattern_p __P((const char *)); - extern char **glob_vector __P((char *, char *, int)); -diff -Naur bash-5.0/lib/glob/glob_loop.c bash-5.0.11/lib/glob/glob_loop.c ---- bash-5.0/lib/glob/glob_loop.c 2018-12-31 19:35:15.000000000 +0100 -+++ bash-5.0.11/lib/glob/glob_loop.c 2019-11-28 16:11:33.987000000 +0100 -@@ -26,10 +26,10 @@ - { - register const GCHAR *p; - register GCHAR c; -- int bopen; -+ int bopen, bsquote; - - p = pattern; -- bopen = 0; -+ bopen = bsquote = 0; - - while ((c = *p++) != L('\0')) - switch (c) -@@ -54,20 +54,23 @@ - continue; - - case L('\\'): --#if 0 - /* Don't let the pattern end in a backslash (GMATCH returns no match -- if the pattern ends in a backslash anyway), but otherwise return 1, -- since the matching engine uses backslash as an escape character -- and it can be removed. */ -- return (*p != L('\0')); --#else -- /* The pattern may not end with a backslash. */ -- if (*p++ == L('\0')) -+ if the pattern ends in a backslash anyway), but otherwise note that -+ we have seen this, since the matching engine uses backslash as an -+ escape character and it can be removed. We return 2 later if we -+ have seen only backslash-escaped characters, so interested callers -+ know they can shortcut and just dequote the pathname. */ -+ if (*p != L('\0')) -+ { -+ p++; -+ bsquote = 1; -+ continue; -+ } -+ else /* (*p == L('\0')) */ - return 0; --#endif - } - -- return 0; -+ return bsquote ? 2 : 0; - } - - #undef INTERNAL_GLOB_PATTERN_P -diff -Naur bash-5.0/lib/readline/histfile.c bash-5.0.11/lib/readline/histfile.c ---- bash-5.0/lib/readline/histfile.c 2018-06-11 15:14:52.000000000 +0200 -+++ bash-5.0.11/lib/readline/histfile.c 2019-11-28 16:11:52.648000000 +0100 -@@ -305,6 +305,7 @@ - if (file_size == 0) - { - free (input); -+ close (file); - return 0; /* don't waste time if we don't have to */ - } - -diff -Naur bash-5.0/parser.h bash-5.0.11/parser.h ---- bash-5.0/parser.h 2018-12-29 01:11:18.000000000 +0100 -+++ bash-5.0.11/parser.h 2019-11-28 16:11:29.603000000 +0100 -@@ -47,6 +47,7 @@ - #define PST_REPARSE 0x040000 /* re-parsing in parse_string_to_word_list */ - #define PST_REDIRLIST 0x080000 /* parsing a list of redirections preceding a simple command name */ - #define PST_COMMENT 0x100000 /* parsing a shell comment; used by aliases */ -+#define PST_ENDALIAS 0x200000 /* just finished expanding and consuming an alias */ - - /* Definition of the delimiter stack. Needed by parse.y and bashhist.c. */ - struct dstack { -diff -Naur bash-5.0/parse.y bash-5.0.11/parse.y ---- bash-5.0/parse.y 2019-01-02 19:57:34.000000000 +0100 -+++ bash-5.0.11/parse.y 2019-11-28 16:11:29.607000000 +0100 -@@ -2557,12 +2557,14 @@ - if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE && - pushed_string_list->flags != PSH_DPAREN && - (parser_state & PST_COMMENT) == 0 && -+ (parser_state & PST_ENDALIAS) == 0 && /* only once */ - shell_input_line_index > 0 && -- shell_input_line[shell_input_line_index-1] != ' ' && -+ shellblank (shell_input_line[shell_input_line_index-1]) == 0 && - shell_input_line[shell_input_line_index-1] != '\n' && - shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && - (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) - { -+ parser_state |= PST_ENDALIAS; - return ' '; /* END_ALIAS */ - } - #endif -@@ -2571,6 +2573,7 @@ - /* This case works for PSH_DPAREN as well */ - if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) - { -+ parser_state &= ~PST_ENDALIAS; - pop_string (); - uc = shell_input_line[shell_input_line_index]; - if (uc) -diff -Naur bash-5.0/patchlevel.h bash-5.0.11/patchlevel.h ---- bash-5.0/patchlevel.h 2018-02-21 21:47:15.000000000 +0100 -+++ bash-5.0.11/patchlevel.h 2019-11-28 16:11:58.589000000 +0100 -@@ -25,6 +25,6 @@ - regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh - looks for to find the patch level (for the sccs version string). */ - --#define PATCHLEVEL 0 -+#define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ -diff -Naur bash-5.0/pathexp.c bash-5.0.11/pathexp.c ---- bash-5.0/pathexp.c 2018-04-29 23:44:48.000000000 +0200 -+++ bash-5.0.11/pathexp.c 2019-11-28 16:11:33.991000000 +0100 -@@ -65,11 +65,11 @@ - { - register int c; - char *send; -- int open; -+ int open, bsquote; - - DECLARE_MBSTATE; - -- open = 0; -+ open = bsquote = 0; - send = string + strlen (string); - - while (c = *string++) -@@ -100,7 +100,14 @@ - can be removed by the matching engine, so we have to run it through - globbing. */ - case '\\': -- return (*string != 0); -+ if (*string != '\0' && *string != '/') -+ { -+ bsquote = 1; -+ string++; -+ continue; -+ } -+ else if (*string == 0) -+ return (0); - - case CTLESC: - if (*string++ == '\0') -@@ -117,7 +124,8 @@ - ADVANCE_CHAR_P (string, send - string); - #endif - } -- return (0); -+ -+ return (bsquote ? 2 : 0); - } - - /* Return 1 if C is a character that is `special' in a POSIX ERE and needs to -diff -Naur bash-5.0/subst.c bash-5.0.11/subst.c ---- bash-5.0/subst.c 2018-12-22 23:43:37.000000000 +0100 -+++ bash-5.0.11/subst.c 2019-11-28 16:11:58.588000000 +0100 -@@ -3625,7 +3625,9 @@ - this case, we quote the string specially for the globbing code. If - SPECIAL is 2, this is an rhs argument for the =~ operator, and should - be quoted appropriately for regcomp/regexec. The caller is responsible -- for removing the backslashes if the unquoted word is needed later. */ -+ for removing the backslashes if the unquoted word is needed later. In -+ any case, since we don't perform word splitting, we need to do quoted -+ null character removal. */ - char * - cond_expand_word (w, special) - WORD_DESC *w; -@@ -3646,6 +3648,8 @@ - { - if (special == 0) /* LHS */ - { -+ if (l->word) -+ word_list_remove_quoted_nulls (l); - dequote_list (l); - r = string_list (l); - } -diff -Naur bash-5.0/tests/varenv.right bash-5.0.11/tests/varenv.right ---- bash-5.0/tests/varenv.right 2018-12-17 21:39:48.000000000 +0100 -+++ bash-5.0.11/tests/varenv.right 2019-11-28 16:11:55.854000000 +0100 -@@ -146,9 +146,9 @@ - inside: declare -x var="value" - outside: declare -- var="one" - inside: declare -x var="value" --outside: declare -x var="value" --inside: declare -- var="local" --outside: declare -x var="global" -+outside: declare -- var="outside" -+inside: declare -x var="global" -+outside: declare -- var="outside" - foo= environment foo= - foo=foo environment foo=foo - foo=foo environment foo=foo -diff -Naur bash-5.0/variables.c bash-5.0.11/variables.c ---- bash-5.0/variables.c 2018-12-18 17:07:21.000000000 +0100 -+++ bash-5.0.11/variables.c 2019-11-28 16:11:55.853000000 +0100 -@@ -4460,9 +4460,9 @@ - int tvlist_ind; - - /* Take a variable from an assignment statement preceding a posix special -- builtin (including `return') and create a global variable from it. This -- is called from merge_temporary_env, which is only called when in posix -- mode. */ -+ builtin (including `return') and create a variable from it as if a -+ standalone assignment statement had been performed. This is called from -+ merge_temporary_env, which is only called when in posix mode. */ - static void - push_posix_temp_var (data) - PTR_T data; -@@ -4472,16 +4472,27 @@ - - var = (SHELL_VAR *)data; - -- binding_table = global_variables->table; -- if (binding_table == 0) -- binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS); -- -- v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP); -+ /* Just like do_assignment_internal(). This makes assignments preceding -+ special builtins act like standalone assignment statements when in -+ posix mode, satisfying the posix requirement that this affect the -+ "current execution environment." */ -+ v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP); -+ -+ /* If this modifies an existing local variable, v->context will be non-zero. -+ If it comes back with v->context == 0, we bound at the global context. -+ Set binding_table appropriately. It doesn't matter whether it's correct -+ if the variable is local, only that it's not global_variables->table */ -+ binding_table = v->context ? shell_variables->table : global_variables->table; - - /* global variables are no longer temporary and don't need propagating. */ -- var->attributes &= ~(att_tempvar|att_propagate); -+ if (binding_table == global_variables->table) -+ var->attributes &= ~(att_tempvar|att_propagate); -+ - if (v) -- v->attributes |= var->attributes; -+ { -+ v->attributes |= var->attributes; -+ v->attributes &= ~att_tempvar; /* not a temp var now */ -+ } - - if (find_special_var (var->name) >= 0) - tempvar_list[tvlist_ind++] = savestring (var->name); -@@ -4575,14 +4586,17 @@ - sh_free_func_t *pushf; - { - int i; -+ HASH_TABLE *disposer; - - tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1); - tempvar_list[tvlist_ind = 0] = 0; -- -- hash_flush (temporary_env, pushf); -- hash_dispose (temporary_env); -+ -+ disposer = temporary_env; - temporary_env = (HASH_TABLE *)NULL; - -+ hash_flush (disposer, pushf); -+ hash_dispose (disposer); -+ - tempvar_list[tvlist_ind] = 0; - - array_needs_making = 1; -diff -Naur bash-5.0/y.tab.c bash-5.0.11/y.tab.c ---- bash-5.0/y.tab.c 2019-01-02 19:57:43.000000000 +0100 -+++ bash-5.0.11/y.tab.c 2019-11-28 16:11:29.611000000 +0100 -@@ -4873,12 +4873,14 @@ - if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE && - pushed_string_list->flags != PSH_DPAREN && - (parser_state & PST_COMMENT) == 0 && -+ (parser_state & PST_ENDALIAS) == 0 && /* only once */ - shell_input_line_index > 0 && -- shell_input_line[shell_input_line_index-1] != ' ' && -+ shellblank (shell_input_line[shell_input_line_index-1]) == 0 && - shell_input_line[shell_input_line_index-1] != '\n' && - shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && - (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) - { -+ parser_state |= PST_ENDALIAS; - return ' '; /* END_ALIAS */ - } - #endif -@@ -4887,6 +4889,7 @@ - /* This case works for PSH_DPAREN as well */ - if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) - { -+ parser_state &= ~PST_ENDALIAS; - pop_string (); - uc = shell_input_line[shell_input_line_index]; - if (uc) diff --git a/patches/gcc-9.1.0-rpi1-cpu-default.patch b/patches/gcc-9.1.0-rpi1-cpu-default.patch deleted file mode 100644 index a1c2c9d..0000000 --- a/patches/gcc-9.1.0-rpi1-cpu-default.patch +++ /dev/null @@ -1,17 +0,0 @@ -Origin: https://intestinate.com/pilfs - ---- gcc-9.1.0.orig/gcc/config.gcc 2019-07-15 22:51:55.794365183 -0400 -+++ gcc-9.1.0/gcc/config.gcc 2019-07-15 22:54:42.110100015 -0400 -@@ -1189,6 +1189,12 @@ - tmake_file="$tmake_file arm/t-linux-androideabi" - ;; - esac -+ case ${target} in -+ arm*-*-*eabihf) -+ with_cpu=${with_cpu:-arm1176jzf-s} -+ with_float=${with_float:-hard} -+ ;; -+ esac - # The EABI requires the use of __cxa_atexit. - default_use_cxa_atexit=yes - with_tls=${with_tls:-gnu} diff --git a/patches/gcc-9.1.0-rpi2-cpu-default.patch b/patches/gcc-9.1.0-rpi2-cpu-default.patch deleted file mode 100644 index a237139..0000000 --- a/patches/gcc-9.1.0-rpi2-cpu-default.patch +++ /dev/null @@ -1,18 +0,0 @@ -Origin: https://intestinate.com/pilfs - ---- gcc-9.1.0.orig/gcc/config.gcc 2019-07-15 22:51:55.794365183 -0400 -+++ gcc-9.1.0/gcc/config.gcc 2019-07-15 22:58:21.654495465 -0400 -@@ -1189,6 +1189,13 @@ - tmake_file="$tmake_file arm/t-linux-androideabi" - ;; - esac -+ case ${target} in -+ arm*-*-*eabihf) -+ with_cpu=${with_cpu:-cortex-a7} -+ with_fpu=${with_fpu:-neon-vfpv4} -+ with_float=${with_float:-hard} -+ ;; -+ esac - # The EABI requires the use of __cxa_atexit. - default_use_cxa_atexit=yes - with_tls=${with_tls:-gnu} diff --git a/patches/gcc-9.1.0-rpi3-cpu-default.patch b/patches/gcc-9.1.0-rpi3-cpu-default.patch deleted file mode 100644 index 49984ca..0000000 --- a/patches/gcc-9.1.0-rpi3-cpu-default.patch +++ /dev/null @@ -1,18 +0,0 @@ -Origin: https://intestinate.com/pilfs - ---- gcc-9.1.0.orig/gcc/config.gcc 2019-07-15 22:51:55.794365183 -0400 -+++ gcc-9.1.0/gcc/config.gcc 2019-07-15 22:59:22.502945967 -0400 -@@ -1189,6 +1189,13 @@ - tmake_file="$tmake_file arm/t-linux-androideabi" - ;; - esac -+ case ${target} in -+ arm*-*-*eabihf) -+ with_cpu=${with_cpu:-cortex-a53} -+ with_fpu=${with_fpu:-neon-fp-armv8} -+ with_float=${with_float:-hard} -+ ;; -+ esac - # The EABI requires the use of __cxa_atexit. - default_use_cxa_atexit=yes - with_tls=${with_tls:-gnu} diff --git a/patches/gcc-9.1.0-rpi4-cpu-default.patch b/patches/gcc-9.1.0-rpi4-cpu-default.patch deleted file mode 100644 index d97579e..0000000 --- a/patches/gcc-9.1.0-rpi4-cpu-default.patch +++ /dev/null @@ -1,18 +0,0 @@ -Origin: https://intestinate.com/pilfs - ---- gcc-9.1.0.orig/gcc/config.gcc 2019-07-15 22:51:55.794365183 -0400 -+++ gcc-9.1.0/gcc/config.gcc 2019-07-15 23:00:21.051456291 -0400 -@@ -1189,6 +1189,13 @@ - tmake_file="$tmake_file arm/t-linux-androideabi" - ;; - esac -+ case ${target} in -+ arm*-*-*eabihf) -+ with_cpu=${with_cpu:-cortex-a72} -+ with_fpu=${with_fpu:-neon-fp-armv8} -+ with_float=${with_float:-hard} -+ ;; -+ esac - # The EABI requires the use of __cxa_atexit. - default_use_cxa_atexit=yes - with_tls=${with_tls:-gnu} diff --git a/patches/glibc-2.31-fhs-1.patch b/patches/glibc-2.31-fhs-1.patch deleted file mode 100644 index 4ac8d10..0000000 --- a/patches/glibc-2.31-fhs-1.patch +++ /dev/null @@ -1,72 +0,0 @@ -Submitted By: Armin K. -Date: 2013-02-11 -Initial Package Version: 2.17 -Upstream Status: Not Applicable -Origin: Self -Description: This patch removes references to /var/db directory which is not part - of FHS and replaces them with more suitable directories in /var - hierarchy - /var/cache/nscd for nscd and /var/lib/nss_db for nss_db. - ---- a/Makeconfig 2012-12-25 04:02:13.000000000 +0100 -+++ b/Makeconfig 2013-02-11 01:32:32.500667439 +0100 -@@ -250,7 +250,7 @@ - - # Directory for the database files and Makefile for nss_db. - ifndef vardbdir --vardbdir = $(localstatedir)/db -+vardbdir = $(localstatedir)/lib/nss_db - endif - inst_vardbdir = $(install_root)$(vardbdir) - ---- a/nscd/nscd.h 2012-12-25 04:02:13.000000000 +0100 -+++ b/nscd/nscd.h 2013-02-11 01:32:32.500667439 +0100 -@@ -112,11 +112,11 @@ - - - /* Paths of the file for the persistent storage. */ --#define _PATH_NSCD_PASSWD_DB "/var/db/nscd/passwd" --#define _PATH_NSCD_GROUP_DB "/var/db/nscd/group" --#define _PATH_NSCD_HOSTS_DB "/var/db/nscd/hosts" --#define _PATH_NSCD_SERVICES_DB "/var/db/nscd/services" --#define _PATH_NSCD_NETGROUP_DB "/var/db/nscd/netgroup" -+#define _PATH_NSCD_PASSWD_DB "/var/cache/nscd/passwd" -+#define _PATH_NSCD_GROUP_DB "/var/cache/nscd/group" -+#define _PATH_NSCD_HOSTS_DB "/var/cache/nscd/hosts" -+#define _PATH_NSCD_SERVICES_DB "/var/cache/nscd/services" -+#define _PATH_NSCD_NETGROUP_DB "/var/cache/nscd/netgroup" - - /* Path used when not using persistent storage. */ - #define _PATH_NSCD_XYZ_DB_TMP "/var/run/nscd/dbXXXXXX" ---- a/nss/db-Makefile 2012-12-25 04:02:13.000000000 +0100 -+++ b/nss/db-Makefile 2013-02-11 01:32:32.500667439 +0100 -@@ -22,7 +22,7 @@ - /etc/rpc /etc/services /etc/shadow /etc/gshadow \ - /etc/netgroup) - --VAR_DB = /var/db -+VAR_DB = /var/lib/nss_db - - AWK = awk - MAKEDB = makedb --quiet ---- a/sysdeps/generic/paths.h 2012-12-25 04:02:13.000000000 +0100 -+++ b/sysdeps/generic/paths.h 2013-02-11 01:32:32.500667439 +0100 -@@ -68,7 +68,7 @@ - /* Provide trailing slash, since mostly used for building pathnames. */ - #define _PATH_DEV "/dev/" - #define _PATH_TMP "/tmp/" --#define _PATH_VARDB "/var/db/" -+#define _PATH_VARDB "/var/lib/nss_db/" - #define _PATH_VARRUN "/var/run/" - #define _PATH_VARTMP "/var/tmp/" - ---- a/sysdeps/unix/sysv/linux/paths.h 2012-12-25 04:02:13.000000000 +0100 -+++ b/sysdeps/unix/sysv/linux/paths.h 2013-02-11 01:32:32.504000831 +0100 -@@ -68,7 +68,7 @@ - /* Provide trailing slash, since mostly used for building pathnames. */ - #define _PATH_DEV "/dev/" - #define _PATH_TMP "/tmp/" --#define _PATH_VARDB "/var/db/" -+#define _PATH_VARDB "/var/lib/nss_db/" - #define _PATH_VARRUN "/var/run/" - #define _PATH_VARTMP "/var/tmp/" - diff --git a/patches/sysvinit-2.96-consolidated-1.patch b/patches/sysvinit-2.96-consolidated-1.patch deleted file mode 100644 index e4ff59c..0000000 --- a/patches/sysvinit-2.96-consolidated-1.patch +++ /dev/null @@ -1,73 +0,0 @@ -Submitted By: Bruce Dubbs -Date: 2018-03-30 -Initial Package Version: 2.89 -Upstream Status: Not Submitted -Origin: Self -Description: Remove programs superceeded by other packages: wall, mountpoint, - last, lastb, mesg, sulogin, and utmpdump. - -Rediffed for vsrsion 2.94. -Remove logsave also. - ---- sysvinit-2.94/src/Makefile.orig 2019-03-07 22:47:42.220455043 -0600 -+++ sysvinit-2.94/src/Makefile 2019-03-07 22:48:45.925130823 -0600 -@@ -23,19 +23,22 @@ - - # For some known distributions we do not build all programs, otherwise we do. - BIN = --SBIN = init halt shutdown runlevel killall5 fstab-decode logsave --USRBIN = last mesg readbootlog -+SBIN = init halt shutdown runlevel killall5 fstab-decode -+#USRBIN = last mesg readbootlog - --MAN1 = last.1 lastb.1 mesg.1 readbootlog.1 -+#MAN1 = last.1 lastb.1 mesg.1 readbootlog.1 - MAN5 = initscript.5 inittab.5 initctl.5 --MAN8 = halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8 --MAN8 += shutdown.8 telinit.8 fstab-decode.8 logsave.8 -+#MAN8 = halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8 -+MAN8 = halt.8 init.8 killall5.8 poweroff.8 reboot.8 runlevel.8 -+MAN8 += shutdown.8 telinit.8 fstab-decode.8 - - ifeq ($(DISTRO),) --SBIN += sulogin bootlogd --USRBIN += utmpdump wall --MAN1 += utmpdump.1 wall.1 --MAN8 += sulogin.8 bootlogd.8 -+#SBIN += sulogin bootlogd -+SBIN += bootlogd -+#USRBIN += utmpdump wall -+#MAN1 += utmpdump.1 wall.1 -+#MAN8 += sulogin.8 bootlogd.8 -+MAN8 += bootlogd.8 - endif - - ifeq ($(DISTRO),Debian) -@@ -206,10 +209,10 @@ - ln -sf halt $(ROOT)/sbin/reboot - ln -sf halt $(ROOT)/sbin/poweroff - ln -sf init $(ROOT)/sbin/telinit -- ln -sf /sbin/killall5 $(ROOT)/bin/pidof -- if [ ! -f $(ROOT)/usr/bin/lastb ]; then \ -- ln -sf last $(ROOT)/usr/bin/lastb; \ -- fi -+ #ln -sf /sbin/killall5 $(ROOT)/bin/pidof -+ #if [ ! -f $(ROOT)/usr/bin/lastb ]; then \ -+ # ln -sf last $(ROOT)/usr/bin/lastb; \ -+ #fi - $(INSTALL_DIR) $(ROOT)/usr/include/ - $(INSTALL_DATA) initreq.h $(ROOT)/usr/include/ - $(INSTALL_DIR) $(ROOT)$(MANDIR)/man1/ -@@ -231,8 +234,8 @@ - # - # This part is skipped on Debian systems, the - # debian.preinst script takes care of it. -- @if [ ! -p /run/initctl ]; then \ -- echo "Creating /run/initctl"; \ -- rm -f /run/initctl; \ -- mknod -m 600 /run/initctl p; fi -+ #@if [ ! -p /run/initctl ]; then \ -+ #echo "Creating /run/initctl"; \ -+ #rm -f /run/initctl; \ -+ #mknod -m 600 /run/initctl p; fi - endif