gnulib/gnulib.spec
2019-12-31 18:03:57 +08:00

133 lines
4.5 KiB
RPMSpec

Name: gnulib
Version: 0
Release: 27.20180720git
Summary: The GNU Portability Library
License: Public Domain and BSD and GPLv2+ and GPLv3 and GPLv3+ and LGPLv2 and LGPLv2+ and LGPLv3+
URL: https://www.gnu.org/software/gnulib
Source0: https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=68df637;sf=tgz;name=gnulib-68df637.tar.gz#/gnulib-68df637.tar.gz
Source1: http://erislabs.net/gitweb/?p=gnulib.git;a=blob_plain;hb=HEAD;f=debian/manpages/check-module.1
Source2: http://erislabs.net/gitweb/?p=gnulib.git;a=blob_plain;hb=HEAD;f=debian/manpages/gnulib-tool.1
BuildRequires: perl-generators texinfo java-devel gettext-devel bison gperf libtool help2man git
%description
Gnulib is a central location for common GNU code, intended to be
shared among GNU packages. It can be used to improve portability
and other functionality in your programs.
%package devel
Summary: Provides devel files for gnulib
BuildArch: noarch
Provides: gnulib
Requires: gettext-devel bison coreutils gperf libtool make texinfo diffutils patch
%description devel
This package contains development files for gnulib.
%package help
Summary: Provides documentation for gnulib modules
License: GFDL
Requires(post): info
Requires(preun): info
Requires: gnulib-devel = %{version}-%{release}
BuildArch: noarch
Provides: gnulib-docs = %{version}-%{release}
Obsoletes: gnulib-docs < %{version}-%{release}
%description help
This package contains help docs for gnulib.
%package -n git-merge-changelog
Summary: Provides ChangeLog files
License: GPLv2+
%description -n git-merge-changelog
The git-merge-changelog is a git merge driver for changelogs. It
can be enabled for specific files by setting appropriate git attributes.
%prep
%autosetup -n gnulib-68df637 -p1 -Sgit
toRemove="lib-symbol-visibility havelib .*-obsolete localcharset gettext-h gettext alloca-opt alloca "
list="$(./gnulib-tool --list)"
for item in $toRemove
do
list="$(echo $list| sed "s:\b$item\b::g")"
done
./gnulib-tool --create-testdir --with-tests --with-obsolete --avoid=alloca --avoid=lib-symbol-visibility --avoid=havelib --dir=build-tests $list
rm lib/javaversion.class
./gnulib-tool --create-testdir --dir=build-git-merge-changelog git-merge-changelog
%build
cd build-git-merge-changelog
%configure --prefix=%_prefix
%make_build
cd -
cd build-tests
%configure --prefix=%_prefix
%make_build
cd -
javac -d lib -source 1.3 -target 1.3 lib/javaversion.java
%make_build MODULES.html
sed -i -r 's#HREF="(lib|m4|modules)#HREF="%{_datadir}/gnulib/\1#g' MODULES.html
sed -i "/^[ ]*gnulib_dir=/s#\`[^\`]*\`#%{_datadir}/gnulib#" gnulib-tool
%make_build info html
rm -rf */.cvsignore */.gitignore */.gitattributes lib/.cppi-disable lib/uniname/gen-uninames.lisp
%check
make -C build-tests check VERBOSE=1
%install
install -d %{buildroot}%{_datadir}/gnulib
install -d %{buildroot}%{_bindir}
install -d %{buildroot}%{_datadir}/info
install -d %{buildroot}%{_docdir}/gnulib
install -d %{buildroot}%{_mandir}/man1
cp -p check-module %{buildroot}%{_bindir}
cp -p gnulib-tool %{buildroot}%{_bindir}
cp -rp build-aux lib m4 modules config tests %{buildroot}%{_datadir}/gnulib/
install -d %{buildroot}%{_datadir}/gnulib/doc
cp -arv doc/relocatable.texi %{buildroot}%{_datadir}/gnulib/doc
cp -p doc/gnulib.info %{buildroot}%{_datadir}/info/
cp -p doc/gnulib.html MODULES.html NEWS COPYING ChangeLog users.txt doc/COPYING* %{buildroot}%{_docdir}/gnulib/
cp -p %{SOURCE1} %{SOURCE2} %{buildroot}%{_mandir}/man1
%make_install -C build-git-merge-changelog
help2man -N --no-discard-stderr %{buildroot}%{_bindir}/git-merge-changelog | gzip -9c > %{buildroot}%{_mandir}/man1/git-merge-changelog.1.gz
%post help
/sbin/install-info %{_infodir}/gnulib.info %{_infodir}/dir || :
%preun help
if [ $1 = 0 ] ; then
/sbin/install-info --delete %{_infodir}/gnulib.info %{_infodir}/dir || :
fi
%files devel
%{_datadir}/gnulib/
%{_bindir}/gnulib-tool
%{_bindir}/check-module
%{_docdir}/gnulib/
%exclude %{_docdir}/gnulib/MODULES.html
%exclude %{_docdir}/gnulib/gnulib.html
%files help
%{_datadir}/info/gnulib.info.gz
%{_docdir}/gnulib/gnulib.html
%{_docdir}/gnulib/MODULES.html
%{_mandir}/*/check-module.*
%{_mandir}/*/gnulib-tool.*
%{_mandir}/*/git-merge-changelog.*
%files -n git-merge-changelog
%{_bindir}/git-merge-changelog
%license doc/COPYINGv2
%changelog
* Tue Dec 31 2019 sunguoshuai <sunguoshuai@huawei.com> - 0-27.20180720git
- Init package.