diff --git a/check-module.1 b/check-module.1 new file mode 100644 index 0000000000000000000000000000000000000000..5a14ecbc454330f02dcb9450a96f79a2688c3956 --- /dev/null +++ b/check-module.1 @@ -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 . + +.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 , for the Debian project (but may be used by others). diff --git a/gnulib-68df637.tar.gz b/gnulib-68df637.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..aca943671b1bf8989951274a502836df60462f5f Binary files /dev/null and b/gnulib-68df637.tar.gz differ diff --git a/gnulib-tool.1 b/gnulib-tool.1 new file mode 100644 index 0000000000000000000000000000000000000000..a3ed5fa121580728ea778374360bc2b3af254878 --- /dev/null +++ b/gnulib-tool.1 @@ -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 . + +.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 , for the Debian project (but may be used by others). diff --git a/gnulib.spec b/gnulib.spec new file mode 100644 index 0000000000000000000000000000000000000000..34862bb94a2ce4fa8812c4ec5a1401fc0a2713d8 --- /dev/null +++ b/gnulib.spec @@ -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 - 0-27.20180720git +- Init package.