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
+
+- 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
+
+- 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>