bash actually only requires libtinfo, but up to recent change in
14.0-CURRENT, libtinfo and libncurses were bundled into one single libs,
so linking only to libncurses was not a problem.
By telling bash to link to libtinfo and not to libncurses, it works on
both system where ncurses has been split and those without the split as
there is a libtinfow.so symlink to libncursesw.so on those.
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).
PR: 255126
Submitted by: olivier.freebsd@free.fr
Bash Commander is a fork of GNU Bourne Again Shell. It's main feature is
a visual two-panel mode, much like Midnight Commander and other text-mode
visual shells.
WWW: https://github.com/sergev/bash-commander
Also add bashc to the CONFLICTS section of shells/bash.
PR: 253783, 253784
Submitted by: Igor Pokrovsky <ip AT unixway DOT org>
The whole ports tree has been enforced on libncursesw (widechar) version for a while.
With the exception of a few ports including bash.
This is even more problematic in the case of bash because it links to libreadline which is
linked to libncursesw.so
instead of from /etc.
Document this change in UPDATING and provide a migration strategy.
PR: 247934 (based on)
Submitted by: Michael Osipov <michael.osipov@siemens.com>
devel/readline by default but provide an option to keep using the bundled one.
PR: 247932 (based on)
Submitted by: Michael Osipov <michael.osipov@siemens.com>
After a discussion on the mailing list on moving manpages to
${PREFIX}/share/man for consistency with base where it is
installed in usr/share/man, it appeared the same should happen
to GNU info files which were installed under share in base and
not in ports.
Now texinfo is not in base on any of the supported version of FreeBSD
it is possible to proceed to this move and it is easier to do than
the manpage change.
Other benefit than consistency are less patching: all build tools but
cmake are expecting info files to be under share/info and cmake (patched here)
was having an exception for BSD so the patch makes FreeBSD case less
specific for them
Bump revision of all impacted ports
PR: 232907
exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D17816
- Pass -Wl,-export-dynamic to LDFLAGS instead of CFLAGS in order to avoid warning:
cc: warning: -Wl,-export-dynamic: 'linker' input unused [-Wunused-command-line-argument]
disabled.
This allows users to avoid mounting an extra FS that we don't enable by default.
Only display pkg-message with fdescfs instructions when option is enabled.
Submitted by: swills
Differential Revision: https://reviews.freebsd.org/D10394
with the real value of LOCALBASE by the port Makefile at some point, but it
isn't at the moment.
Set this value in the Makefile by defining CPPFLAGS accordingly.
PR: 217451
Submitted by: Dan McGregor <dan.mcgregor@usask.ca>
MFH: 2017Q1 (blanket)
Changelog:
Fixes a bug. When -N is used, the input is not supposed to be split
using $IFS, but leading and trailing IFS whitespace was still removed.
MFH: 2017Q1
Changelog:
Under certain circumstances, bash will evaluate arithmetic expressions as
part of reading an expression token even when evaluation is suppressed. This
happens while evaluating a conditional expression and skipping over the
failed branch of the expression.
There is a race condition in add_history() that can be triggered by a fatal
signal arriving between the time the history length is updated and the time
the history list update is completed. A later attempt to reference an
invalid history entry can cause a crash.
Depending on compiler optimizations and behavior, the `read' builtin may not
save partial input when a timeout occurs.
Subshells begun to run command and process substitutions may attempt to
set the terminal's process group to an incorrect value if they receive
a fatal signal. This depends on the behavior of the process that starts
the shell.
MFH: 2017Q1
Changelog:
- Out-of-range negative offsets to popd can cause the shell to crash attempting
to free an invalid memory block.
- When performing filename completion, bash dequotes the directory name being
completed, which can result in match failures and potential unwanted
expansion.
MFH: 2017Q1
The reason is that NLS is related to message translations to different
languages.
And bash has the general feature that \uNNNN is translated into the unicode
character using iconv. This is unicode support, and should have nothing to
do with translations.
bash also currently has a bug that --disable-nls causes it to fail to find
iconv. This bug has been reported upstream to bash-devel ML. In the future,
when bash will fix this, this will make a difference.
Note that this uses iconv from libc.
[2] Update to 4.3.46
PR: 206903 [1], 210620 [2]
Submitted by: yuri@rawbw.com [1], pkubaj@anongoth.pl [2]
Discussed with: adamw
generate a bunch of,
cannot make pipe for process substitution: File exists
errors.
The problem lies with colliding pipe names.
The code in sh_mktmpname() in lib/sh/tmpfile.c uses a combination of things like
the current time, the PID, and an incrementing counter. Since the child PIDs
tend to be sequential (barring kern.randompid=1), there are collisions.
Fix this problem without rewriting upstream code by defining USE_MKTEMP=1 to
use the mktemp(3) code of bash.
FreeBSD's mktemp() is not nearly as bad as the bash default and isn't
brain-damaged like some platforms (which is likely why the bash code tries to
do it's own thing). In FreeBSD, "mktemp(3)" it uses arc4random to pick one of
62 symbols for each "X".
Submitted by: Henric Jungheim <software@henric.org>
When appropriate:
- Try to use DISTVERSION{SUF,PRE}FIX
- Replace PORTNAME-PORTVERSION by DISTNAME
- Convert MASTER_SITES to use macros
- Other light cleanup
With hat: portmgr
Sponsored by: Absolight