the Fink project is an effort to port
popular Unix programs to Mac OS X
Info4: <<
Package: bash
Version: 4.2
Revision: 1
Description: The GNU Bourne Again Shell
License: GPL
Maintainer: Benjamin Reed
Depends: <<
libgettext8-shlibs,
libiconv
<<
BuildDepends: <<
fink (>= 0.29.7-1),
gettext-bin,
gettext-tools,
libgettext8-dev,
libiconv-dev
<<
Recommends: <<
bash-completion,
bash-doc
<<
Source: gnu
Source-MD5: 3fb927c7c33022f1c327f14a81c0d4b0
Source2: http://ranger.befunk.com/fink/%n/%n42-001-008.tar.bz2
Source2-MD5: b7f0365923c85118fd84db17247b09a2
PatchScript: <<
#!/bin/sh -ev
for file in ../bash42-*; do
patch -p0 < $file
done
sed -e 's:@PREFIX@:%p:g' %{PatchFile} | patch -p1
<<
PatchFile: %n.patch
PatchFile-MD5: 1b2b42638dcecd138cf0442dd644d186
UseMaxBuildJobs: true
ConfigureParams: <<
--build=%m-apple-darwin`uname -r|cut -f1 -d.` \
--enable-alias \
--enable-arith-for-command \
--enable-array-variables \
--enable-bang-history \
--enable-brace-expansion \
--enable-casemod-attributes \
--enable-casemod-expansions \
--enable-command-timing \
--enable-cond-command \
--enable-cond-regexp \
--enable-coprocesses \
--enable-debugger \
--enable-directory-stack \
--enable-dparen-arithmetic \
--enable-extended-glob \
--enable-help-builtin \
--enable-history \
--enable-job-control \
--enable-multibyte \
--enable-net-redirections \
--enable-process-substitution \
--enable-progcomp \
--enable-prompt-string-decoding \
--enable-readline \
--enable-restricted \
--enable-select \
--enable-separate-helpfiles \
--with-curses \
--with-libiconv-prefix=%p \
--with-libintl-prefix=%p \
--disable-dependency-tracking
<<
InstallScript: <<
install -d -m 755 %i/share/doc/%N
make -j1 install DESTDIR="%d" htmldir="%p/share/doc/%N/html"
rm -rf %i/share/info
mkdir -p %i/share/init/bash
mv init/* %i/share/init/bash/
mkdir -p %i/etc
mv profile.fink %i/etc/profile
(cd %i/bin; ln -s bash rbash;)
install -m 644 doc/rbash.1 %i/share/man/man1/
<<
DocFiles: doc/FAQ doc/INTRO doc/README CHANGES COMPAT COPYING NEWS NOTES RBASH README.Fink
Homepage: http://www.gnu.org/software/bash/bash.html
DescDetail: <<
Bash is an sh-compatible command language interpreter that executes
commands read from the standard input or from a file. Bash also
incorporates useful features from the Korn and C shells (ksh and csh).
Bash is ultimately intended to be a conformant implementation of the IEEE
Posix Shell and Tools specification (IEEE Working Group 1003.2).
<<
DescUsage: See /sw/share/doc/bash/README.Fink for configuration advice.
<<
diff -Nurd bash-4.2/Makefile.in bash-4.2-new/Makefile.in
--- bash-4.2/Makefile.in 2010-11-30 19:22:42.000000000 -0500
+++ bash-4.2-new/Makefile.in 2011-04-27 09:04:47.000000000 -0400
@@ -400,7 +400,7 @@
$(BASHINCDIR)/shtty.h $(BASHINCDIR)/typemax.h \
$(BASHINCDIR)/ocache.h
-LIBRARIES = $(GLOB_LIB) $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) \
+LIBRARIES = $(GLOB_LIB) $(SHLIB_LIB) $(READLINE_LIBRARY) $(HISTORY_LIB) $(TERMCAP_LIB) \
$(TILDE_LIB) $(MALLOC_LIB) $(INTL_LIB) $(LIBICONV) $(LOCAL_LIBS)
LIBDEP = $(GLOB_DEP) $(SHLIB_DEP) $(INTL_DEP) $(READLINE_DEP) $(HISTORY_DEP) $(TERMCAP_DEP) \
diff -Nurd bash-4.2/README.Fink bash-4.2-new/README.Fink
--- bash-4.2/README.Fink 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/README.Fink 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,29 @@
+This installation of bash has been set up to use an init system similar
+to the tcsh installed by OS X.
+
+In order to use this configuration:
+
+ echo "source ~/.bashrc" > ~/.bash_profile
+ echo "source @PREFIX@/share/init/bash/rc" > ~/.bashrc
+ echo "source @PREFIX@/bin/init.sh" >> ~/.bashrc
+
+In order to customize this setup:
+
+ mkdir ~/Library/init/bash
+
+and create the following files there as necessary:
+
+ aliases.mine - shell aliases
+ completions.mine - completions
+ environment.mine - environment
+ rc.mine - run commands
+ path - command search path
+
+See the corresponding file in @PREFIX@/share/init/bash for more
+information about the role of each file. You can easily extend or
+override the configuration provided by the default file. For example,
+you can add more aliases by adding the appropriate commands in
+aliases.mine.
+
+The init files were originally written by Wilfredo Sanchez, but they contained
+a few errors which I've taken the liberty of correcting.
diff -Nurd bash-4.2/doc/Makefile.in bash-4.2-new/doc/Makefile.in
--- bash-4.2/doc/Makefile.in 2010-01-15 14:23:36.000000000 -0500
+++ bash-4.2-new/doc/Makefile.in 2011-04-27 09:04:08.000000000 -0400
@@ -232,9 +232,9 @@
-if test -f bash.info; then d=.; else d=$(srcdir); fi; \
$(INSTALL_DATA) $$d/bash.info $(DESTDIR)$(infodir)/bash.info
# run install-info if it is present to update the info directory
- if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/bash.info; \
- else true; fi
+# if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+# install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/bash.info; \
+# else true; fi
# if htmldir is set, install the html files into that directory
-if test -n "${htmldir}" ; then \
$(INSTALL_DATA) $(srcdir)/bash.html $(DESTDIR)$(htmldir) ; \
diff -Nurd bash-4.2/doc/bash.1 bash-4.2-new/doc/bash.1
--- bash-4.2/doc/bash.1 2011-01-16 15:31:39.000000000 -0500
+++ bash-4.2-new/doc/bash.1 2011-04-27 09:04:08.000000000 -0400
@@ -199,7 +199,7 @@
.TP
.B \-\-noprofile
Do not read either the system-wide startup file
-.FN /etc/profile
+.FN @PREFIX@/etc/profile
or any of the personal initialization files
.IR ~/.bash_profile ,
.IR ~/.bash_login ,
@@ -305,7 +305,7 @@
.B bash
is invoked as an interactive login shell, or as a non-interactive shell
with the \fB\-\-login\fP option, it first reads and
-executes commands from the file \fI/etc/profile\fP, if that
+executes commands from the file \fI@PREFIX@/etc/profile\fP, if that
file exists.
After reading that file, it looks for \fI~/.bash_profile\fP,
\fI~/.bash_login\fP, and \fI~/.profile\fP, in that order, and reads
@@ -361,7 +361,7 @@
When invoked as an interactive login shell, or a non-interactive
shell with the \fB\-\-login\fP option, it first attempts to
read and execute commands from
-.I /etc/profile
+.I @PREFIX@/etc/profile
and
.IR ~/.profile ,
in that order.
@@ -2004,7 +2004,7 @@
.TP
.B HOSTFILE
Contains the name of a file in the same format as
-.FN /etc/hosts
+.FN @PREFIX@/etc/hosts
that should be read when the shell needs to complete a
hostname.
The list of possible hostname completions may be changed while the
@@ -2018,7 +2018,7 @@
.B HOSTFILE
is set, but has no value, or does not name a readable file,
\fBbash\fP attempts to read
-.FN /etc/hosts
+.FN @PREFIX@/etc/hosts
to obtain the list of possible hostname completions.
When
.SM
@@ -5340,11 +5340,11 @@
.IP \fB$include\fP
This directive takes a single filename as an argument and reads commands
and bindings from that file. For example, the following directive
-would read \fI/etc/inputrc\fP:
+would read \fI@PREFIX@/etc/inputrc\fP:
.sp 1
.RS
.nf
-\fB$include\fP \^ \fI/etc/inputrc\fP
+\fB$include\fP \^ \fI@PREFIX@/etc/inputrc\fP
.fi
.RE
.SS Searching
@@ -9822,7 +9822,7 @@
.FN /bin/bash
The \fBbash\fP executable
.TP
-.FN /etc/profile
+.FN @PREFIX@/etc/profile
The systemwide initialization file, executed for login shells
.TP
.FN ~/.bash_profile
diff -Nurd bash-4.2/doc/bashref.texi bash-4.2-new/doc/bashref.texi
--- bash-4.2/doc/bashref.texi 2011-01-16 15:31:57.000000000 -0500
+++ bash-4.2-new/doc/bashref.texi 2011-04-27 09:04:08.000000000 -0400
@@ -5536,7 +5536,7 @@
to read command lines when the shell is interactive.
@item --noprofile
-Don't load the system-wide startup file @file{/etc/profile}
+Don't load the system-wide startup file @file{@PREFIX@/etc/profile}
or any of the personal initialization files
@file{~/.bash_profile}, @file{~/.bash_login}, or @file{~/.profile}
when Bash is invoked as a login shell.
@@ -5661,7 +5661,7 @@
When Bash is invoked as an interactive login shell, or as a
non-interactive shell with the @option{--login} option, it first reads and
-executes commands from the file @file{/etc/profile}, if that file exists.
+executes commands from the file @file{@PREFIX@/etc/profile}, if that file exists.
After reading that file, it looks for @file{~/.bash_profile},
@file{~/.bash_login}, and @file{~/.profile}, in that order, and reads
and executes commands from the first one that exists and is readable.
@@ -5712,7 +5712,7 @@
When invoked as an interactive login shell, or as a non-interactive
shell with the @option{--login} option, it first attempts to read
-and execute commands from @file{/etc/profile} and @file{~/.profile}, in
+and execute commands from @file{@PREFIX@/etc/profile} and @file{~/.profile}, in
that order.
The @option{--noprofile} option may be used to inhibit this behavior.
When invoked as an interactive shell with the name @code{sh}, Bash
diff -Nurd bash-4.2/init/README bash-4.2-new/init/README
--- bash-4.2/init/README 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/README 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,28 @@
+This directory contains some useful bash files.
+
+In order to use this configuration:
+
+ echo "source ~/.bashrc" > ~/.bash_profile
+ echo "source @PREFIX@/share/init/bash/rc" > ~/.bashrc
+ echo "source @PREFIX@/bin/init.sh" >> ~/.bashrc
+
+In order to customize this setup:
+
+ mkdir ~/Library/init/bash
+
+and create the following files there as necessary:
+
+ aliases.mine - shell aliases
+ completions.mine - completions
+ environment.mine - environment
+ rc.mine - run commands
+ path - command search path
+
+See the corresponding file in @PREFIX@/share/init/bash for more
+information about the role of each file. You can easily extend or
+override the configuration provided by the default file. For example,
+you can add more aliases by adding the appropriate commands in
+aliases.mine.
+
+ -christian
+ cds@users.sourceforge.net
diff -Nurd bash-4.2/init/aliases bash-4.2-new/init/aliases
--- bash-4.2/init/aliases 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/aliases 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,39 @@
+##
+# Bash aliases file
+#
+# Wilfredo Sanchez Jr. | tritan@mit.edu
+##
+
+##
+# Aliases
+##
+
+#alias .='cwd'
+alias ..='cd ..'
+alias cd..='cd ..'
+alias cdwd='cd $(/bin/pwd)'
+alias cwd='echo $PWD'
+alias l='ls -lg'
+
+##
+# Functions
+##
+
+function files () { find ${1} -type f -print ; }
+function ff () { find . -name ${1} -print ; }
+function ll () { ls -lag "$@" | more ; }
+function word () { fgrep -i "$*" /usr/dict/web2 ; }
+function wordcount () { cat "${1}" | tr -s ' .,;:?\!()[]"' '\012' | \
+ cat -n | tail -1 | awk '{print $1}' ; }
+
+##
+# Read user's aliases
+##
+if [ -r ${bash_initdir}/aliases.mine ]; then
+ source ${bash_initdir}/aliases.mine
+fi
+
+# Local Variables:
+# mode:shell-script
+# sh-shell:bash
+# End:
diff -Nurd bash-4.2/init/bash.defaults bash-4.2-new/init/bash.defaults
--- bash-4.2/init/bash.defaults 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/bash.defaults 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,27 @@
+##
+# Bash
+# User preferences file
+# Override these in rc.mine
+#
+# Wilfredo Sanchez Jr. | tritan@mit.edu
+# July 09, 1992
+#
+# MIT Project Athena
+##
+
+if [ -n "$PS1" ]; then
+
+ # Prompts
+ PS1='[\h:\w] \u\$ '
+ PS2=' -> '
+ #PS3=
+ #PS4=
+
+ set -o emacs
+
+fi
+
+# Local Variables:
+# mode:shell-script
+# sh-shell:bash
+# End:
diff -Nurd bash-4.2/init/completions bash-4.2-new/init/completions
--- bash-4.2/init/completions 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/completions 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,17 @@
+##
+# Add completions for the fink command
+##
+complete -W "--help --version apropos configure describe install list selfupdate selfupdate-cvs remove update-all" fink
+
+##
+# Read user's completions
+##
+if [ -r ${bash_initdir}/completions.mine ]; then
+ source ${bash_initdir}/completions.mine
+fi
+
+
+# Local Variables:
+# mode:shell-script
+# sh-shell:bash
+# End:
diff -Nurd bash-4.2/init/environment bash-4.2-new/init/environment
--- bash-4.2/init/environment 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/environment 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,29 @@
+##
+# Bourne Again Shell environment file
+# Global environment setup
+#
+# Wilfredo Sanchez Jr. | tritan@mit.edu
+# July 09, 1992
+#
+# MIT Project Athena
+#
+# ORIGINAL SOURCES: /usr/athena/lib/init/cshrc (ATHENA REL 7.3P)
+##
+
+export ENV_SET="YES" # avoid repeat
+
+# File creation mask
+umask 022 # all files created are -rw-r--r--
+
+##
+# Load user environment
+##
+
+if [ -f ${bash_initdir}/environment.mine ]; then
+ source ${bash_initdir}/environment.mine
+fi
+
+# Local Variables:
+# mode:shell-script
+# sh-shell:bash
+# End:
diff -Nurd bash-4.2/init/logout bash-4.2-new/init/logout
--- bash-4.2/init/logout 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/logout 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,15 @@
+##
+# Destroy credentials
+##
+
+if [ -z "${TERM_PROGRAM}" ]; then
+ # Don't run these commands if the shell is launched by Terminal,
+ # even if it's a login shell.
+
+ if klist -s; then kdestroy; fi
+fi
+
+# Local Variables:
+# mode:shell-script
+# sh-shell:bash
+# End:
diff -Nurd bash-4.2/init/profile bash-4.2-new/init/profile
--- bash-4.2/init/profile 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/profile 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,31 @@
+##
+# Set path
+##
+
+export PATH="${HOME}/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
+export MANPATH="${HOME}/man:/usr/local/share/man:/usr/share/man"
+
+##
+# Read user's .profile
+##
+ default_initdir=@PREFIX@/share/init
+default_bash_initdir=${default_initdir}/bash
+ user_initdir=~/Library/init
+ user_bash_initdir=${user_initdir}/bash
+
+if [ -r ${user_bash_initdir} ]; then
+ initdir=${user_initdir}
+ bash_initdir=${user_bash_initdir}
+else
+ initdir=${default_initdir}
+ bash_initdir=${default_bash_initdir}
+fi
+
+if [ -r ${bash_initdir}/profile.mine ]; then
+ source ${bash_initdir}/profile.mine
+fi
+
+# Local Variables:
+# mode:shell-script
+# sh-shell:bash
+# End:
diff -Nurd bash-4.2/init/rc bash-4.2-new/init/rc
--- bash-4.2/init/rc 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/init/rc 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1,71 @@
+##
+# Bourne Again Shell config file
+#
+# Wilfredo Sanchez Jr. | tritan@mit.edu
+# July 09, 1992
+#
+# MIT Project Athena
+#
+# ORIGINAL SOURCES: /usr/athena/lib/init/cshrc (ATHENA REL 7.3P)
+##
+
+ default_initdir=@PREFIX@/share/init
+default_bash_initdir=${default_initdir}/bash
+ user_initdir=~/Library/init
+ user_bash_initdir=${user_initdir}/bash
+
+if [ -r ${user_bash_initdir} ]; then
+ initdir=${user_initdir}
+ bash_initdir=${user_bash_initdir}
+else
+ initdir=${default_initdir}
+ bash_initdir=${default_bash_initdir}
+fi
+
+# SET UP HOST-DEPENDANT VARIABLES, ETC.
+
+host=$(echo $(hostname) | tr A-Z a-z)
+
+user=`whoami`
+
+export HOST=${host}
+export USER=${user}
+
+# User ID
+if [ -z "${uid}" ]; then uid=$(id | cut -d = -f 2 | cut -d \( -f 1); fi
+
+# SET COMMAND SEARCH PATH AND MAN PATH
+if [ -f ${bash_initdir}/path ]; then source ${bash_initdir}/path; fi
+
+# ENVIRONMENT SETUP
+
+if [ -n "${PS1}" ]; then interactive="YES"; fi
+
+if [ -z "${ENV_SET}" ]; then
+ if [ -f ${default_bash_initdir}/environment ]; then
+ #echo "Initializing environment..."
+ source ${default_bash_initdir}/environment
+ fi
+fi
+
+if [ -r ${default_bash_initdir}/bash.defaults ]; then
+ source ${default_bash_initdir}/bash.defaults
+fi
+
+if [ "${interactive}" = "YES" ]; then
+ # These aren't useful for non-interactive sessions
+ if [ -f ${default_bash_initdir}/aliases ]; then
+ source ${default_bash_initdir}/aliases
+ fi
+ if [ -f ${default_bash_initdir}/completions ]; then
+ source ${default_bash_initdir}/completions
+ fi
+fi
+
+# DEFAULT LOGIN SOURCES
+if [ -f ${bash_initdir}/rc.mine ]; then source ${bash_initdir}/rc.mine; fi
+
+# Local Variables:
+# mode:shell-script
+# sh-shell:bash
+# End:
diff -Nurd bash-4.2/pathnames.h.in bash-4.2-new/pathnames.h.in
--- bash-4.2/pathnames.h.in 2009-01-04 14:32:40.000000000 -0500
+++ bash-4.2-new/pathnames.h.in 2011-04-27 09:04:08.000000000 -0400
@@ -25,7 +25,7 @@
#define DEFAULT_HOSTS_FILE "/etc/hosts"
/* The default login shell startup file. */
-#define SYS_PROFILE "/etc/profile"
+#define SYS_PROFILE "@PREFIX@/etc/profile"
/* The default location of the bash debugger initialization/startup file. */
#define DEBUGGER_START_FILE "@DEBUGGER_START_FILE@"
diff -Nurd bash-4.2/profile.fink bash-4.2-new/profile.fink
--- bash-4.2/profile.fink 1969-12-31 19:00:00.000000000 -0500
+++ bash-4.2-new/profile.fink 2011-04-27 09:04:08.000000000 -0400
@@ -0,0 +1 @@
+source @PREFIX@/share/init/bash/profile