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 - 1:2020.0.0-7 - Type:bugfix - ID:NA - SUG:NA - DESC:fix buildin path not found * Mon Mar 14 2022 wangjiang - 1:2020.0.0-6 - Type:enhancement - ID:NA - SUG:NA - DESC:enable check * Fri Dec 25 2020 Liquor - 1:2020.0.0-5 - Type:bugfix - ID:NA - SUG:NA - DESC:add package ksh-help to package ksh * Tue Aug 4 2020 zhangxingliang - 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 - 1:2020.0.0-3 - Type:cves - ID:CVE-2019-14868 - SUG:restart - DESC:fix CVE-2019-14868 * Fri Jan 10 2020 Lijin Yang - 1:2020.0.0-2 - Package init