X-Git-Url: http://git.pld-linux.org/gitweb.cgi?p=packages%2Fmksh.git;a=blobdiff_plain;f=mksh.spec;h=133e2a8f69226fb6541028484e7fc4ed7e859c7c;hp=a75556d0321c4b47489fd3a04df7b3f75d2a0a1f;hb=HEAD;hpb=de8a6e5f9eef25d03504d39cbfb8478bce6e9b69 diff --git a/mksh.spec b/mksh.spec index a75556d..2ee61f3 100644 --- a/mksh.spec +++ b/mksh.spec @@ -1,30 +1,32 @@ # # 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 -# -# + +%define vernr %(echo %{version} | tr -d 'a-z') + Summary: MirBSD Korn Shell Summary(pl.UTF-8): Powłoka Korna z MirBSD Name: mksh -Version: 42b -Release: 1 +Version: 59c +Release: 3 License: BSD Group: Applications/Shells -Source0: http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.tgz -# Source0-md5: 8b4b9182eb63b47390f164246959b661 +Source0: https://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.tgz +# Source0-md5: 99f8ac3c1d8a30b913d509f1969a4aaa 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 +Patch2: drop-builtins.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 @@ -79,18 +81,18 @@ zbliżonej do oryginalnej powłoki Korna z AT&T. 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 -i -e 's|fgrep|grep -F|g' check.t # sed rules instead of patch (needed update for every release) sed -i -e 's|\(#define.*MKSH_VERSION.*\)"|\1 @DISTRO@"|g' sh.h -sed -i -e 's|\(@(#)MIRBSD KSH.*\)|\1 @DISTRO@|g' check.t +sed -i -e 's|\(KSH R%{vernr}.*\)|\1 @DISTRO@|g' check.t # fill distro sed -i -e 's#@DISTRO@#PLD/Linux 3.0#g' check.t sh.h @@ -140,7 +142,7 @@ CC="%{__cc}" \ 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 @@ -151,7 +153,7 @@ fi ./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 @@ -163,7 +165,7 @@ CC="%{__cc}" \ 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 @@ -198,16 +200,18 @@ rm -rf $RPM_BUILD_ROOT %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 - - %post static -p %add_etc_shells -p /bin/mksh.static %preun static -p %remove_etc_shells -p /bin/mksh.static +%triggerpostun -p -- 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 -%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/mkshrc +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mkshrc %attr(755,root,root) %{_bindir}/mksh %attr(755,root,root) %{_bindir}/ksh %attr(755,root,root) %{_bindir}/sh