#
-# TODO: https://bugs.launchpad.net/mksh/+bug/1179287
-#
# Conditional build:
+%bcond_with lto # enable link time optimisations (breaks tests)
%bcond_without static # static version of mksh
%bcond_without tests # rtchecks and test.sh checks
-#
-#
+
Summary: MirBSD Korn Shell
Summary(pl.UTF-8): Powłoka Korna z MirBSD
Name: mksh
-Version: 46
-Release: 0.1
+Version: 56
+Release: 1
License: BSD
Group: Applications/Shells
-Source0: http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.tgz
-# Source0-md5: 77c108d8143a6e7670954d77517d216d
+Source0: https://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.tgz
+# Source0-md5: fedd42b11d2bda84921afcc8de3912e3
Source1: %{name}-mkshrc
+Source2: get-source.sh
Patch0: %{name}-mkshrc_support.patch
Patch1: %{name}-circumflex.patch
-Patch2: %{name}-no_stop_alias.patch
-Patch3: %{name}-cmdline-length.patch
URL: https://www.mirbsd.org/mksh.htm
%if %{with tests}
BuildRequires: ed
BuildRequires: perl-base
%endif
%{?with_static:BuildRequires: glibc-static}
-BuildRequires: rpmbuild(macros) >= 1.462
+BuildRequires: rpmbuild(macros) >= 1.670
# is needed for /etc directory existence
Requires(pre): FHS
Requires: setup >= 2.4.6-2
W tym pakiecie jest mksh skonsolidowany statycznie.
%prep
-%setup -qcT
-gzip -dc %{SOURCE0} | cpio -mid
-mv mksh/* .; rmdir mksh
+%setup -qc
+%{__mv} mksh/* .; rmdir mksh
-%patch0 -p0
+%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
# sed rules instead of patch (needed update for every release)
sed -i -e 's|\(#define.*MKSH_VERSION.*\)"|\1 @DISTRO@"|g' sh.h
CFLAGS="%{rpmcflags} -DMKSH_GCC55009" \
LDFLAGS="%{rpmldflags}" \
CPPFLAGS="%{rpmcppflags}" \
-sh ./Build.sh -Q -r -j -c lto
+sh ./Build.sh -Q -r -j %{?with_lto:-c lto}
# skip some tests if not on terminal
if ! tty -s; then
./mksh rtchecks >rtchecks.got 2>&1
if ! cmp --quiet rtchecks.got rtchecks.expected ; then
echo "rtchecks failed"
- diff -Naurp %{SOURCE3} rtchecks.got
+ diff -Naurp rtchecks.expected rtchecks.got
exit 1
fi
./test.sh -v $skip_tests
CFLAGS="%{rpmcflags} -DMKSH_GCC55009" \
LDFLAGS="%{rpmldflags} -static" \
CPPFLAGS="%{rpmcppflags}" \
-sh ./Build.sh -Q -r -j -c lto
+sh ./Build.sh -Q -r -j %{?with_lto:-c lto}
%if %{with tests}
./test.sh -v $skip_tests
%post -p %add_etc_shells -p /bin/sh /bin/ksh /bin/mksh
%preun -p %remove_etc_shells -p /bin/sh /bin/ksh /bin/mksh
-%posttrans -p %add_etc_shells -p /bin/sh /bin/ksh /bin/mksh
-
%post static -p %add_etc_shells -p /bin/mksh.static
%preun static -p %remove_etc_shells -p /bin/mksh.static
+%triggerpostun -p <lua> -- pdksh
+if arg[2] ~= 0 then
+%lua_add_etc_shells /bin/sh /bin/ksh /bin/mksh
+end
+
%files
%defattr(644,root,root,755)
%doc dot.mkshrc