upload src

This commit is contained in:
sigui 2019-12-31 18:03:57 +08:00
parent 292e19017e
commit 57797cada4
4 changed files with 347 additions and 0 deletions

33
check-module.1 Normal file
View File

@ -0,0 +1,33 @@
.TH CHECK-MODULE 1 "2006-06-01" "0.0.20060601" "GNU Portability Library"
.SH NAME
check-module \- program to check gnulib modules.
.SH SYNOPSIS
.B check-module [OPTIONS] FILE...
.SH DESCRIPTION
The GNU portability library is a macro system and C declarations and definitions for commonly-used API elements and abstracted system behaviors. It can be used to improve portability and other functionality in your programs.
.PP
.B check-module
reads a module description file and derives the set of files included directly by any .c or .h file listed in the `Files:' section. First, it takes the union of all such sets for any dependent modules. Then, it compares that set with the set derived from the names listed in the various Files: sections.
.PP
.SH OPTIONS
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-v, \-\-version
Show version of program.
.SH BUGS
Report bugs to <bug-gnulib@gnu.org>.
.SH SEE ALSO
.BR gnulib (1).
.SH AUTHOR
check-module was written by the Free Software Foundation and others (sources of various origins).
.PP
This manual page was written by Daniel Baumann <daniel@debian.org>, for the Debian project (but may be used by others).

BIN
gnulib-68df637.tar.gz Normal file

Binary file not shown.

182
gnulib-tool.1 Normal file
View File

@ -0,0 +1,182 @@
.TH GNULIB\-TOOL 1 "2006-06-01" "0.0.20060601" "GNU Portability Library"
.SH NAME
gnulib\-tool \- program for authors or maintainers which want to import modules
from gnulib into their packages.
.SH SYNOPSIS
.B gnulib\-tool
\-\-list
.PP
.B gnulib\-tool
\-\-import [module1 ... moduleN]
.PP
.B gnulib\-tool
\-\-update
.PP
.B gnulib\-tool
\-\-create-testdir \-\-dir=directory module1 ... moduleN
.PP
.B gnulib\-tool
\-\-create-megatestdir \-\-dir=directory [module1 ... moduleN]
.PP
.B gnulib\-tool
\-\-test \-\-dir=directory module1 ... moduleN
.PP
.B gnulib\-tool
\-\-megatest \-\-dir=directory [module1 ... moduleN]
.PP
.B gnulib\-tool
\-\-extract-description module
.PP
.B gnulib\-tool
\-\-extract-filelist module
.PP
.B gnulib\-tool
\-\-extract-dependencies module
.PP
.B gnulib\-tool
\-\-extract-autoconf-snippet module
.PP
.B gnulib\-tool
\-\-extract-automake-snippet module
.PP
.B gnulib\-tool
\-\-extract-include-directive module
.PP
.B gnulib\-tool
\-\-extract-license module
.PP
.B gnulib\-tool
\-\-extract-maintainer module
.PP
.B gnulib\-tool
\-\-extract-tests-module module
.SH DESCRIPTION
The GNU portability library is a macro system and C declarations and definitions
for commonly-used API elements and abstracted system behaviors. It can be used
to improve portability and other functionality in your programs.
.PP
.SH OPTIONS
Operation modes:
.TP
.B \-\-list
print the available module names.
.TP
.B \-\-import
import the given modules into the current package; if no modules are specified,
update the current package from the current gnulib.
.TP
.B \-\-update
update the current package, restore files omitted from CVS.
.TP
.B \-\-create-testdir
create a scratch package with the given modules.
.TP
.B \-\-create-megatestdir
create a mega scratch package with the given modules one by one and all
together.
.TP
.B \-\-test
test the combination of the given modules (recommended to use CC="gcc \-Wall"
here).
.TP
.B \-\-megatest
test the given modules one by one and all together (recommended to use CC="gcc
\-Wall" here).
.TP
.B \-\-extract-description
extract the description.
.TP
.B \-\-extract-filelist
extract the list of files.
.TP
.B \-\-extract-dependencies
extract the dependencies.
.TP
.B \-\-extract-autoconf-snippet
extract the snippet for configure.ac.
.TP
.B \-\-extract-automake-snippet
extract the snippet for lib/Makefile.am.
.TP
.B \-\-extract-include-directive
extract the #include directive.
.TP
.B \-\-extract-license
report the license terms of the source files under lib/.
.TP
.B \-\-extract-maintainer
report the maintainer(s) inside gnulib.
.TP
.B \-\-extract-tests-module
report the unit test module, if it exists.
.PP
Options:
.TP
.B \-\-dir=DIRECTORY
specify the target directory. For \-\-import, this specifies where your
configure.ac can be found. Defaults to current directory.
.TP
.B \-\-lib=LIBRARY
Specify the library name. Defaults to 'libgnu'.
.TP
.B \-\-source-base=DIRECTORY
Directory relative \-\-dir where source code is placed (default "lib"), for
\-\-import.
.TP
.B \-\-m4-base=DIRECTORY
Directory relative \-\-dir where *.m4 macros are placed (default "m4"), for
\-\-import.
.TP
.B \-\-tests-base=DIRECTORY
Directory relative \-\-dir where unit tests are placed (default "tests"), for
\-\-import.
.TP
.B \-\-aux-dir=DIRECTORY
Directory relative \-\-dir where auxiliary build tools are placed (default
"build-aux").
.TP
.B \-\-with-tests
Include unit tests for the included modules.
.TP
.B \-\-avoid=MODULE
Avoid including the given MODULE. Useful if you have code that provides
equivalent functionality. This option can be repeated.
.TP
.B \-\-lgpl
Abort if modules aren't available under the LGPL. Also modify license template
from GPL to LGPL.
.TP
.B \-\-libtool
Use libtool rules, for \-\-import.
.TP
.B \-\-macro-prefix=PREFIX
Specify the prefix of the macros 'gl_EARLY' and 'gl_INIT'. Default is 'gl'.
.TP
.B \-\-no-changelog
don't update or create ChangeLog files.
.TP
.B \-\-dry-run
For \-\-import, only print what would have been done.
.TP
.B -s, \-\-symbolic, \-\-symlink
Make symbolic links instead of copying files.
.PP
.TP
.B \-h, \-\-help
Show summary of options.
.SH BUGS
Report bugs to <bug-gnulib@gnu.org>.
.SH SEE ALSO
.BR check-module (1).
.SH AUTHOR
gnulib was written by the Free Software Foundation and others (sources of various origins).
.PP
This manual page was written by Daniel Baumann <daniel@debian.org>, for the Debian project (but may be used by others).

132
gnulib.spec Normal file
View File

@ -0,0 +1,132 @@
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.