From f945c72d04ca40df2f566e3bcbc8f7ca35e60aee Mon Sep 17 00:00:00 2001 From: Robert Scheck Date: May 05 2013 13:15:10 +0000 Subject: Merge remote branch 'origin/master' into el5 --- diff --git a/lksh.1 b/lksh.1 deleted file mode 100644 index 8f9fe46..0000000 --- a/lksh.1 +++ /dev/null @@ -1,279 +0,0 @@ -.\" $MirOS: contrib/hosted/tg/deb/mksh/debian/lksh.1,v 1.8 2013/04/26 22:25:47 tg Exp $ -.\"- -.\" Copyright (c) 2008, 2009, 2010, 2012, 2013 -.\" Thorsten “mirabilos” Glaser -.\"- -.\" Try to make GNU groff and AT&T nroff more compatible -.\" * ` generates ‘ in gnroff, so use \` -.\" * ' generates ’ in gnroff, \' generates ´, so use \*(aq -.\" * - generates ‐ in gnroff, \- generates −, so .tr it to - -.\" thus use - for hyphens and \- for minus signs and option dashes -.\" * ~ is size-reduced and placed atop in groff, so use \*(TI -.\" * ^ is size-reduced and placed atop in groff, so use \*(ha -.\" * \(en does not work in nroff, so use \*(en -.\" * <>| are problematic, so redefine and use \*(Lt\*(Gt\*(Ba -.\" Also make sure to use \& especially with two-letter words. -.\" The section after the "doc" macropackage has been loaded contains -.\" additional code to convene between the UCB mdoc macropackage (and -.\" its variant as BSD mdoc in groff) and the GNU mdoc macropackage. -.\" -.ie \n(.g \{\ -. if \*[.T]ascii .tr \-\N'45' -. if \*[.T]latin1 .tr \-\N'45' -. if \*[.T]utf8 .tr \-\N'45' -. ds <= \[<=] -. ds >= \[>=] -. ds Rq \[rq] -. ds Lq \[lq] -. ds sL \(aq -. ds sR \(aq -. if \*[.T]utf8 .ds sL ` -. if \*[.T]ps .ds sL ` -. if \*[.T]utf8 .ds sR ' -. if \*[.T]ps .ds sR ' -. ds aq \(aq -. ds TI \(ti -. ds ha \(ha -. ds en \(en -.\} -.el \{\ -. ds aq ' -. ds TI ~ -. ds ha ^ -. ds en \(em -.\} -.\" -.\" Implement .Dd with the Mdocdate RCS keyword -.\" -.rn Dd xD -.de Dd -.ie \\$1$Mdocdate: \{\ -. xD \\$2 \\$3, \\$4 -.\} -.el .xD \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -.. -.\" -.\" .Dd must come before definition of .Mx, because when called -.\" with -mandoc, it might implement .Mx itself, but we want to -.\" use our own definition. And .Dd must come *first*, always. -.\" -.Dd $Mdocdate: April 26 2013 $ -.\" -.\" Check which macro package we use, and do other -mdoc setup. -.\" -.ie \n(.g \{\ -. if \*[.T]utf8 .tr \[la]\*(Lt -. if \*[.T]utf8 .tr \[ra]\*(Gt -. ie d volume-ds-1 .ds tT gnu -. el .ds tT bsd -.\} -.el .ds tT ucb -.\" -.\" Implement .Mx (MirBSD) -.\" -.ie "\*(tT"gnu" \{\ -. eo -. de Mx -. nr curr-font \n[.f] -. nr curr-size \n[.ps] -. ds str-Mx \f[\n[curr-font]]\s[\n[curr-size]u] -. ds str-Mx1 \*[Tn-font-size]\%MirOS\*[str-Mx] -. if !\n[arg-limit] \ -. if \n[.$] \{\ -. ds macro-name Mx -. parse-args \$@ -. \} -. if (\n[arg-limit] > \n[arg-ptr]) \{\ -. nr arg-ptr +1 -. ie (\n[type\n[arg-ptr]] == 2) \ -. as str-Mx1 \~\*[arg\n[arg-ptr]] -. el \ -. nr arg-ptr -1 -. \} -. ds arg\n[arg-ptr] "\*[str-Mx1] -. nr type\n[arg-ptr] 2 -. ds space\n[arg-ptr] "\*[space] -. nr num-args (\n[arg-limit] - \n[arg-ptr]) -. nr arg-limit \n[arg-ptr] -. if \n[num-args] \ -. parse-space-vector -. print-recursive -.. -. ec -. ds sP \s0 -. ds tN \*[Tn-font-size] -.\} -.el \{\ -. de Mx -. nr cF \\n(.f -. nr cZ \\n(.s -. ds aa \&\f\\n(cF\s\\n(cZ -. if \\n(aC==0 \{\ -. ie \\n(.$==0 \&MirOS\\*(aa -. el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -. if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==2 \{\ -. as b1 \&MirOS\ #\&\\*(A\\n(aP\\*(aa -. ie \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nR -. \} -. el .aZ -. \} -. el \{\ -. as b1 \&MirOS\\*(aa -. nR -. \} -. \} -.. -.\} -.\"- -.Dt LKSH 1 -.Os MirBSD -.Sh NAME -.Nm lksh -.Nd Legacy Korn shell built on mksh -.Sh SYNOPSIS -.Nm -.Bk -words -.Op Fl +abCefhiklmnprUuvXx -.Op Fl +o Ar opt -.Oo -.Fl c Ar string \*(Ba -.Fl s \*(Ba -.Ar file -.Op Ar args ... -.Oc -.Ek -.Sh DESCRIPTION -.Nm -is a command interpreter intended exclusive for running legacy -shell scripts. -It is built on -.Nm mksh ; -refer to its manual page for details on the scripting language. -.Sh LEGACY MODE -.Nm -has the following differences from -.Nm mksh : -.Bl -bullet -.It -.Nm -is not suitable for use as -.Pa /bin/sh . -.It -There is no explicit support for interactive use, -nor any command line editing code. -Hence, -.Nm -is not suitable as a user's login shell, either; use -.Nm mksh -instead. -.It -The -.Ev KSH_VERSION -string identifies -.Nm -as -.Dq LEGACY KSH -instead of -.Dq MIRBSD KSH . -.It -Some -.Nm mksh -specific extensions are missing; specifically, the -.Fl T -command-line option. -.It -Some extensions from other shells, such as -.Tn GNU -.Nm bash , -which -.Nm mksh -provides, are missing, for increased compatibility with legacy scripts. -.It -.Nm -always uses traditional mode for constructs like: -.Bd -literal -offset indent -$ set -- $(getopt ab:c "$@") -$ echo $? -.Ed -.Pp -POSIX mandates this to show 0, but traditional mode -passes through the errorlevel from the -.Xr getopt 1 -command. -.It -.Nm lksh , -unlike -.At -.Nm ksh , -does not keep file descriptors \*(Gt 2 private. -.It -.Nm -parses leading-zero numbers as octal (base 8). -.It -Integers use the host C environment's -.Vt long -type, not -.Vt int32_t . -Unsigned arithmetic is done using -.Vt unsigned long , -not -.Vt uint32_t . -Neither value limits nor wraparound is guaranteed. -Dividing the largest negative number by \-1 is Undefined Behaviour -.Po -but might work on 32-bit and 64-bit -.Vt long -types -.Pc . -.It -.Nm -only offers the traditional ten file descriptors to scripts. -.El -.Sh SEE ALSO -.Xr mksh 1 -.Pp -.Pa https://www.mirbsd.org/mksh.htm -.Pp -.Pa https://www.mirbsd.org/ksh\-chan.htm -.Sh CAVEATS -.Nm -tries to make a cross between a legacy bourne/posix compatibl-ish -shell and a legacy pdksh-alike but -.Dq legacy -is not exactly specified. -Parsing numbers with leading zero digits or -.Dq 0x -is relatively recent in all -.Nm pdksh -derivates, but supported here for completeness. -It might make sense to make this a run-time option, but -that might also be overkill. -.Pp -The -.Ic set -built-in command does not have all options one would expect -from a full-blown -.Nm mksh -or -.Nm pdksh . -.Pp -Talk to the -.Mx -development team using the mailing list at -.Aq miros\-mksh@mirbsd.org -or the -.Li \&#\&!/bin/mksh -.Pq or Li \&#ksh -IRC channel at -.Pa irc.freenode.net -.Pq Port 6697 SSL, 6667 unencrypted -if you need any further quirks or assistance, -and consider migrating your legacy scripts to work with -.Nm mksh -instead of requiring -.Nm . diff --git a/mksh.spec b/mksh.spec index 2966b38..0c27c58 100644 --- a/mksh.spec +++ b/mksh.spec @@ -1,7 +1,7 @@ %define _bindir /bin Summary: MirBSD enhanced version of the Korn Shell Name: mksh -Version: 45 +Version: 46 Release: 1%{?dist} # BSD (setmode.c), ISC (strlcpy.c), MirOS (the rest) License: MirOS and ISC and BSD @@ -9,8 +9,7 @@ Group: System Environment/Shells URL: https://www.mirbsd.de/%{name}.htm Source0: http://www.mirbsd.org/MirOS/dist/mir/%{name}/%{name}-R%{version}.tgz Source1: dot-mkshrc -Source2: lksh.1 -Source3: rtchecks.expected +Source2: rtchecks.expected Requires(post): grep Requires(postun): sed BuildRequires: util-linux, ed @@ -77,16 +76,16 @@ rm -rf $RPM_BUILD_ROOT install -D -m 755 %{name} $RPM_BUILD_ROOT%{_bindir}/%{name} install -D -m 755 lksh $RPM_BUILD_ROOT%{_bindir}/lksh install -D -m 644 %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1 -install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/lksh.1 +install -D -m 644 lksh.1 $RPM_BUILD_ROOT%{_mandir}/man1/lksh.1 install -D -p -m 644 dot.mkshrc $RPM_BUILD_ROOT%{_sysconfdir}/mkshrc install -D -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/skel/.mkshrc %check ./mksh rtchecks >rtchecks.got 2>&1 -if ! cmp --quiet rtchecks.got %{SOURCE3} +if ! cmp --quiet rtchecks.got %{SOURCE2} then echo "rtchecks failed" - diff -Naurp %{SOURCE3} rtchecks.got + diff -Naurp %{SOURCE2} rtchecks.got exit 1 fi @@ -125,6 +124,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/lksh.1* %changelog +* Fri May 03 2013 Thorsten Glaser 46-1 +- Upgrade mksh to R46 + * Wed May 01 2013 Thorsten Glaser 45-1 - Upgrade mksh to R45 and the other files to the accompanying versions - Drop workaround for GCC PR55009 (no longer needed) diff --git a/sources b/sources index 6590e1a..2075aae 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d3d90973119ae689d5300b690600e1dc mksh-R45.tgz +77c108d8143a6e7670954d77517d216d mksh-R46.tgz