|
|
|
@ -1,32 +1,23 @@
|
|
|
|
|
Summary: MirBSD enhanced version of the Korn Shell
|
|
|
|
|
Name: mksh
|
|
|
|
|
Version: 59c
|
|
|
|
|
Version: 56c
|
|
|
|
|
Release: 5%{?dist}
|
|
|
|
|
# BSD (setmode.c), ISC (strlcpy.c), MirOS (the rest)
|
|
|
|
|
License: MirOS and ISC and BSD
|
|
|
|
|
Group: System Environment/Shells
|
|
|
|
|
URL: https://www.mirbsd.org/mksh.htm
|
|
|
|
|
Source0: https://www.mirbsd.org/MirOS/dist/mir/%{name}/%{name}-R%{version}.tgz
|
|
|
|
|
Source1: dot-mkshrc
|
|
|
|
|
Source2: rtchecks.expected
|
|
|
|
|
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
|
|
|
|
|
Conflicts: filesystem < 3
|
|
|
|
|
Provides: /bin/ksh
|
|
|
|
|
Provides: /bin/lksh
|
|
|
|
|
Provides: /bin/mksh
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
Provides: /bin/rksh
|
|
|
|
|
Provides: /bin/lksh, /bin/mksh
|
|
|
|
|
%endif
|
|
|
|
|
Provides: /bin/rlksh
|
|
|
|
|
Provides: /bin/rmksh
|
|
|
|
|
Requires(post): grep
|
|
|
|
|
Requires(post): %{_sbindir}/alternatives
|
|
|
|
|
Requires(preun): %{_sbindir}/alternatives
|
|
|
|
|
Requires(postun): sed
|
|
|
|
|
BuildRequires: gcc
|
|
|
|
|
BuildRequires: util-linux
|
|
|
|
|
BuildRequires: ed
|
|
|
|
|
BuildRequires: perl-interpreter
|
|
|
|
|
BuildRequires: perl(Getopt::Std)
|
|
|
|
|
BuildRequires: sed
|
|
|
|
|
Requires(post): grep, chkconfig
|
|
|
|
|
Requires(preun): chkconfig
|
|
|
|
|
BuildRequires: util-linux, ed
|
|
|
|
|
#for usage of alternatives
|
|
|
|
|
Conflicts: ksh < 20120801-250
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
mksh is the MirBSD enhanced version of the Public Domain Korn shell (pdksh),
|
|
|
|
@ -69,29 +60,35 @@ print -r -- $((x++)):$sari=$uari. #9
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
# Work around RHBZ #922974 on Fedora 19 and later
|
|
|
|
|
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
|
|
|
|
|
CFLAGS="$RPM_OPT_FLAGS -DMKSH_DISABLE_EXPERIMENTAL" LDFLAGS="$RPM_LD_FLAGS" sh Build.sh -r
|
|
|
|
|
%else
|
|
|
|
|
CFLAGS="$RPM_OPT_FLAGS -DMKSH_DISABLE_EXPERIMENTAL" LDFLAGS="$RPM_LD_FLAGS" sh Build.sh -r -c lto
|
|
|
|
|
%endif
|
|
|
|
|
cp test.sh test_mksh.sh
|
|
|
|
|
HAVE_PERSISTENT_HISTORY=0; export HAVE_PERSISTENT_HISTORY
|
|
|
|
|
# Work around RHBZ #922974 on Fedora 19 and later
|
|
|
|
|
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
|
|
|
|
|
CFLAGS="$RPM_OPT_FLAGS -DMKSH_DISABLE_EXPERIMENTAL" LDFLAGS="$RPM_LD_FLAGS" sh Build.sh -L -r
|
|
|
|
|
%else
|
|
|
|
|
CFLAGS="$RPM_OPT_FLAGS -DMKSH_DISABLE_EXPERIMENTAL" LDFLAGS="$RPM_LD_FLAGS" sh Build.sh -L -r -c lto
|
|
|
|
|
%endif
|
|
|
|
|
cp -f test.sh test_lksh.sh
|
|
|
|
|
./mksh FAQ2HTML.sh
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
|
mkdir -p $RPM_BUILD_ROOT{/bin,%{_bindir},%{_mandir}/man1}
|
|
|
|
|
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 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
|
|
|
|
|
ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/rmksh
|
|
|
|
|
ln -s lksh $RPM_BUILD_ROOT%{_bindir}/rlksh
|
|
|
|
|
ln -s %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/rmksh.1
|
|
|
|
|
ln -s lksh.1 $RPM_BUILD_ROOT%{_mandir}/man1/rlksh.1
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
touch $RPM_BUILD_ROOT{%{_bindir}/{ksh,rksh},%{_mandir}/man1/{ksh,rksh}.1}
|
|
|
|
|
%else
|
|
|
|
|
touch $RPM_BUILD_ROOT{%{_bindir}/ksh,%{_mandir}/man1/ksh.1}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# fool rpmdiff about %ghost files
|
|
|
|
|
touch $RPM_BUILD_ROOT/bin/ksh
|
|
|
|
|
touch $RPM_BUILD_ROOT%{_mandir}/man1/ksh.1.gz
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
./mksh rtchecks >rtchecks.got 2>&1
|
|
|
|
@ -115,102 +112,48 @@ do
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
%post
|
|
|
|
|
for d in /bin %{_bindir}; do
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
for s in ksh %{name} rksh rmksh; do
|
|
|
|
|
%else
|
|
|
|
|
for s in ksh %{name} rmksh; do
|
|
|
|
|
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
|
|
|
|
|
grep -q "^/bin/%{name}$" %{_sysconfdir}/shells 2>/dev/null || \
|
|
|
|
|
echo "/bin/%{name}" >> %{_sysconfdir}/shells
|
|
|
|
|
%endif
|
|
|
|
|
grep -q '^'"$d/$s"'$' %{_sysconfdir}/shells 2>/dev/null || echo "$d/$s" >> /etc/shells
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
grep -q "^%{_bindir}/%{name}$" %{_sysconfdir}/shells 2>/dev/null || \
|
|
|
|
|
echo "%{_bindir}/%{name}" >> %{_sysconfdir}/shells
|
|
|
|
|
|
|
|
|
|
%{_sbindir}/alternatives --install %{_bindir}/ksh ksh %{_bindir}/%{name} 10 \
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
--slave %{_bindir}/rksh rksh %{_bindir}/%{name} \
|
|
|
|
|
%endif
|
|
|
|
|
--slave %{_mandir}/man1/ksh.1.gz ksh-man %{_mandir}/man1/%{name}.1.gz \
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
--slave %{_mandir}/man1/rksh.1.gz rksh-man %{_mandir}/man1/%{name}.1.gz
|
|
|
|
|
%endif
|
|
|
|
|
%{_sbindir}/alternatives --install /usr/bin/ksh ksh \
|
|
|
|
|
/usr/bin/mksh 10 \
|
|
|
|
|
--slave %{_mandir}/man1/ksh.1.gz ksh-man \
|
|
|
|
|
%{_mandir}/man1/mksh.1.gz
|
|
|
|
|
|
|
|
|
|
%preun
|
|
|
|
|
if [ $1 -eq 0 ]; then
|
|
|
|
|
%{_sbindir}/alternatives --remove ksh %{_bindir}/%{name}
|
|
|
|
|
if [ $1 = 0 ]; then
|
|
|
|
|
%{_sbindir}/alternatives --remove ksh /usr/bin/mksh
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
%postun
|
|
|
|
|
for d in /bin %{_bindir}; do
|
|
|
|
|
for s in ksh %{name} rksh rmksh; do
|
|
|
|
|
[ ! -x "$d/$s" ] && sed -e 's@^'"$d/$s"'$@POSTUNREMOVE@' -e '/^POSTUNREMOVE$/d' -i %{_sysconfdir}/shells
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
if [ ! -x %{_bindir}/%{name} ]; then
|
|
|
|
|
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
|
|
|
|
|
sed -e 's@^/bin/%{name}$@POSTUNREMOVE@' -e '/^POSTUNREMOVE$/d' -i %{_sysconfdir}/shells
|
|
|
|
|
%endif
|
|
|
|
|
sed -e 's@^%{_bindir}/%{name}$@POSTUNREMOVE@' -e '/^POSTUNREMOVE$/d' -i %{_sysconfdir}/shells
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%doc dot.mkshrc FAQ.htm
|
|
|
|
|
%ghost %{_bindir}/ksh
|
|
|
|
|
%{_bindir}/lksh
|
|
|
|
|
%doc dot.mkshrc
|
|
|
|
|
%ghost /bin/ksh
|
|
|
|
|
%ghost %{_mandir}/man1/ksh.1.gz
|
|
|
|
|
%{_bindir}/%{name}
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
%ghost %{_bindir}/rksh
|
|
|
|
|
%endif
|
|
|
|
|
%{_bindir}/rlksh
|
|
|
|
|
%{_bindir}/rmksh
|
|
|
|
|
%{_bindir}/lksh
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/mkshrc
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/skel/.mkshrc
|
|
|
|
|
%ghost %{_mandir}/man1/ksh.1*
|
|
|
|
|
%{_mandir}/man1/lksh.1*
|
|
|
|
|
%{_mandir}/man1/%{name}.1*
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
%ghost %{_mandir}/man1/rksh.1*
|
|
|
|
|
%endif
|
|
|
|
|
%{_mandir}/man1/rlksh.1*
|
|
|
|
|
%{_mandir}/man1/rmksh.1*
|
|
|
|
|
%{_mandir}/man1/lksh.1*
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 59c-5
|
|
|
|
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
|
|
|
Related: rhbz#1991688
|
|
|
|
|
|
|
|
|
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 59c-4
|
|
|
|
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
|
|
|
|
|
|
|
|
* Wed Mar 24 2021 Robert Scheck <robert@fedoraproject.org> 59c-3
|
|
|
|
|
- Add alternatives switching for rksh
|
|
|
|
|
|
|
|
|
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 59c-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Nov 02 2020 Robert Scheck <robert@fedoraproject.org> 59c-1
|
|
|
|
|
- Upgrade to 59c (#1893414)
|
|
|
|
|
- Add alternatives switching for ksh (#1879002)
|
|
|
|
|
|
|
|
|
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 59b-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Sun May 17 2020 Robert Scheck <robert@fedoraproject.org> 59b-1
|
|
|
|
|
- Upgrade to 59b (#1836572)
|
|
|
|
|
|
|
|
|
|
* Wed Apr 15 2020 Robert Scheck <robert@fedoraproject.org> 59-1
|
|
|
|
|
- Upgrade to 59 (#1823973)
|
|
|
|
|
|
|
|
|
|
* Fri Mar 27 2020 Robert Scheck <robert@fedoraproject.org> 58-1
|
|
|
|
|
- Upgrade to 58 (#1817981)
|
|
|
|
|
|
|
|
|
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 57-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 57-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Mar 25 2019 Robert Scheck <robert@fedoraproject.org> 57-1
|
|
|
|
|
- Upgrade to 57 (#1684737)
|
|
|
|
|
|
|
|
|
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 56c-5
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
|
* Mon Oct 22 2018 Michal Hlavinka <mhlavink@redhat.com> - 56c-5
|
|
|
|
|
- fix alternative paths (#1636076)
|
|
|
|
|
|
|
|
|
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 56c-4
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
* Mon Oct 15 2018 Michal Hlavinka <mhlavink@redhat.com> - 56c-4
|
|
|
|
|
- add alternatives switching with ksh (#1636076)
|
|
|
|
|
|
|
|
|
|
* Sun Feb 18 2018 Robert Scheck <robert@fedoraproject.org> 56c-3
|
|
|
|
|
- Build flags injection is only partially successful (#1543842)
|
|
|
|
|