]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- bugfix: use <rpmio/rpmio.h>, not <rpm/rpmio.h> (wouldn't build)
[packages/rpm.git] / rpm.spec
index a74473653278402007bb6ec0445d62b8346165b4..10cc2a3c84ffef12ced8b0218257592a0fb33ae1 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -1,13 +1,14 @@
-Summary:       Red Hat & PLD Package Manager
+Summary:       Red Hat (and now also PLD) Package Manager
+Summary(de):   Red Hat (und jetzt auch PLD) Packet-Manager
 Summary(pl):   Aplikacja do zarz±dzania pakietami
 Name:          rpm
 Summary(pl):   Aplikacja do zarz±dzania pakietami
 Name:          rpm
-Version:       4.0
-Release:       3
+Version:       4.0.2
+Release:       12
+License:       GPL
 Group:         Base
 Group(de):     Gründsätzlich
 Group(pl):     Podstawowe
 Group:         Base
 Group(de):     Gründsätzlich
 Group(pl):     Podstawowe
-License:       GPL
-Source0:       ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/%{name}-%{version}.tar.gz
+Source0:       ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/%{name}-%{version}.tar.gz
 Source1:       %{name}.groups
 Source2:       %{name}.macros
 Source3:       %{name}-install-tree
 Source1:       %{name}.groups
 Source2:       %{name}.macros
 Source3:       %{name}-install-tree
@@ -16,37 +17,44 @@ Source5:    %{name}-macros.perl
 Source6:       %{name}-find-perl-provides
 Source7:       %{name}-find-perl-requires
 Source8:       %{name}-find-spec-bcond
 Source6:       %{name}-find-perl-provides
 Source7:       %{name}-find-perl-requires
 Source8:       %{name}-find-spec-bcond
-Patch0:                %{name}-%{name}rc.patch
-Patch1:                %{name}-find-requires.patch
-Patch2:                %{name}-macros.patch
-Patch3:                %{name}-arch.patch
-Patch4:                %{name}-%{name}popt.patch
-Patch5:                %{name}-find-provides.patch
-Patch6:                %{name}-perl-macros.patch
-Patch7:                %{name}-find-lang-all-name.patch
-Patch8:                %{name}-file3.31.patch
-Patch9:                %{name}-find-lang-name-matching.patch
-Patch10:       %{name}-exclude-examples-doc.patch
-Patch11:       %{name}-db3.patch
-Patch12:       %{name}-rpm-v1.patch
-Patch13:       %{name}-rpmlibprov.patch
-Patch14:       %{name}-getrpmlibprov.patch
-Patch15:        %{name}-rpmlibprov-order.patch
-Patch16:       %{name}-find-KDE.patch
-Patch17:       %{name}-bash2.patch
+Source9:       %{name}-find-lang
+Source10:      %{name}-find-provides
+Source11:      %{name}-find-requires
+Patch0:                %{name}-rpmrc.patch
+Patch1:                %{name}-macros.patch
+Patch2:                %{name}-arch.patch
+Patch3:                %{name}-rpmpopt.patch
+Patch4:                %{name}-perl-macros.patch
+Patch5:                %{name}-db3.patch
+Patch6:                %{name}-segv.patch
+Patch7:                %{name}-am_fix.patch
+Patch8:                %{name}-perl-req-perlfile.patch
+Patch9:                %{name}-installplatform.patch
+Patch10:       %{name}-cache.patch
+Patch11:       %{name}-suggestions.patch
+Patch12:       %{name}-rh-lame.patch
 Patch37:        %{name}-short_circuit.patch
 Patch38:        %{name}-section_test.patch
 Patch37:        %{name}-short_circuit.patch
 Patch38:        %{name}-section_test.patch
-BuildRequires: bzip2-static >= 1.0.1
-BuildRequires: gdbm-static
-BuildRequires: zlib-static
+BuildRequires: gettext-devel
+BuildRequires: automake
+BuildRequires: db3-devel >= 3.1.17
+BuildRequires: bzip2-devel >= 1.0.1
+BuildRequires: gdbm-devel
+BuildRequires: zlib-devel
 BuildRequires: gettext-devel >= 0.10.38-3
 BuildRequires: libtool
 BuildRequires: automake
 BuildRequires: autoconf >= 2.13-8
 BuildRequires: gettext-devel >= 0.10.38-3
 BuildRequires: libtool
 BuildRequires: automake
 BuildRequires: autoconf >= 2.13-8
-BuildRequires: gettext-devel
-BuildRequires: db1-devel >= 1.85
+%if %{!?bcond_off_static:1}%{?bcond_off_static:0}
+BuildRequires: zlib-devel >= 1.1.4
+# Require static library only for static build
 BuildRequires: db3-static >= 3.1.17
 BuildRequires: db3-static >= 3.1.17
+BuildRequires: bzip2-static >= 1.0.1
+BuildRequires: gdbm-static
+BuildRequires: zlib-static
+%endif
 BuildRequires: zlib-static >= 1.1.4
 BuildRequires: zlib-static >= 1.1.4
+Obsoletes:     rpm-libs
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Obsoletes:     rpm-libs
 %define __find_provides %{SOURCE4}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Obsoletes:     rpm-libs
 %define __find_provides %{SOURCE4}
@@ -58,37 +66,31 @@ Obsoletes:  rpm-libs
 RPM is a powerful package manager, which can be used to build,
 install, query, verify, update, and uninstall individual software
 packages. A package consists of an archive of files, and package
 RPM is a powerful package manager, which can be used to build,
 install, query, verify, update, and uninstall individual software
 packages. A package consists of an archive of files, and package
+information, including name, version, and description.
+
+%description -l de
+RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
+Installation, Anfrage, Verifizierung, Aktualisierung und
+Uninstallation individueller Softwarepakete. Ein Paket besteht aus
+einem Archiv Dateien und Paketinformation, inklusive Name, Version und
 nombre, versión y descripción.
 RPM jest doskona³ym menad¿erem pakietów. Dziêki niemu bêdziesz móg³
 %description -l pl
 RPM jest doskona³ym mened¿erem pakietów. Dziêki niemu bêdziesz móg³
 nombre, versión y descripción.
 RPM jest doskona³ym menad¿erem pakietów. Dziêki niemu bêdziesz móg³
 %description -l pl
 RPM jest doskona³ym mened¿erem pakietów. Dziêki niemu bêdziesz móg³
-wchodz±cych w sk³ad pakietu, zalezno¶ci od innych pakietów s±
+wchodz±cych w sk³ad pakietu, zale¿no¶ci od innych pakietów s±
 przechowywane s± w bazie danych i mo¿na je uzyskaæ za pomoc± opcji
 wchodz±cych w sk³ad pakietu, zale¿no¶ci od innych pakietów, s±
 przechowywane w bazie danych i mo¿na je uzyskaæ za pomoc± opcji
 przechowywane s± w bazie danych i mo¿na je uzyskaæ za pomoc± opcji
 wchodz±cych w sk³ad pakietu, zale¿no¶ci od innych pakietów, s±
 przechowywane w bazie danych i mo¿na je uzyskaæ za pomoc± opcji
-%package libs
-Summary:       RPM shared libraries
-Summary(pl):   Biblioteki wspó³dzielone rpm-a
-Group:         Libraries
-Group(de):     Libraries
-Group(fr):     Librairies
-Group(pl):     Biblioteki
-Requires:      %{name} = %{version}
-
-%description libs
-RPM shared libraries.
-
-%description -l pl libs
-Biblioteki wspó³dzielone rpm-a.
-
 do pacote, permissões dos arquivos, etc.
 do pacote, permissões dos arquivos, etc.
-Summary:       Header files and libraries 
+
+%package devel
 Summary(pl):   Pliki nag³ówkowe i biblioteki statyczne 
 Summary(pl):   Pliki nag³ówkowe i biblioteki statyczne
 Group(de):     Entwicklung/Libraries
 Group(fr):     Development/Librairies
 Group(pl):     Programowanie/Biblioteki
 Summary(pl):   Pliki nag³ówkowe i biblioteki statyczne 
 Summary(pl):   Pliki nag³ówkowe i biblioteki statyczne
 Group(de):     Entwicklung/Libraries
 Group(fr):     Development/Librairies
 Group(pl):     Programowanie/Biblioteki
-Requires:      %{name}-libs = %{version}
+Summary(pt_BR):        Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
+Group:         Development/Libraries
 Requires:      %{name} = %{version}
 Requires:      popt-devel
 
 Requires:      %{name} = %{version}
 Requires:      popt-devel
 
@@ -96,11 +98,18 @@ Requires:   popt-devel
 The RPM packaging system includes a C library that makes it easy to
 manipulate RPM packages and databases. It is intended to ease the
 creation of graphical package managers and other tools that need
 The RPM packaging system includes a C library that makes it easy to
 manipulate RPM packages and databases. It is intended to ease the
 creation of graphical package managers and other tools that need
+%description -l de devel
+
+%description devel -l de
+Der RPM-Packensystem enthält eine C-Library, die macht es einfach
+RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
+Vereinfachung des Schaffens grafischer Paket-Manager und anderer
 %description -l pl devel
 Pliki nag³ówkowe i biblioteki statyczne.
 graficznych mened¿erów pakietów oraz innych narzêdzi, które wymagaj±
 ferramentas que precisem de conhecimento profundo de pacotes RPM.
 
 %description -l pl devel
 Pliki nag³ówkowe i biblioteki statyczne.
 graficznych mened¿erów pakietów oraz innych narzêdzi, które wymagaj±
 ferramentas que precisem de conhecimento profundo de pacotes RPM.
 
+%package static
 Summary(pl):   Biblioteki statyczne rpm-a
 Summary(pl):   Biblioteki statyczne RPM-a
 Group(de):     Entwicklung/Libraries
 Summary(pl):   Biblioteki statyczne rpm-a
 Summary(pl):   Biblioteki statyczne RPM-a
 Group(de):     Entwicklung/Libraries
@@ -111,12 +120,16 @@ Group:            Development/Libraries
 Requires:      %{name}-devel = %{version}
 
 %description static
 Requires:      %{name}-devel = %{version}
 
 %description static
+%description -l de static
+
+%description static -l de
 %description -l pl static
 Biblioteki statyczne rpm-a.
 %description static -l pl
 Bibliotecas estáticas para desenvolvimento.
 
 %description -l pl static
 Biblioteki statyczne rpm-a.
 %description static -l pl
 Bibliotecas estáticas para desenvolvimento.
 
-Summary(pl):   Dodatkowe narzêdzia do zarz±dzanai baz± rpm-a i pakietami
+%package utils
+Summary(pl):   Dodatkowe narzêdzia do zarz±dzania baz± rpm-a i pakietami
 Summary(de):   Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
 Group(de):     Applikationen/Datei
 Group(pl):     Aplikacje/Pliki
 Summary(de):   Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
 Group(de):     Applikationen/Datei
 Group(pl):     Aplikacje/Pliki
@@ -125,11 +138,15 @@ Group:            Applications/File
 Requires:      %{name} = %{version}
 
 %description utils
 Requires:      %{name} = %{version}
 
 %description utils
+%description -l de utils
+
+%description utils -l de
 %description -l pl utils
 %description -l pl utils
-Dodatkowe narzêdzia do zarz±dzanai baz± rpm-a i pakietami.
+Dodatkowe narzêdzia do zarz±dzania baz± rpm-a i pakietami.
 %description utils -l pl
 Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami.
 %description utils -l pl
 Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami.
-Summary:       Additional utilities for check perl provides/requires in rpm packages
+
+%package perlprov
 Summary(pl):   Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci dla skryptów perl w pakietach rpm
 Summary(de):   Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
 Group(de):     Applikationen/Datei
 Summary(pl):   Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci dla skryptów perl w pakietach rpm
 Summary(de):   Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
 Group(de):     Applikationen/Datei
@@ -137,14 +154,19 @@ Group(pl):        Aplikacje/Pliki
 Summary(pl):   Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów perla w pakietach rpm
 Requires:      perl-modules
 Requires:      findutils
 Summary(pl):   Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów perla w pakietach rpm
 Requires:      perl-modules
 Requires:      findutils
-Additional utilities for check perl provides/requires in rpm packages.
+
+%description perlprov
 Additional utilities for checking perl provides/requires in rpm
 Additional utilities for checking perl provides/requires in rpm
+%description -l de perlprov
+
+%description perlprov -l de
 %description -l pl perlprov
 Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci dla skryptów perl w
 %description perlprov -l pl
 Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów perla w
 Python para manipular pacotes e bancos de dados RPM.
 
 %description -l pl perlprov
 Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci dla skryptów perl w
 %description perlprov -l pl
 Dodatkowe narzêdzia do sprawdzenia zale¿no¶ci skryptów perla w
 Python para manipular pacotes e bancos de dados RPM.
 
+%package build
 Summary(pl):   Skrypty pomocnicze do budowania binarnych RPMów
 Summary(pl):   Skrypty pomocnicze do budowania binarnych RPM-ów
 Group(de):     Applikationen/Datei
 Summary(pl):   Skrypty pomocnicze do budowania binarnych RPMów
 Summary(pl):   Skrypty pomocnicze do budowania binarnych RPM-ów
 Group(de):     Applikationen/Datei
@@ -159,38 +181,41 @@ Requires: file >= 3.31
 Requires:      binutils
 Requires:      gcc >= 3.0.3
 Requires:      gcc
 Requires:      binutils
 Requires:      gcc >= 3.0.3
 Requires:      gcc
+Requires:      diffutils
+Requires:      libtool
+Requires:      glibc-devel
+Requires:      sed
 Requires:      tar
 Requires:      textutils
 
 %description build
 Requires:      tar
 Requires:      textutils
 
 %description build
+%description -l de build
+
+%description build -l de
 %description -l pl build
 Skrypty pomocnicze do budowania binarnych RPMów.
 %description build -l pl
 construir pacotes usando o RPM.
 %setup  -q
 %prep
 %description -l pl build
 Skrypty pomocnicze do budowania binarnych RPMów.
 %description build -l pl
 construir pacotes usando o RPM.
 %setup  -q
 %prep
-%patch1 -p1
+%setup -q -a12
 %patch0 -p1
 %patch1 -p1
 %patch0 -p1
 %patch1 -p1
+%patch4 -p1 
+%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch4 -p1
 %patch5 -p1
-%patch6 -p1 
-%patch7 -p1 
-%patch8 -p1
+%patch6 -p1
 %patch7 -p1
 %patch7 -p1
-%patch10 -p1
-%patch11 -p1
-#%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
+%patch8 -p1
+%patch11 -p0
+%patch12 -p0
 %patch31 -p1
 install %{SOURCE2} macros.pld.in
 %patch38 -p1
 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
 cp -f platform.in macros.pld.in
 %patch31 -p1
 install %{SOURCE2} macros.pld.in
 %patch38 -p1
 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
 cp -f platform.in macros.pld.in
+install %{SOURCE9} scripts/find-lang.sh
 install %{SOURCE13} macros.python.in
 (cd scripts; 
 install %{SOURCE7} scripts/find-perl-requires
 install %{SOURCE13} macros.python.in
 (cd scripts; 
 install %{SOURCE7} scripts/find-perl-requires
@@ -204,19 +229,29 @@ mv -f perl.prov perl.prov.in)
  libtoolize --force --copy
  aclocal
  autoheader
  libtoolize --force --copy
  aclocal
  autoheader
- automake --add-missing --gnu
- autoconf)
+ autoconf
+ automake -a -c)
 autoheader
 %{__automake}
 autoheader
 %{__automake}
+cd ..
 
 autoheader
 
 autoheader
-automake --add-missing --gnu
 autoconf
 autoconf
+# ugly workaround for automake
+sed -e 's#cpio.c $(DBLIBOBJS) depends.c#cpio.c depends.c#g' \
+       lib/Makefile.am > lib/Makefile.am.new
+mv -f lib/Makefile.am.new lib/Makefile.am
+automake -a -c
+sed -e 's#cpio.c depends.c#cpio.c $(DBLIBOBJS) depends.c#g' \
+       lib/Makefile.in > lib/Makefile.in.new
+mv -f lib/Makefile.in.new lib/Makefile.in
 %configure \
        sed 's|@host_cpu@|%{_target_cpu}|' > macros.tmp
        --enable-v1-packages
 %configure \
 %configure \
        sed 's|@host_cpu@|%{_target_cpu}|' > macros.tmp
        --enable-v1-packages
 %configure \
-%{__make}
+%{__make} %{?bcond_off_static:rpm_LDFLAGS="\\$(myLDFLAGS)"}
+sed -e 's/#include <rpmio\.h>/#include <rpmio\/rpmio\.h>/g' lib/header.h > lib/header.h.new
+mv -f lib/header.h.new lib/header.h
        --with-python
 
 
        --with-python
 
 
@@ -232,52 +267,27 @@ install macros.pld $RPM_BUILD_ROOT%{_libdir}/rpm/macros.pld
 install macros.perl $RPM_BUILD_ROOT%{_libdir}/rpm/macros.perl
 install macros.python $RPM_BUILD_ROOT%{_libdir}/rpm/macros.python
 
 install macros.perl $RPM_BUILD_ROOT%{_libdir}/rpm/macros.perl
 install macros.python $RPM_BUILD_ROOT%{_libdir}/rpm/macros.python
 
+install %{SOURCE1} doc/manual/groups
+install %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/rpm/install-build-tree
 install %{SOURCE8} $RPM_BUILD_ROOT%{_libdir}/rpm/find-spec-bcond
 install %{SOURCE8} $RPM_BUILD_ROOT%{_libdir}/rpm/find-spec-bcond
+install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/rpm/find-provides
+install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/rpm/find-requires
+install %{SOURCE15} $RPM_BUILD_ROOT%{_libdir}/rpm/compress-doc
+
+install rpmio/ugid.h $RPM_BUILD_ROOT%{_includedir}/rpm
+
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
+# customized rpm macros - global for host
+#
 #%%_install_langs pl_PL:en_US
 %%distribution PLD
 EOF
 
 %find_lang %{name}
 
 #%%_install_langs pl_PL:en_US
 %%distribution PLD
 EOF
 
 %find_lang %{name}
 
-%pre
-if [ -L /var/lib/rpm ]; then
-       echo "WARNING:upgrade cannot be done because /var/state/rpm is symlink"
-       exit 1
-fi
-if [ ! -d /var/lib/rpm ]; then 
-       if [ -e /var/state/rpm ] && [ ! -L /var/state/rpm ]; then
-               mkdir -p /var/lib/rpm
-               cp -ap /var/state/rpm/* /var/lib/rpm
-               rm -rf /var/state/rpm
-               ln -sf /var/lib/rpm /var/state/rpm
-               echo "RPM Database moved from /var/state/rpm to /var/lib/rpm" 1>&2
-               echo "Run second time upgradeing rpm package for complete operation" 1>&2
-               exit 1
-       fi
-       if [ -e /var/db/rpm ] && [ ! -L /var/db/rpm ]; then
-               mkdir -p /var/lib/rpm
-               cp -ap /var/db/rpm/* /var/lib/rpm
-               rm -rf /var/db/rpm
-               ln -sf /var/lib/rpm /var/db/rpm
-               echo "RPM Database moved from /var/db/rpm to /var/lib/rpm" 1>&2
-               echo "Run second time upgradeing rpm package for complete operation" 1>&2
-               exit 1
-       fi
-fi
-
-%post
-if [ -L /var/lib/rpm ]; then
-       rm -rf /var/lib/rpm
-fi
-if [ -L /var/db/rpm ]; then
-       rm -rf /var/db/rpm
-fi
-if [ ! -f /var/lib/rpm/packages.rpm ]; then
-       /bin/rpm --initdb
-fi
-
-%post   libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
+%post   -p /sbin/ldconfig
+
 %clean
 %clean
 rm -rf $RPM_BUILD_ROOT
 %clean
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -291,7 +301,11 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/rpm/rpmq
 %attr(755,root,root) %{_libdir}/rpm/rpmk
 %attr(755,root,root) %{_libdir}/rpm/rpmv
 %attr(755,root,root) %{_libdir}/rpm/rpmq
 %attr(755,root,root) %{_libdir}/rpm/rpmk
 %attr(755,root,root) %{_libdir}/rpm/rpmv
+%attr(755,root,root) %{_libdir}/librpm*.so.*.*
 %attr(755,root,root) %{_libdir}/rpm/rpmdb
 %attr(755,root,root) %{_libdir}/rpm/rpmdb
+%attr(755,root,root) %{_libdir}/rpm/rpmq
+%attr(755,root,root) %{_libdir}/rpm/rpmk
+%attr(755,root,root) %{_libdir}/rpm/rpmv
 %attr(755,root,root) %{_libdir}/librpm*.so.*.*
 %{_mandir}/man8/rpm.8*
 %lang(pl) %{_mandir}/pl/man8/rpm.8*
 %attr(755,root,root) %{_libdir}/librpm*.so.*.*
 %{_mandir}/man8/rpm.8*
 %lang(pl) %{_mandir}/pl/man8/rpm.8*
@@ -331,7 +345,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/rpm/alpha-pld-linux
 %ifarch sparc sparc64
 %endif
 %{_libdir}/rpm/alpha-pld-linux
 %ifarch sparc sparc64
 %endif
-
 %ifarch ppc
 %{_libdir}/rpm/ppc*
 %defattr(644,root,root,755)
 %ifarch ppc
 %{_libdir}/rpm/ppc*
 %defattr(644,root,root,755)
@@ -364,10 +377,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/librpm*.la
 %attr(755,root,root) %{_libdir}/librpm*.so
 %files devel
 %attr(755,root,root) %{_libdir}/librpm*.la
 %attr(755,root,root) %{_libdir}/librpm*.so
 %files devel
-%files libs
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/librpm*.so.*.*
-
 %defattr(644,root,root,755)
 %{_includedir}/rpm
 %attr(755,root,root) %{_libdir}/librpm*.la
 %defattr(644,root,root,755)
 %{_includedir}/rpm
 %attr(755,root,root) %{_libdir}/librpm*.la
This page took 0.046897 seconds and 4 git commands to generate.