Fix low-level dependency compilation failure

(cherry picked from commit 3d7f4fdd77eefe9cad0059a00b27ab2ee7b9cf89)
This commit is contained in:
lilong 2024-04-22 15:00:14 +08:00 committed by openeuler-sync-bot
parent 2af8b34002
commit e68bb88b1e

View File

@ -1,6 +1,6 @@
Name: mandoc Name: mandoc
Version: 1.14.6 Version: 1.14.6
Release: 4 Release: 5
Summary: A suite of tools for compiling mdoc and man Summary: A suite of tools for compiling mdoc and man
License: ISC License: ISC
@ -17,17 +17,16 @@ BuildRequires: zlib-devel
BuildRequires: perl-interpreter BuildRequires: perl-interpreter
BuildRequires: perl(IPC::Open3) BuildRequires: perl(IPC::Open3)
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
Requires(preun): %{_sbindir}/update-alternatives
# The shared library package has been removed per discussion with the # The shared library package has been removed per discussion with the
# upstream maintainer. If using the library, the static library is # upstream maintainer. If using the library, the static library is
# preferred because the API is not stable. # preferred because the API is not stable.
Provides: libmandoc = %{version}-%{release} Provides: libmandoc = %{version}-%{release}
Obsoletes: libmandoc <= 1.14.5-10 Obsoletes: libmandoc <= 1.14.5-10
Conflicts: groff
Conflicts: groff-full
Conflicts: makewhat
Conflicts: man
%description %description
mandoc is a suite of tools compiling mdoc, the roff macro language of choice mandoc is a suite of tools compiling mdoc, the roff macro language of choice
for BSD manual pages, and man, the predominant historical language for UNIX for BSD manual pages, and man, the predominant historical language for UNIX
@ -86,24 +85,67 @@ export CC=clang
# Ensure headers do not have the execute bit set # Ensure headers do not have the execute bit set
chmod -x %{buildroot}%{_includedir}/*.h chmod -x %{buildroot}%{_includedir}/*.h
# rename files for alternative usage
for f in man apropos whatis soelim; do
# Rename binary executables
mv %{buildroot}%{_bindir}/$f %{buildroot}%{_bindir}/$f.%{name}
# Rename corresponding man pages
mv %{buildroot}%{_mandir}/man1/$f.1 %{buildroot}%{_mandir}/man1/$f.%{name}.1
done
%check %check
env LD_LIBRARY_PATH="$PWD" %make_build regress env LD_LIBRARY_PATH="$PWD" %make_build regress
%pre
for f in man apropos whatis; do
[ -L %{_bindir}/$f ] || %{__rm} -f %{_bindir}/$f >/dev/null 2>&1 || :
[ -L %{_mandir}/man1/$f.1.gz ] || %{__rm} -f %{_mandir}/man1/$f.1.gz >/dev/null 2>&1 || :
done
if [ -e /usr/lib/systemd/system/mandb.timer ]; then
if test -d /run/systemd; then
systemctl stop man-db.timer >/dev/null 2>&1 || :
systemctl -q disable man-db.timer >/dev/null 2>&1 || :
fi
fi
%preun
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove man %{_bindir}/man.%{name} >/dev/null 2>&1 || :
fi
%post
# set up the alternatives files
%{_sbindir}/update-alternatives --install %{_bindir}/man man %{_bindir}/man.%{name} 300 \
--slave %{_bindir}/apropos apropos %{_bindir}/apropos.%{name} \
--slave %{_bindir}/whatis whatis %{_bindir}/whatis.%{name} \
--slave %{_mandir}/man1/man.1.gz man.1.gz %{_mandir}/man1/man.%{name}.1.gz \
--slave %{_mandir}/man1/apropos.1.gz apropos.1.gz %{_mandir}/man1/apropos.%{name}.1.gz \
--slave %{_mandir}/man1/whatis.1.gz whatis.1.gz %{_mandir}/man1/whatis.%{name}.1.gz \
--slave %{_mandir}/man1/soelim.1.gz soelim.1.gz %{_mandir}/man1/soelim.%{name}.1.gz \
>/dev/null 2>&1 || :
%files %files
%license LICENSE %license LICENSE
%{_bindir}/demandoc %{_bindir}/demandoc
%{_bindir}/mandoc %{_bindir}/mandoc
%{_bindir}/apropos %ghost %{_bindir}/apropos
%{_bindir}/man %{_bindir}/apropos.%{name}
%{_bindir}/soelim %ghost %{_bindir}/man
%{_bindir}/whatis %{_bindir}/man.%{name}
%ghost %{_bindir}/soelim
%{_bindir}/soelim.%{name}
%ghost %{_bindir}/whatis
%{_bindir}/whatis.%{name}
%{_sbindir}/makewhatis %{_sbindir}/makewhatis
%{_mandir}/man1/demandoc.1.gz %{_mandir}/man1/demandoc.1.gz
%{_mandir}/man1/mandoc.1.gz %{_mandir}/man1/mandoc.1.gz
%{_mandir}/man1/apropos.1.gz %ghost %{_mandir}/man1/soelim.1*
%{_mandir}/man1/man.1.gz %{_mandir}/man1/soelim.%{name}.*
%{_mandir}/man1/soelim.1.gz %{_mandir}/man1/man.%{name}.1*
%{_mandir}/man1/whatis.1.gz %{_mandir}/man1/apropos.%{name}.1*
%{_mandir}/man1/whatis.%{name}.1*
%{_mandir}/man5/mandoc.conf.5.gz %{_mandir}/man5/mandoc.conf.5.gz
%{_mandir}/man5/mandoc.db.5.gz %{_mandir}/man5/mandoc.db.5.gz
%{_mandir}/man7/eqn.7.gz %{_mandir}/man7/eqn.7.gz
@ -133,6 +175,9 @@ env LD_LIBRARY_PATH="$PWD" %make_build regress
%{_mandir}/man3/tbl.3* %{_mandir}/man3/tbl.3*
%changelog %changelog
* Mon Apr 22 2024 lilong <lilong@kylinos.cn> - 1.14.6-5
- Fix low-level dependency compilation failure
* Mon Apr 15 2024 lilong <lilong@kylinos.cn> - 1.14.6-4 * Mon Apr 15 2024 lilong <lilong@kylinos.cn> - 1.14.6-4
- Fix crash when mandoc install - Fix crash when mandoc install