294 lines
9.2 KiB
RPMSpec
294 lines
9.2 KiB
RPMSpec
%global cache /var/cache/man
|
|
|
|
Name: man-db
|
|
Version: 2.11.2
|
|
Release: 1
|
|
Summary: Online database for using man pages
|
|
License: GPLv2+ and GPLv3+
|
|
URL: http://www.nongnu.org/man-db/
|
|
Source0: http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.xz
|
|
Source1: man-db.crondaily
|
|
Source2: man-db.sysconfig
|
|
Source3: man-db-cache-update.service
|
|
|
|
Patch1: backport-Improve-lexgrog-1-portability.patch
|
|
Patch2: backport-Update-warning-regex-for-groff-1.23.0.patch
|
|
|
|
BuildRequires: gcc systemd gdbm-devel gettext groff less libpipeline-devel zlib-devel
|
|
BuildRequires: po4a perl-interpreter perl-version make chrpath
|
|
Requires: coreutils grep groff-base gzip less crontabs
|
|
|
|
Requires(post): %{_sbindir}/update-alternatives
|
|
Requires(postun): %{_sbindir}/update-alternatives
|
|
Requires(preun): %{_sbindir}/update-alternatives
|
|
|
|
Provides: man = %{version} man-pages-reader = %{version} bundled(gnulib) = 20140202
|
|
Obsoletes: man < 2.0
|
|
Provides: man-db-cron
|
|
Obsoletes: man-db-cron
|
|
Obsoletes: man-pages-zh-CN
|
|
|
|
%description
|
|
man-db is an implementation of the standard Unix documentation system accessed using the man command.
|
|
It uses a Berkeley DB database in place of the traditional flat-text whatis databases.
|
|
|
|
%prep
|
|
%autosetup -n %{name}-%{version} -p1
|
|
|
|
%build
|
|
%configure \
|
|
--with-sections="1 1p 8 2 3 3p 4 5 6 7 9 0p n l p o 1x 2x 3x 4x 5x 6x 7x 8x" \
|
|
--disable-setuid --disable-cache-owner --with-browser=elinks --with-lzip=lzip
|
|
%make_build
|
|
|
|
%check
|
|
make check
|
|
|
|
%install
|
|
%make_install
|
|
|
|
# move the documentation to the relevant place
|
|
mv %{buildroot}%{_datadir}/doc/man-db/* ./
|
|
|
|
# install cache directory
|
|
install -d -m 0755 %{buildroot}/var/cache/man
|
|
|
|
# install cron script for man-db creation/update
|
|
mkdir -p %{buildroot}%{_sysconfdir}/cron.daily
|
|
install -D -p -m 0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/cron.daily/man-db.cron
|
|
|
|
# config for cron script
|
|
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
|
install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/man-db
|
|
|
|
# config for tmpfiles.d
|
|
install -D -p -m 0644 init/systemd/man-db.conf %{buildroot}/usr/lib/tmpfiles.d/.
|
|
|
|
# man-db-cache-update.service
|
|
install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/man-db-cache-update.service
|
|
|
|
%find_lang %{name}
|
|
%find_lang %{name}-gnulib
|
|
|
|
chrpath -d %{buildroot}%{_sbindir}/accessdb
|
|
chrpath -d %{buildroot}%{_libexecdir}/%{name}/*
|
|
chrpath -d %{buildroot}%{_bindir}/{*man*,whatis,lexgrog}
|
|
chrpath -d %{buildroot}%{_libdir}/%{name}/libmandb-%{version}.so
|
|
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
|
|
echo "/usr/lib64/man-db" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
|
|
|
# rename files for alternative usage
|
|
for f in man apropos whatis; do
|
|
mv %{buildroot}%{_bindir}/$f %{buildroot}%{_bindir}/$f.%{name}
|
|
touch %{buildroot}%{_bindir}/$f
|
|
mv %{buildroot}%{_mandir}/man1/$f.1 %{buildroot}%{_mandir}/man1/$f.%{name}.1
|
|
touch %{buildroot}%{_mandir}/man1/$f.1
|
|
done
|
|
|
|
%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 \
|
|
>/dev/null 2>&1 || :
|
|
|
|
# clear the old cache
|
|
%{__rm} -rf %{cache}/* || :
|
|
/sbin/ldconfig
|
|
|
|
# update cache
|
|
%transfiletriggerin -- %{_mandir}
|
|
if [ -x /usr/bin/systemd-run -a -x /usr/bin/systemctl ]; then
|
|
/usr/bin/systemd-run /usr/bin/systemctl start man-db-cache-update >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
# update cache
|
|
%transfiletriggerpostun -- %{_mandir}
|
|
if [ -x /usr/bin/systemd-run -a -x /usr/bin/systemctl ]; then
|
|
/usr/bin/systemd-run /usr/bin/systemctl start man-db-cache-update >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
%postun
|
|
if [ $1 -ge 1 ]; then
|
|
if [ "$(readlink %{_sysconfdir}/alternatives/man)" == "%{_bindir}/man.%{name}" ]; then
|
|
%{_sbindir}/update-alternatives --set man %{_bindir}/man.%{name} >/dev/null 2>&1 || :
|
|
fi
|
|
fi
|
|
/sbin/ldconfig
|
|
|
|
%files -f %{name}.lang -f %{name}-gnulib.lang
|
|
%{!?_licensedir:%global license %%doc}
|
|
%license COPYING
|
|
%doc README.md man-db-manual.txt man-db-manual.ps ChangeLog NEWS.md
|
|
%config(noreplace) %{_sysconfdir}/man_db.conf
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/man-db
|
|
%config(noreplace) /usr/lib/tmpfiles.d/man-db.conf
|
|
%config(noreplace) %{_sysconfdir}/cron.daily/man-db.cron
|
|
%config(noreplace) /etc/ld.so.conf.d/*
|
|
%{_unitdir}/man-db-cache-update.service
|
|
%{_sbindir}/accessdb
|
|
%{_bindir}/manpath
|
|
%{_bindir}/lexgrog
|
|
%{_bindir}/catman
|
|
%{_bindir}/mandb
|
|
%{_bindir}/man-recode
|
|
%dir %{_libdir}/man-db
|
|
%{_libdir}/man-db/*.so
|
|
%dir %{_libexecdir}/man-db
|
|
%{_libexecdir}/man-db/globbing
|
|
%{_libexecdir}/man-db/manconv
|
|
%{_libexecdir}/man-db/zsoelim
|
|
/usr/lib/systemd/system/man-db.service
|
|
/usr/lib/systemd/system/man-db.timer
|
|
%verify(not mtime) %dir %{cache}
|
|
%ghost %{_bindir}/man
|
|
%ghost %{_bindir}/apropos
|
|
%ghost %{_bindir}/whatis
|
|
%{_bindir}/man.%{name}
|
|
%{_bindir}/whatis.%{name}
|
|
%{_bindir}/apropos.%{name}
|
|
# documentation and translation
|
|
%ghost %{_mandir}/man1/man.1*
|
|
%ghost %{_mandir}/man1/apropos.1*
|
|
%ghost %{_mandir}/man1/whatis.1*
|
|
%lang(da) %{_datadir}/man/da/man*/*
|
|
%lang(de) %{_datadir}/man/de/man*/*
|
|
%lang(es) %{_datadir}/man/es/man*/*
|
|
%lang(fr) %{_datadir}/man/fr/man*/*
|
|
%lang(id) %{_datadir}/man/id/man*/*
|
|
%lang(it) %{_datadir}/man/it/man*/*
|
|
%lang(ja) %{_datadir}/man/ja/man*/*
|
|
%lang(ko) %{_datadir}/man/ko/man*/*
|
|
%lang(nl) %{_datadir}/man/nl/man*/*
|
|
%lang(pl) %{_datadir}/man/pl/man*/*
|
|
%lang(pt) %{_datadir}/man/pt/man*/*
|
|
%lang(pt_BR) %{_datadir}/man/pt_BR/man*/*
|
|
%lang(ru) %{_datadir}/man/ru/man*/*
|
|
%lang(ro) %{_datadir}/man/ro/man*/*
|
|
%lang(sr) %{_datadir}/man/sr/man*/*
|
|
%lang(sv) %{_datadir}/man/sv/man*/*
|
|
%lang(tr) %{_datadir}/man/tr/man*/*
|
|
%lang(zh_CN) %{_datadir}/man/zh_CN/man*/*
|
|
%{_mandir}/man1/man.%{name}.1*
|
|
%{_mandir}/man1/apropos.%{name}.1*
|
|
%{_mandir}/man1/whatis.%{name}.1*
|
|
%{_mandir}/man1/lexgrog.1*
|
|
%{_mandir}/man1/manconv.1*
|
|
%{_mandir}/man1/manpath.1*
|
|
%{_mandir}/man1/man-recode.1*
|
|
%{_mandir}/man5/manpath.5*
|
|
%{_mandir}/man8/accessdb.8*
|
|
%{_mandir}/man8/catman.8*
|
|
%{_mandir}/man8/mandb.8*
|
|
%exclude %{_datadir}/man/man1/zsoelim.1.gz
|
|
%exclude %{_libdir}/man-db/*.la
|
|
|
|
%changelog
|
|
* Tue Jul 25 2023 renhongxun <renhongxun@h-partners.com> - 2.11.2-1
|
|
- upgrade version to 2.11.2
|
|
|
|
* Fri Jun 30 2023 lilong <lilong@kylinos.cn> - 2.11.0-3
|
|
- Fix crash when mandoc install
|
|
|
|
* Sat Jun 17 2023 yanglongkang <yanglongkang@h-partners.com> - 2.11.0-2
|
|
- Fix crash when processing stray cats
|
|
|
|
* Mon Nov 07 2022 renhongxun <renhongxun@h-partners.com> - 2.11.0-1
|
|
- upgrade version to 2.11.0
|
|
|
|
* Wed Oct 19 2022 shixuantong <shixuantong1@huawei.com> - 2.9.4-3
|
|
- sync changes from openEuler-22.03-LTS-Next to solve downgrade issues
|
|
|
|
* Sat Nov 27 2021 liudabo <liudabo1@huawei.com> - 2.9.4-1
|
|
- upgrade version to 2.9.4
|
|
|
|
* Fri Sep 17 2021 wuchaochao <wuchaochao4@huawei.com> - 2.9.3-6
|
|
- add BuildRequires chrpath
|
|
|
|
* Wed Sep 8 2021 wuchaochao <wuchaochao4@huawei.com> - 2.9.3-5
|
|
- add so path to /etc/ld.so.conf.d when del rpath
|
|
|
|
* Sat Sep 4 2021 wuchaochao <wuchaochao4@huawei.com> - 2.9.3-4
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:Remove rpath compilation option
|
|
|
|
* Tue Aug 17 2021 Jianmin <jianmin@iscas.ac.cn> - 2.9.3-3
|
|
- Type:NA
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:change dependency on groff to groff-base
|
|
|
|
* Wed Nov 25 2020 shixuantong <shixuantong@huawei.com> - 2.9.3-2
|
|
- Type:NA
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:Delete unnecessary installation dependencies
|
|
|
|
* Thu Jul 16 2020 shixuantong <shixuantong@huawei.com> - 2.9.3-1
|
|
- Type:NA
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:update to 2.9.3-1
|
|
|
|
* Mon Feb 17 2020 chengquan <chengquan3@huawei.com> - 2.8.7-5
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:Add necessary BuildRequire
|
|
|
|
* Mon Dec 16 2019 chengquan <chengquan3@huawei.com> - 2.8.7-4
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:remove help package into main package
|
|
|
|
* Tue Sep 24 2019 chengquan <chengquan3@huawei.com> - 2.8.7-3
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:revise requires of groff
|
|
|
|
* Fri Sep 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.8.7-2
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:fix error in POSTIN scriptlet
|
|
|
|
* Fri Sep 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.8.7-1
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:update software
|
|
|
|
* Thu Sep 19 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.8.4-3
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:add global marco
|
|
|
|
* Tue Sep 3 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.8.4-2
|
|
- Package init
|