--- /dev/null
+# For interactive shell
+
+# PROMPT
+if [ `id -u` -eq 0 ]; then
+ PS1='[${LOGNAME-$USER}@${HOSTNAME} `
+ if [ "$PWD" = "$HOME" ]; then
+ echo "~";
+ elif [ "$PWD" = "/${PWD##*/}" ]; then
+ echo $PWD;
+ else
+ echo ${PWD##*/};
+ fi`]# '
+else
+ PS1='[${LOGNAME-$USER}@${HOSTNAME} `
+ if [ "$PWD" = "$HOME" ]; then
+ echo "~";
+ elif [ "$PWD" = "/${PWD##*/}" ]; then
+ echo $PWD;
+ else
+ echo ${PWD##*/};
+ fi`]$ '
+fi
+export PS1
+
+# EDITING FUNCTIONS
+set -o emacs
+bind '^I'=complete >/dev/null 2>&1
+bind '^I'=complete-list >/dev/null 2>&1
+
+case $TERM in
+ nxterm|xterm*|konsole*)
+ bind '^[[H'=beginning-of-line >/dev/null 2>&1
+ bind '^[[F'=end-of-line >/dev/null 2>&1
+ ;;
+ linux|rxvt*)
+ bind '^[[1~'=beginning-of-line >/dev/null 2>&1
+ bind '^[[4~'=end-of-line >/dev/null 2>&1
+ ;;
+esac
+
+# SYSTEM WIDE ALIASES ETC.
+if [ "`echo /etc/shrc.d/*.sh`" != "/etc/shrc.d/*.sh" ]; then
+ for i in /etc/shrc.d/*.sh ; do
+ . $i
+ done
+ unset i
+fi
+
+# vi:syntax=sh
--- /dev/null
+--- main.c~ 2011-07-06 20:43:36.679601770 +0100
++++ main.c 2011-07-06 20:43:28.039694865 +0100
+@@ -532,6 +532,7 @@
+ else if (Flag(FTALKING)) {
+ char *env_file;
+
++ include("/etc/mkshrc", 0, NULL, 1);
+ /* include $ENV */
+ env_file = substitute(substitute("${ENV:-" MKSHRC_PATH "}", 0),
+ DOTILDE);
+--- check.t~ 2011-07-07 09:55:26.802497928 +0100
++++ check.t 2011-07-07 09:55:31.859107570 +0100
+@@ -5908,13 +5908,13 @@
+ Ensure ±U on the command line is honoured
+ (this test may pass falsely depending on CPPFLAGS)
+ stdin:
+- export i=0
+- code='if [[ $- = *U* ]]; then echo $i on; else echo $i off; fi'
+- let i++; "$__progname" -U -c "$code"
+- let i++; "$__progname" +U -c "$code"
+- let i++; "$__progname" -U -ic "$code"
+- let i++; "$__progname" +U -ic "$code"
+- echo $((++i)) done
++ export iter=0
++ code='if [[ $- = *U* ]]; then echo $iter on; else echo $iter off; fi'
++ let iter++; "$__progname" -U -c "$code"
++ let iter++; "$__progname" +U -c "$code"
++ let iter++; "$__progname" -U -ic "$code"
++ let iter++; "$__progname" +U -ic "$code"
++ echo $((++iter)) done
+ expected-stdout:
+ 1 on
+ 2 off
Group: Applications/Shells
Source0: http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.cpio.gz
# Source0-md5: 395a6c5f39c7e2afd8f6504d90ca90bd
+Source1: %{name}-mkshrc
+Patch0: %{name}-mkshrc_support.patch
URL: https://www.mirbsd.org/mksh.htm
%if %{with tests}
BuildRequires: ed
gzip -dc %{SOURCE0} | cpio -mid
mv mksh/* .; rmdir mksh
+%patch0 -p0
+
%build
CC="%{__cc}" CFLAGS="%{rpmcppflags} %{rpmcflags}" sh ./Build.sh -Q -r -j
install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
install -p mksh $RPM_BUILD_ROOT%{_bindir}/mksh
cp -a mksh.1 $RPM_BUILD_ROOT%{_mandir}/man1/mksh.1
+install -D %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mkshrc
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc dot.mkshrc
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/mkshrc
%attr(755,root,root) %{_bindir}/mksh
%{_mandir}/man1/mksh.1*