This is GNU Bash. Bash is the GNU Project's Bourne Again SHell,
a complete implementation of the POSIX.2 shell spec, but also
with interactive command line editing, job control on architectures
that support it, csh-like features such as history substitution and
brace expansion, and a slew of other features.
===> The following configuration options are available for bash-5.3.20:
DOCS=on: Build and/or install documentation
FDESCFS=off: Enable use of /dev/fd
HELP=on: Enable builtin help
NLS=on: Native Language Support
PORTS_READLINE=off: libreadline from ports instead of bundled one
STATIC=off: Build static executables and/or libraries
SYSBASHRC=on: Enable system-wide rc files
SYSLOG=off: Syslog logging support
===> Use 'make config' to modify these settings
Reason:
The SYSBASHRC option is now enabled by default. For those who use bash
interactively the system-wide RC file shall be sourced automatically
giving the user the same experience as invoking it as a login shell.
Reason:
Bash has been updated to version 5.2. In previous versions, the default port
option-set used to link against libreadline from ports. However, the current
version of devel/readline is too old for bash 5.2.
For now, the default option has been switched to use the bundled version of
libreadline and the other option is marked broken. Once devel/readline is
updated this can be reverted.
If you're updating bash from source and you've previously explicitly set to
use use PORTS_READLINE, you'll have to disable the PORTS_READLINE option
before updating:
# cd /usr/ports/shells/bash
# make config
or flush it entirely:
# cd /usr/ports/shells/bash
# make rmconfig
2021-04-16
Affects: users of shells/bash, shells/bash-static with PORTS_READLINE=off
Author: olce.freebsd@certner.fr
Reason:
Bundled readline now will use LOCALBASE/etc/inputrc as its ultimate default
inputrc file (instead of /etc/inputrc). This puts these ports in line with
what devel/readline has been doing recently (since 20210103).
Bump PORTREVISION on shells that use gettext to force a package rebuild
and reinstall. This should make the shells link with libintl.so.8 instead
of libintl.so.9 and should give package users a better chance of having a
working shell when something went wrong with the gettext update.
- Update to patchlevel 4.3.29.
This addresses the local crash from CVE-2014-6277. Note that
the fixes applied in 4.3.25_2 (and upstream 4.3.27) already made
this non-exploitable remotely.
This makes 'bashcheck' [1] fully green now. It had a soft warning
before for CVE-2014-6277.
[1] https://github.com/hannob/bashcheck
Add RedHat's patch for CVE-2014-7186, commonly known as "redir_stack" overflow,
which has not been shown to be as critical as "shellshock" currently.
Security: CVE-2014-7186
- Update to patchlevel 27 which changes how functions are exported.
This should eliminate the recent vulnerabilities, but keep the
requirement for --import-functions/IMPORTFUNCTIONS option for now.
- Loosen the --import-functions requirement so it is not needed when running
an interactive shell. It is already disallowed for privileged/setuid mode.
- Show an error on stderr when an imported function is ignored.
Disable function importing from the environment by default. This can be
enabled by using --import-functions or enabling the IMPORTFUNCTIONS option.
This removes the risk of further parser bugs leading to code execution, as
well as the risk to setuid scripts and poorly written applications that
do not cleanse their environment [1][2].
Also note that there is an unofficial 4.3.26 floating around that has not yet
been officially released. r369261 covers the change in 4.3.26.
See also:
http://seclists.org/oss-sec/2014/q3/747 [1]
http://seclists.org/oss-sec/2014/q3/746 [2]
http://seclists.org/oss-sec/2014/q3/755 [3]
Obtained from: NetBSD (based on) [3]
PR: 193932
Reviewed by: Eric Vangyzen
With hat: portmgr
Add an @shell keyword to handle adding and remove a shell path in /etc/shell
Bump port revision of all ports that were doing it wrong prior to the keyword
CR: D208
Reviewed by: antoine
With hat: portmgr
Convert all :U to :tu and :L to :tl
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
Now that we're at patchlevel 0 the current PORTVERSION definition has the effect
that we're at version "4.3.". Set PORTVERSION to 4.3.${PATCHLEVEL} until we have
the first patch released upstream. Also bump PORTREVISION to make sure all port
tools deal with this correctly.
Notified by: "Matthew D. Fuller" <fullermd@over-yonder.net>
Discussed with: kwm
- Reset maintainer of shells/bash, shells/bash-static
- Takeover maintainership
- Merge changes from shells/bash-devel this updates the port to 4.3
- Remove the now useless -devel ports
- Document change in ports/MOVED
Approved by: portmgr (bapt)
Fix inconsistency in building bash
Ensure the configure script always activate the same features wether or not
fdescfs is mounted: Always consider /dev/fd as absent
Bump portrevision as packages on the cluster are built with fdescfs mounted.
With hat: portmgr
Reported: Derek Schrock (skered- via #poudriere)
Convert to new options framework
This fixes build with nls not correctly pulling in libintl given USES= gettext
was set after pre.mk which is forbidden
Convert USE_BISON to USES= bison
It brings bison as a build dependency in case it is set the following way:
USES= bison or USES= bison:build
it brings bison as a run dependency in case it is set the following way:
USES= bison:run
it brings bison both as a run and build dependency in case it the set the
following way:
USES= bison:both
While here trim some headers
Convert some USE_GNOME= gnomehack to USES= pathfix
Update to Bash 4.2 patchlevel 42.
* If a backslash-newline (which is removed) with no other input is given as
input to `read', the shell tries to dereference a null pointer and seg faults.
* Under certain circumstances, bash attempts to expand variables in
arithmetic expressions even when evaluation is being suppressed.
* Output redirection applied to builtin commands missed I/O errors if
they happened when the file descriptor was closed, rather than on write
(e.g., like with an out-of-space error on a remote NFS file system).
* Process substitution incorrectly inherited a flag that inhibited using
the (local) temporary environment for variable lookups if it was providing
the filename to a redirection. The intent the flag is to enforce the
POSIX command expansion ordering rules.
- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)
- Fix all ports that add {CPP,LD}FLAGS to *_ENV to modify flags instead
PR: 157936
Submitted by: myself
Exp-runs by: pav
Approved by: pav
Update to Bash 4.1 patchlevel 11.
Under certain circumstances, running `fc -l' two times in succession
with a relative history offset at the end of the history will result
in an incorrect calculation of the last history entry and a seg fault
PR: 160239
Pass the -y flag to bison to fix $() parsing.
Plain "bison -d parse.y" outputs parse.tab.c instead of y.tab.c,
so y.tab.c is never regenerated, and the parser fix from patch 001
is effectively not applied.
PR: 139720
Approved by: maintainer timeout (4+2 weeks)
Update CONFIGURE_ARGS for how we pass CONFIGURE_TARGET to configure script.
Specifically, newer autoconf (> 2.13) has different semantic of the
configure target. In short, one should use --build=CONFIGURE_TARGET
instead of CONFIGURE_TARGET directly. Otherwise, you will get a warning
and the old semantic may be removed in later autoconf releases.
To workaround this issue, many ports hack the CONFIGURE_TARGET variable
so that it contains the ``--build='' prefix.
To solve this issue, under the fact that some ports still have
configure script generated by the old autoconf, we use runtime detection
in the do-configure target so that the proper argument can be used.
Changes to Mk/*:
- Add runtime detection magic in bsd.port.mk
(Only the first 15 lines of the commit message are shown above )
Bump portrevision due to upgrade of devel/gettext.
The affected ports are the ones with gettext as a run-dependency
according to ports/INDEX-7 (5007 of them) and the ones with USE_GETTEXT
in Makefile (29 of them).
PR: ports/124340
Submitted by: edwin@
Approved by: portmgr (pav)
- Remove the DESTDIR modifications from individual ports as we have a new,
fully chrooted DESTDIR, which does not need such any more.
Sponsored by: Google Summer of Code 2007
Approved by: portmgr (pav)
When bash is built with the bison 1.75 port present it breaks the ability
of bash to parse certain legal shell scripts (used by e.g. GNU configure).
Fix this by explicitly directing bash to use yacc.
Bump PORTREVISION since this is likely to be a common enough occurrence
that many users will benefit from the rebuild.
Submitted by: Nicolas Rachinsky <nicolas-0@ml.turing-complete.org>
PR: ports/94086
Approved by: portmgr (implicit)