!7 Fix crash when mandoc install
From: @lilong88 Reviewed-by: @duyiwei7w Signed-off-by: @duyiwei7w
This commit is contained in:
commit
18e3cfc44c
134
mandoc.spec
134
mandoc.spec
@ -1,6 +1,6 @@
|
|||||||
Name: mandoc
|
Name: mandoc
|
||||||
Version: 1.14.6
|
Version: 1.14.6
|
||||||
Release: 3
|
Release: 4
|
||||||
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,16 +17,17 @@ 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
|
||||||
@ -85,125 +86,33 @@ 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
|
|
||||||
mv %{buildroot}%{_bindir}/man %{buildroot}%{_bindir}/man.mandoc
|
|
||||||
mv %{buildroot}%{_bindir}/apropos %{buildroot}%{_bindir}/apropos.mandoc
|
|
||||||
mv %{buildroot}%{_bindir}/whatis %{buildroot}%{_bindir}/whatis.mandoc
|
|
||||||
mv %{buildroot}%{_bindir}/soelim %{buildroot}%{_bindir}/soelim.mandoc
|
|
||||||
mv %{buildroot}%{_sbindir}/makewhatis %{buildroot}%{_sbindir}/makewhatis.mandoc
|
|
||||||
mv %{buildroot}%{_mandir}/man1/apropos.1 %{buildroot}%{_mandir}/man1/apropos.mandoc.1
|
|
||||||
mv %{buildroot}%{_mandir}/man1/man.1 %{buildroot}%{_mandir}/man1/man.mandoc.1
|
|
||||||
mv %{buildroot}%{_mandir}/man1/soelim.1 %{buildroot}%{_mandir}/man1/soelim.mandoc.1
|
|
||||||
mv %{buildroot}%{_mandir}/man1/whatis.1 %{buildroot}%{_mandir}/man1/whatis.mandoc.1
|
|
||||||
mv %{buildroot}%{_mandir}/man7/man.7 %{buildroot}%{_mandir}/man7/man.mandoc.7
|
|
||||||
mv %{buildroot}%{_mandir}/man7/roff.7 %{buildroot}%{_mandir}/man7/roff.mandoc.7
|
|
||||||
mv %{buildroot}%{_mandir}/man7/eqn.7 %{buildroot}%{_mandir}/man7/eqn.mandoc.7
|
|
||||||
mv %{buildroot}%{_mandir}/man7/tbl.7 %{buildroot}%{_mandir}/man7/tbl.mandoc.7
|
|
||||||
mv %{buildroot}%{_mandir}/man8/makewhatis.8 %{buildroot}%{_mandir}/man8/makewhatis.mandoc.8
|
|
||||||
|
|
||||||
# Touch all the locations that update-alternatives will use
|
|
||||||
touch %{buildroot}%{_bindir}/man
|
|
||||||
touch %{buildroot}%{_bindir}/apropos
|
|
||||||
touch %{buildroot}%{_bindir}/whatis
|
|
||||||
touch %{buildroot}%{_bindir}/soelim
|
|
||||||
touch %{buildroot}%{_sbindir}/makewhatis
|
|
||||||
touch %{buildroot}%{_mandir}/man1/apropos.1
|
|
||||||
touch %{buildroot}%{_mandir}/man1/man.1
|
|
||||||
touch %{buildroot}%{_mandir}/man1/soelim.1
|
|
||||||
touch %{buildroot}%{_mandir}/man1/whatis.1
|
|
||||||
touch %{buildroot}%{_mandir}/man7/man.7
|
|
||||||
touch %{buildroot}%{_mandir}/man7/roff.7
|
|
||||||
touch %{buildroot}%{_mandir}/man7/eqn.7
|
|
||||||
touch %{buildroot}%{_mandir}/man7/tbl.7
|
|
||||||
touch %{buildroot}%{_mandir}/man8/makewhatis.8
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
env LD_LIBRARY_PATH="$PWD" %make_build regress
|
env LD_LIBRARY_PATH="$PWD" %make_build regress
|
||||||
|
|
||||||
%postun
|
|
||||||
if [ $1 -ge 1 ]; then
|
|
||||||
if [ "$(readlink %{_sysconfdir}/alternatives/man)" = "%{_bindir}/man.mandoc" ]; then
|
|
||||||
%{_sbindir}/alternatives --set man %{_bindir}/man.mandoc
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$(readlink %{_sysconfdir}/alternatives/soelim)" = "%{_bindir}/soelim.mandoc" ]; then
|
|
||||||
%{_sbindir}/alternatives --set soelim %{_bindir}/soelim.mandoc
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$(readlink %{_sysconfdir}/alternatives/roff.7.gz)" = "%{_mandir}/man7/roff.mandoc.7.gz" ]; then
|
|
||||||
%{_sbindir}/alternatives --set roff.7.gz %{_mandir}/man7/roff.mandoc.7.gz
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$(readlink %{_sysconfdir}/alternatives/man.7.gz)" = "%{_mandir}/man7/man.mandoc.7.gz" ]; then
|
|
||||||
%{_sbindir}/alternatives --set man.7.gz %{_mandir}/man7/man.mandoc.7.gz
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post
|
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/man man %{_bindir}/man.mandoc 200 \
|
|
||||||
--slave %{_bindir}/apropos apropos %{_bindir}/apropos.mandoc \
|
|
||||||
--slave %{_bindir}/whatis whatis %{_bindir}/whatis.mandoc \
|
|
||||||
--slave %{_sbindir}/makewhatis makewhatis %{_sbindir}/makewhatis.mandoc \
|
|
||||||
--slave %{_mandir}/man1/apropos.1.gz apropos.1.gz %{_mandir}/man1/apropos.mandoc.1.gz \
|
|
||||||
--slave %{_mandir}/man1/man.1.gz man.1.gz %{_mandir}/man1/man.mandoc.1.gz \
|
|
||||||
--slave %{_mandir}/man1/whatis.1.gz whatis.1.gz %{_mandir}/man1/whatis.mandoc.1.gz \
|
|
||||||
--slave %{_mandir}/man8/makewhatis.8.gz makewhatis.8.gz %{_mandir}/man8/makewhatis.mandoc.8.gz
|
|
||||||
|
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/soelim soelim %{_bindir}/soelim.mandoc 200 \
|
|
||||||
--slave %{_mandir}/man1/soelim.1.gz soelim.1.gz %{_mandir}/man1/soelim.mandoc.1.gz
|
|
||||||
|
|
||||||
%{_sbindir}/update-alternatives --install %{_mandir}/man7/roff.7.gz roff.7.gz %{_mandir}/man7/roff.mandoc.7.gz 200 \
|
|
||||||
--slave %{_mandir}/man7/eqn.7.gz eqn.7.gz %{_mandir}/man7/eqn.mandoc.7.gz \
|
|
||||||
--slave %{_mandir}/man7/tbl.7.gz tbl.7.gz %{_mandir}/man7/tbl.mandoc.7.gz
|
|
||||||
|
|
||||||
%{_sbindir}/update-alternatives --install %{_mandir}/man7/man.7.gz man.7.gz %{_mandir}/man7/man.mandoc.7.gz 200
|
|
||||||
|
|
||||||
%preun
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
%{_sbindir}/update-alternatives --remove man %{_bindir}/man.mandoc
|
|
||||||
%{_sbindir}/update-alternatives --remove soelim %{_bindir}/soelim.mandoc
|
|
||||||
%{_sbindir}/update-alternatives --remove roff.7.gz %{_mandir}/man7/roff.mandoc.7.gz
|
|
||||||
%{_sbindir}/update-alternatives --remove man.7.gz %{_mandir}/man7/man.mandoc.7.gz
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%{_bindir}/demandoc
|
%{_bindir}/demandoc
|
||||||
%{_bindir}/mandoc
|
%{_bindir}/mandoc
|
||||||
%{_bindir}/apropos.mandoc
|
%{_bindir}/apropos
|
||||||
%ghost %{_bindir}/apropos
|
%{_bindir}/man
|
||||||
%{_bindir}/man.mandoc
|
%{_bindir}/soelim
|
||||||
%ghost %{_bindir}/man
|
%{_bindir}/whatis
|
||||||
%{_bindir}/soelim.mandoc
|
%{_sbindir}/makewhatis
|
||||||
%ghost %{_bindir}/soelim
|
|
||||||
%{_bindir}/whatis.mandoc
|
|
||||||
%ghost %{_bindir}/whatis
|
|
||||||
%{_sbindir}/makewhatis.mandoc
|
|
||||||
%ghost %{_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.mandoc.1.gz
|
%{_mandir}/man1/apropos.1.gz
|
||||||
%ghost %{_mandir}/man1/apropos.1.gz
|
%{_mandir}/man1/man.1.gz
|
||||||
%{_mandir}/man1/man.mandoc.1.gz
|
%{_mandir}/man1/soelim.1.gz
|
||||||
%ghost %{_mandir}/man1/man.1.gz
|
%{_mandir}/man1/whatis.1.gz
|
||||||
%{_mandir}/man1/soelim.mandoc.1.gz
|
|
||||||
%ghost %{_mandir}/man1/soelim.1.gz
|
|
||||||
%{_mandir}/man1/whatis.mandoc.1.gz
|
|
||||||
%ghost %{_mandir}/man1/whatis.1.gz
|
|
||||||
%{_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.mandoc.7.gz
|
%{_mandir}/man7/eqn.7.gz
|
||||||
%ghost %{_mandir}/man7/eqn.7.gz
|
|
||||||
%{_mandir}/man7/mandoc_char.7.gz
|
%{_mandir}/man7/mandoc_char.7.gz
|
||||||
%{_mandir}/man7/man.mandoc.7.gz
|
%{_mandir}/man7/man.7.gz
|
||||||
%ghost %{_mandir}/man7/man.7.gz
|
|
||||||
%{_mandir}/man7/mdoc.7.gz
|
%{_mandir}/man7/mdoc.7.gz
|
||||||
%{_mandir}/man7/roff.mandoc.7.gz
|
%{_mandir}/man7/roff.7.gz
|
||||||
%ghost %{_mandir}/man7/roff.7.gz
|
%{_mandir}/man7/tbl.7.gz
|
||||||
%{_mandir}/man7/tbl.mandoc.7.gz
|
%{_mandir}/man8/makewhatis.8.gz
|
||||||
%ghost %{_mandir}/man7/tbl.7.gz
|
|
||||||
%{_mandir}/man8/makewhatis.mandoc.8.gz
|
|
||||||
%ghost %{_mandir}/man8/makewhatis.8.gz
|
|
||||||
|
|
||||||
%files -n libmandoc-devel
|
%files -n libmandoc-devel
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
@ -224,6 +133,9 @@ fi
|
|||||||
%{_mandir}/man3/tbl.3*
|
%{_mandir}/man3/tbl.3*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Apr 15 2024 lilong <lilong@kylinos.cn> - 1.14.6-4
|
||||||
|
- Fix crash when mandoc install
|
||||||
|
|
||||||
* Mon Oct 9 2023 laokz <zhangkai@iscas.ac.cn> - 1.14.6-3
|
* Mon Oct 9 2023 laokz <zhangkai@iscas.ac.cn> - 1.14.6-3
|
||||||
- add CFLAGS for riscv64 to workaround fragile test-strptime.c
|
- add CFLAGS for riscv64 to workaround fragile test-strptime.c
|
||||||
* Thu Apr 6 2023 changzhangm <chaozhangm@isoftstone.com> - 1.14.6-2
|
* Thu Apr 6 2023 changzhangm <chaozhangm@isoftstone.com> - 1.14.6-2
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user