public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [git.ipfire.org] IPFire 2.x development tree branch, next, updated. efaed42101ed190df802f492cb00c8997f8a08b7
@ 2021-04-11 12:24 Michael Tremer
  0 siblings, 0 replies; only message in thread
From: Michael Tremer @ 2021-04-11 12:24 UTC (permalink / raw)
  To: ipfire-scm

[-- Attachment #1: Type: text/plain, Size: 200387 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".

The branch, next has been updated
       via  efaed42101ed190df802f492cb00c8997f8a08b7 (commit)
       via  0cd9215b565e7c3ef34699b695aaab7eba1dc510 (commit)
       via  b83e0bd9a48a23c03b85d1fde4ba7d9282ec264a (commit)
       via  c6353b0dc1411bb55beae1d1d4f13c3de32f3134 (commit)
       via  af8964d23617b9d62fcaf640a3907b317c81a8cd (commit)
       via  8460cfee52fdb9118b42907b1c852ebca255f416 (commit)
       via  b034722ccd36a2bb6eb4359e167d1a702d755c64 (commit)
       via  7e27f7cdc1e1848d5e6b82f5181fffccd9597bec (commit)
       via  b982337a45686176725b22a8abbe6119d58ec03a (commit)
       via  0e8e452f49944c15bb6cc53cbc33ce09da0f84bc (commit)
       via  f2aabc967d83a0a7b95c48cc1c4e6cd1fb24617f (commit)
       via  592054a00d472dbf4080ed70384c6733a48d4e7a (commit)
       via  3f30cc7709a585d3151a29b581e77fa8094b6ff5 (commit)
       via  8ef6632641cfd2c8160257e34cdb82a11ab12d43 (commit)
       via  111a58cf02458a178b3fa888fab7328bb8de02c5 (commit)
       via  f9f6cbd8c6f47727ea875007c18a9cf5ce46ec40 (commit)
       via  08474cc60b2472467f9c26b204520bb200f30925 (commit)
       via  38e1646bc1efabbb6bf616312e576710e8c23095 (commit)
       via  1134288b548a99f34d64a81fb9bcee6f55202a8b (commit)
      from  c49bf5412b3d1c3ef8ac894839d04fbfd82b4d3a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit efaed42101ed190df802f492cb00c8997f8a08b7
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 11 12:23:18 2021 +0000

    core157: Ship pppd
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 0cd9215b565e7c3ef34699b695aaab7eba1dc510
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date:   Sat Apr 10 16:33:47 2021 +0200

    ppp: update to 2.4.9
    
    This is the first ppp release for years, and the project appears to have
    a different maintainer (team?) by now. As a result, some of our patches
    are no longer necessary as they made it into upstream, while others need
    to be adjusted slightly.
    
    In addition, their configure script does not handle commas in CFLAGS
    properly, which is why the delimiter for the 'sed' call in it has to be
    changed to something neither appearing in a path nor in our CLFAGS set.
    
    The full changelog of this release can be retrieved from
    https://ppp.samba.org/README.html and says:
    
    * Support for new EAP (Extensible Authentication Protocol) methods:
      - Support for EAP-TLS, from Jan Just Keijser and others
      - Support for EAP-MSCHAPv2, from Eivind Næss, Thomas Omerzu, Tijs
        Van Buggenhout and others
    
    * New pppd options:
      - chap-timeout
      - chapms-strip-domain
      - replacedefaultroute
      - noreplacedefaultroute
      - ipv6cp-accept-remote
      - lcp-echo-adaptive
      - ip-up-script
      - ip-down-script
      - ca
      - capath
      - cert
      - key
      - crl-dir
      - crl
      - max-tls-version
      - need-peer-eap
    
    * Fixes for CVE-2020-8597 and CVE-2015-3310.
    
    * libpcap is now required when compiling on Linux (previously, if
      libpcap was not present, pppd would be compiled without packet
      filtering support).
    
    * The rp-pppoe plugin has been renamed to pppoe, to distinguish it
      from the upstream rp-pppoe code.  Its options have changed names,
      but the old names are kept as aliases.
    
    * The configure script now supports cross-compilation.
    
    * Many bug fixes and cleanups.
    
    Thanks to Michael for his hint on the ./configure CFLAGS issue.
    
    The second version of this patch correctly updates the
    src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch patch for the
    second hunk in pppd/main.c, where socket permissions have been changed
    meanwhile.
    
    Further, it has been successfully tested against a VDSL 100 line in
    Germany, using PAP to Easybell via 1&1 L2 BSA. No connectivity issues or
    other anomalies have been observed so far.
    
    Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit b83e0bd9a48a23c03b85d1fde4ba7d9282ec264a
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 11 12:12:16 2021 +0000

    Install sysctl.conf only on those architectures where needed
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit c6353b0dc1411bb55beae1d1d4f13c3de32f3134
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date:   Sat Apr 10 15:49:10 2021 +0200

    wireless-regdb: update to 2020.11.20
    
    This release contains various regulatory updates for different
    countries, too many to list them here. While
    https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
    mentiones http://drvbp1.linux-foundation.org/~mcgrof/rel-html/wireless-regdb/
    as the location for release announcements, that server seems to be
    defunct, so there is only https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git
    left for further details between the 2019.03.01 and 2020.11.20 version.
    
    Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit af8964d23617b9d62fcaf640a3907b317c81a8cd
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:49:23 2021 +0000

    rpcbind: Update initscript for moved binary
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 8460cfee52fdb9118b42907b1c852ebca255f416
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:47:39 2021 +0000

    linux: Remove old code for generating initramfs
    
    These kernels are no longer supported or have been merged into the main
    kernel.
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit b034722ccd36a2bb6eb4359e167d1a702d755c64
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:44:55 2021 +0000

    core157: Ship kernel
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 7e27f7cdc1e1848d5e6b82f5181fffccd9597bec
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date:   Fri Apr 9 17:31:31 2021 +0200

    kernel: update to 4.14.229
    
    Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
    Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit b982337a45686176725b22a8abbe6119d58ec03a
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:39:41 2021 +0000

    core157: Ship poppler-data
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 0e8e452f49944c15bb6cc53cbc33ce09da0f84bc
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date:   Thu Apr 8 22:37:53 2021 +0200

    poppler-data: Update to 0.4.10
    
    - Update from 0.4.9 to 0.4.10
    - Update rootfile
    - There is no Changelog file in the source tarball
       The poppler website has no release info on poppler-data only poppler
    
    Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit f2aabc967d83a0a7b95c48cc1c4e6cd1fb24617f
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:39:19 2021 +0000

    core157: Ship poppler
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 592054a00d472dbf4080ed70384c6733a48d4e7a
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date:   Thu Apr 8 22:37:40 2021 +0200

    poppler: Update to 21.04.0
    
    - Update from 0.89.0 to 21.04.0
       From Aug 2020 file version naming changed to YY.MM.x
       Update issued every month since then
    - Update rootfile
    - Changelog is too large to include here
       Full content can be reviewed in ChangeLog file in source tarball
    
    Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 3f30cc7709a585d3151a29b581e77fa8094b6ff5
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:38:30 2021 +0000

    core157: Ship sqlite
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 8ef6632641cfd2c8160257e34cdb82a11ab12d43
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date:   Thu Apr 8 22:38:08 2021 +0200

    sqlite: Update to 3.35.4
    
    - Update from 3.34.1 to 3.35.4
    - Update of rootfile not required
    - Changelog
    3.35.0
      Added built-in SQL math functions(). (Requires the -DSQLITE_ENABLE_MATH_FUNCTIONS compile-time option.)
      Added support for ALTER TABLE DROP COLUMN.
      Generalize UPSERT:
        Allow multiple ON CONFLICT clauses that are evaluated in order,
        The final ON CONFLICT clause may omit the conflict target and yet still use DO UPDATE.
      Add support for the RETURNING clause on DELETE, INSERT, and UPDATE statements.
      Use less memory when running VACUUM on databases containing very large TEXT or BLOB values. It is no longer necessary to hold the entire TEXT or BLOB in memory all at once.
      Add support for the MATERIALIZED and NOT MATERIALIZED hints when specifying common table expressions. The default behavior was formerly NOT MATERIALIZED, but is now changed to MATERIALIZED for CTEs that are used more than once.
      The SQLITE_DBCONFIG_ENABLE_TRIGGER and SQLITE_DBCONFIG_ENABLE_VIEW settings are modified so that they only control triggers and views in the main database schema or in attached database schemas and not in the TEMP schema. TEMP triggers and views are always allowed.
      Query planner/optimizer improvements:
        Enhancements to the min/max optimization so that it works better with the IN operator and the OP_SeekScan optimization of the previous release.
        Attempt to process EXISTS operators in the WHERE clause as if they were IN operators, in cases where this is a valid transformation and seems likely to improve performance.
        Allow UNION ALL sub-queries to be flattened even if the parent query is a join.
        Use an index, if appropriate, on IS NOT NULL expressions in the WHERE clause, even if STAT4 is disabled.
        Expressions of the form "x IS NULL" or "x IS NOT NULL" might be converted to simply FALSE or TRUE, if "x" is a column that has a "NOT NULL" constraint and is not involved in an outer join.
        Avoid checking foreign key constraints on an UPDATE statement if the UPDATE does not modify any columns associated with the foreign key.
        Allow WHERE terms to be pushed down into sub-queries that contain window functions, as long as the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query.
      CLI enhancements:
        Enhance the ".stats" command to accept new arguments "stmt" and "vmstep", causing prepare statement statistics and only the virtual-machine step count to be shown, respectively.
        Add the ".filectrl data_version" command.
        Enhance the ".once" and ".output" commands so that if the destination argument begins with "|" (indicating that output is redirected into a pipe) then the argument does not need to be quoted.
      Bug fixes:
        Fix a potential NULL pointer dereference when processing a syntactically incorrect SELECT statement with a correlated WHERE clause and a "HAVING 0" clause. (Also fixed in the 3.34.1 patch release.)
        Fix a bug in the IN-operator optimization of version 3.33.0 that can cause an incorrect answer.
        Fix incorrect answers from the LIKE operator if the pattern ends with "%" and there is an "ESCAPE '_'" clause.
    3.35.1
      Fix a bug in the new DROP COLUMN feature when used on columns that are indexed and that are quoted in the index definition.
      Improve the built-in documentation for the .dump command in the CLI.
    3.35.2
      Fix a problem in the appendvfs.c extension that was introduced into version 3.35.0.
      Ensure that date/time functions with no arguments (which generate responses that depend on the current time) are treated as non-deterministic functions. Ticket 2c6c8689fb5f3d2f
      Fix a problem in the sqldiff utility program having to do with unusual whitespace characters in a virtual table definition.
      Limit the new UNION ALL optimization described by item 8c in the 3.35.0 release so that it does not try to make too many new subqueries. See forum thread 140a67d3d2 for details.
    3.35.3
      Enhance the OP_OpenDup opcode of the bytecode engine so that it works even if the cursor being duplicated itself came from OP_OpenDup. Fix for ticket bb8a9fd4a9b7fce5. This problem only came to light due to the recent MATERIALIZED hint enhancement.
      When materializing correlated common table expressions, do so separately for each use case, as that is required for correctness. This fixes a problem that was introduced by the MATERIALIZED hint enhancement.
      Fix a problem in the filename normalizer of the unix VFS.
      Fix the "box" output mode in the CLI so that it works with statements that returns one or more rows of zero columns (such as PRAGMA incremental_vacuum). Forum post afbbcb5b72.
      Improvements to error messages generated by faulty common table expressions. Forum post aa5a0431c99e.
      Fix some incorrect assert() statements.
      Fix to the SELECT statement syntax diagram so that the FROM clause syntax is shown correctly. Forum post 9ed02582fe.
      Fix the EBCDIC character classifier so that it understands newlines as whitespace. Forum post 58540ce22dcd.
      Improvements the xBestIndex method in the implementation of the (unsupported) wholenumber virtual table extension so that it does a better job of convincing the query planner to avoid trying to materialize a table with an infinite number of rows. Forum post b52a020ce4.
    3.35.4
      Fix a defect in the query planner optimization identified by item 8b above. Ticket de7db14784a08053.
      Fix a defect in the new RETURNING syntax. Ticket 132994c8b1063bfb.
      Fix the new RETURNING feature so that it raises an error if one of the terms in the RETURNING clause references a unknown table, instead of silently ignoring that error.
      Fix an assertion associated with aggregate function processing that was incorrectly triggered by the push-down optimization.
    
    Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 111a58cf02458a178b3fa888fab7328bb8de02c5
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:38:04 2021 +0000

    core157: Ship bash
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit f9f6cbd8c6f47727ea875007c18a9cf5ce46ec40
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date:   Thu Apr 8 13:10:00 2021 +0200

    bash: Update to 5.1 with patch 4
    
    - Update from 5.0 with patch 18 to 5.1 wih patch 4
    - Remove old bash50 patches
    - Update rootfiles
    - Add new bash51 patches
    - Installed updated version in a vm testbed system
       All bash commands that were run, executed correctly
       Script created to redirect output to a file and ran correctly
    - Changelog
    1. New Features in bash-5.1 since release of bash-5.0
    a. `bind -x' now supports different bindings for different editing modes and
       keymaps.
    b. Bash attempts to optimize the number of times it forks when executing
       commands in subshells and from `bash -c'.
    c. Here documents and here strings now use pipes for the expanded document if
       it's smaller than the pipe buffer size, reverting to temporary files if it's
       larger.
    d. There are new loadable builtins: mktemp, accept, mkfifo, csv, cut/lcut
    e. In posix mode, `trap -p' now displays signals whose disposition is SIG_DFL
       and those that were SIG_IGN when the shell starts.
    f. The shell now expands the history number (e.g., in PS1) even if it is not
       currently saving commands to the history list.
    g. `read -e' may now be used with arbitrary file descriptors (`read -u N').
    h. The `select' builtin now runs traps if its internal call to the read builtin
       is interrupted by a signal.
    i. SRANDOM: a new variable that expands to a 32-bit random number that is not
       produced by an LCRNG, and uses getrandom/getentropy, falling back to
       /dev/urandom or arc4random if available. There is a fallback generator if
       none of these are available.
    j. shell-transpose-words: a new bindable readline command that uses the same
       definition of word as shell-forward-word, etc.
    k. The shell now adds default bindings for shell-forward-word,
       shell-backward-word, shell-transpose-words, and shell-kill-word.
    l. Bash now allows ARGV0 appearing in the initial shell environment to set $0.
    m. If `unset' is executed without option arguments, bash tries to unset a shell
       function if a name argument cannot be a shell variable name because it's not
       an identifier.
    n. The `test -N' operator uses nanosecond timestamp granularity if it's
       available.
    o. Bash posix mode now treats assignment statements preceding shell function
       definitions the same as in its default mode, since POSIX has changed and
       no longer requires those assignments to persist after the function returns
       (POSIX interp 654).
    p. BASH_REMATCH is no longer readonly.
    q. wait: has a new -p VARNAME option, which stores the PID returned by `wait -n'
       or `wait' without arguments.
    r. Sorting the results of pathname expansion now uses byte-by-byte comparisons
       if two strings collate equally to impose a total order; the result of a
       POSIX interpretation.
    s. Bash now allows SIGINT trap handlers to execute recursively.
    t. Bash now saves and restores state around setting and unsetting posix mode,
       instead of having unsetting posix mode set a known state.
    u. Process substitution is now available in posix mode.
    v. READLINE_MARK: a new variable available while executing commands bound with
       `bind -x', contains the value of the mark.
    w. Bash removes SIGCHLD from the set of blocked signals if it's blocked at shell
       startup.
    x. `test -v N' can now test whether or not positional parameter N is set.
    y. `local' now honors the `-p' option to display all local variables at the
        current context.
    z. The `@a' variable transformation now prints attributes for unset array
       variables.
    aa. The `@A' variable transformation now prints a declare command that sets a
        variable's attributes if the variable has attributes but is unset.
    bb. `declare' and `local' now have a -I option that inherits attributes and
        value from a variable with the same name at a previous scope.
    cc. When run from a -c command, `jobs' now reports the status of completed jobs.
    dd. New `U', `u', and `L' parameter transformations to convert to uppercase,
        convert first character to uppercase, and convert to lowercase,
        respectively.
    ee. PROMPT_COMMAND: can now be an  array variable, each element of which can
        contain a command to be executed like a string PROMPT_COMMAND variable.
    ff. `ulimit' has a -R option to report and set the RLIMIT_RTTIME resource.
    gg. Associative arrays may be assigned using a list of key-value pairs within
        a compound assignment. Compound assignments where the words are not of
        the form [key]=value are assumed to be key-value assignments. A missing or
        empty key is an error; a missing value is treated as NULL. Assignments may
        not mix the two forms.
    hh. New `K' parameter transformation to display associative arrays as key-
        value pairs.
    ii. Writing history to syslog now handles messages longer than the syslog max
        length by writing multiple messages with a sequence number.
    jj. SECONDS and RANDOM may now be assigned using arithmetic expressions, since
        they are nominally integer variables. LINENO is not an integer variable.
    kk. Bash temporarily suppresses the verbose option when running the DEBUG trap
        while running a command from the `fc' builtin.
    ll. `wait -n' now accepts a list of job specifications as arguments and will
        wait for the first one in the list to change state.
    mm. The associative array implementation can now dynamically increase the
        size of the hash table based on insertion patterns.
    nn. HISTFILE is now readonly in a restricted shell.
    oo. The bash malloc now returns memory that is 16-byte aligned on 64-bit
        systems.
    pp. If the hash builtin is listing hashed filenames portably, don't print
       anything if the table is empty.
    qq. GLOBIGNORE now ignores `.' and `..' as a terminal pathname component.
    rr. Bash attempts to optimize away forks in the last command in a function body
        under appropriate circumstances.
    ss. The globbing code now uses fnmatch(3) to check collation elements (if
        available) even in cases without multibyte characters.
    tt. The `fg' and `bg' builtins now return an error in a command substitution
        when asked to restart a job inherited from the parent shell.
    uu. The shell now attempts to unlink all FIFOs on exit, whether a consuming
        process has finished with them or not.
    vv. There is a new contributed loadable builtin: asort.
    
    Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 08474cc60b2472467f9c26b204520bb200f30925
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:37:40 2021 +0000

    core157: Ship readline
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 38e1646bc1efabbb6bf616312e576710e8c23095
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date:   Thu Apr 8 13:10:01 2021 +0200

    readline: Updated to 8.1
    
    - Updated from 8.0 with patch 1 to 8.1 with no patches
    - Commented out the patch section in the lfs as no current patches
       When patches are issued then the patch section can be uncommented
    - Update rootfiles
    - Remove old readline patches
    - Changelog
    New Features in readline-8.1 since the release of readline-8.0
    a. If a second consecutive completion attempt produces matches where the first
       did not, treat it as a new completion attempt and insert a match as
       appropriate.
    b. Bracketed paste mode works in more places: incremental search strings, vi
       overstrike mode, character search, and reading numeric arguments.
    c. Readline automatically switches to horizontal scrolling if the terminal has
       only one line.
    d. Unbinding all key sequences bound to a particular readline function now
       descends into keymaps for multi-key sequences.
    e. rl-clear-display: new bindable command that clears the screen and, if
       possible, the scrollback buffer (bound to emacs mode M-C-l by default).
    f. New active mark and face feature: when enabled, it will highlight the text
       inserted by a bracketed paste (the `active region') and the text found by
       incremental and non-incremental history searches. This is tied to bracketed
       paste and can be disabled by turning off bracketed paste.
    g. Readline sets the mark in several additional commands.
    h. Bracketed paste mode is enabled by default. There is a configure-time
       option (--enable-bracketed-paste-default) to set the default to on or off.
    i. Readline tries to take advantage of the more regular structure of UTF-8
       characters to identify the beginning and end of characters when moving
       through the line buffer.
    j. The bindable operate-and-get-next command (and its default bindings) are
       now part of readline instead of a bash-specific addition.
    k. The signal cleanup code now blocks SIGINT while processing after a SIGINT.
    
    Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 1134288b548a99f34d64a81fb9bcee6f55202a8b
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 10 13:35:36 2021 +0000

    Start Core Update 157
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

-----------------------------------------------------------------------

Summary of changes:
 config/{etc => etc-aarch64}/sysctl-aarch64.conf    |   0
 config/{etc => etc-armv5tel}/sysctl-armv5tel.conf  |   0
 config/{etc => etc-x86_64}/sysctl-x86_64.conf      |   0
 config/kernel/kernel.config.aarch64-ipfire         |   3 +-
 config/kernel/kernel.config.armv5tel-ipfire-multi  |   3 +-
 config/kernel/kernel.config.i586-ipfire            |   3 +-
 config/kernel/kernel.config.x86_64-ipfire          |   3 +-
 config/rootfiles/common/aarch64/stage2             |   2 +-
 config/rootfiles/common/{ => armv5tel}/stage2      |   2 +-
 config/rootfiles/common/bash                       |  11 +-
 config/rootfiles/common/i586/linux-initrd-pae      |   1 -
 config/rootfiles/common/poppler                    |  29 +--
 config/rootfiles/common/poppler-data               |  16 ++
 config/rootfiles/common/ppp                        |  29 ++-
 config/rootfiles/common/readline                   |   4 +-
 config/rootfiles/common/stage2                     |   1 -
 config/rootfiles/core/{156 => 157}/exclude         |   0
 .../124 => core/157}/filelists/aarch64/linux       |   0
 .../157}/filelists/aarch64/linux-initrd            |   0
 .../157}/filelists/armv5tel/linux-initrd-multi     |   0
 .../157}/filelists/armv5tel/linux-multi            |   0
 .../{oldcore/139 => core/157}/filelists/bash       |   0
 .../{oldcore/100 => core/157}/filelists/i586/linux |   0
 .../100 => core/157}/filelists/i586/linux-initrd   |   0
 .../{oldcore/110 => core/157}/filelists/poppler    |   0
 .../151 => core/157}/filelists/poppler-data        |   0
 config/rootfiles/core/157/filelists/pppd           |   1 +
 .../{oldcore/139 => core/157}/filelists/readline   |   0
 .../core/{156 => 157}/filelists/release-files      |   0
 .../{oldcore/125 => core/157}/filelists/sqlite     |   0
 .../100 => core/157}/filelists/x86_64/linux        |   0
 .../100 => core/157}/filelists/x86_64/linux-initrd |   0
 .../rootfiles/{oldcore/150 => core/157}/update.sh  |   9 +-
 config/rootfiles/{core => oldcore}/156/exclude     |   0
 .../{core => oldcore}/156/filelists/Archive-Tar    |   0
 .../{core => oldcore}/156/filelists/Archive-Zip    |   0
 .../{core => oldcore}/156/filelists/BerkeleyDB     |   0
 .../{core => oldcore}/156/filelists/Compress-Zlib  |   0
 .../{core => oldcore}/156/filelists/Convert-TNEF   |   0
 .../{core => oldcore}/156/filelists/Convert-UUlib  |   0
 .../156/filelists/Crypt-PasswdMD5                  |   0
 .../{core => oldcore}/156/filelists/Digest-HMAC    |   0
 .../{core => oldcore}/156/filelists/Digest-SHA1    |   0
 .../{core => oldcore}/156/filelists/GD-Graph       |   0
 .../{core => oldcore}/156/filelists/GD-TextUtil    |   0
 .../{core => oldcore}/156/filelists/HTML-Parser    |   0
 .../{core => oldcore}/156/filelists/HTML-Tagset    |   0
 .../{core => oldcore}/156/filelists/HTML-Template  |   0
 .../{core => oldcore}/156/filelists/IO-Socket-SSL  |   0
 .../{core => oldcore}/156/filelists/IO-Stringy     |   0
 .../{core => oldcore}/156/filelists/MIME-Tools     |   0
 .../{core => oldcore}/156/filelists/Mail-Tools     |   0
 .../{core => oldcore}/156/filelists/Net-DNS        |   0
 .../{core => oldcore}/156/filelists/Net-IPv4Addr   |   0
 .../{core => oldcore}/156/filelists/Net-Server     |   0
 .../{core => oldcore}/156/filelists/Net-Telnet     |   0
 .../{core => oldcore}/156/filelists/Net_SSLeay     |   0
 .../{core => oldcore}/156/filelists/Text-Tabs+Wrap |   0
 .../rootfiles/{core => oldcore}/156/filelists/URI  |   0
 .../{core => oldcore}/156/filelists/Unix-Syslog    |   0
 .../{core => oldcore}/156/filelists/XML-Parser     |   0
 .../{core => oldcore}/156/filelists/aarch64/files  |   0
 .../rootfiles/{core => oldcore}/156/filelists/acl  |   0
 .../{core => oldcore}/156/filelists/armv5tel/files |   0
 .../rootfiles/{core => oldcore}/156/filelists/attr |   0
 .../rootfiles/{core => oldcore}/156/filelists/bind |   0
 .../{core => oldcore}/156/filelists/bzip2          |   0
 .../rootfiles/{core => oldcore}/156/filelists/crda |   0
 .../{core => oldcore}/156/filelists/diffutils      |   0
 .../rootfiles/{core => oldcore}/156/filelists/ed   |   0
 .../{core => oldcore}/156/filelists/files          |   0
 .../rootfiles/{core => oldcore}/156/filelists/gawk |   0
 .../{core => oldcore}/156/filelists/gettext        |   0
 .../rootfiles/{core => oldcore}/156/filelists/gmp  |   0
 .../rootfiles/{core => oldcore}/156/filelists/grep |   0
 .../{core => oldcore}/156/filelists/jquery         |   0
 .../{core => oldcore}/156/filelists/libcap         |   0
 .../{core => oldcore}/156/filelists/libloc         |   0
 .../{core => oldcore}/156/filelists/libmpc         |   0
 .../{core => oldcore}/156/filelists/liboping       |   0
 .../{core => oldcore}/156/filelists/libpcap        |   0
 .../{core => oldcore}/156/filelists/libwww-perl    |   0
 .../{core => oldcore}/156/filelists/nettle         |   0
 .../{core => oldcore}/156/filelists/openssl        |   0
 .../rootfiles/{core => oldcore}/156/filelists/perl |   0
 .../156/filelists/perl-Apache-Htpasswd             |   0
 .../{core => oldcore}/156/filelists/perl-CGI       |   0
 .../156/filelists/perl-DBD-SQLite                  |   0
 .../{core => oldcore}/156/filelists/perl-DBI       |   0
 .../156/filelists/perl-Device-Modem                |   0
 .../156/filelists/perl-Device-SerialPort           |   0
 .../156/filelists/perl-Email-Date-Format           |   0
 .../{core => oldcore}/156/filelists/perl-Font-TTF  |   0
 .../{core => oldcore}/156/filelists/perl-GD        |   0
 .../{core => oldcore}/156/filelists/perl-IO-String |   0
 .../{core => oldcore}/156/filelists/perl-MIME-Lite |   0
 .../156/filelists/perl-Net-CIDR-Lite               |   0
 .../156/filelists/perl-NetAddr-IP                  |   0
 .../{core => oldcore}/156/filelists/perl-PDF-API2  |   0
 .../156/filelists/perl-Sort-Naturally              |   0
 .../{core => oldcore}/156/filelists/perl-Switch    |   0
 .../156/filelists/perl-Text-CSV_XS                 |   0
 .../{core => oldcore}/156/filelists/release-files  |   0
 .../{core => oldcore}/156/filelists/rrdtool        |   0
 .../{core => oldcore}/156/filelists/strongswan     |   0
 .../rootfiles/{core => oldcore}/156/filelists/sudo |   0
 .../{core => oldcore}/156/filelists/suricata       |   0
 .../{core => oldcore}/156/filelists/sysvinit       |   0
 .../156/filelists/web-user-interface               |   0
 .../{core => oldcore}/156/filelists/x86_64/files   |   0
 .../rootfiles/{core => oldcore}/156/filelists/zstd |   0
 config/rootfiles/{core => oldcore}/156/update.sh   |   0
 lfs/bash                                           |   8 +-
 lfs/linux                                          |   8 +-
 lfs/linux-initrd                                   |  12 -
 lfs/poppler                                        |   4 +-
 lfs/poppler-data                                   |   4 +-
 lfs/ppp                                            |  15 +-
 lfs/readline                                       |  10 +-
 lfs/rpcbind                                        |   2 +-
 lfs/sqlite                                         |   4 +-
 lfs/stage2                                         |   1 +
 lfs/wireless-regdb                                 |   6 +-
 make.sh                                            |   2 +-
 src/initscripts/packages/rpcbind                   |   6 +-
 src/patches/bash/bash50-001                        | 166 ------------
 src/patches/bash/bash50-002                        | 113 --------
 src/patches/bash/bash50-003                        | 239 -----------------
 src/patches/bash/bash50-004                        |  53 ----
 src/patches/bash/bash50-005                        | 110 --------
 src/patches/bash/bash50-006                        |  47 ----
 src/patches/bash/bash50-007                        |  62 -----
 src/patches/bash/bash50-008                        |  68 -----
 src/patches/bash/bash50-009                        |  42 ---
 src/patches/bash/bash50-010                        | 172 ------------
 src/patches/bash/bash50-011                        |  59 -----
 src/patches/bash/bash50-012                        |  64 -----
 src/patches/bash/bash50-013                        |  73 ------
 src/patches/bash/bash50-014                        |  52 ----
 src/patches/bash/bash50-015                        |  78 ------
 src/patches/bash/bash50-016                        |  58 -----
 src/patches/bash/bash50-017                        | 289 ---------------------
 src/patches/bash/bash50-018                        |  45 ----
 src/patches/bash/bash51-001                        |  80 ++++++
 src/patches/bash/bash51-002                        |  57 ++++
 src/patches/bash/bash51-003                        |  53 ++++
 src/patches/bash/bash51-004                        | 126 +++++++++
 ...tilize-compiler-flags-handed-to-us-by-rpm.patch | 121 ---------
 .../ppp/0013-everywhere-O_CLOEXEC-harder.patch     |  10 +-
 ...ere-use-SOCK_CLOEXEC-when-creating-socket.patch |  33 +--
 .../ppp/ppp-2.4.6-increase-max-padi-attempts.patch |   6 +-
 src/patches/ppp/ppp-2.4.7-headers_4.9.patch        |   6 +-
 ...p-2.4.8-pppd-fix-bounds-check-in-eap-code.patch |  35 ---
 ...patch-configure-to-handle-cflags-properly.patch |  15 ++
 src/patches/readline/readline63-001                |  43 ---
 src/patches/readline/readline63-002                |  44 ----
 src/patches/readline/readline63-003                |  47 ----
 src/patches/readline/readline63-004                |  45 ----
 src/patches/readline/readline63-005                |  58 -----
 src/patches/readline/readline63-006                |  63 -----
 src/patches/readline/readline80-001                |  38 ---
 161 files changed, 444 insertions(+), 2425 deletions(-)
 rename config/{etc => etc-aarch64}/sysctl-aarch64.conf (100%)
 rename config/{etc => etc-armv5tel}/sysctl-armv5tel.conf (100%)
 rename config/{etc => etc-x86_64}/sysctl-x86_64.conf (100%)
 copy config/rootfiles/common/{ => armv5tel}/stage2 (99%)
 delete mode 100644 config/rootfiles/common/i586/linux-initrd-pae
 copy config/rootfiles/core/{156 => 157}/exclude (100%)
 copy config/rootfiles/{oldcore/124 => core/157}/filelists/aarch64/linux (100%)
 copy config/rootfiles/{oldcore/124 => core/157}/filelists/aarch64/linux-initrd (100%)
 copy config/rootfiles/{oldcore/121 => core/157}/filelists/armv5tel/linux-initrd-multi (100%)
 copy config/rootfiles/{oldcore/100 => core/157}/filelists/armv5tel/linux-multi (100%)
 copy config/rootfiles/{oldcore/139 => core/157}/filelists/bash (100%)
 copy config/rootfiles/{oldcore/100 => core/157}/filelists/i586/linux (100%)
 copy config/rootfiles/{oldcore/100 => core/157}/filelists/i586/linux-initrd (100%)
 copy config/rootfiles/{oldcore/110 => core/157}/filelists/poppler (100%)
 copy config/rootfiles/{oldcore/151 => core/157}/filelists/poppler-data (100%)
 create mode 120000 config/rootfiles/core/157/filelists/pppd
 copy config/rootfiles/{oldcore/139 => core/157}/filelists/readline (100%)
 copy config/rootfiles/core/{156 => 157}/filelists/release-files (100%)
 copy config/rootfiles/{oldcore/125 => core/157}/filelists/sqlite (100%)
 copy config/rootfiles/{oldcore/100 => core/157}/filelists/x86_64/linux (100%)
 copy config/rootfiles/{oldcore/100 => core/157}/filelists/x86_64/linux-initrd (100%)
 copy config/rootfiles/{oldcore/150 => core/157}/update.sh (95%)
 rename config/rootfiles/{core => oldcore}/156/exclude (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Archive-Tar (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Archive-Zip (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/BerkeleyDB (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Compress-Zlib (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Convert-TNEF (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Convert-UUlib (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Crypt-PasswdMD5 (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Digest-HMAC (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Digest-SHA1 (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/GD-Graph (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/GD-TextUtil (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/HTML-Parser (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/HTML-Tagset (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/HTML-Template (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/IO-Socket-SSL (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/IO-Stringy (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/MIME-Tools (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Mail-Tools (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Net-DNS (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Net-IPv4Addr (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Net-Server (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Net-Telnet (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Net_SSLeay (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Text-Tabs+Wrap (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/URI (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/Unix-Syslog (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/XML-Parser (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/aarch64/files (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/acl (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/armv5tel/files (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/attr (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/bind (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/bzip2 (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/crda (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/diffutils (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/ed (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/files (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/gawk (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/gettext (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/gmp (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/grep (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/jquery (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/libcap (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/libloc (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/libmpc (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/liboping (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/libpcap (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/libwww-perl (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/nettle (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/openssl (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Apache-Htpasswd (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-CGI (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-DBD-SQLite (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-DBI (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Device-Modem (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Device-SerialPort (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Email-Date-Format (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Font-TTF (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-GD (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-IO-String (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-MIME-Lite (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Net-CIDR-Lite (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-NetAddr-IP (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-PDF-API2 (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Sort-Naturally (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Switch (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/perl-Text-CSV_XS (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/release-files (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/rrdtool (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/strongswan (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/sudo (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/suricata (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/sysvinit (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/web-user-interface (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/x86_64/files (100%)
 rename config/rootfiles/{core => oldcore}/156/filelists/zstd (100%)
 rename config/rootfiles/{core => oldcore}/156/update.sh (100%)
 delete mode 100644 src/patches/bash/bash50-001
 delete mode 100644 src/patches/bash/bash50-002
 delete mode 100644 src/patches/bash/bash50-003
 delete mode 100644 src/patches/bash/bash50-004
 delete mode 100644 src/patches/bash/bash50-005
 delete mode 100644 src/patches/bash/bash50-006
 delete mode 100644 src/patches/bash/bash50-007
 delete mode 100644 src/patches/bash/bash50-008
 delete mode 100644 src/patches/bash/bash50-009
 delete mode 100644 src/patches/bash/bash50-010
 delete mode 100644 src/patches/bash/bash50-011
 delete mode 100644 src/patches/bash/bash50-012
 delete mode 100644 src/patches/bash/bash50-013
 delete mode 100644 src/patches/bash/bash50-014
 delete mode 100644 src/patches/bash/bash50-015
 delete mode 100644 src/patches/bash/bash50-016
 delete mode 100644 src/patches/bash/bash50-017
 delete mode 100644 src/patches/bash/bash50-018
 create mode 100644 src/patches/bash/bash51-001
 create mode 100644 src/patches/bash/bash51-002
 create mode 100644 src/patches/bash/bash51-003
 create mode 100644 src/patches/bash/bash51-004
 delete mode 100644 src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
 delete mode 100644 src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch
 create mode 100644 src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch
 delete mode 100644 src/patches/readline/readline63-001
 delete mode 100644 src/patches/readline/readline63-002
 delete mode 100644 src/patches/readline/readline63-003
 delete mode 100644 src/patches/readline/readline63-004
 delete mode 100644 src/patches/readline/readline63-005
 delete mode 100644 src/patches/readline/readline63-006
 delete mode 100644 src/patches/readline/readline80-001

Difference in files:
diff --git a/config/etc/sysctl-aarch64.conf b/config/etc-aarch64/sysctl-aarch64.conf
similarity index 100%
rename from config/etc/sysctl-aarch64.conf
rename to config/etc-aarch64/sysctl-aarch64.conf
diff --git a/config/etc/sysctl-armv5tel.conf b/config/etc-armv5tel/sysctl-armv5tel.conf
similarity index 100%
rename from config/etc/sysctl-armv5tel.conf
rename to config/etc-armv5tel/sysctl-armv5tel.conf
diff --git a/config/etc/sysctl-x86_64.conf b/config/etc-x86_64/sysctl-x86_64.conf
similarity index 100%
rename from config/etc/sysctl-x86_64.conf
rename to config/etc-x86_64/sysctl-x86_64.conf
diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
index b794cbcf2..9e8563cbd 100644
--- a/config/kernel/kernel.config.aarch64-ipfire
+++ b/config/kernel/kernel.config.aarch64-ipfire
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm64 4.14.206-ipfire Kernel Configuration
+# Linux/arm64 4.14.229 Kernel Configuration
 #
 CONFIG_ARM64=y
 CONFIG_64BIT=y
@@ -5050,7 +5050,6 @@ CONFIG_USB_LCD=m
 CONFIG_USB_FTDI_ELAN=m
 # CONFIG_USB_APPLEDISPLAY is not set
 CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
 # CONFIG_USB_LD is not set
 # CONFIG_USB_TRANCEVIBRATOR is not set
 CONFIG_USB_IOWARRIOR=m
diff --git a/config/kernel/kernel.config.armv5tel-ipfire-multi b/config/kernel/kernel.config.armv5tel-ipfire-multi
index 3c26a3ce2..c40eb9f55 100644
--- a/config/kernel/kernel.config.armv5tel-ipfire-multi
+++ b/config/kernel/kernel.config.armv5tel-ipfire-multi
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 4.14.206-ipfire-multi Kernel Configuration
+# Linux/arm 4.14.229-ipfire-multi Kernel Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_HAS_SG_CHAIN=y
@@ -5457,7 +5457,6 @@ CONFIG_USB_LCD=m
 CONFIG_USB_FTDI_ELAN=m
 # CONFIG_USB_APPLEDISPLAY is not set
 CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
 # CONFIG_USB_LD is not set
 # CONFIG_USB_TRANCEVIBRATOR is not set
 CONFIG_USB_IOWARRIOR=m
diff --git a/config/kernel/kernel.config.i586-ipfire b/config/kernel/kernel.config.i586-ipfire
index 8cac7cd45..448b8a84b 100644
--- a/config/kernel/kernel.config.i586-ipfire
+++ b/config/kernel/kernel.config.i586-ipfire
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.206-ipfire Kernel Configuration
+# Linux/x86 4.14.229 Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -5179,7 +5179,6 @@ CONFIG_USB_LCD=m
 CONFIG_USB_FTDI_ELAN=m
 # CONFIG_USB_APPLEDISPLAY is not set
 CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
 # CONFIG_USB_LD is not set
 # CONFIG_USB_TRANCEVIBRATOR is not set
 CONFIG_USB_IOWARRIOR=m
diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
index 4dec50605..65c365c1b 100644
--- a/config/kernel/kernel.config.x86_64-ipfire
+++ b/config/kernel/kernel.config.x86_64-ipfire
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.206-ipfire Kernel Configuration
+# Linux/x86 4.14.229 Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -5021,7 +5021,6 @@ CONFIG_USB_LCD=m
 CONFIG_USB_FTDI_ELAN=m
 # CONFIG_USB_APPLEDISPLAY is not set
 CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
 # CONFIG_USB_LD is not set
 # CONFIG_USB_TRANCEVIBRATOR is not set
 CONFIG_USB_IOWARRIOR=m
diff --git a/config/rootfiles/common/aarch64/stage2 b/config/rootfiles/common/aarch64/stage2
index 1db148203..59d85aabc 100644
--- a/config/rootfiles/common/aarch64/stage2
+++ b/config/rootfiles/common/aarch64/stage2
@@ -42,7 +42,7 @@ etc/profile.d/term256.sh
 etc/profile.d/umask.sh
 etc/resolv.conf
 etc/securetty
-#etc/sysctl-x86_64.conf
+etc/sysctl-aarch64.conf
 etc/sysctl.conf
 etc/syslog.conf
 etc/system-release
diff --git a/config/rootfiles/common/armv5tel/stage2 b/config/rootfiles/common/armv5tel/stage2
new file mode 100644
index 000000000..9eebe6046
--- /dev/null
+++ b/config/rootfiles/common/armv5tel/stage2
@@ -0,0 +1,176 @@
+bin/bash
+bin/cat
+bin/echo
+bin/pwd
+bin/stty
+#boot
+etc/bashrc
+etc/certparams
+etc/e2fsck.conf
+etc/fstab
+etc/group
+etc/hddtemp.db
+etc/host.conf
+etc/inittab
+etc/inputrc
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/issue
+etc/ld.so.conf
+etc/logrotate.conf
+etc/mime.types
+etc/modprobe.d
+etc/modprobe.d/btmrvl_sdio.conf
+etc/modprobe.d/cfg80211.conf
+etc/modprobe.d/nf_conntrack.conf
+etc/modprobe.d/pcspeaker.conf
+etc/modules.conf
+etc/mtab
+etc/nsswitch.conf
+#etc/opt
+etc/os-release
+etc/passwd
+etc/profile
+#etc/profile.d
+etc/profile.d/colorls.sh
+etc/profile.d/extrapaths.sh
+etc/profile.d/glib2-locale.sh
+etc/profile.d/i18n.sh
+etc/profile.d/lang.sh
+etc/profile.d/readline.sh
+etc/profile.d/term256.sh
+etc/profile.d/umask.sh
+etc/resolv.conf
+etc/securetty
+etc/sysctl.conf
+etc/sysctl-armv5tel.conf
+etc/syslog.conf
+etc/system-release
+#home
+home/nobody
+#lib
+#lib/firmware
+#lib/firmware/brcm
+lib/firmware/brcm/brcmfmac43362-sdio.txt
+#media
+media/cdrom
+media/floppy
+media/usbkey
+mnt
+#opt
+#opt/pakfire
+#opt/pakfire/db
+#opt/pakfire/db/core
+opt/pakfire/db/core/mine
+#root
+root/.bash_logout
+root/.bash_profile
+root/.bashrc
+root/ipfire
+run
+#sbin
+#srv
+#usr/bin
+usr/bin/captive-cleanup
+#usr/bin/perl
+#usr/include
+#usr/lib
+usr/lib/firewall
+usr/lib/firewall/firewall-lib.pl
+usr/lib/firewall/ipsec-policy
+usr/lib/firewall/rules.pl
+#usr/lib/libgcc_s.so
+usr/lib/libgcc_s.so.1
+#usr/lib/libstdc++.la
+#usr/lib/libstdc++.so
+usr/lib/libstdc++.so.6
+#usr/local
+#usr/local/bin
+#usr/local/bin/archive.files
+usr/local/bin/backupiso
+usr/local/bin/connscheduler
+usr/local/bin/consort.sh
+usr/local/bin/convert-dns-settings
+usr/local/bin/convert-ovpn
+usr/local/bin/convert-to-location
+usr/local/bin/filesystem-cleanup
+usr/local/bin/hddshutdown
+usr/local/bin/ipsec-interfaces
+usr/local/bin/makegraphs
+usr/local/bin/qosd
+usr/local/bin/readhash
+usr/local/bin/rebuild-initrd
+usr/local/bin/run-parts
+usr/local/bin/scanhd
+usr/local/bin/settime
+usr/local/bin/timecheck
+usr/local/bin/timezone-transition
+usr/local/bin/update-lang-cache
+usr/local/bin/update-ids-ruleset
+usr/local/bin/update-location-database
+#usr/local/include
+#usr/local/lib
+#usr/local/sbin
+#usr/local/share
+#usr/local/share/doc
+#usr/local/share/info
+#usr/local/share/locale
+#usr/local/share/man
+#usr/local/share/man/man1
+#usr/local/share/man/man2
+#usr/local/share/man/man3
+#usr/local/share/man/man4
+#usr/local/share/man/man5
+#usr/local/share/man/man6
+#usr/local/share/man/man7
+#usr/local/share/man/man8
+#usr/local/share/misc
+#usr/local/share/terminfo
+#usr/local/share/xt_geoip
+#usr/local/share/zoneinfo
+#usr/local/src
+#usr/sbin
+usr/sbin/openvpn-metrics
+usr/sbin/ovpn-ccd-convert
+usr/sbin/ovpn-collectd-convert
+#usr/share
+#usr/share/doc
+#usr/share/doc/licenses
+usr/share/doc/licenses/GPLv3
+#usr/share/info
+#usr/share/locale
+#usr/share/man
+#usr/share/man/man1
+#usr/share/man/man2
+#usr/share/man/man3
+#usr/share/man/man4
+#usr/share/man/man5
+#usr/share/man/man6
+#usr/share/man/man7
+#usr/share/man/man8
+#usr/share/misc
+#usr/share/terminfo
+#usr/share/xt_geoip
+#usr/share/zoneinfo
+#var
+#var/cache
+var/empty
+#var/lib
+#var/lib/locate
+#var/lib/misc
+#var/local
+var/lock
+#var/log
+var/log/btmp
+var/log/calamaris
+var/log/counter
+var/log/lastlog
+var/log/wtmp
+var/mail
+#var/opt
+var/run
+#var/spool
+var/tmp
+dev/console
+dev/null
+tmp
diff --git a/config/rootfiles/common/bash b/config/rootfiles/common/bash
index 7669333c8..c28d3571a 100644
--- a/config/rootfiles/common/bash
+++ b/config/rootfiles/common/bash
@@ -62,7 +62,10 @@
 #usr/include/bash/y.tab.h
 #usr/lib/bash
 usr/lib/bash/Makefile.inc
+usr/lib/bash/accept
 usr/lib/bash/basename
+usr/lib/bash/csv
+usr/lib/bash/cut
 usr/lib/bash/dirname
 usr/lib/bash/fdflags
 usr/lib/bash/finfo
@@ -72,12 +75,15 @@ usr/lib/bash/ln
 usr/lib/bash/loadables.h
 usr/lib/bash/logname
 usr/lib/bash/mkdir
+usr/lib/bash/mkfifo
+usr/lib/bash/mktemp
 usr/lib/bash/mypid
 usr/lib/bash/pathchk
 usr/lib/bash/print
 usr/lib/bash/printenv
 usr/lib/bash/push
 usr/lib/bash/realpath
+usr/lib/bash/rm
 usr/lib/bash/rmdir
 usr/lib/bash/seq
 usr/lib/bash/setpgid
@@ -110,11 +116,7 @@ usr/lib/bash/whoami
 #usr/share/locale/da/LC_MESSAGES/bash.mo
 #usr/share/locale/de/LC_MESSAGES/bash.mo
 #usr/share/locale/el/LC_MESSAGES/bash.mo
-#usr/share/locale/en(a)boldquot
-#usr/share/locale/en(a)boldquot/LC_MESSAGES
 #usr/share/locale/en(a)boldquot/LC_MESSAGES/bash.mo
-#usr/share/locale/en(a)quot
-#usr/share/locale/en(a)quot/LC_MESSAGES
 #usr/share/locale/en(a)quot/LC_MESSAGES/bash.mo
 #usr/share/locale/eo/LC_MESSAGES/bash.mo
 #usr/share/locale/es/LC_MESSAGES/bash.mo
@@ -128,6 +130,7 @@ usr/lib/bash/whoami
 #usr/share/locale/id/LC_MESSAGES/bash.mo
 #usr/share/locale/it/LC_MESSAGES/bash.mo
 #usr/share/locale/ja/LC_MESSAGES/bash.mo
+#usr/share/locale/ko/LC_MESSAGES/bash.mo
 #usr/share/locale/lt/LC_MESSAGES/bash.mo
 #usr/share/locale/nb/LC_MESSAGES/bash.mo
 #usr/share/locale/nl/LC_MESSAGES/bash.mo
diff --git a/config/rootfiles/common/i586/linux-initrd-pae b/config/rootfiles/common/i586/linux-initrd-pae
deleted file mode 100644
index 083efc245..000000000
--- a/config/rootfiles/common/i586/linux-initrd-pae
+++ /dev/null
@@ -1 +0,0 @@
-#boot/initramfs-KVER-ipfire-pae.img
diff --git a/config/rootfiles/common/poppler b/config/rootfiles/common/poppler
index 17fb1b966..b15792698 100644
--- a/config/rootfiles/common/poppler
+++ b/config/rootfiles/common/poppler
@@ -44,6 +44,7 @@ usr/bin/pdfunite
 #usr/include/poppler/JArithmeticDecoder.h
 #usr/include/poppler/JBIG2Stream.h
 #usr/include/poppler/JPEG2000Stream.h
+#usr/include/poppler/JSInfo.h
 #usr/include/poppler/Lexer.h
 #usr/include/poppler/Linearization.h
 #usr/include/poppler/Link.h
@@ -103,6 +104,7 @@ usr/bin/pdfunite
 #usr/include/poppler/cpp/poppler-rectangle.h
 #usr/include/poppler/cpp/poppler-toc.h
 #usr/include/poppler/cpp/poppler-version.h
+#usr/include/poppler/cpp/poppler_cpp_export.h
 #usr/include/poppler/fofi
 #usr/include/poppler/fofi/FoFiBase.h
 #usr/include/poppler/fofi/FoFiEncodings.h
@@ -110,22 +112,6 @@ usr/bin/pdfunite
 #usr/include/poppler/fofi/FoFiTrueType.h
 #usr/include/poppler/fofi/FoFiType1.h
 #usr/include/poppler/fofi/FoFiType1C.h
-#usr/include/poppler/glib
-#usr/include/poppler/glib/poppler-action.h
-#usr/include/poppler/glib/poppler-annot.h
-#usr/include/poppler/glib/poppler-attachment.h
-#usr/include/poppler/glib/poppler-date.h
-#usr/include/poppler/glib/poppler-document.h
-#usr/include/poppler/glib/poppler-enums.h
-#usr/include/poppler/glib/poppler-features.h
-#usr/include/poppler/glib/poppler-form-field.h
-#usr/include/poppler/glib/poppler-layer.h
-#usr/include/poppler/glib/poppler-macros.h
-#usr/include/poppler/glib/poppler-media.h
-#usr/include/poppler/glib/poppler-movie.h
-#usr/include/poppler/glib/poppler-page.h
-#usr/include/poppler/glib/poppler-structure-element.h
-#usr/include/poppler/glib/poppler.h
 #usr/include/poppler/goo
 #usr/include/poppler/goo/GooCheckedOps.h
 #usr/include/poppler/goo/GooLikely.h
@@ -141,6 +127,7 @@ usr/bin/pdfunite
 #usr/include/poppler/goo/grandom.h
 #usr/include/poppler/goo/gstrtod.h
 #usr/include/poppler/poppler-config.h
+#usr/include/poppler/poppler_private_export.h
 #usr/include/poppler/splash
 #usr/include/poppler/splash/Splash.h
 #usr/include/poppler/splash/SplashBitmap.h
@@ -165,16 +152,10 @@ usr/bin/pdfunite
 #usr/lib/libpoppler-cpp.so
 usr/lib/libpoppler-cpp.so.0
 usr/lib/libpoppler-cpp.so.0.9.0
-#usr/lib/libpoppler-glib.so
-usr/lib/libpoppler-glib.so.8
-usr/lib/libpoppler-glib.so.8.17.0
 #usr/lib/libpoppler.so
-usr/lib/libpoppler.so.100
-usr/lib/libpoppler.so.100.0.0
-#usr/lib/pkgconfig/poppler-cairo.pc
+usr/lib/libpoppler.so.109
+usr/lib/libpoppler.so.109.0.0
 #usr/lib/pkgconfig/poppler-cpp.pc
-#usr/lib/pkgconfig/poppler-glib.pc
-#usr/lib/pkgconfig/poppler-splash.pc
 #usr/lib/pkgconfig/poppler.pc
 #usr/share/man/man1/pdfattach.1
 #usr/share/man/man1/pdfdetach.1
diff --git a/config/rootfiles/common/poppler-data b/config/rootfiles/common/poppler-data
index fca2d8b1c..0108f6a0c 100644
--- a/config/rootfiles/common/poppler-data
+++ b/config/rootfiles/common/poppler-data
@@ -131,6 +131,7 @@ usr/share/poppler
 #usr/share/poppler/cMap/Adobe-Japan1/Adobe-Japan1-4
 #usr/share/poppler/cMap/Adobe-Japan1/Adobe-Japan1-5
 #usr/share/poppler/cMap/Adobe-Japan1/Adobe-Japan1-6
+#usr/share/poppler/cMap/Adobe-Japan1/Adobe-Japan1-7
 #usr/share/poppler/cMap/Adobe-Japan1/Adobe-Japan1-90ms-RKSJ
 #usr/share/poppler/cMap/Adobe-Japan1/Adobe-Japan1-90pv-RKSJ
 #usr/share/poppler/cMap/Adobe-Japan1/Adobe-Japan1-H-CID
@@ -195,6 +196,21 @@ usr/share/poppler
 #usr/share/poppler/cMap/Adobe-Japan1/WP-Symbol
 #usr/share/poppler/cMap/Adobe-Japan2
 #usr/share/poppler/cMap/Adobe-Japan2/Adobe-Japan2-0
+#usr/share/poppler/cMap/Adobe-KR
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-0
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-1
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-2
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-3
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-4
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-5
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-6
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-7
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-8
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-9
+#usr/share/poppler/cMap/Adobe-KR/Adobe-KR-UCS2
+#usr/share/poppler/cMap/Adobe-KR/UniAKR-UTF16-H
+#usr/share/poppler/cMap/Adobe-KR/UniAKR-UTF32-H
+#usr/share/poppler/cMap/Adobe-KR/UniAKR-UTF8-H
 #usr/share/poppler/cMap/Adobe-Korea1
 #usr/share/poppler/cMap/Adobe-Korea1/Adobe-Korea1-0
 #usr/share/poppler/cMap/Adobe-Korea1/Adobe-Korea1-1
diff --git a/config/rootfiles/common/ppp b/config/rootfiles/common/ppp
index f1f4f88f2..8d0af69c4 100644
--- a/config/rootfiles/common/ppp
+++ b/config/rootfiles/common/ppp
@@ -2,6 +2,8 @@
 etc/ppp/chap-secrets
 etc/ppp/demonloginscript
 etc/ppp/dialer
+#etc/ppp/eaptls-client
+#etc/ppp/eaptls-server
 etc/ppp/ioptions
 etc/ppp/ip-down
 etc/ppp/ip-up
@@ -12,6 +14,7 @@ etc/ppp/standardloginscript
 #usr/include/pppd/ccp.h
 #usr/include/pppd/chap-new.h
 #usr/include/pppd/chap_ms.h
+#usr/include/pppd/eap-tls.h
 #usr/include/pppd/eap.h
 #usr/include/pppd/ecp.h
 #usr/include/pppd/eui64.h
@@ -23,6 +26,7 @@ etc/ppp/standardloginscript
 #usr/include/pppd/magic.h
 #usr/include/pppd/md4.h
 #usr/include/pppd/md5.h
+#usr/include/pppd/mppe.h
 #usr/include/pppd/patchlevel.h
 #usr/include/pppd/pathnames.h
 #usr/include/pppd/pppcrypt.h
@@ -33,18 +37,19 @@ etc/ppp/standardloginscript
 #usr/include/pppd/tdb.h
 #usr/include/pppd/upap.h
 usr/lib/pppd
-usr/lib/pppd/2.4.8
-#usr/lib/pppd/2.4.8/minconn.so
-#usr/lib/pppd/2.4.8/openl2tp.so
-#usr/lib/pppd/2.4.8/passprompt.so
-#usr/lib/pppd/2.4.8/passwordfd.so
-#usr/lib/pppd/2.4.8/pppoatm.so
-#usr/lib/pppd/2.4.8/pppol2tp.so
-#usr/lib/pppd/2.4.8/radattr.so
-#usr/lib/pppd/2.4.8/radius.so
-#usr/lib/pppd/2.4.8/radrealms.so
-#usr/lib/pppd/2.4.8/rp-pppoe.so
-#usr/lib/pppd/2.4.8/winbind.so
+usr/lib/pppd/2.4.9
+#usr/lib/pppd/2.4.9/minconn.so
+#usr/lib/pppd/2.4.9/openl2tp.so
+#usr/lib/pppd/2.4.9/passprompt.so
+#usr/lib/pppd/2.4.9/passwordfd.so
+#usr/lib/pppd/2.4.9/pppoatm.so
+#usr/lib/pppd/2.4.9/pppoe.so
+#usr/lib/pppd/2.4.9/pppol2tp.so
+#usr/lib/pppd/2.4.9/radattr.so
+#usr/lib/pppd/2.4.9/radius.so
+#usr/lib/pppd/2.4.9/radrealms.so
+#usr/lib/pppd/2.4.9/rp-pppoe.so
+#usr/lib/pppd/2.4.9/winbind.so
 usr/sbin/chat
 usr/sbin/pppd
 usr/sbin/pppdump
diff --git a/config/rootfiles/common/readline b/config/rootfiles/common/readline
index 19baa8a4a..31eab5298 100644
--- a/config/rootfiles/common/readline
+++ b/config/rootfiles/common/readline
@@ -9,10 +9,10 @@
 #usr/include/readline/tilde.h
 #usr/lib/libhistory.so
 usr/lib/libhistory.so.8
-usr/lib/libhistory.so.8.0
+usr/lib/libhistory.so.8.1
 #usr/lib/libreadline.so
 usr/lib/libreadline.so.8
-usr/lib/libreadline.so.8.0
+usr/lib/libreadline.so.8.1
 #usr/lib/pkgconfig/readline.pc
 #usr/share/doc/readline
 #usr/share/doc/readline/CHANGES
diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2
index d7b454884..b5bfdde59 100644
--- a/config/rootfiles/common/stage2
+++ b/config/rootfiles/common/stage2
@@ -43,7 +43,6 @@ etc/profile.d/umask.sh
 etc/resolv.conf
 etc/securetty
 etc/sysctl.conf
-#etc/sysctl-x86_64.conf
 etc/syslog.conf
 etc/system-release
 #home
diff --git a/config/rootfiles/core/156/exclude b/config/rootfiles/core/157/exclude
similarity index 100%
rename from config/rootfiles/core/156/exclude
rename to config/rootfiles/core/157/exclude
diff --git a/config/rootfiles/core/157/filelists/aarch64/linux b/config/rootfiles/core/157/filelists/aarch64/linux
new file mode 120000
index 000000000..3a2532bc7
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/aarch64/linux
@@ -0,0 +1 @@
+../../../../common/aarch64/linux
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/aarch64/linux-initrd b/config/rootfiles/core/157/filelists/aarch64/linux-initrd
new file mode 120000
index 000000000..8acdb0f31
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/aarch64/linux-initrd
@@ -0,0 +1 @@
+../../../../common/aarch64/linux-initrd
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/armv5tel/linux-initrd-multi b/config/rootfiles/core/157/filelists/armv5tel/linux-initrd-multi
new file mode 120000
index 000000000..0b1b4530a
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/armv5tel/linux-initrd-multi
@@ -0,0 +1 @@
+../../../../common/armv5tel/linux-initrd-multi
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/armv5tel/linux-multi b/config/rootfiles/core/157/filelists/armv5tel/linux-multi
new file mode 120000
index 000000000..204eb4c43
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/armv5tel/linux-multi
@@ -0,0 +1 @@
+../../../../common/armv5tel/linux-multi
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/bash b/config/rootfiles/core/157/filelists/bash
new file mode 120000
index 000000000..de970cb1d
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/bash
@@ -0,0 +1 @@
+../../../common/bash
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/i586/linux b/config/rootfiles/core/157/filelists/i586/linux
new file mode 120000
index 000000000..693ec4bbf
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/i586/linux
@@ -0,0 +1 @@
+../../../../common/i586/linux
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/i586/linux-initrd b/config/rootfiles/core/157/filelists/i586/linux-initrd
new file mode 120000
index 000000000..32a03e6a9
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/i586/linux-initrd
@@ -0,0 +1 @@
+../../../../common/i586/linux-initrd
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/poppler b/config/rootfiles/core/157/filelists/poppler
new file mode 120000
index 000000000..39aa6c263
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/poppler
@@ -0,0 +1 @@
+../../../common/poppler
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/poppler-data b/config/rootfiles/core/157/filelists/poppler-data
new file mode 120000
index 000000000..957aa9132
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/poppler-data
@@ -0,0 +1 @@
+../../../common/poppler-data
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/pppd b/config/rootfiles/core/157/filelists/pppd
new file mode 120000
index 000000000..0f475891a
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/pppd
@@ -0,0 +1 @@
+../../../common/pppd
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/readline b/config/rootfiles/core/157/filelists/readline
new file mode 120000
index 000000000..84209f189
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/readline
@@ -0,0 +1 @@
+../../../common/readline
\ No newline at end of file
diff --git a/config/rootfiles/core/156/filelists/release-files b/config/rootfiles/core/157/filelists/release-files
similarity index 100%
rename from config/rootfiles/core/156/filelists/release-files
rename to config/rootfiles/core/157/filelists/release-files
diff --git a/config/rootfiles/core/157/filelists/sqlite b/config/rootfiles/core/157/filelists/sqlite
new file mode 120000
index 000000000..4ea569766
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/sqlite
@@ -0,0 +1 @@
+../../../common/sqlite
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/x86_64/linux b/config/rootfiles/core/157/filelists/x86_64/linux
new file mode 120000
index 000000000..0615b5b9a
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/x86_64/linux
@@ -0,0 +1 @@
+../../../../common/x86_64/linux
\ No newline at end of file
diff --git a/config/rootfiles/core/157/filelists/x86_64/linux-initrd b/config/rootfiles/core/157/filelists/x86_64/linux-initrd
new file mode 120000
index 000000000..1b9fff70f
--- /dev/null
+++ b/config/rootfiles/core/157/filelists/x86_64/linux-initrd
@@ -0,0 +1 @@
+../../../../common/x86_64/linux-initrd
\ No newline at end of file
diff --git a/config/rootfiles/core/157/update.sh b/config/rootfiles/core/157/update.sh
new file mode 100644
index 000000000..b5a10b9b3
--- /dev/null
+++ b/config/rootfiles/core/157/update.sh
@@ -0,0 +1,136 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 3 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2020 IPFire-Team <info(a)ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+core=157
+
+exit_with_error() {
+	# Set last succesfull installed core.
+	echo $(($core-1)) > /opt/pakfire/db/core/mine
+	# force fsck at next boot, this may fix free space on xfs
+	touch /forcefsck
+	# don't start pakfire again at error
+	killall -KILL pak_update
+	/usr/bin/logger -p syslog.emerg -t ipfire \
+		"core-update-${core}: $1"
+	exit $2
+}
+
+# Remove old core updates from pakfire cache to save space...
+for (( i=1; i<=$core; i++ )); do
+	rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+KVER="xxxKVERxxx"
+
+# Backup uEnv.txt if exist
+if [ -e /boot/uEnv.txt ]; then
+	cp -vf /boot/uEnv.txt /boot/uEnv.txt.org
+fi
+
+# Do some sanity checks.
+case $(uname -r) in
+	*-ipfire-kirkwood)
+		exit_with_error "ERROR cannot update. kirkwood kernel was not supported." 1
+		;;
+	*-ipfire*)
+		# Ok.
+		;;
+	*)
+		exit_with_error "ERROR cannot update. No IPFire Kernel." 1
+		;;
+esac
+if [ -e /boot/grub/grub.conf ]; then
+	exit_with_error "ERROR unsupported GRUB1/pygrub found!" 1
+fi
+
+# Check diskspace on root
+ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1`
+
+if [ $ROOTSPACE -lt 100000 ]; then
+	exit_with_error "ERROR cannot update because not enough free space on root." 2
+	exit 2
+fi
+
+# Remove the old kernel
+rm -rf /boot/System.map-*
+rm -rf /boot/config-*
+rm -rf /boot/ipfirerd-*
+rm -rf /boot/initramfs-*
+rm -rf /boot/vmlinuz-*
+rm -rf /boot/uImage-*-ipfire-*
+rm -rf /boot/zImage-*-ipfire-*
+rm -rf /boot/uInit-*-ipfire-*
+rm -rf /boot/dtb-*-ipfire-*
+rm -rf /lib/modules
+
+# Remove files
+
+# Stop services
+
+# Extract files
+extract_files
+
+# update linker config
+ldconfig
+
+# Update Language cache
+/usr/local/bin/update-lang-cache
+
+# Filesytem cleanup
+/usr/local/bin/filesystem-cleanup
+
+# Start services
+
+# remove lm_sensor config after collectd was started
+# to reserch sensors at next boot with updated kernel
+rm -f  /etc/sysconfig/lm_sensors
+
+# Upadate Kernel version uEnv.txt
+if [ -e /boot/uEnv.txt ]; then
+	sed -i -e "s/KVER=.*/KVER=${KVER}/g" /boot/uEnv.txt
+fi
+
+# call user update script (needed for some arm boards)
+if [ -e /boot/pakfire-kernel-update ]; then
+	/boot/pakfire-kernel-update ${KVER}
+fi
+
+# This update needs a reboot...
+touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Update grub config to display new core version
+if [ -e /boot/grub/grub.cfg ]; then
+	grub-mkconfig -o /boot/grub/grub.cfg
+fi
+
+sync
+
+# Don't report the exitcode last command
+exit 0
diff --git a/config/rootfiles/oldcore/156/exclude b/config/rootfiles/oldcore/156/exclude
new file mode 100644
index 000000000..818039f4a
--- /dev/null
+++ b/config/rootfiles/oldcore/156/exclude
@@ -0,0 +1,34 @@
+boot/config.txt
+boot/grub/grub.cfg
+boot/grub/grubenv
+etc/alternatives
+etc/collectd.custom
+etc/default/grub
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/snort/snort.conf
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+usr/share/xt_geoip
+var/ipfire/dma
+var/ipfire/time
+var/ipfire/firewall/locationblock
+var/ipfire/fwhosts/customlocationgrp
+var/ipfire/ovpn
+var/ipfire/urlfilter/blacklist
+var/ipfire/urlfilter/settings
+var/lib/alternatives
+var/lib/location/database.db
+var/log/cache
+var/log/dhcpcd.log
+var/log/messages
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/core/156/filelists/Archive-Tar b/config/rootfiles/oldcore/156/filelists/Archive-Tar
similarity index 100%
rename from config/rootfiles/core/156/filelists/Archive-Tar
rename to config/rootfiles/oldcore/156/filelists/Archive-Tar
diff --git a/config/rootfiles/core/156/filelists/Archive-Zip b/config/rootfiles/oldcore/156/filelists/Archive-Zip
similarity index 100%
rename from config/rootfiles/core/156/filelists/Archive-Zip
rename to config/rootfiles/oldcore/156/filelists/Archive-Zip
diff --git a/config/rootfiles/core/156/filelists/BerkeleyDB b/config/rootfiles/oldcore/156/filelists/BerkeleyDB
similarity index 100%
rename from config/rootfiles/core/156/filelists/BerkeleyDB
rename to config/rootfiles/oldcore/156/filelists/BerkeleyDB
diff --git a/config/rootfiles/core/156/filelists/Compress-Zlib b/config/rootfiles/oldcore/156/filelists/Compress-Zlib
similarity index 100%
rename from config/rootfiles/core/156/filelists/Compress-Zlib
rename to config/rootfiles/oldcore/156/filelists/Compress-Zlib
diff --git a/config/rootfiles/core/156/filelists/Convert-TNEF b/config/rootfiles/oldcore/156/filelists/Convert-TNEF
similarity index 100%
rename from config/rootfiles/core/156/filelists/Convert-TNEF
rename to config/rootfiles/oldcore/156/filelists/Convert-TNEF
diff --git a/config/rootfiles/core/156/filelists/Convert-UUlib b/config/rootfiles/oldcore/156/filelists/Convert-UUlib
similarity index 100%
rename from config/rootfiles/core/156/filelists/Convert-UUlib
rename to config/rootfiles/oldcore/156/filelists/Convert-UUlib
diff --git a/config/rootfiles/core/156/filelists/Crypt-PasswdMD5 b/config/rootfiles/oldcore/156/filelists/Crypt-PasswdMD5
similarity index 100%
rename from config/rootfiles/core/156/filelists/Crypt-PasswdMD5
rename to config/rootfiles/oldcore/156/filelists/Crypt-PasswdMD5
diff --git a/config/rootfiles/core/156/filelists/Digest-HMAC b/config/rootfiles/oldcore/156/filelists/Digest-HMAC
similarity index 100%
rename from config/rootfiles/core/156/filelists/Digest-HMAC
rename to config/rootfiles/oldcore/156/filelists/Digest-HMAC
diff --git a/config/rootfiles/core/156/filelists/Digest-SHA1 b/config/rootfiles/oldcore/156/filelists/Digest-SHA1
similarity index 100%
rename from config/rootfiles/core/156/filelists/Digest-SHA1
rename to config/rootfiles/oldcore/156/filelists/Digest-SHA1
diff --git a/config/rootfiles/core/156/filelists/GD-Graph b/config/rootfiles/oldcore/156/filelists/GD-Graph
similarity index 100%
rename from config/rootfiles/core/156/filelists/GD-Graph
rename to config/rootfiles/oldcore/156/filelists/GD-Graph
diff --git a/config/rootfiles/core/156/filelists/GD-TextUtil b/config/rootfiles/oldcore/156/filelists/GD-TextUtil
similarity index 100%
rename from config/rootfiles/core/156/filelists/GD-TextUtil
rename to config/rootfiles/oldcore/156/filelists/GD-TextUtil
diff --git a/config/rootfiles/core/156/filelists/HTML-Parser b/config/rootfiles/oldcore/156/filelists/HTML-Parser
similarity index 100%
rename from config/rootfiles/core/156/filelists/HTML-Parser
rename to config/rootfiles/oldcore/156/filelists/HTML-Parser
diff --git a/config/rootfiles/core/156/filelists/HTML-Tagset b/config/rootfiles/oldcore/156/filelists/HTML-Tagset
similarity index 100%
rename from config/rootfiles/core/156/filelists/HTML-Tagset
rename to config/rootfiles/oldcore/156/filelists/HTML-Tagset
diff --git a/config/rootfiles/core/156/filelists/HTML-Template b/config/rootfiles/oldcore/156/filelists/HTML-Template
similarity index 100%
rename from config/rootfiles/core/156/filelists/HTML-Template
rename to config/rootfiles/oldcore/156/filelists/HTML-Template
diff --git a/config/rootfiles/core/156/filelists/IO-Socket-SSL b/config/rootfiles/oldcore/156/filelists/IO-Socket-SSL
similarity index 100%
rename from config/rootfiles/core/156/filelists/IO-Socket-SSL
rename to config/rootfiles/oldcore/156/filelists/IO-Socket-SSL
diff --git a/config/rootfiles/core/156/filelists/IO-Stringy b/config/rootfiles/oldcore/156/filelists/IO-Stringy
similarity index 100%
rename from config/rootfiles/core/156/filelists/IO-Stringy
rename to config/rootfiles/oldcore/156/filelists/IO-Stringy
diff --git a/config/rootfiles/core/156/filelists/MIME-Tools b/config/rootfiles/oldcore/156/filelists/MIME-Tools
similarity index 100%
rename from config/rootfiles/core/156/filelists/MIME-Tools
rename to config/rootfiles/oldcore/156/filelists/MIME-Tools
diff --git a/config/rootfiles/core/156/filelists/Mail-Tools b/config/rootfiles/oldcore/156/filelists/Mail-Tools
similarity index 100%
rename from config/rootfiles/core/156/filelists/Mail-Tools
rename to config/rootfiles/oldcore/156/filelists/Mail-Tools
diff --git a/config/rootfiles/core/156/filelists/Net-DNS b/config/rootfiles/oldcore/156/filelists/Net-DNS
similarity index 100%
rename from config/rootfiles/core/156/filelists/Net-DNS
rename to config/rootfiles/oldcore/156/filelists/Net-DNS
diff --git a/config/rootfiles/core/156/filelists/Net-IPv4Addr b/config/rootfiles/oldcore/156/filelists/Net-IPv4Addr
similarity index 100%
rename from config/rootfiles/core/156/filelists/Net-IPv4Addr
rename to config/rootfiles/oldcore/156/filelists/Net-IPv4Addr
diff --git a/config/rootfiles/core/156/filelists/Net-Server b/config/rootfiles/oldcore/156/filelists/Net-Server
similarity index 100%
rename from config/rootfiles/core/156/filelists/Net-Server
rename to config/rootfiles/oldcore/156/filelists/Net-Server
diff --git a/config/rootfiles/core/156/filelists/Net-Telnet b/config/rootfiles/oldcore/156/filelists/Net-Telnet
similarity index 100%
rename from config/rootfiles/core/156/filelists/Net-Telnet
rename to config/rootfiles/oldcore/156/filelists/Net-Telnet
diff --git a/config/rootfiles/core/156/filelists/Net_SSLeay b/config/rootfiles/oldcore/156/filelists/Net_SSLeay
similarity index 100%
rename from config/rootfiles/core/156/filelists/Net_SSLeay
rename to config/rootfiles/oldcore/156/filelists/Net_SSLeay
diff --git a/config/rootfiles/core/156/filelists/Text-Tabs+Wrap b/config/rootfiles/oldcore/156/filelists/Text-Tabs+Wrap
similarity index 100%
rename from config/rootfiles/core/156/filelists/Text-Tabs+Wrap
rename to config/rootfiles/oldcore/156/filelists/Text-Tabs+Wrap
diff --git a/config/rootfiles/core/156/filelists/URI b/config/rootfiles/oldcore/156/filelists/URI
similarity index 100%
rename from config/rootfiles/core/156/filelists/URI
rename to config/rootfiles/oldcore/156/filelists/URI
diff --git a/config/rootfiles/core/156/filelists/Unix-Syslog b/config/rootfiles/oldcore/156/filelists/Unix-Syslog
similarity index 100%
rename from config/rootfiles/core/156/filelists/Unix-Syslog
rename to config/rootfiles/oldcore/156/filelists/Unix-Syslog
diff --git a/config/rootfiles/core/156/filelists/XML-Parser b/config/rootfiles/oldcore/156/filelists/XML-Parser
similarity index 100%
rename from config/rootfiles/core/156/filelists/XML-Parser
rename to config/rootfiles/oldcore/156/filelists/XML-Parser
diff --git a/config/rootfiles/core/156/filelists/aarch64/files b/config/rootfiles/oldcore/156/filelists/aarch64/files
similarity index 100%
rename from config/rootfiles/core/156/filelists/aarch64/files
rename to config/rootfiles/oldcore/156/filelists/aarch64/files
diff --git a/config/rootfiles/core/156/filelists/acl b/config/rootfiles/oldcore/156/filelists/acl
similarity index 100%
rename from config/rootfiles/core/156/filelists/acl
rename to config/rootfiles/oldcore/156/filelists/acl
diff --git a/config/rootfiles/core/156/filelists/armv5tel/files b/config/rootfiles/oldcore/156/filelists/armv5tel/files
similarity index 100%
rename from config/rootfiles/core/156/filelists/armv5tel/files
rename to config/rootfiles/oldcore/156/filelists/armv5tel/files
diff --git a/config/rootfiles/core/156/filelists/attr b/config/rootfiles/oldcore/156/filelists/attr
similarity index 100%
rename from config/rootfiles/core/156/filelists/attr
rename to config/rootfiles/oldcore/156/filelists/attr
diff --git a/config/rootfiles/core/156/filelists/bind b/config/rootfiles/oldcore/156/filelists/bind
similarity index 100%
rename from config/rootfiles/core/156/filelists/bind
rename to config/rootfiles/oldcore/156/filelists/bind
diff --git a/config/rootfiles/core/156/filelists/bzip2 b/config/rootfiles/oldcore/156/filelists/bzip2
similarity index 100%
rename from config/rootfiles/core/156/filelists/bzip2
rename to config/rootfiles/oldcore/156/filelists/bzip2
diff --git a/config/rootfiles/core/156/filelists/crda b/config/rootfiles/oldcore/156/filelists/crda
similarity index 100%
rename from config/rootfiles/core/156/filelists/crda
rename to config/rootfiles/oldcore/156/filelists/crda
diff --git a/config/rootfiles/core/156/filelists/diffutils b/config/rootfiles/oldcore/156/filelists/diffutils
similarity index 100%
rename from config/rootfiles/core/156/filelists/diffutils
rename to config/rootfiles/oldcore/156/filelists/diffutils
diff --git a/config/rootfiles/core/156/filelists/ed b/config/rootfiles/oldcore/156/filelists/ed
similarity index 100%
rename from config/rootfiles/core/156/filelists/ed
rename to config/rootfiles/oldcore/156/filelists/ed
diff --git a/config/rootfiles/core/156/filelists/files b/config/rootfiles/oldcore/156/filelists/files
similarity index 100%
rename from config/rootfiles/core/156/filelists/files
rename to config/rootfiles/oldcore/156/filelists/files
diff --git a/config/rootfiles/core/156/filelists/gawk b/config/rootfiles/oldcore/156/filelists/gawk
similarity index 100%
rename from config/rootfiles/core/156/filelists/gawk
rename to config/rootfiles/oldcore/156/filelists/gawk
diff --git a/config/rootfiles/core/156/filelists/gettext b/config/rootfiles/oldcore/156/filelists/gettext
similarity index 100%
rename from config/rootfiles/core/156/filelists/gettext
rename to config/rootfiles/oldcore/156/filelists/gettext
diff --git a/config/rootfiles/core/156/filelists/gmp b/config/rootfiles/oldcore/156/filelists/gmp
similarity index 100%
rename from config/rootfiles/core/156/filelists/gmp
rename to config/rootfiles/oldcore/156/filelists/gmp
diff --git a/config/rootfiles/core/156/filelists/grep b/config/rootfiles/oldcore/156/filelists/grep
similarity index 100%
rename from config/rootfiles/core/156/filelists/grep
rename to config/rootfiles/oldcore/156/filelists/grep
diff --git a/config/rootfiles/core/156/filelists/jquery b/config/rootfiles/oldcore/156/filelists/jquery
similarity index 100%
rename from config/rootfiles/core/156/filelists/jquery
rename to config/rootfiles/oldcore/156/filelists/jquery
diff --git a/config/rootfiles/core/156/filelists/libcap b/config/rootfiles/oldcore/156/filelists/libcap
similarity index 100%
rename from config/rootfiles/core/156/filelists/libcap
rename to config/rootfiles/oldcore/156/filelists/libcap
diff --git a/config/rootfiles/core/156/filelists/libloc b/config/rootfiles/oldcore/156/filelists/libloc
similarity index 100%
rename from config/rootfiles/core/156/filelists/libloc
rename to config/rootfiles/oldcore/156/filelists/libloc
diff --git a/config/rootfiles/core/156/filelists/libmpc b/config/rootfiles/oldcore/156/filelists/libmpc
similarity index 100%
rename from config/rootfiles/core/156/filelists/libmpc
rename to config/rootfiles/oldcore/156/filelists/libmpc
diff --git a/config/rootfiles/core/156/filelists/liboping b/config/rootfiles/oldcore/156/filelists/liboping
similarity index 100%
rename from config/rootfiles/core/156/filelists/liboping
rename to config/rootfiles/oldcore/156/filelists/liboping
diff --git a/config/rootfiles/core/156/filelists/libpcap b/config/rootfiles/oldcore/156/filelists/libpcap
similarity index 100%
rename from config/rootfiles/core/156/filelists/libpcap
rename to config/rootfiles/oldcore/156/filelists/libpcap
diff --git a/config/rootfiles/core/156/filelists/libwww-perl b/config/rootfiles/oldcore/156/filelists/libwww-perl
similarity index 100%
rename from config/rootfiles/core/156/filelists/libwww-perl
rename to config/rootfiles/oldcore/156/filelists/libwww-perl
diff --git a/config/rootfiles/core/156/filelists/nettle b/config/rootfiles/oldcore/156/filelists/nettle
similarity index 100%
rename from config/rootfiles/core/156/filelists/nettle
rename to config/rootfiles/oldcore/156/filelists/nettle
diff --git a/config/rootfiles/core/156/filelists/openssl b/config/rootfiles/oldcore/156/filelists/openssl
similarity index 100%
rename from config/rootfiles/core/156/filelists/openssl
rename to config/rootfiles/oldcore/156/filelists/openssl
diff --git a/config/rootfiles/core/156/filelists/perl b/config/rootfiles/oldcore/156/filelists/perl
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl
rename to config/rootfiles/oldcore/156/filelists/perl
diff --git a/config/rootfiles/core/156/filelists/perl-Apache-Htpasswd b/config/rootfiles/oldcore/156/filelists/perl-Apache-Htpasswd
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Apache-Htpasswd
rename to config/rootfiles/oldcore/156/filelists/perl-Apache-Htpasswd
diff --git a/config/rootfiles/core/156/filelists/perl-CGI b/config/rootfiles/oldcore/156/filelists/perl-CGI
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-CGI
rename to config/rootfiles/oldcore/156/filelists/perl-CGI
diff --git a/config/rootfiles/core/156/filelists/perl-DBD-SQLite b/config/rootfiles/oldcore/156/filelists/perl-DBD-SQLite
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-DBD-SQLite
rename to config/rootfiles/oldcore/156/filelists/perl-DBD-SQLite
diff --git a/config/rootfiles/core/156/filelists/perl-DBI b/config/rootfiles/oldcore/156/filelists/perl-DBI
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-DBI
rename to config/rootfiles/oldcore/156/filelists/perl-DBI
diff --git a/config/rootfiles/core/156/filelists/perl-Device-Modem b/config/rootfiles/oldcore/156/filelists/perl-Device-Modem
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Device-Modem
rename to config/rootfiles/oldcore/156/filelists/perl-Device-Modem
diff --git a/config/rootfiles/core/156/filelists/perl-Device-SerialPort b/config/rootfiles/oldcore/156/filelists/perl-Device-SerialPort
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Device-SerialPort
rename to config/rootfiles/oldcore/156/filelists/perl-Device-SerialPort
diff --git a/config/rootfiles/core/156/filelists/perl-Email-Date-Format b/config/rootfiles/oldcore/156/filelists/perl-Email-Date-Format
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Email-Date-Format
rename to config/rootfiles/oldcore/156/filelists/perl-Email-Date-Format
diff --git a/config/rootfiles/core/156/filelists/perl-Font-TTF b/config/rootfiles/oldcore/156/filelists/perl-Font-TTF
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Font-TTF
rename to config/rootfiles/oldcore/156/filelists/perl-Font-TTF
diff --git a/config/rootfiles/core/156/filelists/perl-GD b/config/rootfiles/oldcore/156/filelists/perl-GD
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-GD
rename to config/rootfiles/oldcore/156/filelists/perl-GD
diff --git a/config/rootfiles/core/156/filelists/perl-IO-String b/config/rootfiles/oldcore/156/filelists/perl-IO-String
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-IO-String
rename to config/rootfiles/oldcore/156/filelists/perl-IO-String
diff --git a/config/rootfiles/core/156/filelists/perl-MIME-Lite b/config/rootfiles/oldcore/156/filelists/perl-MIME-Lite
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-MIME-Lite
rename to config/rootfiles/oldcore/156/filelists/perl-MIME-Lite
diff --git a/config/rootfiles/core/156/filelists/perl-Net-CIDR-Lite b/config/rootfiles/oldcore/156/filelists/perl-Net-CIDR-Lite
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Net-CIDR-Lite
rename to config/rootfiles/oldcore/156/filelists/perl-Net-CIDR-Lite
diff --git a/config/rootfiles/core/156/filelists/perl-NetAddr-IP b/config/rootfiles/oldcore/156/filelists/perl-NetAddr-IP
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-NetAddr-IP
rename to config/rootfiles/oldcore/156/filelists/perl-NetAddr-IP
diff --git a/config/rootfiles/core/156/filelists/perl-PDF-API2 b/config/rootfiles/oldcore/156/filelists/perl-PDF-API2
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-PDF-API2
rename to config/rootfiles/oldcore/156/filelists/perl-PDF-API2
diff --git a/config/rootfiles/core/156/filelists/perl-Sort-Naturally b/config/rootfiles/oldcore/156/filelists/perl-Sort-Naturally
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Sort-Naturally
rename to config/rootfiles/oldcore/156/filelists/perl-Sort-Naturally
diff --git a/config/rootfiles/core/156/filelists/perl-Switch b/config/rootfiles/oldcore/156/filelists/perl-Switch
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Switch
rename to config/rootfiles/oldcore/156/filelists/perl-Switch
diff --git a/config/rootfiles/core/156/filelists/perl-Text-CSV_XS b/config/rootfiles/oldcore/156/filelists/perl-Text-CSV_XS
similarity index 100%
rename from config/rootfiles/core/156/filelists/perl-Text-CSV_XS
rename to config/rootfiles/oldcore/156/filelists/perl-Text-CSV_XS
diff --git a/config/rootfiles/oldcore/156/filelists/release-files b/config/rootfiles/oldcore/156/filelists/release-files
new file mode 100644
index 000000000..0dec37e53
--- /dev/null
+++ b/config/rootfiles/oldcore/156/filelists/release-files
@@ -0,0 +1,5 @@
+etc/system-release
+etc/issue
+etc/os-release
+srv/web/ipfire/cgi-bin/credits.cgi
+var/ipfire/langs
diff --git a/config/rootfiles/core/156/filelists/rrdtool b/config/rootfiles/oldcore/156/filelists/rrdtool
similarity index 100%
rename from config/rootfiles/core/156/filelists/rrdtool
rename to config/rootfiles/oldcore/156/filelists/rrdtool
diff --git a/config/rootfiles/core/156/filelists/strongswan b/config/rootfiles/oldcore/156/filelists/strongswan
similarity index 100%
rename from config/rootfiles/core/156/filelists/strongswan
rename to config/rootfiles/oldcore/156/filelists/strongswan
diff --git a/config/rootfiles/core/156/filelists/sudo b/config/rootfiles/oldcore/156/filelists/sudo
similarity index 100%
rename from config/rootfiles/core/156/filelists/sudo
rename to config/rootfiles/oldcore/156/filelists/sudo
diff --git a/config/rootfiles/core/156/filelists/suricata b/config/rootfiles/oldcore/156/filelists/suricata
similarity index 100%
rename from config/rootfiles/core/156/filelists/suricata
rename to config/rootfiles/oldcore/156/filelists/suricata
diff --git a/config/rootfiles/core/156/filelists/sysvinit b/config/rootfiles/oldcore/156/filelists/sysvinit
similarity index 100%
rename from config/rootfiles/core/156/filelists/sysvinit
rename to config/rootfiles/oldcore/156/filelists/sysvinit
diff --git a/config/rootfiles/core/156/filelists/web-user-interface b/config/rootfiles/oldcore/156/filelists/web-user-interface
similarity index 100%
rename from config/rootfiles/core/156/filelists/web-user-interface
rename to config/rootfiles/oldcore/156/filelists/web-user-interface
diff --git a/config/rootfiles/core/156/filelists/x86_64/files b/config/rootfiles/oldcore/156/filelists/x86_64/files
similarity index 100%
rename from config/rootfiles/core/156/filelists/x86_64/files
rename to config/rootfiles/oldcore/156/filelists/x86_64/files
diff --git a/config/rootfiles/core/156/filelists/zstd b/config/rootfiles/oldcore/156/filelists/zstd
similarity index 100%
rename from config/rootfiles/core/156/filelists/zstd
rename to config/rootfiles/oldcore/156/filelists/zstd
diff --git a/config/rootfiles/core/156/update.sh b/config/rootfiles/oldcore/156/update.sh
similarity index 100%
rename from config/rootfiles/core/156/update.sh
rename to config/rootfiles/oldcore/156/update.sh
diff --git a/lfs/bash b/lfs/bash
index 9bac360c2..214894ad2 100644
--- a/lfs/bash
+++ b/lfs/bash
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.0
+VER        = 5.1
 
 THISAPP    = bash-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -53,7 +53,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE)             = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5         = 2b44b47b905be16f45709648f671820b
+$(DL_FILE)_MD5         = bb91a17fd6c9032c26d0b2b78b50aff5
 
 install : $(TARGET)
 
@@ -87,8 +87,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \
 		-i $(DIR_APP)/builtins/enable.def
 
-	for i in $$(seq 1 18); do \
-		cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash50-$$(printf "%03d" "$${i}") || exit 1; \
+	for i in $$(seq 1 4); do \
+		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
diff --git a/lfs/linux b/lfs/linux
index 5abc6f93a..86acc14f7 100644
--- a/lfs/linux
+++ b/lfs/linux
@@ -24,8 +24,8 @@
 
 include Config
 
-VER         = 4.14.212
-ARM_PATCHES = 4.14.212-ipfire0
+VER         = 4.14.229
+ARM_PATCHES = 4.14.229-ipfire0
 
 THISAPP    = linux-$(VER)
 DL_FILE    = linux-$(VER).tar.xz
@@ -79,8 +79,8 @@ objects =$(DL_FILE) \
 $(DL_FILE)					= $(URL_IPFIRE)/$(DL_FILE)
 arm-multi-patches-$(ARM_PATCHES).patch.xz	= $(URL_IPFIRE)/arm-multi-patches-$(ARM_PATCHES).patch.xz
 
-$(DL_FILE)_MD5					= 645d5256adf72569e14edcf80c3757dc
-arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5	= 2b0e8e3ebe9827b2bfed7397b043dbc5
+$(DL_FILE)_MD5					= 9d4cf6e9ffff893d8a2ecea6a8c5a15b
+arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5	= a04b842733999abb818cabb0388572b8
 
 install : $(TARGET)
 
diff --git a/lfs/linux-initrd b/lfs/linux-initrd
index f5bd4527b..25386b1bf 100644
--- a/lfs/linux-initrd
+++ b/lfs/linux-initrd
@@ -57,19 +57,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	# rebuild module deps
 	depmod -a $(KVER)-$(VERSUFIX)
 
-	#skip initrd build on pae and rpi kernel.
-ifneq "$(KCFG)" "-rpi"
-ifneq "$(KCFG)" "-pae"
-
 	# Create initramfs images
 	dracut --force --early-microcode --verbose --strip --xz /boot/initramfs-$(KVER)-$(VERSUFIX).img $(KVER)-$(VERSUFIX)
 
-ifeq "$(KCFG)" "-kirkwood"
-#	cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(VERSUFIX)
-	cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(KVER)-$(VERSUFIX)
-	cd /boot && rm initramfs-$(KVER)-$(VERSUFIX).img
-endif
-
 ifeq "$(KCFG)" "-multi"
 	cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(KVER)-$(VERSUFIX)
 	cd /boot && rm initramfs-$(KVER)-$(VERSUFIX).img
@@ -80,6 +70,4 @@ ifeq "$(BUILD_ARCH)" "aarch64"
 	# dont remove initramfs because grub need this to boot.
 endif
 
-endif
-endif
 	@$(POSTBUILD)
diff --git a/lfs/poppler b/lfs/poppler
index 632d6f8ef..12cb05f41 100644
--- a/lfs/poppler
+++ b/lfs/poppler
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.89.0
+VER        = 21.04.0
 
 THISAPP    = poppler-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 92ac57f60ae8c3a1f8bfe01c9530b7b5
+$(DL_FILE)_MD5 = c3a76a9ef4625f54718136699c74c9b1
 
 install : $(TARGET)
 
diff --git a/lfs/poppler-data b/lfs/poppler-data
index 81bc672eb..761dd17d5 100644
--- a/lfs/poppler-data
+++ b/lfs/poppler-data
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.4.9
+VER        = 0.4.10
 
 THISAPP    = poppler-data-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 35cc7beba00aa174631466f06732be40
+$(DL_FILE)_MD5 = a7f15fb2f26c60a7a92093cfdf2378d5
 
 install : $(TARGET)
 
diff --git a/lfs/ppp b/lfs/ppp
index cbac95067..73356b8c4 100644
--- a/lfs/ppp
+++ b/lfs/ppp
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info(a)ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info(a)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        #
@@ -24,12 +24,12 @@
 
 include Config
 
-VER        = 2.4.8
+VER        = 2.4.9
 
 THISAPP    = ppp-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/ppp-$(THISAPP)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 CFLAGS    += -fno-strict-aliasing
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = fa325e90e43975a1bd7e1012c8676123
+$(DL_FILE)_MD5 = f605d021b586fc26e35c6a54fd84b65f
 
 install : $(TARGET)
 
@@ -73,16 +73,15 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && rm -f include/pcap-int.h include/linux/if_pppol2tp.h
-	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
-	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch
 	cd $(DIR_APP) && sed -i -e "s+/etc/ppp/connect-errors+/var/log/connect-errors+" pppd/pathnames.h
-	cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
-	cd $(DIR_APP) && make $(MAKETUNING) CC="gcc" RPM_OPT_FLAGS="$(CFLAGS)"
+	cd $(DIR_APP) && ./configure --prefix=/usr --cc="gcc" --cflags="$(CFLAGS)" --disable-nls
+	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
 	cd $(DIR_APP) && make install-etcppp
 	touch /var/log/connect-errors
diff --git a/lfs/readline b/lfs/readline
index 62097aea7..cee1a5576 100644
--- a/lfs/readline
+++ b/lfs/readline
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 8.0
+VER        = 8.1
 
 THISAPP    = readline-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7e6c1f16aee3244a69aba6e438295ca3
+$(DL_FILE)_MD5 = e9557dd5b1409f5d7b37ef717c64518e
 
 install : $(TARGET)
 
@@ -71,9 +71,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 
-	for i in $$(seq 1 1); do \
-		cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/readline/readline80-$$(printf "%03d" "$${i}") || exit 1; \
-	done
+#	for i in $$(seq 1 1); do \
+#		cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/readline/readline81-$$(printf "%03d" "$${i}") || exit 1; \
+#	done
 
 	cd $(DIR_APP) && ./configure --prefix=/usr --disable-static
 	cd $(DIR_APP) && make $(MAKETUNING) SHLIB_LIBS=-lncurses
diff --git a/lfs/rpcbind b/lfs/rpcbind
index 8db905011..39d4dba4d 100644
--- a/lfs/rpcbind
+++ b/lfs/rpcbind
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = rpcbind
-PAK_VER    = 3
+PAK_VER    = 4
 
 DEPS       = libtirpc
 
diff --git a/lfs/sqlite b/lfs/sqlite
index ab7d79920..7aada7585 100644
--- a/lfs/sqlite
+++ b/lfs/sqlite
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3340100
+VER        = 3350400
 
 THISAPP    = sqlite-autoconf-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 14dca9d44fb6a57f6521c1ace4be5a68
+$(DL_FILE)_MD5 = 9cf453a9cd0e40cdbc8e6f008acfc4fb
 
 install : $(TARGET)
 
diff --git a/lfs/stage2 b/lfs/stage2
index 60d161edd..7483a1134 100644
--- a/lfs/stage2
+++ b/lfs/stage2
@@ -85,6 +85,7 @@ endif
 
 	# Config files
 	cp -rvf $(DIR_SRC)/config/etc/* /etc;
+	[ ! -d "$(DIR_SRC)/config/etc-$(BUILD_ARCH)" ] || cp -rvf $(DIR_SRC)/config/etc-$(BUILD_ARCH)/* /etc
 	cp -rvf $(DIR_SRC)/config/lib/* /lib;
 	touch /etc/{fs,m}tab
 	echo "$(NAME) v$(VERSION) - $(SLOGAN)" >  /etc/issue
diff --git a/lfs/wireless-regdb b/lfs/wireless-regdb
index 182f0371f..6cffd34ba 100644
--- a/lfs/wireless-regdb
+++ b/lfs/wireless-regdb
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2019  IPFire Team  <info(a)ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info(a)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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2019.03.01
+VER        = 2020.11.20
 
 THISAPP    = wireless-regdb-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b5eb2d0cc23f5e495a59405e34ce437f
+$(DL_FILE)_MD5 = 6d29837f3a1ed671e37d5139de25c5b8
 
 install : $(TARGET)
 
diff --git a/make.sh b/make.sh
index 2da3aca21..86bf182ee 100755
--- a/make.sh
+++ b/make.sh
@@ -26,7 +26,7 @@ NAME="IPFire"							# Software name
 SNAME="ipfire"							# Short name
 # If you update the version don't forget to update backupiso and add it to core update
 VERSION="2.25"							# Version number
-CORE="156"							# Core Level (Filename)
+CORE="157"							# Core Level (Filename)
 SLOGAN="www.ipfire.org"						# Software slogan
 CONFIG_ROOT=/var/ipfire						# Configuration rootdir
 MAX_RETRIES=1							# prefetch/check loop
diff --git a/src/initscripts/packages/rpcbind b/src/initscripts/packages/rpcbind
index 7216acd90..57571fd7a 100644
--- a/src/initscripts/packages/rpcbind
+++ b/src/initscripts/packages/rpcbind
@@ -18,12 +18,12 @@
 case "$1" in
 	start)
 		boot_mesg "Starting rpcbind"
-		loadproc /sbin/rpcbind
+		loadproc /usr/sbin/rpcbind
 		;;
 
 	stop)
 		boot_mesg "Stopping rpcbind"
-		killproc /sbin/rpcbind
+		killproc /usr/sbin/rpcbind
 		;;
 
 	restart)
@@ -33,7 +33,7 @@ case "$1" in
 		;;
 
 	status)
-		statusproc /sbin/rpcbind
+		statusproc /usr/sbin/rpcbind
 		;;
 
 	*)
diff --git a/src/patches/bash/bash50-001 b/src/patches/bash/bash50-001
deleted file mode 100644
index 169317ded..000000000
--- a/src/patches/bash/bash50-001
+++ /dev/null
@@ -1,166 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel(a)freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731(a)bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  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));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ 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;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        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,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-002 b/src/patches/bash/bash50-002
deleted file mode 100644
index 3fc8272f8..000000000
--- a/src/patches/bash/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat(a)gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F(a)gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #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. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        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) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       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 */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    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];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        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) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       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 */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    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];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-003 b/src/patches/bash/bash50-003
deleted file mode 100644
index f7e5677e5..000000000
--- a/src/patches/bash/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash(a)achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371(a)msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* 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'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   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;
-        }
-  
-!   return bsquote ? 2 : 0;
-  }
-  
-*** ../bash-5.0-patched/lib/glob/glob.h	2013-10-28 14:46:12.000000000 -0400
---- lib/glob/glob.h	2019-03-07 11:06:47.000000000 -0500
-***************
-*** 31,34 ****
---- 31,35 ----
-  #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 *));
-*** ../bash-5.0-patched/lib/glob/glob.c	2018-09-20 10:53:23.000000000 -0400
---- lib/glob/glob.c	2019-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* 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))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      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;
-***************
-*** 1176,1180 ****
-  	d[directory_len - 1] = '\0';
-  
-!       directories = glob_filename (d, dflags);
-  
-        if (free_dirname)
---- 1195,1199 ----
-  	d[directory_len - 1] = '\0';
-  
-!       directories = glob_filename (d, dflags|GX_RECURSE);
-  
-        if (free_dirname)
-***************
-*** 1333,1336 ****
---- 1352,1369 ----
-  	  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);
-*** ../bash-5.0-patched/pathexp.c	2018-04-29 17:44:48.000000000 -0400
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-004 b/src/patches/bash/bash50-004
deleted file mode 100644
index fe3c764bd..000000000
--- a/src/patches/bash/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg(a)fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf(a)fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* 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)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-005 b/src/patches/bash/bash50-005
deleted file mode 100644
index 9b1cd75b0..000000000
--- a/src/patches/bash/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer(a)blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47(a)blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ 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)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (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))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* 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 */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-006 b/src/patches/bash/bash50-006
deleted file mode 100644
index 2ad1cd200..000000000
--- a/src/patches/bash/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic(a)gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA(a)mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-007 b/src/patches/bash/bash50-007
deleted file mode 100644
index b9eb4150a..000000000
--- a/src/patches/bash/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit(a)gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw(a)mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-008 b/src/patches/bash/bash50-008
deleted file mode 100644
index b09d6b33a..000000000
--- a/src/patches/bash/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus(a)gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf(a)gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* 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. */
-        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++;
-  
-        if (expanded)
---- 561,576 ----
-    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 = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-009 b/src/patches/bash/bash50-009
deleted file mode 100644
index aef4ce7b5..000000000
--- a/src/patches/bash/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey(a)case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-010 b/src/patches/bash/bash50-010
deleted file mode 100644
index bac7aa925..000000000
--- a/src/patches/bash/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg(a)mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug(a)tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* 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. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    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)
-***************
-*** 4473,4486 ****
-    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);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* 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. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-011 b/src/patches/bash/bash50-011
deleted file mode 100644
index a9ae690e0..000000000
--- a/src/patches/bash/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     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. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     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. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-012 b/src/patches/bash/bash50-012
deleted file mode 100644
index 7470e7665..000000000
--- a/src/patches/bash/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug(a)qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605(a)qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-013 b/src/patches/bash/bash50-013
deleted file mode 100644
index e44fdb505..000000000
--- a/src/patches/bash/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31(a)gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ(a)mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-014 b/src/patches/bash/bash50-014
deleted file mode 100644
index 6cb49aae7..000000000
--- a/src/patches/bash/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher(a)posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83(a)hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-015 b/src/patches/bash/bash50-015
deleted file mode 100644
index ff6e5e69d..000000000
--- a/src/patches/bash/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog(a)gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw(a)mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-016 b/src/patches/bash/bash50-016
deleted file mode 100644
index 87f232d7a..000000000
--- a/src/patches/bash/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery(a)gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884(a)midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-017 b/src/patches/bash/bash50-017
deleted file mode 100644
index adfcb6a86..000000000
--- a/src/patches/bash/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab(a)kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50(a)kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash50-018 b/src/patches/bash/bash50-018
deleted file mode 100644
index 6f1b1c7ca..000000000
--- a/src/patches/bash/bash50-018
+++ /dev/null
@@ -1,45 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-018
-
-Bug-Reported-by:	oguzismailuysal(a)gmail.com
-Bug-Reference-ID:
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-10/msg00098.html
-
-Bug-Description:
-
-In certain cases, bash does not perform quoted null removal on patterns
-that are used as part of word expansions such as ${parameter##pattern}, so
-empty patterns are treated as non-empty.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0.17/subst.c	2020-04-02 17:14:58.000000000 -0400
---- subst.c	2020-07-09 15:28:19.000000000 -0400
-***************
-*** 5113,5116 ****
---- 5113,5118 ----
-  				      (int *)NULL, (int *)NULL)
-  	     : (WORD_LIST *)0;
-+   if (l)
-+     word_list_remove_quoted_nulls (l);
-    pat = string_list (l);
-    dispose_words (l);
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 18
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash51-001 b/src/patches/bash/bash51-001
new file mode 100644
index 000000000..6f29981d2
--- /dev/null
+++ b/src/patches/bash/bash51-001
@@ -0,0 +1,80 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.1
+Patch-ID:	bash51-001
+
+Bug-Reported-by:	Fazal Majid <fazal(a)majid.org>
+Bug-Reference-ID:	<DEAB7D2C-C626-450C-B2E5-281AFF2D26D4(a)majid.org>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00000.html
+
+Bug-Description:
+
+There is a missing dependency on a constructed file, which can cause highly
+parellel builds to fail.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.1-patched/Makefile.in	2020-12-04 09:51:19.000000000 -0500
+--- Makefile.in	2020-12-16 11:28:36.000000000 -0500
+***************
+*** 1316,1319 ****
+--- 1316,1320 ----
+  bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h
+  bashline.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
++ bashline.o: ${DEFDIR}/builtext.h
+  bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+  bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h
+***************
+*** 1436,1439 ****
+--- 1437,1441 ----
+  builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
+  builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h
++ builtins/evalstring.o: ${DEFDIR}/builtext.h
+  builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h
+  builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
+
+*** ../bash-5.1-patched/builtins/Makefile.in	2019-07-25 08:03:45.000000000 -0400
+--- builtins/Makefile.in	2020-12-16 11:29:29.000000000 -0500
+***************
+*** 362,366 ****
+  evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
+  evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
+! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h
+  #evalstring.o: $(topdir)/y.tab.h
+  getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
+--- 362,366 ----
+  evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
+  evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
+! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h ./builtext.h
+  #evalstring.o: $(topdir)/y.tab.h
+  getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
+
+*** ../bash-5.1/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 1,5 ****
+  /* patchlevel.h -- current bash patch level */
+  
+! /* Copyright (C) 2001-2016 Free Software Foundation, Inc.
+  
+     This file is part of GNU Bash, the Bourne Again SHell.
+--- 1,5 ----
+  /* patchlevel.h -- current bash patch level */
+  
+! /* Copyright (C) 2001-2020 Free Software Foundation, Inc.
+  
+     This file is part of GNU Bash, the Bourne Again SHell.
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 0
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 1
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash51-002 b/src/patches/bash/bash51-002
new file mode 100644
index 000000000..8c991649a
--- /dev/null
+++ b/src/patches/bash/bash51-002
@@ -0,0 +1,57 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.1
+Patch-ID:	bash51-002
+
+Bug-Reported-by:	oguzismailuysal(a)gmail.com
+Bug-Reference-ID:	<CAH7i3LoHFUa4aSF5-AD2r80HG-p-YzD_9ZxomarZkhP8NMq63g(a)mail.gmail.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00037.html
+
+Bug-Description:
+
+If there are no jobs, and the `-n' and `-p' options are both supplied to
+`wait', bash can assign a value to the variable name specified with `-p'
+instead of leaving it unset.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.1-patched/builtins/wait.def	2020-04-09 15:13:57.000000000 -0400
+--- builtins/wait.def	2020-12-11 09:46:49.000000000 -0500
+***************
+*** 214,222 ****
+  
+        status = wait_for_any_job (wflags, &pstat);
+-       if (status < 0)
+- 	status = 127;
+- 
+        if (vname && status >= 0)
+  	bind_var_to_int (vname, pstat.pid);
+        if (list)
+  	unset_waitlist ();
+--- 214,222 ----
+  
+        status = wait_for_any_job (wflags, &pstat);
+        if (vname && status >= 0)
+  	bind_var_to_int (vname, pstat.pid);
++ 
++       if (status < 0)
++ 	status = 127;
+        if (list)
+  	unset_waitlist ();
+
+*** ../bash-5.1/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 1
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 2
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash51-003 b/src/patches/bash/bash51-003
new file mode 100644
index 000000000..68e5dce6a
--- /dev/null
+++ b/src/patches/bash/bash51-003
@@ -0,0 +1,53 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.1
+Patch-ID:	bash51-003
+
+Bug-Reported-by:	oguzismailuysal(a)gmail.com
+Bug-Reference-ID:	<CAH7i3LpG91BnNcDtaTUm2Ph7a+PnJkuh6nAc87cVL7_38tOaMQ(a)mail.gmail.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00050.html
+
+Bug-Description:
+
+Bash does not put a command substitution process that is started to perform an
+expansion in a child process into the right process group where it can receive
+keyboard-generated signals.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.1-patched/subst.c	2020-11-16 10:33:15.000000000 -0500
+--- subst.c	2020-12-12 13:50:11.000000000 -0500
+***************
+*** 6357,6362 ****
+  #if defined (JOB_CONTROL)
+    old_pipeline_pgrp = pipeline_pgrp;
+!   /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline. */
+!   if ((subshell_environment & SUBSHELL_PIPE) == 0)
+      pipeline_pgrp = shell_pgrp;
+    cleanup_the_pipeline ();
+--- 6357,6364 ----
+  #if defined (JOB_CONTROL)
+    old_pipeline_pgrp = pipeline_pgrp;
+!   /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline or
+!      we've already forked to run a disk command (and are expanding redirections,
+!      for example). */
+!   if ((subshell_environment & (SUBSHELL_FORK|SUBSHELL_PIPE)) == 0)
+      pipeline_pgrp = shell_pgrp;
+    cleanup_the_pipeline ();
+
+*** ../bash-5.1/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 2
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 3
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash51-004 b/src/patches/bash/bash51-004
new file mode 100644
index 000000000..39a6c647f
--- /dev/null
+++ b/src/patches/bash/bash51-004
@@ -0,0 +1,126 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.1
+Patch-ID:	bash51-004
+
+Bug-Reported-by:	oguzismailuysal(a)gmail.com
+Bug-Reference-ID:	<CAH7i3LoHGmwaghDpCWRUfcY04gQmeDTH3RiG=bf2b=KbU=gyhw(a)mail.gmail.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00039.html
+
+Bug-Description:
+
+If a key-value compound array assignment to an associative array is supplied
+as an assignment statement argument to the `declare' command that declares the
+array, the assignment doesn't perform the correct word expansions.
+
+This patch makes key-value assignment and subscript assignment perform the
+same expansions when they're supplied as an argument to `declare'.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.1-patched/arrayfunc.c	2020-10-09 11:38:58.000000000 -0400
+--- arrayfunc.c	2020-12-11 15:12:22.000000000 -0500
+***************
+*** 598,601 ****
+--- 598,622 ----
+      }
+  }
++ 
++ /* Return non-zero if L appears to be a key-value pair associative array
++    compound assignment. */ 
++ int
++ kvpair_assignment_p (l)
++      WORD_LIST *l;
++ {
++   return (l && (l->word->flags & W_ASSIGNMENT) == 0 && l->word->word[0] != '[');	/*]*/
++ }
++ 
++ char *
++ expand_and_quote_kvpair_word (w)
++      char *w;
++ {
++   char *t, *r;
++ 
++   t = w ? expand_assignment_string_to_string (w, 0) : 0;
++   r = sh_single_quote (t ? t : "");
++   free (t);
++   return r;
++ }
+  #endif
+       
+***************
+*** 641,645 ****
+  
+  #if ASSOC_KVPAIR_ASSIGNMENT
+!   if (assoc_p (var) && nlist && (nlist->word->flags & W_ASSIGNMENT) == 0 && nlist->word->word[0] != '[')	/*]*/
+      {
+        iflags = flags & ~ASS_APPEND;
+--- 662,666 ----
+  
+  #if ASSOC_KVPAIR_ASSIGNMENT
+!   if (assoc_p (var) && kvpair_assignment_p (nlist))
+      {
+        iflags = flags & ~ASS_APPEND;
+*** ../bash-5.1-patched/arrayfunc.h	2020-04-29 17:24:15.000000000 -0400
+--- arrayfunc.h	2020-12-11 14:23:50.000000000 -0500
+***************
+*** 68,71 ****
+--- 68,74 ----
+  extern void quote_compound_array_list PARAMS((WORD_LIST *, int));
+  
++ extern int kvpair_assignment_p PARAMS((WORD_LIST *));
++ extern char *expand_and_quote_kvpair_word PARAMS((char *));
++ 
+  extern int unbind_array_element PARAMS((SHELL_VAR *, char *, int));
+  extern int skipsubscript PARAMS((const char *, int, int));
+*** ../bash-5.1-patched/subst.c	2020-11-16 10:33:15.000000000 -0500
+--- subst.c	2020-12-11 15:11:10.000000000 -0500
+***************
+*** 11605,11608 ****
+--- 11605,11609 ----
+    WORD_LIST *l, *nl;
+    char *t;
++   int kvpair;
+    
+    if (flags == 0)
+***************
+*** 11619,11622 ****
+--- 11620,11627 ----
+        /* Associative array */
+        l = parse_string_to_word_list (value, 1, "array assign");
++ #if ASSOC_KVPAIR_ASSIGNMENT
++       kvpair = kvpair_assignment_p (l);
++ #endif
++ 
+        /* For associative arrays, with their arbitrary subscripts, we have to
+  	 expand and quote in one step so we don't have to search for the
+***************
+*** 11624,11627 ****
+--- 11629,11638 ----
+        for (nl = l; nl; nl = nl->next)
+  	{
++ #if ASSOC_KVPAIR_ASSIGNMENT
++ 	  if (kvpair)
++ 	    /* keys and values undergo the same set of expansions */
++ 	    t = expand_and_quote_kvpair_word (nl->word->word);
++ 	  else
++ #endif
+  	  if ((nl->word->flags & W_ASSIGNMENT) == 0)
+  	    t = sh_single_quote (nl->word->word ? nl->word->word : "");
+
+*** ../bash-5.1/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 3
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 4
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch b/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
deleted file mode 100644
index 4a43d444a..000000000
--- a/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From d729b06f0ac7a5ebd3648ef60bef0499b59bf82d Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta(a)redhat.com>
-Date: Fri, 4 Apr 2014 11:29:39 +0200
-Subject: [PATCH 03/25] build-sys: utilize compiler flags handed to us by
- rpmbuild
-
----
- chat/Makefile.linux                  | 2 +-
- pppd/Makefile.linux                  | 3 +--
- pppd/plugins/Makefile.linux          | 2 +-
- pppd/plugins/pppoatm/Makefile.linux  | 2 +-
- pppd/plugins/radius/Makefile.linux   | 2 +-
- pppd/plugins/rp-pppoe/Makefile.linux | 2 +-
- pppdump/Makefile.linux               | 2 +-
- pppstats/Makefile.linux              | 2 +-
- 8 files changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/chat/Makefile.linux b/chat/Makefile.linux
-index 1065ac5..848cd8d 100644
---- a/chat/Makefile.linux
-+++ b/chat/Makefile.linux
-@@ -10,7 +10,7 @@ CDEF3=	-UNO_SLEEP			# Use the usleep function
- CDEF4=	-DFNDELAY=O_NDELAY		# Old name value
- CDEFS=	$(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
- 
--COPTS=	-O2 -g -pipe
-+COPTS=	$(RPM_OPT_FLAGS)
- CFLAGS=	$(COPTS) $(CDEFS)
- 
- INSTALL= install
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 5a44d30..63872eb 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -32,8 +32,7 @@ endif
- 
- CC = gcc
- #
--COPTS = -O2 -pipe -Wall -g
--LIBS =
-+COPTS = -Wall $(RPM_OPT_FLAGS)
- 
- # Uncomment the next 2 lines to include support for Microsoft's
- # MS-CHAP authentication protocol.  Also, edit plugins/radius/Makefile.linux.
-diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
-index 0a7ec7b..e09a369 100644
---- a/pppd/plugins/Makefile.linux
-+++ b/pppd/plugins/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC	= gcc
--COPTS	= -O2 -g
-+COPTS	= $(RPM_OPT_FLAGS)
- CFLAGS	= $(COPTS) -I.. -I../../include -fPIC
- LDFLAGS	= -shared
- INSTALL	= install
-diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
-index 20f62e6..5a81447 100644
---- a/pppd/plugins/pppoatm/Makefile.linux
-+++ b/pppd/plugins/pppoatm/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC	= gcc
--COPTS	= -O2 -g
-+COPTS	= $(RPM_OPT_FLAGS)
- CFLAGS	= $(COPTS) -I../.. -I../../../include -fPIC
- LDFLAGS	= -shared
- INSTALL	= install
-diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
-index 24ed3e5..45b3b8d 100644
---- a/pppd/plugins/radius/Makefile.linux
-+++ b/pppd/plugins/radius/Makefile.linux
-@@ -12,7 +12,7 @@ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
- INSTALL	= install
- 
- PLUGIN=radius.so radattr.so radrealms.so
--CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
-+CFLAGS=-I. -I../.. -I../../../include $(RPM_OPT_FLAGS) -DRC_LOG_FACILITY=LOG_DAEMON
- 
- # Uncomment the next line to include support for Microsoft's
- # MS-CHAP authentication protocol.
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index 5d7a271..352991a 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -25,7 +25,7 @@ INSTALL	= install
- # Version is set ONLY IN THE MAKEFILE!  Don't delete this!
- RP_VERSION=3.8p
- 
--COPTS=-O2 -g
-+COPTS=$(RPM_OPT_FLAGS)
- CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
- all: rp-pppoe.so pppoe-discovery
- 
-diff --git a/pppdump/Makefile.linux b/pppdump/Makefile.linux
-index ac028f6..d0a5032 100644
---- a/pppdump/Makefile.linux
-+++ b/pppdump/Makefile.linux
-@@ -2,7 +2,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
- MANDIR = $(DESTDIR)/share/man/man8
- 
--CFLAGS= -O -I../include/net
-+CFLAGS= $(RPM_OPT_FLAGS) -I../include/net
- OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
- 
- INSTALL= install
-diff --git a/pppstats/Makefile.linux b/pppstats/Makefile.linux
-index cca6f0f..42aba73 100644
---- a/pppstats/Makefile.linux
-+++ b/pppstats/Makefile.linux
-@@ -10,7 +10,7 @@ PPPSTATSRCS = pppstats.c
- PPPSTATOBJS = pppstats.o
- 
- #CC = gcc
--COPTS = -O
-+COPTS = $(RPM_OPT_FLAGS)
- COMPILE_FLAGS = -I../include
- LIBS =
- 
--- 
-1.8.3.1
-
diff --git a/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch b/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
index 2513021b2..0fb028779 100644
--- a/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
+++ b/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
@@ -27,10 +27,10 @@ index 6ea6c1f..faced53 100644
  	free(path);
  	errno = err;
 diff --git a/pppd/main.c b/pppd/main.c
-index 6d50d1b..4880377 100644
+index 87a5d29..152e4a2 100644
 --- a/pppd/main.c
 +++ b/pppd/main.c
-@@ -420,7 +420,7 @@ main(argc, argv)
+@@ -400,7 +400,7 @@ main(int argc, char *argv[])
  	die(0);
  
      /* Make sure fds 0, 1, 2 are open to somewhere. */
@@ -39,12 +39,12 @@ index 6d50d1b..4880377 100644
      if (fd_devnull < 0)
  	fatal("Couldn't open %s: %m", _PATH_DEVNULL);
      while (fd_devnull <= 2) {
-@@ -1679,7 +1679,7 @@ device_script(program, in, out, dont_wait)
+@@ -1642,7 +1642,7 @@ device_script(char *program, int in, int out, int dont_wait)
      if (log_to_fd >= 0)
  	errfd = log_to_fd;
      else
--	errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0600);
-+	errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC, 0600);
+-	errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0644);
++	errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC, 0644);
  
      ++conn_running;
      pid = safe_fork(in, out, errfd);
diff --git a/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch b/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
index 3475f09a8..fffda981d 100644
--- a/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
+++ b/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
@@ -7,9 +7,9 @@ Subject: [PATCH 14/25] everywhere: use SOCK_CLOEXEC when creating socket
  pppd/plugins/pppoatm/pppoatm.c          |  2 +-
  pppd/plugins/pppol2tp/openl2tp.c        |  2 +-
  pppd/plugins/pppol2tp/pppol2tp.c        |  2 +-
- pppd/plugins/rp-pppoe/if.c              |  2 +-
- pppd/plugins/rp-pppoe/plugin.c          |  6 +++---
- pppd/plugins/rp-pppoe/pppoe-discovery.c |  2 +-
+ pppd/plugins/pppoe/if.c                 |  2 +-
+ pppd/plugins/pppoe/plugin.c             |  6 +++---
+ pppd/plugins/pppoe/pppoe-discovery.c    |  2 +-
  pppd/sys-linux.c                        | 10 +++++-----
  pppd/tty.c                              |  2 +-
  8 files changed, 14 insertions(+), 14 deletions(-)
@@ -53,10 +53,10 @@ index a7e3400..e64a778 100644
  		if (fd >= 0) {
  			memset (&ifr, '\0', sizeof (ifr));
  			strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-diff --git a/pppd/plugins/rp-pppoe/if.c b/pppd/plugins/rp-pppoe/if.c
+diff --git a/pppd/plugins/pppoe/if.c b/pppd/plugins/pppoe/if.c
 index 91e9a57..72aba41 100644
---- a/pppd/plugins/rp-pppoe/if.c
-+++ b/pppd/plugins/rp-pppoe/if.c
+--- a/pppd/plugins/pppoe/if.c
++++ b/pppd/plugins/pppoe/if.c
 @@ -116,7 +116,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
      stype = SOCK_PACKET;
  #endif
@@ -66,10 +66,10 @@ index 91e9a57..72aba41 100644
  	/* Give a more helpful message for the common error case */
  	if (errno == EPERM) {
  	    fatal("Cannot create raw socket -- pppoe must be run as root.");
-diff --git a/pppd/plugins/rp-pppoe/plugin.c b/pppd/plugins/rp-pppoe/plugin.c
+diff --git a/pppd/plugins/pppoe/plugin.c b/pppd/plugins/pppoe/plugin.c
 index a8c2bb4..24bdf8f 100644
---- a/pppd/plugins/rp-pppoe/plugin.c
-+++ b/pppd/plugins/rp-pppoe/plugin.c
+--- a/pppd/plugins/pppoe/plugin.c
++++ b/pppd/plugins/pppoe/plugin.c
 @@ -137,7 +137,7 @@ PPPOEConnectDevice(void)
      /* server equipment).                                                  */
      /* Opening this socket just before waitForPADS in the discovery()      */
@@ -97,10 +97,10 @@ index a8c2bb4..24bdf8f 100644
  	r = 0;
      }
  
-diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+diff --git a/pppd/plugins/pppoe/pppoe-discovery.c b/pppd/plugins/pppoe/pppoe-discovery.c
 index 3d3bf4e..c0d927d 100644
---- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
-+++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+--- a/pppd/plugins/pppoe/pppoe-discovery.c
++++ b/pppd/plugins/pppoe/pppoe-discovery.c
 @@ -121,7 +121,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
      stype = SOCK_PACKET;
  #endif
@@ -147,15 +147,6 @@ index 00a2cf5..0690019 100644
      if (s < 0)
  	return 0;
  
-@@ -2860,7 +2860,7 @@ ether_to_eui64(eui64_t *p_eui64)
-     int skfd;
-     const unsigned char *ptr;
- 
--    skfd = socket(PF_INET6, SOCK_DGRAM, 0);
-+    skfd = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-     if(skfd == -1)
-     {
-         warn("could not open IPv6 socket");
 diff --git a/pppd/tty.c b/pppd/tty.c
 index bc96695..8e76a5d 100644
 --- a/pppd/tty.c
diff --git a/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch b/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
index 5127c1f10..1b36e8369 100644
--- a/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
+++ b/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
@@ -1,7 +1,7 @@
-diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h
+diff --git a/pppd/plugins/pppoe/pppoe.h b/pppd/plugins/pppoe/pppoe.h
 index 9ab2eee..86762bd 100644
---- a/pppd/plugins/rp-pppoe/pppoe.h
-+++ b/pppd/plugins/rp-pppoe/pppoe.h
+--- a/pppd/plugins/pppoe/pppoe.h
++++ b/pppd/plugins/pppoe/pppoe.h
 @@ -148,7 +148,7 @@ extern UINT16_t Eth_PPPOE_Session;
  #define STATE_TERMINATED    4
  
diff --git a/src/patches/ppp/ppp-2.4.7-headers_4.9.patch b/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
index 633eb045a..686db9204 100644
--- a/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
+++ b/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
@@ -1,6 +1,6 @@
-diff -Naur ppp-2.4.7.org/pppd/plugins/rp-pppoe/plugin.c ppp-2.4.7/pppd/plugins/rp-pppoe/plugin.c
---- ppp-2.4.7.org/pppd/plugins/rp-pppoe/plugin.c	2014-08-09 14:31:39.000000000 +0200
-+++ ppp-2.4.7/pppd/plugins/rp-pppoe/plugin.c	2017-02-09 08:45:12.567493723 +0100
+diff -Naur ppp-2.4.7.org/pppd/plugins/pppoe/plugin.c ppp-2.4.7/pppd/plugins/pppoe/plugin.c
+--- ppp-2.4.7.org/pppd/plugins/pppoe/plugin.c	2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7/pppd/plugins/pppoe/plugin.c	2017-02-09 08:45:12.567493723 +0100
 @@ -49,6 +49,8 @@
  #include <net/ethernet.h>
  #include <net/if_arp.h>
diff --git a/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch b/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch
deleted file mode 100644
index 858769f48..000000000
--- a/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 8d7970b8f3db727fe798b65f3377fe6787575426
-Author: Paul Mackerras <paulus(a)ozlabs.org>
-Date:   Mon Feb 3 15:53:28 2020 +1100
-
-    pppd: Fix bounds check in EAP code
-    
-    Given that we have just checked vallen < len, it can never be the case
-    that vallen >= len + sizeof(rhostname).  This fixes the check so we
-    actually avoid overflowing the rhostname array.
-    
-    Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
-    Signed-off-by: Paul Mackerras <paulus(a)ozlabs.org>
-
-diff --git a/pppd/eap.c b/pppd/eap.c
-index 94407f5..1b93db0 100644
---- a/pppd/eap.c
-+++ b/pppd/eap.c
-@@ -1420,7 +1420,7 @@ int len;
- 		}
- 
- 		/* Not so likely to happen. */
--		if (vallen >= len + sizeof (rhostname)) {
-+		if (len - vallen >= sizeof (rhostname)) {
- 			dbglog("EAP: trimming really long peer name down");
- 			BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1);
- 			rhostname[sizeof (rhostname) - 1] = '\0';
-@@ -1846,7 +1846,7 @@ int len;
- 		}
- 
- 		/* Not so likely to happen. */
--		if (vallen >= len + sizeof (rhostname)) {
-+		if (len - vallen >= sizeof (rhostname)) {
- 			dbglog("EAP: trimming really long peer name down");
- 			BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1);
- 			rhostname[sizeof (rhostname) - 1] = '\0';
diff --git a/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch b/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch
new file mode 100644
index 000000000..b36ace192
--- /dev/null
+++ b/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch
@@ -0,0 +1,15 @@
+--- ppp-2.4.9.orig/configure	2021-03-30 21:38:27.415735914 +0200
++++ ppp-2.4.9/configure	2021-04-01 19:10:48.632314447 +0200
+@@ -121,9 +121,9 @@
+     rm -f $2
+     if [ -f $1 ]; then
+ 	echo "  $2 <= $1"
+-	sed -e "s,@DESTDIR@,$DESTDIR,g" -e "s,@SYSCONF@,$SYSCONF,g" \
+-	    -e "s,@CROSS_COMPILE@,$CROSS_COMPILE,g" -e "s,@CC@,$CC,g" \
+-	    -e "s,@CFLAGS@,$CFLAGS,g" $1 >$2
++	sed -e "s#@DESTDIR@#$DESTDIR#g" -e "s#@SYSCONF@#$SYSCONF#g" \
++	    -e "s#@CROSS_COMPILE@#$CROSS_COMPILE#g" -e "s#@CC@#$CC#g" \
++	    -e "s#@CFLAGS@#$CFLAGS#g" $1 >$2
+     fi
+ }
+ 
diff --git a/src/patches/readline/readline63-001 b/src/patches/readline/readline63-001
deleted file mode 100644
index bae6a2f52..000000000
--- a/src/patches/readline/readline63-001
+++ /dev/null
@@ -1,43 +0,0 @@
-			   READLINE PATCH REPORT
-			   =====================
-
-Readline-Release: 6.3
-Patch-ID: readline63-001
-
-Bug-Reported-by:	Daan van Rossum <daan(a)flash.uchicago.edu>
-Bug-Reference-ID:	<20140307072523.GA14250(a)flash.uchicago.edu>
-Bug-Reference-URL:	
-
-Bug-Description:
-
-The `.' command in vi mode cannot undo multi-key commands beginning with
-`c', `d', and `y' (command plus motion specifier).
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.3/readline.c	2013-10-28 14:58:06.000000000 -0400
---- readline.c	2014-03-07 15:20:33.000000000 -0500
-***************
-*** 965,969 ****
-    if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
-        key != ANYOTHERKEY &&
-!       rl_key_sequence_length == 1 &&	/* XXX */
-        _rl_vi_textmod_command (key))
-      _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
---- 965,969 ----
-    if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
-        key != ANYOTHERKEY &&
-!       _rl_dispatching_keymap == vi_movement_keymap &&
-        _rl_vi_textmod_command (key))
-      _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
-*** ../readline-6.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
---- patchlevel	2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 5
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 1
diff --git a/src/patches/readline/readline63-002 b/src/patches/readline/readline63-002
deleted file mode 100644
index 0e79f13f6..000000000
--- a/src/patches/readline/readline63-002
+++ /dev/null
@@ -1,44 +0,0 @@
-			   READLINE PATCH REPORT
-			   =====================
-
-Readline-Release: 6.3
-Patch-ID: readline63-002
-
-Bug-Reported-by:	Anatol Pomozov <anatol.pomozov(a)gmail.com>
-Bug-Reference-ID:	<CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ(a)mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html
-
-Bug-Description:
-
-When in callback mode, some readline commands can cause readline to seg
-fault by passing invalid contexts to callback functions.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.3/readline.c	2013-10-28 14:58:06.000000000 -0400
---- readline.c	2014-03-10 14:15:02.000000000 -0400
-***************
-*** 745,749 ****
-  
-    RL_CHECK_SIGNALS ();
-!   if (r == 0)			/* success! */
-      {
-        _rl_keyseq_chain_dispose ();
---- 745,750 ----
-  
-    RL_CHECK_SIGNALS ();
-!   /* We only treat values < 0 specially to simulate recursion. */
-!   if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0))	/* success! or failure! */
-      {
-        _rl_keyseq_chain_dispose ();
-*** ../readline-6.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
---- patchlevel	2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 1
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 2
diff --git a/src/patches/readline/readline63-003 b/src/patches/readline/readline63-003
deleted file mode 100644
index d2cad94f9..000000000
--- a/src/patches/readline/readline63-003
+++ /dev/null
@@ -1,47 +0,0 @@
-			   READLINE PATCH REPORT
-			   =====================
-
-Readline-Release: 6.3
-Patch-ID: readline63-003
-
-Bug-Reported-by:
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-There are debugging functions in the readline release that are theoretically
-exploitable as security problems.  They are not public functions, but have
-global linkage.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.3/util.c	2013-09-02 13:36:12.000000000 -0400
---- util.c	2014-03-20 10:25:53.000000000 -0400
-***************
-*** 477,480 ****
---- 479,483 ----
-  }
-  
-+ #if defined (DEBUG)
-  #if defined (USE_VARARGS)
-  static FILE *_rl_tracefp;
-***************
-*** 539,542 ****
---- 542,546 ----
-  }
-  #endif
-+ #endif /* DEBUG */
-  
-  
-*** ../readline-6.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
---- patchlevel	2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 2
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 3
diff --git a/src/patches/readline/readline63-004 b/src/patches/readline/readline63-004
deleted file mode 100644
index 3cd89e3a0..000000000
--- a/src/patches/readline/readline63-004
+++ /dev/null
@@ -1,45 +0,0 @@
-			   READLINE PATCH REPORT
-			   =====================
-
-Readline-Release: 6.3
-Patch-ID: readline63-004
-
-Bug-Reported-by:	Egmont Koblinger <egmont(a)gmail.com>
-Bug-Reference-ID:	<CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg(a)mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html
-
-Bug-Description:
-
-The signal handling changes to bash and readline (to avoid running any code
-in a signal handler context) cause the cursor to be placed on the wrong
-line of a multi-line command after a ^C interrupts editing.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.3-patched/display.c	2013-12-27 13:10:56.000000000 -0500
---- display.c	2014-03-27 11:52:45.000000000 -0400
-***************
-*** 2678,2682 ****
-    if (_rl_echoing_p)
-      {
-!       _rl_move_vert (_rl_vis_botlin);
-        _rl_vis_botlin = 0;
-        fflush (rl_outstream);
---- 2678,2683 ----
-    if (_rl_echoing_p)
-      {
-!       if (_rl_vis_botlin > 0)	/* minor optimization plus bug fix */
-! 	_rl_move_vert (_rl_vis_botlin);
-        _rl_vis_botlin = 0;
-        fflush (rl_outstream);
-*** ../readline-6.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
---- patchlevel	2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 3
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 4
diff --git a/src/patches/readline/readline63-005 b/src/patches/readline/readline63-005
deleted file mode 100644
index 8a6373849..000000000
--- a/src/patches/readline/readline63-005
+++ /dev/null
@@ -1,58 +0,0 @@
-			   READLINE PATCH REPORT
-			   =====================
-
-Readline-Release: 6.3
-Patch-ID: readline63-005
-
-Bug-Reported-by:	Juergen Daubert <jue(a)jue.li>
-Bug-Reference-ID:	<20140303180430.GA7346(a)jue.netz>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00002.html
-
-Bug-Description:
-
-There are still applications using the deprecated Function/VFunction/etc.
-typedefs in rltypedefs.h.  This patch restores the typedefs, but attempts
-to mark them as deprecated using gcc/clang attributes.  Thanks to Max Horn
-for the suggestion.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.3-patched/rltypedefs.h	2011-03-26 14:53:31.000000000 -0400
---- rltypedefs.h	2014-04-10 11:30:45.000000000 -0400
-***************
-*** 27,30 ****
---- 27,49 ----
-  #endif
-  
-+ /* Old-style, attempt to mark as deprecated in some way people will notice. */
-+ 
-+ #if !defined (_FUNCTION_DEF)
-+ #  define _FUNCTION_DEF
-+ 
-+ #if defined(__GNUC__) || defined(__clang__)
-+ typedef int Function () __attribute__ ((deprecated));
-+ typedef void VFunction () __attribute__ ((deprecated));
-+ typedef char *CPFunction () __attribute__ ((deprecated));
-+ typedef char **CPPFunction () __attribute__ ((deprecated));
-+ #else
-+ typedef int Function ();
-+ typedef void VFunction ();
-+ typedef char *CPFunction ();
-+ typedef char **CPPFunction ();
-+ #endif
-+ 
-+ #endif /* _FUNCTION_DEF */
-+ 
-  /* New style. */
-  
-*** ../readline-6.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
---- patchlevel	2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 4
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 5
diff --git a/src/patches/readline/readline63-006 b/src/patches/readline/readline63-006
deleted file mode 100644
index a3f09304a..000000000
--- a/src/patches/readline/readline63-006
+++ /dev/null
@@ -1,63 +0,0 @@
-			   READLINE PATCH REPORT
-			   =====================
-
-Readline-Release: 6.3
-Patch-ID: readline63-006
-
-Bug-Reported-by:	<Trond.Endrestol(a)ximalas.info>
-Bug-Reference-ID:	<alpine.BSF.2.03.1404192114310.1973(a)enterprise.ximalas.info>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html
-
-Bug-Description:
-
-Using reverse-i-search when horizontal scrolling is enabled does not redisplay
-the entire line containing the successful search results.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.3-patched/display.c	2014-04-08 18:19:36.000000000 -0400
---- display.c	2014-04-20 18:32:52.000000000 -0400
-***************
-*** 1638,1642 ****
-       the spot of first difference is before the end of the invisible chars,
-       lendiff needs to be adjusted. */
-!   if (current_line == 0 && !_rl_horizontal_scroll_mode &&
-        current_invis_chars != visible_wrap_offset)
-      {
---- 1638,1642 ----
-       the spot of first difference is before the end of the invisible chars,
-       lendiff needs to be adjusted. */
-!   if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
-        current_invis_chars != visible_wrap_offset)
-      {
-***************
-*** 1826,1831 ****
-  		_rl_last_c_pos += bytes_to_insert;
-  
-  	      if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
-! 		goto clear_rest_of_line;
-  	    }
-  	}
---- 1826,1836 ----
-  		_rl_last_c_pos += bytes_to_insert;
-  
-+ 	      /* XXX - we only want to do this if we are at the end of the line
-+ 		 so we move there with _rl_move_cursor_relative */
-  	      if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
-! 		{
-! 		  _rl_move_cursor_relative (ne-new, new);
-! 		  goto clear_rest_of_line;
-! 		}
-  	    }
-  	}
-*** ../readline-6.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
---- patchlevel	2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 5
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 6
diff --git a/src/patches/readline/readline80-001 b/src/patches/readline/readline80-001
deleted file mode 100644
index aa72a9dfa..000000000
--- a/src/patches/readline/readline80-001
+++ /dev/null
@@ -1,38 +0,0 @@
-			   READLINE PATCH REPORT
-			   =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-001
-
-Bug-Reported-by:	chet.ramey(a)case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-8.0-patched/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../readline-8.0/patchlevel	2013-11-15 08:11:11.000000000 -0500
---- patchlevel	2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 0
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 1


hooks/post-receive
--
IPFire 2.x development tree

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-11 12:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-11 12:24 [git.ipfire.org] IPFire 2.x development tree branch, next, updated. efaed42101ed190df802f492cb00c8997f8a08b7 Michael Tremer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox