Hello community, here is the log from the commit of package fpc for openSUSE:Factory checked in at 2019-09-02 13:21:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fpc (Old) and /work/SRC/openSUSE:Factory/.fpc.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fpc" Mon Sep 2 13:21:04 2019 rev:6 rq:726979 version:3.0.4 Changes: -------- --- /work/SRC/openSUSE:Factory/fpc/fpc.changes 2019-03-18 10:42:13.787209133 +0100 +++ /work/SRC/openSUSE:Factory/.fpc.new.7948/fpc.changes 2019-09-02 13:21:07.389359121 +0200 @@ -1,0 +2,19 @@ +Wed Aug 28 17:56:57 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de> + +- Use _multibuild for building the doc subpackage. This removes e.g. + TeXLive, python and X11 from the dependency chain of the main package. +- Remove noarch for doc subpackage as we need to use %ifarch + +------------------------------------------------------------------- +Mon Aug 26 18:49:28 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de> + +- Use separate subpackages for documentation and examples, and make + both noarch. +- Make PDF documentation build reproducible +- Use tex(foo) style BuildRequires, only request what is really needed. +- Install COPYING* in licensedir +- Drop gpm and ncurses runtime requires (not used by the compiler, + but only for some of the examples). +- Remove defattr and BuildRoot from spec file. + +------------------------------------------------------------------- New: ---- _multibuild ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fpc.spec ++++++ --- /var/tmp/diff_new_pack.wCGVVi/_old 2019-09-02 13:21:10.553358634 +0200 +++ /var/tmp/diff_new_pack.wCGVVi/_new 2019-09-02 13:21:10.557358634 +0200 @@ -16,6 +16,13 @@ # +%global flavor @BUILD_FLAVOR@%{nil} +%global sname fpc +%if "%{flavor}" == "" +%else +%global psuffix -%{flavor} +%endif + %ifarch %arm # We use hardfloat on ARM %define fpcopt -dFPC_ARMHF -k--build-id -k-z -knoexecstack @@ -52,19 +59,25 @@ %endif %define stableversion 3.0.4 -Name: fpc +Name: fpc%{?psuffix} Version: %{fpcversion} Release: 0 +%if "%{flavor}" == "" Summary: Free Pascal Compiler License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Languages/Other +%else +Summary: Freepascal Compiler documentation +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Documentation/Other +%endif Url: https://www.freepascal.org/ # Stable version -Source: %{name}build-%{stableversion}.tar.gz +Source: %{sname}build-%{stableversion}.tar.gz # Current stable version does not support aarch64, so use beta version # from ftp://ftp.freepascal.org/pub/fpc/snapshot/v31/source/ -Source2: %{name}build.zip -Source90: %{name}-rpmlintrc +Source2: %{sname}build.zip +Source90: %{sname}-rpmlintrc Patch0: update-fpcdocs.patch Patch1: fpc-fix_aarch64.patch BuildRequires: binutils @@ -73,32 +86,29 @@ %endif BuildRequires: fpc BuildRequires: glibc-devel -BuildRequires: texlive +%if "%{flavor}" == "doc" BuildRequires: texlive-latex -%if 0%{?suse_version} > 1220 -BuildRequires: texlive-amsfonts -BuildRequires: texlive-courier -BuildRequires: texlive-dvips -BuildRequires: texlive-ec -BuildRequires: texlive-fancyhdr -BuildRequires: texlive-float -BuildRequires: texlive-helvetic BuildRequires: texlive-makeindex -BuildRequires: texlive-mdwtools -BuildRequires: texlive-metafont -BuildRequires: texlive-ntgclass -BuildRequires: texlive-psnfss -BuildRequires: texlive-times +BuildRequires: texlive-pdftex +BuildRequires: tex(8r.enc) +BuildRequires: tex(a4.sty) +BuildRequires: tex(fancyhdr.sty) +BuildRequires: tex(float.sty) +BuildRequires: tex(hyperref.sty) +BuildRequires: tex(pcrr8t.tfm) +BuildRequires: tex(ptmr8t.tfm) +BuildRequires: tex(phvr8t.tfm) +BuildRequires: tex(syntax.sty) +BuildRequires: tex(tabularx.sty) +BuildRequires: tex(times.sty) %endif %ifarch aarch64 BuildRequires: unzip %endif Requires: binutils -Requires: gpm -Requires: ncurses -BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 %arm aarch64 ppc ppc64 +%if "%{flavor}" == "" %description Freepascal is a free 32/64bit Pascal Compiler. It comes with a run-time library and is fully compatible with Turbo Pascal 7.0 and nearly Delphi @@ -108,13 +118,19 @@ library (RTL), free component library (FCL) and the base and extra packages. -%package doc -Summary: Freepascal Compiler - documentation and examples +%else +%description +The fpc-doc package contains the documentation PDF files. + +%endif + +%package examples +Summary: Freepascal Compiler examples Group: Documentation/Other +BuildArch: noarch -%description doc -The fpc-doc package contains the documentation (in pdf format) and -examples of Freepascal. +%description examples +The fpc-examples package contains examples for Freepascal. %package src Summary: Freepascal Compiler - sources @@ -126,10 +142,10 @@ %prep %ifnarch aarch64 -%setup -q -n %{name}build-%{stableversion} +%setup -q -n %{sname}build-%{stableversion} %patch0 -p1 %else -%setup -Tcq -b2 -n %{name}build +%setup -Tcq -b2 -n %{sname}build %patch1 -p1 %endif @@ -153,7 +169,11 @@ rm -rf fpc-src/packages/extra/amunits rm -rf fpc-src/packages/extra/winunits +# Inject reproducible date into PDF documentation +date --date=@${SOURCE_DATE_EPOCH:-0} +'\date{%B %Y}' > fpcdocs/date.inc + %build +%if "%{flavor}" == "" STARTPP=%{ppcname} pushd fpcsrc @@ -171,12 +191,15 @@ %endif make %{?_smp_mflags} utils_all \ FPC=${NEWPP} OPT='%{fpcopt} %{fpcdebugopt}' -mv ../fpcdocs . -make -C fpcdocs pdf FPC=${NEWPP} popd +%else +make -C fpcdocs pdf FPC=fpc +%endif + %install # Make available built binaries +%if "%{flavor}" == "" export PATH=$PATH:%{buildroot}%{_bindir} pushd fpcsrc FPCDIR= @@ -197,7 +220,6 @@ %ifnarch aarch64 make ide_distinstall ${INSTALLOPTS} %endif -make -C fpcdocs pdfinstall ${INSTALLOPTS} popd pushd install @@ -225,9 +247,9 @@ -k--build-id" >> %{buildroot}%{_sysconfdir}/fpc.cfg # include the COPYING-information for the compiler/rtl/fcl in the documentation -cp -a fpcsrc/compiler/COPYING.txt %{buildroot}%{_defaultdocdir}/%{name}/COPYING -cp -a fpcsrc/rtl/COPYING.txt %{buildroot}%{_defaultdocdir}/%{name}/COPYING.rtl -cp -a fpcsrc/rtl/COPYING.FPC %{buildroot}%{_defaultdocdir}/%{name}/COPYING.FPC +install -m 644 -D fpcsrc/compiler/COPYING.txt %{buildroot}%{_licensedir}/%{name}/COPYING +install -m 644 -D fpcsrc/rtl/COPYING.txt %{buildroot}%{_licensedir}/%{name}/COPYING.rtl +install -m 644 -D fpcsrc/rtl/COPYING.FPC %{buildroot}%{_licensedir}/%{name}/COPYING.FPC mv %{buildroot}%{_defaultdocdir}/%{name}/../../%{name}-%{version}/ide/readme.ide %{buildroot}%{_defaultdocdir}/%{name}/readme.ide mv %{buildroot}%{_defaultdocdir}/%{name}/../../%{name}-%{version} %{buildroot}%{_defaultdocdir}/%{name}/examples @@ -253,14 +275,21 @@ %fdupes -s %{buildroot}%{_libdir}/%{name} %endif +%else +make -C fpcdocs pdfinstall \ + FPC=fpc \ + INSTALL_DOCDIR=%{buildroot}%{_defaultdocdir}/%{sname} +%endif + + +%if "%{flavor}" == "" %files -%defattr(-,root,root,-) +%license %{_licensedir}/%{name} %dir %{_defaultdocdir}/%{name}/ %doc %{_defaultdocdir}/%{name}/NEWS %doc %{_defaultdocdir}/%{name}/README %doc %{_defaultdocdir}/%{name}/readme.ide %doc %{_defaultdocdir}/%{name}/faq* -%doc %{_defaultdocdir}/%{name}/COPYING* %doc %{_mandir}/*/* %config(noreplace) %{_sysconfdir}/%{name}.cfg %config(noreplace) %{_sysconfdir}/fppkg.cfg @@ -271,21 +300,20 @@ %ifarch x86_64 /usr/lib/%{name}/ %endif -%exclude %{_defaultdocdir}/%{name}/*.pdf -%exclude %{_defaultdocdir}/%{name}/examples -%exclude %{_datadir}/fpcsrc -%files doc -%defattr(-,root,root,-) +%files examples %docdir %{_defaultdocdir}/%{name} -%doc %{_defaultdocdir}/%{name}/*.pdf %dir %{_defaultdocdir}/%{name}/examples %doc %{_defaultdocdir}/%{name}/examples/* -%exclude %{_datadir}/fpcsrc %files src -%defattr(-,root,root,-) %dir %{_datadir}/fpcsrc %{_datadir}/fpcsrc/* +%else +%files +%docdir %{_defaultdocdir}/%{sname} +%doc %{_defaultdocdir}/%{sname}/*.pdf +%endif + %changelog ++++++ _multibuild ++++++ <multibuild> <package>doc</package> </multibuild>