%global __python %{__python3} %global commit a7903da07d3d18c23314aa0815adbb4058fd7cec # %%global tag 11 #disabled due to unarragment release line after mass rebuild. %global githead %(printf %%.7s %commit) %global gitdate 20200107 # epel7 compatibility mode %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} # Module Sample: (Alpha Version) # %% global moduleX %%name-of-module # # %% package -n %%{moduleX} # Summary: %%{summary_of_moduleX} # License: %%{license_of_moduleX} # # %% description -n %%{moduleX} # %%description-of-module # # %% prep # ./gnulib-tool --create-testdir --dir=build-%%{moduleX} %%{moduleX} # # %% build # pushd build-%%{moduleX} # %% configure --prefix=%%_prefix # make %%{?_smp_mflags} # popd # # %% install # pushd build-%%{moduleX} # %%make_install # popd # help2man -N --no-discard-stderr %%{buildroot}%%{_bindir}/%%{moduleX} | gzip -9c > %%{buildroot}%%{_mandir}/man1/%%{moduleX}.1.gz # # %% files -n %%{moduleX} # %%{_bindir}/%%{moduleX} # %%{_mandir}/*/%%{moduleX}.* ################################## # LIST OF SINGLE MODULE PACKAGES : # 1.git-merge-changelog ################################## %global module1 git-merge-changelog %global common_desc \ 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. Name: gnulib Version: 0 Release: 31.%{gitdate}git%{?dist} Summary: 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=%{githead};sf=tgz;name=gnulib-%{githead}.tar.gz#/gnulib-%{githead}.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 Patch0: test-u8-strstr-alarm.diff Patch1: epel7-add-sup-macro-for-texinfo.patch BuildRequires: perl-generators BuildRequires: texinfo BuildRequires: java-devel # For building Modules, all gnulib requires must be found, Modules BRs: BuildRequires: gettext-devel BuildRequires: bison BuildRequires: gperf BuildRequires: libtool BuildRequires: help2man BuildRequires: git %description %common_desc %prep %autosetup -n %{name}-%{githead} -p1 -Sgit #modules not to be tested by direct import 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 #is necessary to avoid some modules to test prep pass ./gnulib-tool --create-testdir --with-tests --with-obsolete --avoid=alloca --avoid=lib-symbol-visibility --avoid=havelib --dir=build-tests $list rm lib/javaversion.class # MODULE #1 - git-merge-changelog ./gnulib-tool --create-testdir --dir=build-%{module1} %{module1} %build # MODULE #1 - git-merge-changelog pushd build-%{module1} %configure --prefix=%_prefix make %{?_smp_mflags} popd #tests build cp -p lib/timevar.def build-tests/gllib #Fix timevar.def not found pushd build-tests %configure --prefix=%_prefix make %{?_smp_mflags} popd # Rebuild removed java class javac -d lib -source 1.3 -target 1.3 lib/javaversion.java # This part is done with the original path make %{?_smp_mflags} MODULES.html sed -i -r 's#HREF="(lib|m4|modules)#HREF="%{_datadir}/%{name}/\1#g' MODULES.html sed -i "/^[ ]*gnulib_dir=/s#\`[^\`]*\`#%{_datadir}/%{name}#" gnulib-tool # This part is done with the target path make %{?_smp_mflags} info html # Removing unused files rm -f */.cvsignore rm -f */.gitignore rm -f */.gitattributes rm -f lib/.cppi-disable rm -f lib/uniname/gen-uninames.lisp %check make -C build-tests check VERBOSE=1 %install mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/info mkdir -p %{buildroot}%{_pkgdocdir} mkdir -p %{buildroot}%{_mandir}/man1 cp -rp check-module gnulib-tool doc build-aux lib m4 modules config tests %{buildroot}%{_datadir}/%{name}/ for f in check-module gnulib-tool; do ln -s $(realpath %{_datadir}/%{name}/$f --canonicalize-missing --relative-to %{_bindir}/) %{buildroot}%{_bindir} done cp -p doc/gnulib.info %{buildroot}%{_datadir}/info/ cp -p doc/gnulib.html MODULES.html NEWS COPYING ChangeLog users.txt doc/COPYING* %{buildroot}%{_pkgdocdir}/ cp -p %{SOURCE1} %{SOURCE2} %{buildroot}%{_mandir}/man1 cp -rp top %{buildroot}%{_datadir}/%{name}/ # Module installing %make_install -C build-%{module1} help2man -N --no-discard-stderr %{buildroot}%{_bindir}/%{module1} | gzip -9c > %{buildroot}%{_mandir}/man1/%{module1}.1.gz #------------------------------------------------------------------------- %package docs Summary: Documentation for %{name} modules License: GFDL Requires: %{name}-devel = %{version}-%{release} BuildArch: noarch %description docs %common_desc This package contains documentation for %{name}. %files docs %{_datadir}/info/gnulib.info.gz %{_pkgdocdir}/gnulib.html %{_pkgdocdir}/MODULES.html # license text is included directly in info and html files. #------------------------------------------------------------------------- %package devel Summary: Devel files of %{name} BuildArch: noarch Provides: gnulib Requires: gettext-devel Requires: bison Requires: coreutils Requires: gperf Requires: libtool Requires: make Requires: texinfo Requires: diffutils Requires: patch %description devel %common_desc This package contains devel files of %{name}. %files devel %{_datadir}/%{name}/ %{_bindir}/gnulib-tool %{_bindir}/check-module %{_mandir}/*/check-module.* %{_mandir}/*/gnulib-tool.* %{_pkgdocdir}/ %exclude %{_pkgdocdir}/MODULES.html %exclude %{_pkgdocdir}/gnulib.html #------------------------------------------------------------------------- # MODULE #1 - git-merge-changelog %package -n %{module1} Summary: Git merge driver for ChangeLog files License: GPLv2+ %description -n %{module1} Git Merge Changelog is a git merge driver for changelogs that combines parallel additions to the changelog without generating merge conflicts. It can be enabled for specific files by setting appropriate git attributes. %files -n %{module1} %{_bindir}/%{module1} %{_mandir}/*/%{module1}.* %license doc/COPYINGv2 #------------------------------------------------------------------------- %changelog * Tue Jan 07 2020 Mosaab Alzoubi - 0-31.20200107git - Update on 2020-01-07 - CVE-2018-17942 - Patch for building in EPEL7 (Add sup macro to Texinfo) - Force python3 for building in EPEL7 * Thu Jul 25 2019 Fedora Release Engineering - 0-30.20180720git - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Mar 7 2019 Tim Landscheidt - 0-29.20180720git%{?dist} - Remove obsolete requirements for post/preun scriptlets * Thu Jan 31 2019 Fedora Release Engineering - 0-28.20180720git - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sun Sep 16 2018 Zbigniew Jędrzejewski-Szmek - 0-27.20180720git - Also include /usr/share/gnulib/top/GNUmakefile (#1607163) * Sun Jul 22 2018 Zbigniew Jędrzejewski-Szmek - 0-26.20180720git - Update on 20180720 * Fri Jul 13 2018 Fedora Release Engineering - 0-25.20170217git - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 0-24.20170217git - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Aug 02 2017 Fedora Release Engineering - 0-23.20170217git - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Peter Lemenkov - 0-22.20170217git - Install relocatable.texi file as well (required sometimes) * Wed Jul 26 2017 Fedora Release Engineering - 0-21.20170217git - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 17 2017 Zbigniew Jędrzejewski-Szmek - 0-20.20170217git - Update on 20170217. * Fri Feb 10 2017 Fedora Release Engineering - 0-19.20161109git - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sat Nov 12 2016 Zbigniew Jędrzejewski-Szmek - 0-18.20161109git - Update on 20161109. * Wed May 11 2016 Zbigniew Jędrzejewski-Szmek - 0-17.20160508git - Update on 20160511. * Wed Feb 03 2016 Fedora Release Engineering - 0-16.20150928git - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Sep 28 2015 Zbigniew Jędrzejewski-Szmek - 0-15.20150928git - Update on 20150928. * Mon Jul 6 2015 Zbigniew Jędrzejewski-Szmek - 0-15.20150706git - Update on 20150706. - Fixes #1239538. * Wed Jun 17 2015 Fedora Release Engineering - 0-15.20150325git - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed Mar 25 2015 Mosaab Alzoubi - 0-14.20150325git - Update on 20150325. * Sun Dec 14 2014 Mosaab Alzoubi - 0-13.20141214git - Update on 20141214. * Tue Oct 21 2014 Mosaab Alzoubi - 0-12.20141021git - Update on 20141021. * Wed Sep 17 2014 Mosaab Alzoubi - 0-11.20140910git - Disable varible tag number. * Thu Sep 11 2014 Zbigniew Jędrzejewski-Szmek - 0-9.20140910git - Update to latest git. * Sat Aug 16 2014 Fedora Release Engineering - 0-10.20140710git - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Thu Jul 10 2014 Mosaab Alzoubi - 0-9.20140710git - Update on 20140710. - Fix unneed numbers of release line after (FRE). * Fri Jun 27 2014 Jakub Čajka - 0-8.20140504git.2 - Added tests * Sat Jun 07 2014 Fedora Release Engineering - 0-8.20140504git.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sun May 4 2014 Mosaab Alzoubi - 0-8.20140504git - Update on 20140504. * Mon Mar 03 2014 Zbigniew Jędrzejewski-Szmek - 0-7.20140225git - Update to latest git. * Mon Jan 27 2014 Mosaab Alzoubi - 0-6.20140127git - Update on 20140127. * Thu Jan 9 2014 Mosaab Alzoubi - 0-5.20140109git - Update on 20140109. * Thu Dec 19 2013 Mosaab Alzoubi - 0-4.20131219git - Update. - General tweaks. - Remove META main package. - Rename -core into -devel. - Remove main package from other packages requires. - -docs requires -devel. - Move main requires to -devel ones. - -devel provides main package. - Remove un-need-to-list-BRs diffutils make coreutils patch. - United path for documents for all packages. * Sun Dec 1 2013 Mosaab Alzoubi - 0-3.20131201git - Update. * Thu Nov 14 2013 Mosaab Alzoubi - 0-2.20131112git - Fix tag method to 0-$rel.$gitdategit instead of $ver.git$gitdate-$rel. - Release number will increas by new git snapshot. * Tue Nov 12 2013 Mosaab Alzoubi - 0.1.git20131112-1 - After more 6 years in 0.0, GnuLib 0.1 released. - Replace version method to $ver.git$gitdate instead of $gitdate.git$githead. - Update to 0.1.git20131112. * Fri Nov 1 2013 Mosaab Alzoubi - 20131030.git5c508f6-2 - Decrease description of git-merge-changelog - Add license file to git-merge-changelog * Wed Oct 30 2013 Mosaab Alzoubi - 20131030.git5c508f6-1 - Update to 20131030.git5c508f6 - Create -core noarch package, because rpmbuild can't drive arched subpackage from nonarched main one. - Some General Fixes. - Add 1st sample form - Module Sample: (Alpha Version) - Add 1st module single package - git-merge-changelog * Mon Oct 28 2013 Mosaab Alzoubi - 20131027.git5191b35-2 - Fixes after Zbigniew Jędrzejewski-Szmek revision: - Remove prebuilt java class. - gnulib-docs require gnulib. - List all licenses. - Replace define by global. * Sun Oct 27 2013 Mosaab Alzoubi - 20131027.git5191b35-1 - Update. * Sat Oct 26 2013 Zbigniew Jędrzejewski-Szmek - 20131022.git25fb29a-4 - Spec file tweaks. - Package MODULES.html. * Thu Oct 24 2013 Mosaab Alzoubi - 20131022.git25fb29a-3 - Many Fixes. * Thu Oct 24 2013 Mosaab Alzoubi - 20131022.git25fb29a-2 - Many Fixes. * Tue Oct 22 2013 Mosaab Alzoubi - 20131022.git25fb29a-1 - Initial build.