]> git.pld-linux.org Git - packages/sendmail.git/blobdiff - sendmail.spec
- one more update
[packages/sendmail.git] / sendmail.spec
index 8bd190cb5775001b485a07733569baa510a388ea..6e9435fed1479c83a0226bacf8ae907b0f3f663f 100644 (file)
@@ -1,43 +1,60 @@
+#
+# Conditional build:
+# _without_ldap - without LDAP
+#
 Summary:       A widely used Mail Transport Agent (MTA)
-Summary(pl):   Sendmail -- aplikacja do obs³ugi poczty elektronicznej
+Summary(de):   sendmail-Mail-Übertragungsagent
+Summary(fr):   Agent de transport de courrier sendmail
+Summary(pl):   Sendmail - serwer poczty elektronicznej
+Summary(tr):   Elektronik posta hizmetleri sunucusu
 Name:          sendmail
-Version:       8.11.1
+Version:       8.12.0
 Release:       1
 License:       BSD
 Group:         Networking/Daemons
+Group(de):     Netzwerkwesen/Server
 Group(pl):     Sieciowe/Serwery
 Provides:      smtpdaemon
 Source0:       ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
-Source1:       sendmail.init
+Source1:       %{name}.init
 Source2:       http://www.informatik.uni-kiel.de/~ca/email/rules/check.tar
 Source3:       aliases
-Source4:       sendmail.sysconfig
-Source5:       sendmail-etc-mail-Makefile
-Source6:       sendmail.mc
-Source7:       sendmail-config.m4
-Patch0:                sendmail-redhat.patch
-Patch1:                sendmail-makemapman.patch
-Patch2:                sendmail-smrsh-paths.patch
-Patch3:                sendmail-rmail.patch
-Patch4:                sendmail-manpath.patch
-Patch5:                sendmail-m4path.patch
-Patch6:                sendmail-dtelnet.patch
-Patch7:                sendmail-pld.mc.patch
-Patch8:                sendmail-redirect.patch
+Source4:       %{name}.sysconfig
+Source5:       %{name}-etc-mail-Makefile
+Source6:       %{name}.mc
+Source7:       %{name}-config.m4
+Source8:       %{name}.sasl
+Patch0:                %{name}-makefile.patch
+#Patch0:               %{name}-redhat.patch
+Patch1:                %{name}-makemapman.patch
+Patch2:                %{name}-smrsh-paths.patch
+Patch3:                %{name}-rmail.patch
+Patch4:                %{name}-os-paths.patch
+Patch5:                %{name}-m4path.patch
+Patch6:                %{name}-dtelnet.patch
+Patch7:                %{name}-pld.mc.patch
+Patch8:                %{name}-redirect.patch
+Patch9:                %{name}-hprescan-dos.patch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 BuildRequires: cyrus-sasl-devel
 BuildRequires: db3-devel
-BuildRequires: gdbm-devel
+%{!?_without_ldap:BuildRequires:       openldap-devel}
 BuildRequires: pam-devel
-Prereq:                /sbin/chkconfig
+Requires:      m4
+Prereq:                chkconfig
 Provides:      smtpdaemon
 Obsoletes:     smtpdaemon
-Obsoletes:     zmailer
-Obsoletes:     qmail
-Obsoletes:     smail
 Obsoletes:     exim
+Obsoletes:     masqmail
 Obsoletes:     postfix
-#Obsoletes:    sendmail-cf
+Obsoletes:     qmail
+Obsoletes:     sendmail-cf
+Obsoletes:     sendmail-doc
+Obsoletes:     smail
+Obsoletes:     zmailer
+Obsoletes:     omta
+
+%define                _sysconfdir     /etc/mail
 
 %description
 The Sendmail program is a very widely used Mail Transport Agent (MTA).
@@ -46,8 +63,19 @@ program, which you use to read your e-mail. Sendmail is a
 behind-the-scenes program which actually moves your e-mail over
 networks or the Internet to where you want it to go.
 
-If you need documentation on Sendmail, you can install the sendmail-doc
-package.
+%description -l de
+Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine
+allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und
+Weiterleiten von Nachrichten, automatischem Routing an
+Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über
+das Internet senden und empfangen möchten, brauchen Sie sendmail.
+
+%description -l fr
+Sendmail est un agent de transport de courrier, qui est le programme
+transférent le courrier d'une machine à l'autre. Sendmail implémente
+une facilité générale de routage de courrier entre les réseaux, permet
+l'\"aliasing\" et le \"forwarding\", un routage automatique sur les
+passerelles du réseau, et une configuration flexible.
 
 %description -l pl
 Sendmail jest programem umo¿liwiaj±cym wymianê poczty elektronicznej
@@ -58,61 +86,10 @@ dodatkowym atutem jest prosta konfiguracja. Dzi
 mo¿liwo¶ciom konfiguracyjnym jest w stanie dostarczaæ przesy³ki za
 po¶rednictwem protoko³ów: SMTP, ESMTP, UUCP, X.400 i innych.
 
-dokumentacja do programu sendmail znajduje siê w pakiecie sendmail-doc.
-
-%package cf
-Summary:       The files needed to reconfigure Sendmail
-Summary(pl):   Pliki potrzebne do rekonfiguracji Sendmaila
-Group:         Networking/Daemons
-Group(pl):     Sieciowe/Serwery
-Requires:      %{name} = %{version}
-Requires:      m4
-
-%description cf
-This package includes the configuration files which you'd need to
-generate the sendmail.cf file distributed with the sendmail package.
-You'll need the sendmail-cf package if you ever need to reconfigure
-and rebuild your sendmail.cf file.  For example, the default
-sendmail.cf file is not configured for UUCP.  If someday you needed to
-send and receive mail over UUCP, you'd need to install the sendmail-cf
-package to help you reconfigure Sendmail.
-
-Install the sendmail-cf package if you need to reconfigure your
-sendmail.cf file.
-
-%description -l pl cf
-B
-Ten pakiet zawiera pliki konfiguracyjne, których bêdziesz potrzebowa³,
-by wygenerowaæ plik sendmail.cf, zawarty w pakiecie sendmail.
-Bêdziesz potrzebowa³ pakietu sendmail-cf je¿eli potrzebujesz
-zrekonfigurowaæ i przebudowaæ plik sendmail.cf. Na przyk³ad, domy¶lny
-sendmail.cf nie jest skonfigurowany dla UUCP. Je¿eli kiedy¶ bêdziesz
-potrzebowa³ wysy³aæ i odbieraæ porztê po UUCP, bêdziesz musia³
-zainstalowaæ pakiet sendmail-cf, który pomo¿e ci zrekonfigurowaæ Sendmaila.
-
-%package doc
-Summary:       Documentation about the Sendmail Mail Transport Agent program
-Summary(pl):   Dokumentacja do Sendmaila
-Group:         Documentation
-Group(pl):     Dokumentacja
-Requires:      %{name} = %{version}
-
-%description doc
-The sendmail-doc package contains documentation about the Sendmail
-Mail Transport Agent (MTA) program, including release notes, the
-Sendmail FAQ and a few papers written about Sendmail. The papers are
-provided in PostScript(TM) and troff formats.
-
-Install the sendmail-doc package if you need documentation about
-Sendmail.
-
-%description -l pl doc
-Ten pakiet zawiera dokumentacjê do programu Sendmail Mail Transport
-Agent (MTA). Dokumentacja zwawiera informacje o zmianach w bie¿±cej
-wersji i FAQ - najczêsciej zadawane pytania. Dokumentacja dostêpna jest
-w formacie PostScript(TM) oraz troff. Je¿eli potrzebujesz dokumentacji
-B
-- zainstaluj ten pakiet.
+%description -l tr
+Sendmail, bir mektubu bir makineden diðerine taþýr. Pek çok davranýþý
+ayarlanabilir. Internet üzerinden mektup almak veya göndermek
+istiyorsanýz bu pakete gereksiniminiz olacaktýr.
 
 %prep
 %setup -q
@@ -120,11 +97,12 @@ B
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p0
+%patch4 -p1
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
+%patch9 -p1
 
 # seems to be obsoleted...
 #tar xf %{SOURCE2} -C cf
@@ -135,36 +113,43 @@ install %{SOURCE7} config.m4
 
 %build
 
-#RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DUSE_VENDOR_CF_PATH=1 -DNETINET6"
-# won't compile with -DNETINET6 on glibc-2.2 - resolver problems
+%if %{?debug:0}%{!?debug:1}
+echo "define(\`confLDOPTS\', \`-s\')" >> config.m4
+%endif
+%if %{?_without_ldap:0}%{!?_without_ldap:1}
+echo "APPENDDEF(\`confMAPDEF\', \`-DLDAPMAP\')" >> config.m4
+echo "APPENDDEF(\`confLIBS\', \`-lldap -llber\')" >> config.m4
+%endif
 
-RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DUSE_VENDOR_CF_PATH=1"
+RPM_OPT_FLAGS="%{rpmcflags} \
+       -DUSE_VENDOR_CF_PATH=1 -DNETINET6 -D_FFR_TESTMODE_DROP_PRIVS"
 export RPM_OPT_FLAGS
 
 cd sendmail    && sh Build -f ../config.m4
-cd ../mailstats        && sh Build -f ../config.m4
-cd ../rmail    && sh Build -f ../config.m4
-cd ../makemap  && sh Build -f ../config.m4
-cd ../praliases        && sh Build -f ../config.m4
-cd ../smrsh    && sh Build -f ../config.m4
-cd ../cf/cf
-m4 redhat.mc > redhat.cf
+#cd ../mailstats       && sh Build -f ../config.m4
+#cd ../rmail   && sh Build -f ../config.m4
+#cd ../makemap && sh Build -f ../config.m4
+#cd ../praliases       && sh Build -f ../config.m4
+#cd ../smrsh   && sh Build -f ../config.m4
+#cd ../cf/cf
+#m4 redhat.mc > redhat.cf
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{mail,smrsh}
-install -d $RPM_BUILD_ROOT/etc/rc.d/init.d $RPM_BUILD_ROOT/etc/sysconfig
-install -d $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir}
-install -d $RPM_BUILD_ROOT%{_mandir}/man{1,5,8}
-install -d $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue
-install -d $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,sasl,smrsh}} \
+       $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir} \
+       $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
+       $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue \
+       $RPM_BUILD_ROOT%{_libdir}/sendmail-cf \
 
 OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
 
 IDNU=`id -nu`
 IDNG=`id -ng`
 SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
-       UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG"
+       UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
+       CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG \
+       BINOWN=$IDNU BINGRP=$IDNG"
 %{__make} $SMINSTOPT install -C $OBJDIR/sendmail
 %{__make} $SMINSTOPT install -C $OBJDIR/mailstats
 %{__make} $SMINSTOPT install -C $OBJDIR/praliases
@@ -176,8 +161,8 @@ ln -sf ../sbin/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
 # install docs by hand
 install -d $RPM_BUILD_ROOT%{_docdir}/sendmail
 cp -ar FAQ LICENSE KNOWNBUGS README RELEASE_NOTES doc $RPM_BUILD_ROOT%{_docdir}/sendmail
-cp smrsh/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.smrsh
-cp cf/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.cf
+cp -f smrsh/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.smrsh
+cp -f cf/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.cf
 
 # install the cf files
 cd cf
@@ -185,11 +170,11 @@ rm -f cf/{Build,Makefile} feature/*~
 cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
 cd -
 
-install cf/cf/redhat.cf $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.cf
+install cf/cf/redhat.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
 sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} \
-       > $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.mc
+       > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
 echo "# local-host-names - include all aliases for your machine here." \
-       > $RPM_BUILD_ROOT%{_sysconfdir}/mail/local-host-names
+       > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
 
 ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
 
@@ -198,7 +183,7 @@ for f in hoststat mailq newaliases purgestat ; do
   ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
 done
 
-cat <<EOF > $RPM_BUILD_ROOT%{_sysconfdir}/mail/access
+cat <<EOF > $RPM_BUILD_ROOT%{_sysconfdir}/access
 # Check the %{_prefix}/doc/sendmail-%{version}/README.cf file for a description
 # of the format of this file. (search for access_db in that file)
 # The %{_prefix}/doc/sendmail-%{version}/README.cf is part of the sendmail-doc
@@ -211,18 +196,23 @@ localhost                 RELAY
 EOF
 
 for map in virtusertable access domaintable mailertable ; do
-  touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map}
-  $RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.cf hash \
-       $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map}
+       touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
+               $RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
+               $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map}
 done
 
-install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases
-$RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.cf hash \
-       $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases.db < %{SOURCE3}
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
+$RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
+       $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3}
 
 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/sendmail
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
-install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mail/Makefile
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
+install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
+
+mv -f $RPM_BUILD_ROOT/usr/share/doc/sendmail/{FAQ,KNOWNBUGS,LICENSE,README,README.cf,doc/op/op.me} .
+
+gzip -9nf FAQ KNOWNBUGS README README.cf op.me RELEASE_NOTES
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -232,40 +222,39 @@ rm -rf $RPM_BUILD_ROOT
 # Convert old format to new
 #
 if [ -f /etc/mail/deny ] ; then
-    cat /etc/mail/deny | \
-       awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
-                 {print $1" REJECT"}' >> /etc/mail/access
-    cp /etc/mail/deny /etc/mail/deny.rpmorig
+       cat /etc/mail/deny | \
+               awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
+               {print $1" REJECT"}' >> /etc/mail/access
+       cp /etc/mail/deny /etc/mail/deny.rpmorig
 fi
 for oldfile in relay_allow ip_allow name_allow ; do
-    if [ -f /etc/mail/$oldfile ] ; then
-       cat /etc/mail/$oldfile | \
-               awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
-            { print $1\" RELAY\" }" >> /etc/mail/access
-       cp /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
-     fi
+       if [ -f /etc/mail/$oldfile ] ; then
+               cat /etc/mail/$oldfile | \
+                       awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
+                       { print $1\" RELAY\" }" >> /etc/mail/access
+               cp /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
+       fi
 done
 
 #
 # Oops, these files moved
 #
 if [ -f /etc/sendmail.cw ] ; then
-    cat /etc/sendmail.cw  | \
-      awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
-           { print $1 }' >> /etc/mail/local-host-names
-    cp /etc/sendmail.cw /etc/sendmail.cw.rpmorig
+       cat /etc/sendmail.cw  | \
+               awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
+               { print $1 }' >> /etc/mail/local-host-names
+       cp /etc/sendmail.cw /etc/sendmail.cw.rpmorig
 fi
 #
 # Rebuild maps (next reboot will rebuild also)
 #
 { /usr/bin/newaliases
-  for map in virtusertable access domaintable mailertable
-  do
-    if [ -f /etc/mail/${map} ] ; then
-      /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
-      sleep 1
-    fi
-  done
+ for map in virtusertable access domaintable mailertable; do
+       if [ -f /etc/mail/${map} ] ; then
+               /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
+               sleep 1
+       fi
+ done
 } > /dev/null 2>&1
 
 /sbin/chkconfig --add sendmail
@@ -289,6 +278,7 @@ fi
 
 %files
 %defattr(644,root,root,755)
+%doc *.gz
 %attr(755,root,root) %{_sbindir}/mailstats
 %attr(755,root,root) %{_sbindir}/praliases
 %attr(755,root,root) %{_bindir}/hoststat
@@ -296,7 +286,7 @@ fi
 %attr(755,root,root) %{_bindir}/rmail
 %attr(755,root,root) %{_bindir}/makemap
 %attr(755,root,root) %{_sbindir}/makemap
-%attr(755,root,root) %{_sbindir}/sendmail
+%attr(6755,root,mail) %{_sbindir}/sendmail
 %attr(755,root,root) %{_bindir}/newaliases
 %attr(755,root,root) %{_bindir}/mailq
 %attr(755,root,root) %{_sbindir}/smrsh
@@ -313,34 +303,38 @@ fi
 
 /var/log/statistics
 # XXX can't do noreplace here or new sendmail will not deliver.
-#%config %{_sysconfdir}/sendmail.cf
-%config %{_sysconfdir}/mail/sendmail.cf
-%config %{_sysconfdir}/mail/sendmail.mc
-%config(noreplace) %{_sysconfdir}/mail/local-host-names
-%config(noreplace) %{_sysconfdir}/mail/aliases
-%attr(0644,root,mail) %ghost %{_sysconfdir}/mail/aliases.db
-%attr(0755,root,mail) %dir /var/spool/mqueue
-%dir %{_sysconfdir}/smrsh
-%dir %{_sysconfdir}/mail
-
-%config %{_sysconfdir}/mail/Makefile
-%ghost %{_sysconfdir}/mail/virtusertable.db
-%config(noreplace) %{_sysconfdir}/mail/virtusertable
-%ghost %{_sysconfdir}/mail/access.db
-%config(noreplace) %{_sysconfdir}/mail/access
-%ghost %{_sysconfdir}/mail/domaintable.db
-%config(noreplace) %{_sysconfdir}/mail/domaintable
-%ghost %{_sysconfdir}/mail/mailertable.db
-%config(noreplace) %{_sysconfdir}/mail/mailertable
-%config(noreplace) %{_sysconfdir}/mail/helpfile
+%config(noreplace) %{_sysconfdir}/sendmail.cf
+%config(noreplace) %{_sysconfdir}/sendmail.mc
+%config(noreplace) %{_sysconfdir}/local-host-names
+%config(noreplace) %{_sysconfdir}/aliases
+%attr(0644,root,mail) %ghost %{_sysconfdir}/aliases.db
+%attr(0770,root,mail) %dir /var/spool/mqueue
+%dir /etc/smrsh
+%dir %{_sysconfdir}
+
+%config %{_sysconfdir}/Makefile
+%ghost %{_sysconfdir}/virtusertable.db
+%config(noreplace) %{_sysconfdir}/virtusertable
+%ghost %{_sysconfdir}/access.db
+%config(noreplace) %{_sysconfdir}/access
+%ghost %{_sysconfdir}/domaintable.db
+%config(noreplace) %{_sysconfdir}/domaintable
+%ghost %{_sysconfdir}/mailertable.db
+%config(noreplace) %{_sysconfdir}/mailertable
+%config(noreplace) %{_sysconfdir}/helpfile
 
 %attr(754,root,root) /etc/rc.d/init.d/sendmail
 %config(noreplace) /etc/sysconfig/sendmail
-
-%files cf
-%defattr(644,root,root,755)
-%{_libdir}/sendmail-cf
-
-%files doc
-%defattr(644,root,root,755)
-%{_docdir}/sendmail
+%config(noreplace) /etc/sasl/Sendmail.conf
+
+%dir %{_libdir}/sendmail-cf
+%dir %{_libdir}/sendmail-cf/cf
+%{_libdir}/sendmail-cf/cf/pld.mc
+%{_libdir}/sendmail-cf/feature
+%{_libdir}/sendmail-cf/m4
+%{_libdir}/sendmail-cf/mailer
+%dir %{_libdir}/sendmail-cf/ostype
+%{_libdir}/sendmail-cf/ostype/linux.m4
+%dir %{_libdir}/sendmail-cf/sh
+%{_libdir}/sendmail-cf/sh/makeinfo.sh
+%{_libdir}/sendmail-cf/siteconfig
This page took 0.103232 seconds and 4 git commands to generate.