ksh/ksh.spec
2022-03-18 09:16:24 +08:00

126 lines
3.4 KiB
RPMSpec

Name: ksh
Version: 2020.0.0
Release: 7
Summary: The Original ATT Korn Shell
License: EPL
URL: http://www.kornshell.com/
Epoch: 1
Source0: https://github.com/att/ast/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: kshcomp.conf
Source2: kshrc.rhs
Source3: dotkshrc
Patch1: CVE-2019-14868.patch
Patch9000: openEuler-skip-some-test.patch
Patch9001: backport-Fix-handling-of-skipped-directories.patch
Provides: /bin/ksh /usr/bin/ksh
BuildRequires: meson gcc glibc-devel ed
Conflicts: pdksh
Requires(post): grep, coreutils, systemd-units chkconfig
Requires(preun): chkconfig
Requires(postun): sed
Provides: ksh-help = %{epoch}:%{version}-%{release}
Obsoletes: ksh-help < %{epoch}:%{version}-%{release}
%description
KornShell is an interactive command language that provides access to the UNIX system and to
many other systems, on the many different computers and workstations on which it is implemented.
%prep
%autosetup -p1 -n %{name}-%{version}
%build
%meson -Dbuild-api-tests=false
%meson_build
%install
%meson_install
mv %{buildroot}/%{_bindir}/ksh %{buildroot}/%{_bindir}/ksh93
mv %{buildroot}/%{_bindir}/shcomp %{buildroot}/%{_bindir}/shcomp93
mv %{buildroot}/%{_mandir}/man1/ksh.1 %{buildroot}/%{_mandir}/man1/ksh93.1
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/binfmt.d/kshcomp.conf
install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/kshrc
install -p -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/skel/.kshrc
%check
%meson_test
%post
for s in /bin/ksh /usr/bin/ksh
do
if [ ! -f /etc/shells ]; then
echo "$s" > /etc/shells
else
if ! grep -q '^'"$s"'$' /etc/shells ; then
echo "$s" >> /etc/shells
fi
fi
done
/bin/systemctl try-restart systemd-binfmt.service >/dev/null 2>&1 || :
%{_sbindir}/alternatives --install /bin/ksh ksh /bin/ksh93 50 \
--slave %{_mandir}/man1/ksh.1.gz ksh-man %{_mandir}/man1/ksh93.1.gz \
--slave /bin/shcomp shcomp93 /bin/shcomp93 2>/dev/null
%preun
if [ $1 -eq 0 ]; then
%{_sbindir}/alternatives --remove ksh /bin/ksh93
fi
%postun
for s in /bin/ksh /usr/bin/ksh
do
if [ ! -f $s ]; then
sed -i '\|^'"$s"'$|d' /etc/shells
fi
done
%triggerpostun -- ksh < 1:2020.0.0-0.1
%{_sbindir}/alternatives --auto ksh
%files
%doc src/cmd/ksh93/{COMPATIBILITY,RELEASE,TYPES}
%{_bindir}/{ksh93,shcomp93}
%{_mandir}/man1/*
%config(noreplace) %{_sysconfdir}/skel/.kshrc
%config(noreplace) %{_sysconfdir}/kshrc
%config(noreplace) %{_sysconfdir}/binfmt.d/kshcomp.conf
%changelog
* Tue Mar 15 2022 renhongxun <renhongxun@h-partners.com> - 1:2020.0.0-7
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix buildin path not found
* Mon Mar 14 2022 wangjiang <wangjiang37@h-partners.com> - 1:2020.0.0-6
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:enable check
* Fri Dec 25 2020 Liquor <lirui130@huawei.com> - 1:2020.0.0-5
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add package ksh-help to package ksh
* Tue Aug 4 2020 zhangxingliang <zhangxingliang3@huawei.com> - 1:2020.0.0-4
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to stable release version 2020.0.0
* Tue Apr 21 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:2020.0.0-3
- Type:cves
- ID:CVE-2019-14868
- SUG:restart
- DESC:fix CVE-2019-14868
* Fri Jan 10 2020 Lijin Yang <yanglijin@huawei.com> - 1:2020.0.0-2
- Package init