]> git.pld-linux.org Git - packages/avahi.git/blobdiff - avahi.spec
- use nss_mdns when referring to nss-mdns as that is our package name; rel 3
[packages/avahi.git] / avahi.spec
index 650fb9776d7481147462c1e9f41a2bad77e2bd83..d3c08fa8886c2e08c2e2c713c31b6d2d50cda86b 100644 (file)
@@ -1,4 +1,3 @@
-#
 # TODO:
 # - autoip subpackage ?
 # - autoip start script ?
@@ -8,28 +7,37 @@
 %bcond_without qt              # build without (any) qt bindings
 %bcond_without qt3             # build without qt3 bindings
 %bcond_without qt4             # build without qt4 bindings
-#
-%if !%{with qt}
+
+%ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
+%undefine with_dotnet
+%endif
+%ifarch i386
+%undefine with_dotnet
+%endif
+
+%if %{without qt}
 %undefine      with_qt3
 %undefine      with_qt4
 %endif
-%include /usr/lib/rpm/macros.mono
-#
+
+%{?with_dotnet:%include /usr/lib/rpm/macros.mono}
 Summary:       Free mDNS/DNS-SD implementation
 Summary(pl.UTF-8):     Wolna implementacja mDNS/DNS-SD
 Name:          avahi
-Version:       0.6.17
-Release:       1
-License:       GPL v.2/LGPL
+Version:       0.6.25
+Release:       3
+License:       LGPL v2.1+
 Group:         Applications
 Source0:       http://avahi.org/download/%{name}-%{version}.tar.gz
-# Source0-md5: 29ebb2181958d5721ee5fc45f035a77c
+# Source0-md5: a83155a6e29e3988f07e5eea3287b21e
 Source1:       %{name}-daemon
 Source2:       %{name}-dnsconfd
 Source3:       %{name}.png
 Patch0:                %{name}-desktop.patch
 Patch1:                %{name}-glade.patch
 Patch2:                %{name}-destdir.patch
+Patch3:                %{name}-mono-dir.patch
+Patch4:                nss-mdns-package.patch
 URL:           http://avahi.org/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -37,14 +45,17 @@ BuildRequires:      dbus-devel >= 0.92
 BuildRequires: doxygen
 BuildRequires: expat-devel
 BuildRequires: gdbm-devel
+BuildRequires: gettext-devel
 BuildRequires: glib2-devel >= 1:2.12.2
 BuildRequires: graphviz
 BuildRequires: gtk+2-devel >= 2:2.10.2
+BuildRequires: intltool >= 0.35
 BuildRequires: libcap-devel
-BuildRequires: libdaemon-devel >= 0.5
+BuildRequires: libdaemon-devel >= 0.11
 BuildRequires: libglade2-devel >= 1:2.6.0
 BuildRequires: libtool
 %if %{with dotnet}
+BuildRequires: dotnet-gtk-sharp2-devel >= 2.10
 BuildRequires: mono-csharp
 BuildRequires: monodoc
 %endif
@@ -59,10 +70,12 @@ BuildRequires:      qt-devel >= 1:3.0
 BuildRequires: QtCore-devel
 BuildRequires: qt4-build
 %endif
+BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.228
 Requires(post,preun):  /sbin/chkconfig
-Requires:      dbus >= 0.92
 Requires:      %{name}-libs = %{version}-%{release}
+Requires:      dbus >= 0.92
+Requires:      libdaemon >= 0.11
 Provides:      group(avahi)
 Provides:      user(avahi)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -95,7 +108,6 @@ Group:               Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      dbus-devel >= 0.92
 Requires:      expat-devel
-Requires:      libdaemon-devel >= 0.5
 
 %description devel
 This is the package containing the header files for Avahi library.
@@ -115,6 +127,45 @@ Static Avahi library.
 %description static -l pl.UTF-8
 Statyczna biblioteka Avahi.
 
+%package ui
+Summary:       Avahi UI library
+Summary(pl.UTF-8):     Biblioteka Avahi UI
+Group:         X11/Libraries
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      gtk+2 >= 2:2.10.2
+
+%description ui
+Common GTK+ UI support library for Avahi.
+
+%description ui -l pl.UTF-8
+Biblioteka wspólnego interfejsu użytkownika GTK+ dla Avahi.
+
+%package ui-devel
+Summary:       Header files for Avahi UI library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki Avahi UI
+Group:         X11/Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-ui = %{version}-%{release}
+Requires:      gtk+2-devel >= 2:2.10.2
+
+%description ui-devel
+Header files for Avahi UI library.
+
+%description ui-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki Avahi UI.
+
+%package ui-static
+Summary:       Static Avahi UI library
+Summary(pl.UTF-8):     Statyczna biblioteka Avahi UI
+Group:         X11/Development/Libraries
+Requires:      %{name}-ui-devel = %{version}-%{release}
+
+%description ui-static
+Static Avahi UI library.
+
+%description ui-static -l pl.UTF-8
+Statyczna biblioteka Avahi UI.
+
 %package compat-libdns_sd
 Summary:       Avahi Bonjour compat library
 Summary(pl.UTF-8):     Biblioteka Avahi zgodna z Bonjour
@@ -236,6 +287,44 @@ Static Avahi GLib library.
 %description glib-static -l pl.UTF-8
 Statyczna biblioteka Avahi GLib.
 
+%package gobject
+Summary:       Avahi GObject interface
+Summary(pl.UTF-8):     Interfejs GObject do Avahi
+Group:         Libraries
+
+%description gobject
+Avahi GObject interface.
+
+%description gobject -l pl.UTF-8
+Interfejs GObject do Avahi.
+
+%package gobject-devel
+Summary:       Header files for Avahi GObject interface
+Summary(pl.UTF-8):     Pliki nagłówkowe interfejsu GObject do Avahi
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-gobject = %{version}-%{release}
+Requires:      glib2-devel >= 1:2.12.2
+
+%description gobject-devel
+This is the package containing the header files for Avahi GObject
+interface.
+
+%description gobject-devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe interfejsu GObject do Avahi.
+
+%package gobject-static
+Summary:       Static Avahi GObject library
+Summary(pl.UTF-8):     Statyczna biblioteka Avahi GObject
+Group:         Development/Libraries
+Requires:      %{name}-gobject-devel = %{version}-%{release}
+
+%description gobject-static
+Static Avahi GObject library.
+
+%description gobject-static -l pl.UTF-8
+Statyczna biblioteka Avahi GObject.
+
 %package qt
 Summary:       Avahi Qt 3 library bindings
 Summary(pl.UTF-8):     Wiązania Avahi dla biblioteki Qt 3
@@ -293,8 +382,8 @@ Wiązania Avahi dla biblioteki Qt 4.
 Summary:       Header files for Avahi Qt 4 library bindings
 Summary(pl.UTF-8):     Pliki nagłówkowe wiązań Avahi dla biblioteki Qt 4
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
 Requires:      %{name}-Qt = %{version}-%{release}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description Qt-devel
 Header files for Avahi Qt 4 library bindings.
@@ -314,10 +403,24 @@ Static Avahi Qt 4 library.
 %description Qt-static -l pl.UTF-8
 Statyczna biblioteka Avahi Qt 4.
 
+%package -n python-avahi
+Summary:       Avahi Python bindings
+Summary(pl.UTF-8):     Wiązania Avahi dla Pythona
+Group:         Development/Languages/Python
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      python-dbus >= 0.71
+
+%description -n python-avahi
+Avahi Python bindings.
+
+%description -n python-avahi -l pl.UTF-8
+Wiązania Avahi dla Pythona.
+
 %package -n dotnet-avahi
 Summary:       Avahi MONO bindings
 Summary(pl.UTF-8):     Wiązania Avahi dla MONO
 Group:         Libraries
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description -n dotnet-avahi
 Avahi MONO bindings.
@@ -338,6 +441,32 @@ Development files for MONO Avahi bindings.
 %description -n dotnet-avahi-devel -l pl.UTF-8
 Pliki rozwojowe wiązań Avahi dla MONO.
 
+%package -n dotnet-avahi-ui
+Summary:       Avahi UI MONO bindings
+Summary(pl.UTF-8):     Wiązania Avahi UI dla MONO
+Group:         X11/Libraries
+Requires:      %{name}-ui = %{version}-%{release}
+Requires:      dotnet-avahi = %{version}-%{release}
+
+%description -n dotnet-avahi-ui
+Avahi UI MONO bindings.
+
+%description -n dotnet-avahi-ui -l pl.UTF-8
+Wiązania Avahi UI dla MONO.
+
+%package -n dotnet-avahi-ui-devel
+Summary:       Development files for MONO Avahi UI bindings
+Summary(pl.UTF-8):     Pliki rozwojowe wiązań Avahi UI dla MONO
+Group:         X11/Development/Libraries
+Requires:      dotnet-avahi-ui = %{version}-%{release}
+Requires:      monodoc
+
+%description -n dotnet-avahi-ui-devel
+Development files for MONO Avahi UI bindings.
+
+%description -n dotnet-avahi-ui-devel -l pl.UTF-8
+Pliki rozwojowe wiązań Avahi UI dla MONO.
+
 %package bookmarks
 Summary:       Miniature web server
 Summary(pl.UTF-8):     Miniaturowy serwer web
@@ -357,8 +486,7 @@ je jako odnośniki HTML na http://localhost:8080/.
 Summary:       Avahi Zeroconf browser
 Summary(pl.UTF-8):     Przeglądarka Zeroconf Avahi
 Group:         Applications
-Requires:      %{name} = %{version}-%{release}
-Requires:      python-dbus >= 0.71
+Requires:      python-avahi = %{version}-%{release}
 Requires:      python-pygtk-glade >= 2:2.9.6
 
 %description discover
@@ -373,9 +501,7 @@ Narzędzie wymieniające wszystkie dostępne usługi w sieci lokalnej LAN
 Summary:       Avahi Zeroconf browser
 Summary(pl.UTF-8):     Przeglądarka Zeroconf Avahi
 Group:         Applications
-Requires:      %{name} = %{version}-%{release}
-Requires:      python-dbus >= 0.71
-Requires:      python-pygtk-glade >= 2:2.9.6
+Requires:      %{name}-glib = %{version}-%{release}
 
 %description discover-standalone
 GTK+ tool for enumerating all available services on the local LAN.
@@ -400,8 +526,11 @@ Narzędzia linii poleceń korzystające z avahi-client.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 
 %build
+%{__intltoolize}
 %{__libtoolize}
 %{__aclocal} -I common
 %{__autoconf}
@@ -425,8 +554,8 @@ install -d $RPM_BUILD_ROOT{%{_pixmapsdir},/etc/rc.d/init.d}
        DESTDIR=$RPM_BUILD_ROOT \
        pythondir=%{py_sitedir}
 
-install %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d
-install %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir}
+install -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d
+cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir}
 
 ln -sf %{_includedir}/avahi-compat-libdns_sd/dns_sd.h \
        $RPM_BUILD_ROOT%{_includedir}/dns_sd.h
@@ -434,14 +563,18 @@ ln -sf %{_includedir}/avahi-compat-libdns_sd/dns_sd.h \
 ln -sf %{_pkgconfigdir}/avahi-compat-howl.pc \
        $RPM_BUILD_ROOT%{_pkgconfigdir}/howl.pc
 
-rm -f $RPM_BUILD_ROOT%{py_sitedir}/avahi/{__init__,SimpleGladeApp}.py
+rm -f $RPM_BUILD_ROOT%{py_sitedir}/avahi/{__init__,SimpleGladeApp}.py \
+       $RPM_BUILD_ROOT%{py_sitedir}/avahi_discover/*.py
 
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/avahi-{browse-domains,publish-address,publish-service,resolve-address,resolve-host-name}.1
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/{avahi-{browse-domains,publish-address,publish-service,resolve-address,resolve-host-name},bvnc}.1
 echo '.so avahi-browse.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-browse-domains.1
 echo '.so avahi-publish.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-publish-address.1
 echo '.so avahi-publish.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-publish-service.1
 echo '.so avahi-resolve.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-resolve-address.1
 echo '.so avahi-resolve.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-resolve-host-name.1
+echo '.so bssh.1' > $RPM_BUILD_ROOT%{_mandir}/man1/bvnc.1
+
+%find_lang %{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -473,6 +606,9 @@ fi
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
+%post  ui -p /sbin/ldconfig
+%postun        ui -p /sbin/ldconfig
+
 %post  compat-libdns_sd -p /sbin/ldconfig
 %postun        compat-libdns_sd -p /sbin/ldconfig
 
@@ -482,6 +618,9 @@ fi
 %post  glib -p /sbin/ldconfig
 %postun        glib -p /sbin/ldconfig
 
+%post  gobject -p /sbin/ldconfig
+%postun        gobject -p /sbin/ldconfig
+
 %post  qt -p /sbin/ldconfig
 %postun        qt -p /sbin/ldconfig
 
@@ -499,33 +638,47 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/hosts
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/services/ssh.service
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/services/sftp-ssh.service
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dbus-1/system.d/*
+%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/*
 
 %attr(755,root,root) %{_bindir}/avahi-set-host-name
 
 %attr(755,root,root) %{_sbindir}/avahi-daemon
 %attr(755,root,root) %{_sbindir}/avahi-dnsconfd
 
-%dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/introspection
 %{_datadir}/%{name}/introspection/*.introspect
 %{_datadir}/%{name}/avahi-service.dtd
 %{_datadir}/%{name}/service-types
-%{_datadir}/%{name}/service-types.db
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/service-types.db
 
-%{_mandir}/man*/*
+%{_mandir}/man1/avahi-set-host-name.1*
+%{_mandir}/man5/avahi-daemon.conf.5*
+%{_mandir}/man5/avahi.hosts.5*
+%{_mandir}/man5/avahi.service.5*
+%{_mandir}/man8/avahi-daemon.8*
+%{_mandir}/man8/avahi-dnsconfd.8*
+%{_mandir}/man8/avahi-dnsconfd.action.8*
 
 %attr(754,root,root) /etc/rc.d/init.d/%{name}-daemon
 %attr(754,root,root) /etc/rc.d/init.d/%{name}-dnsconfd
 
 %attr(755,root,root) %{_sysconfdir}/%{name}/avahi-autoipd.action
 %attr(755,root,root) %{_sbindir}/avahi-autoipd
+%{_mandir}/man8/avahi-autoipd.8*
+%{_mandir}/man8/avahi-autoipd.action.8*
 
-%files libs
+%files libs -f %{name}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libavahi-client.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-client.so.3
 %attr(755,root,root) %{_libdir}/libavahi-common.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-common.so.3
 %attr(755,root,root) %{_libdir}/libavahi-core.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-core.so.6
+# common for -discover*
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/interfaces
 
 %files devel
 %defattr(644,root,root,755)
@@ -548,9 +701,33 @@ fi
 %{_libdir}/libavahi-common.a
 %{_libdir}/libavahi-core.a
 
+%files ui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/bshell
+%attr(755,root,root) %{_bindir}/bssh
+%attr(755,root,root) %{_bindir}/bvnc
+%attr(755,root,root) %{_libdir}/libavahi-ui.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-ui.so.0
+%{_mandir}/man1/bssh.1*
+%{_mandir}/man1/bvnc.1*
+%{_desktopdir}/bssh.desktop
+%{_desktopdir}/bvnc.desktop
+
+%files ui-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-ui.so
+%{_libdir}/libavahi-ui.la
+%{_includedir}/avahi-ui
+%{_pkgconfigdir}/avahi-ui.pc
+
+%files ui-static
+%defattr(644,root,root,755)
+%{_libdir}/libavahi-ui.a
+
 %files compat-libdns_sd
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libdns_sd.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdns_sd.so.1
 
 %files compat-libdns_sd-devel
 %defattr(644,root,root,755)
@@ -567,6 +744,7 @@ fi
 %files compat-howl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libhowl.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libhowl.so.0
 
 %files compat-howl-devel
 %defattr(644,root,root,755)
@@ -580,6 +758,10 @@ fi
 %defattr(644,root,root,755)
 %{_libdir}/libhowl.a
 
+%files -n python-avahi
+%defattr(644,root,root,755)
+%{py_sitedir}/avahi
+
 %if %{with dotnet}
 %files -n dotnet-avahi
 %defattr(644,root,root,755)
@@ -587,14 +769,25 @@ fi
 
 %files -n dotnet-avahi-devel
 %defattr(644,root,root,755)
-%{_libdir}/monodoc/sources/avahi-*
 %{_prefix}/lib/mono/avahi-sharp
+%{_libdir}/monodoc/sources/avahi-sharp-docs.*
 %{_pkgconfigdir}/avahi-sharp.pc
+
+%files -n dotnet-avahi-ui
+%defattr(644,root,root,755)
+%{_prefix}/lib/mono/gac/avahi-ui-sharp
+
+%files -n dotnet-avahi-ui-devel
+%defattr(644,root,root,755)
+%{_prefix}/lib/mono/avahi-ui-sharp
+%{_libdir}/monodoc/sources/avahi-ui-sharp-docs.*
+%{_pkgconfigdir}/avahi-ui-sharp.pc
 %endif
 
 %files glib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libavahi-glib.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-glib.so.1
 
 %files glib-devel
 %defattr(644,root,root,755)
@@ -607,10 +800,27 @@ fi
 %defattr(644,root,root,755)
 %{_libdir}/libavahi-glib.a
 
+%files gobject
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-gobject.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-gobject.so.0
+
+%files gobject-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-gobject.so
+%{_libdir}/libavahi-gobject.la
+%{_includedir}/avahi-gobject
+%{_pkgconfigdir}/avahi-gobject.pc
+
+%files gobject-static
+%defattr(644,root,root,755)
+%{_libdir}/libavahi-gobject.a
+
 %if %{with qt3}
 %files qt
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libavahi-qt3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-qt3.so.1
 
 %files qt-devel
 %defattr(644,root,root,755)
@@ -628,6 +838,7 @@ fi
 %files Qt
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libavahi-qt4.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-qt4.so.1
 
 %files Qt-devel
 %defattr(644,root,root,755)
@@ -644,26 +855,37 @@ fi
 %files bookmarks
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/avahi-bookmarks
+%{_mandir}/man1/avahi-bookmarks.1*
 
 %files discover
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/avahi-discover
-# XXX: possibly missing %{_datadir}/%{name} dir, shared subdir
-%dir %{_datadir}/%{name}/interfaces
+%{py_sitedir}/avahi_discover
 %{_datadir}/%{name}/interfaces/avahi-discover.glade
-%{py_sitedir}/avahi
-%{_desktopdir}/*.desktop
+%{_desktopdir}/avahi-discover.desktop
 %{_pixmapsdir}/avahi.png
+%{_mandir}/man1/avahi-discover.1*
 
 %files discover-standalone
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/avahi-discover-standalone
-# XXX: possibly missing %{_datadir}/%{name} dir, shared subdir
-%dir %{_datadir}/%{name}/interfaces
 %{_datadir}/%{name}/interfaces/avahi-discover-standalone.glade
 
 %files utils
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/avahi-browse
+%attr(755,root,root) %{_bindir}/avahi-browse-domains
 %attr(755,root,root) %{_bindir}/avahi-publish
+%attr(755,root,root) %{_bindir}/avahi-publish-address
+%attr(755,root,root) %{_bindir}/avahi-publish-service
 %attr(755,root,root) %{_bindir}/avahi-resolve
+%attr(755,root,root) %{_bindir}/avahi-resolve-address
+%attr(755,root,root) %{_bindir}/avahi-resolve-host-name
+%{_mandir}/man1/avahi-browse.1*
+%{_mandir}/man1/avahi-browse-domains.1*
+%{_mandir}/man1/avahi-publish.1*
+%{_mandir}/man1/avahi-publish-address.1*
+%{_mandir}/man1/avahi-publish-service.1*
+%{_mandir}/man1/avahi-resolve.1*
+%{_mandir}/man1/avahi-resolve-address.1*
+%{_mandir}/man1/avahi-resolve-host-name.1*
This page took 0.11975 seconds and 4 git commands to generate.