]> git.pld-linux.org Git - packages/NetworkManager.git/blame - NetworkManager.spec
remove NetworkManager-system-settings.conf dropped from spec in 9aaefa6
[packages/NetworkManager.git] / NetworkManager.spec
CommitLineData
042711fe 1# TODO: package /usr/lib/firewalld/zones/nm-shared.xml for firewalld support
820bad51 2#
f129e674 3# Conditional build
042711fe
JB
4%bcond_without systemd # use systemd for session tracking instead of ConsoleKit (fallback to ConsoleKit on runtime)
5%bcond_without vala # Vala API
6%bcond_with firewalld # Firewalld zone for shared mode
9b916fac 7
78c5d1e2 8Summary: Network Manager for GNOME
e2b72088 9Summary(pl.UTF-8): Zarządca sieci dla GNOME
78c5d1e2 10Name: NetworkManager
8bf1480b 11Version: 1.32.6
679d5399 12Release: 1
3116f662 13Epoch: 2
ed124d85 14License: GPL v2+
01912239 15Group: Networking/Admin
b6acf2f8 16Source0: https://download.gnome.org/sources/NetworkManager/1.32/%{name}-%{version}.tar.xz
8bf1480b 17# Source0-md5: 7eefd1ca10ab867505b0eb2e709b8826
9aaefa69 18Source1: %{name}.conf
e7422f98 19Source3: %{name}.tmpfiles
d7d26b92
MB
20Source4: %{name}.init
21Patch0: ifcfg-path.patch
679d5399 22Patch1: systemd-fallback.patch
d154f7ec 23URL: https://wiki.gnome.org/Projects/NetworkManager
58c794b8 24BuildRequires: ModemManager-devel >= 1.0.0
ffec268f 25BuildRequires: audit-libs-devel
f129e674 26BuildRequires: autoconf >= 2.63
ffec268f 27BuildRequires: automake >= 1:1.12
8f9f9f5f 28BuildRequires: bluez-libs-devel >= 5.0
99089a17 29BuildRequires: curl-devel >= 7.24.0
b39a9bc1 30BuildRequires: dbus-devel >= 1.1.0
c82ee29f 31BuildRequires: gettext-tools >= 0.17
ffec268f 32BuildRequires: glib2-devel >= 1:2.38.0
bae9a582 33BuildRequires: gnome-common
f129e674 34BuildRequires: gobject-introspection-devel >= 0.10.0
820bad51 35BuildRequires: gtk-doc >= 1.0
5d8867d1 36BuildRequires: gtk-doc-automake >= 1.0
f129e674 37BuildRequires: intltool >= 0.40.0
dee6277d 38BuildRequires: jansson-devel >= 2.7
5602b216
JB
39BuildRequires: libndp-devel
40BuildRequires: libnl-devel >= 3.2.8
99089a17 41BuildRequires: libpsl-devel >= 0.1
5602b216 42BuildRequires: libselinux-devel
ed14c2e4 43BuildRequires: libteamdctl-devel >= 1.9
820bad51 44BuildRequires: libtool >= 2:2.2
019eb5cf 45BuildRequires: libuuid-devel
38118a47 46BuildRequires: libxslt-progs
5602b216 47BuildRequires: newt-devel >= 0.52.15
d6c7d7e2 48# also gnutls (>= 2.12) possible (--with-crypto=gnutls)
8eb648cc 49BuildRequires: nss-devel >= 3.11
38118a47 50BuildRequires: perl-base
3528442f 51BuildRequires: pkgconfig
820bad51 52BuildRequires: polkit-devel >= 0.97
099e2704 53BuildRequires: ppp-plugin-devel >= 3:2.4.6
679d5399 54BuildRequires: python3 >= 1:3
dee6277d 55BuildRequires: python3-pygobject3
bd2f3204 56BuildRequires: readline-devel
d8cfd51f 57BuildRequires: rpm-build >= 4.6
dee6277d 58BuildRequires: rpmbuild(macros) >= 1.752
019eb5cf 59BuildRequires: sed >= 4.0
ffec268f 60%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
2b0423b4 61BuildRequires: tar >= 1:1.22
99089a17 62BuildRequires: udev-devel >= 1:175
75cfff58 63%{?with_vala:BuildRequires: vala >= 2:0.17.1.24}
2b0423b4 64BuildRequires: xz
03028f08 65Requires(post,preun): /sbin/chkconfig
301a5c48 66Requires(post,preun,postun): systemd-units >= 38
3116f662 67Requires: %{name}-libs = %{epoch}:%{version}-%{release}
d7d26b92
MB
68%if %{with systemd}
69Suggests: ConsoleKit-x11
70%else
f00ab9b3 71Requires: ConsoleKit-x11
d7d26b92 72%endif
99089a17 73Requires: curl-libs >= 7.24.0
12b79b1b 74Requires: dhcp-client
85ef357a 75Requires: filesystem >= 3.0-37
dee6277d 76Requires: jansson >= 2.7
5602b216 77Requires: libnl >= 3.2.8
99089a17 78Requires: libpsl >= 0.1
13a8788c 79Requires: libteamdctl >= 1.9
45c5e757 80Requires: newt >= 0.52.15
0be4ee93 81Requires: polkit >= 0.97
7a8213b1 82Requires: rc-scripts >= 0.4.3.0
301a5c48 83Requires: systemd-units >= 38
f129e674 84Requires: wpa_supplicant >= 0.7.3-4
58c794b8 85Suggests: ModemManager >= 1.0.0
9aaefa69 86Suggests: mobile-broadband-provider-info
5ecbfa88 87Suggests: resolvconf
13a8788c 88Suggests: teamd >= 1.9
db711eec 89Obsoletes: NetworkManager-systemd
679fb6a7 90Obsoletes: dhcdbd < 3.0-1
f73d6ec8 91# sr@Latn vs. sr@latin
92Conflicts: glibc-misc < 6:2.7
78c5d1e2 93BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94
0657fc6b
JP
95%define plugindir %{_libdir}/NetworkManager
96%define distplugindir %{plugindir}/%{version}-%{release}
019eb5cf 97
78c5d1e2 98%description
99Network Manager for GNOME.
100
d3c2b519
JR
101%description -l pl.UTF-8
102Zarządca sieci dla GNOME.
b13728a1 103
019eb5cf 104%package apidocs
eee27196
JP
105Summary: libnm library API documentation
106Summary(pl.UTF-8): Dokumentacja API biblioteki libnm
019eb5cf
MB
107Group: Documentation
108Requires: gtk-doc-common
4d146938 109BuildArch: noarch
019eb5cf
MB
110
111%description apidocs
eee27196 112libnm library API documentation.
019eb5cf
MB
113
114%description apidocs -l pl.UTF-8
eee27196 115Dokumentacja API biblioteki libnm.
019eb5cf 116
39138d0e
JB
117%package libs
118Summary: Network Manager shared libraries
e2b72088 119Summary(pl.UTF-8): Biblioteki dzielone Network Managera
019eb5cf 120Group: Libraries
45c5e757 121Requires: glib2 >= 1:2.38.0
820bad51 122Requires: nss >= 3.11
99089a17 123Requires: udev-libs >= 1:175
39138d0e
JB
124Conflicts: NetworkManager < 0.6.4-0.2
125
126%description libs
127Network Manager shared libraries.
128
d3c2b519 129%description libs -l pl.UTF-8
39138d0e
JB
130Biblioteki dzielone Network Managera.
131
c7c1e97f 132%package devel
133Summary: Network Manager includes and more
e2b72088 134Summary(pl.UTF-8): Pliki nagłówkowe Network Managera
019eb5cf 135Group: Development/Libraries
3116f662 136Requires: %{name}-libs = %{epoch}:%{version}-%{release}
45c5e757 137Requires: glib2-devel >= 1:2.38.0
bc96d1d8 138Requires: libuuid-devel
820bad51 139Requires: nss-devel >= 3.11
c7c1e97f 140
141%description devel
d16bce79 142Network Manager includes and more.
c7c1e97f 143
d3c2b519
JR
144%description devel -l pl.UTF-8
145Pliki nagłówkowe Network Manager.
c7c1e97f 146
147%package static
148Summary: Network Manager static libraries
e2b72088 149Summary(pl.UTF-8): Statyczne biblioteki Network Managera
019eb5cf 150Group: Development/Libraries
3116f662 151Requires: %{name}-devel = %{epoch}:%{version}-%{release}
c7c1e97f 152
153%description static
d16bce79 154Network Manager static libraries.
c7c1e97f 155
d3c2b519 156%description static -l pl.UTF-8
d16bce79 157Statyczne biblioteki Network Managera.
c7c1e97f 158
75cfff58
JB
159%package -n vala-NetworkManager
160Summary: Vala API for NetworkManager libraries
161Summary(pl.UTF-8): API języka Vala do bibliotek NetworkManagera
162Group: Development/Libraries
163Requires: %{name}-devel = %{epoch}:%{version}-%{release}
164Requires: vala >= 2:0.17.1.24
4d146938 165BuildArch: noarch
75cfff58
JB
166
167%description -n vala-NetworkManager
168Vala API for NetworkManager libraries.
169
170%description -n vala-NetworkManager -l pl.UTF-8
171API języka Vala do bibliotek NetworkManagera.
172
593c2a8f
JB
173%package -n bash-completion-NetworkManager
174Summary: Bash completion for NetworkManager command (nmcli)
175Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli)
176Group: Applications/Shells
177Requires: %{name} = %{epoch}:%{version}-%{release}
178Requires: bash-completion >= 2.0
4d146938 179BuildArch: noarch
593c2a8f
JB
180
181%description -n bash-completion-NetworkManager
182Bash completion for NetworkManager command (nmcli).
183
184%description -n bash-completion-NetworkManager -l pl.UTF-8
185Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli).
186
78c5d1e2 187%prep
188%setup -q
ebfc68d6 189%patch0 -p1
679d5399 190%{?with_systemd:%patch1 -p1}
78c5d1e2 191
2f8e58f2
JP
192grep -rl /usr/bin/env examples | xargs sed -i -e '1{
193 s,^#!.*bin/env gjs,#!/usr/bin/gjs,
194 s,^#!.*bin/env lua,#!%{__lua},
195 s,^#!.*bin/env python,#!%{__python},
196 s,^#!.*bin/env ruby,#!%{__ruby},
197}'
198
199
78c5d1e2 200%build
532f20aa 201%{__gtkdocize}
e35ac91e
MB
202%{__intltoolize}
203%{__libtoolize}
8eb648cc 204%{__aclocal} -I m4
e35ac91e 205%{__autoconf}
31ac744a 206%{__autoheader}
e35ac91e 207%{__automake}
b13728a1 208%configure \
38118a47 209 --enable-gtk-doc \
d7d26b92 210 --enable-ifcfg-rh \
38118a47 211 --enable-more-warnings \
99089a17
JB
212 --disable-silent-rules \
213 --enable-static \
214 %{!?with_vala:--disable-vala} \
9aaefa69 215 --with-dhclient=/sbin/dhclient \
5602b216 216 --with-dhcpcd=/sbin/dhcpcd \
042711fe 217 %{!?with_firewalld:--disable-firewalld-zone} \
99089a17 218 --with-html-dir=%{_gtkdocdir} \
b39a9bc1 219 --with-iptables=/usr/sbin/iptables \
0bec5c9e 220 --with-iwd=yes \
b6acf2f8 221 --with-nft=/usr/sbin/nft \
38118a47 222 --with-nmcli \
a8c73342 223 --with-system-ca-path=/etc/certs \
1cdb1087 224 --with-systemdsystemunitdir=%{systemdunitdir} \
679fb6a7 225 --with-session-tracking=%{?with_systemd:systemd}%{!?with_systemd:ck} \
d7d26b92 226 --with-suspend-resume=%{?with_systemd:systemd}%{!?with_systemd:upower} \
5602b216 227 --with-pppd=/usr/sbin/pppd \
12e6eb95 228 --with-pppd-plugin-dir=%{_libdir}/pppd/plugins \
5ecbfa88 229 --with-resolvconf=/sbin/resolvconf \
ffec268f 230 --with-udev-dir=/lib/udev \
99089a17 231 --with-dist-version=%{version}-%{release}
3354c1e9 232
78c5d1e2 233%{__make}
234
235%install
236rm -rf $RPM_BUILD_ROOT
e01e661c 237install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/run/%{name},%{systemdtmpfilesdir}} \
c08f41bf
MB
238 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{VPN,conf.d,dispatcher.d,dnsmasq.d,dnsmasq-shared.d,system-connections} \
239 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/dispatcher.d/{pre-down.d,pre-up.d,no-wait.d} \
9551ee04 240 $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{VPN,conf.d}
78c5d1e2 241
242%{__make} install \
243 DESTDIR=$RPM_BUILD_ROOT
244
d7d26b92
MB
245install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
246
2e62419d
ER
247cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
248
0be4ee93 249cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
e7422f98 250
019eb5cf 251# Cleanup
f129e674 252%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
0657fc6b 253%{__rm} $RPM_BUILD_ROOT%{distplugindir}/*.{a,la}
12e6eb95 254%{__rm} $RPM_BUILD_ROOT%{_libdir}/pppd/plugins/*.{a,la}
b08c7aff 255
72c76a4d 256%find_lang %{name}
938e5ee3 257
5245652d 258# examples
38118a47
JB
259%{__make} clean-checkPROGRAMS
260
5245652d
ER
261install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
262cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
5245652d 263
78c5d1e2 264%clean
265rm -rf $RPM_BUILD_ROOT
266
b08c7aff 267%post
b08c7aff 268/sbin/chkconfig --add NetworkManager
608476ba 269%service -n NetworkManager restart "NetworkManager daemon"
8fbcd420 270%systemd_post NetworkManager.service NetworkManager-wait-online.service
b08c7aff
PZ
271
272%preun
273if [ "$1" = "0" ]; then
03028f08
ER
274 %service NetworkManager stop
275 /sbin/chkconfig --del NetworkManager
b08c7aff 276fi
8fbcd420
JR
277%systemd_preun NetworkManager.service NetworkManager-wait-online.service
278
279%postun
280%systemd_reload
281
282%triggerpostun -- NetworkManager < 2:0.9.2.0-5
283%systemd_trigger NetworkManager.service NetworkManager-wait-online.service
b08c7aff 284
7b03af04 285%triggerun -- NetworkManager < 0.8.9997-5
86df4f7d
JB
286# < 0.7.0-0.svn4027.1: disable obsolete service
287if /sbin/chkconfig --list | grep -q NetworkManagerDispatcher ; then
288 %service -q NetworkManagerDispatcher stop
289 /sbin/chkconfig --del NetworkManagerDispatcher
290fi
291# < 0.8.9997-5: move network interfaces description files to new location
84cae66f 292mv -f /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/interfaces
7b03af04
ER
293mv -f /etc/sysconfig/network-scripts/keys-* /etc/sysconfig/interfaces
294exit 0
84cae66f 295
f013290b
PZ
296%post libs -p /sbin/ldconfig
297%postun libs -p /sbin/ldconfig
b08c7aff 298
938e5ee3 299%files -f %{name}.lang
78c5d1e2 300%defattr(644,root,root,755)
301%doc AUTHORS ChangeLog NEWS README TODO
f129e674 302%attr(755,root,root) %{_bindir}/nm-online
e02ef63c 303%attr(755,root,root) %{_bindir}/nmcli
5602b216
JB
304%attr(755,root,root) %{_bindir}/nmtui
305%attr(755,root,root) %{_bindir}/nmtui-connect
306%attr(755,root,root) %{_bindir}/nmtui-edit
307%attr(755,root,root) %{_bindir}/nmtui-hostname
6d8ec5fa 308%attr(755,root,root) %{_sbindir}/NetworkManager
0657fc6b
JP
309%dir %{plugindir}
310%dir %{distplugindir}
311%attr(755,root,root) %{distplugindir}/libnm-device-plugin-adsl.so
312%attr(755,root,root) %{distplugindir}/libnm-device-plugin-bluetooth.so
313%attr(755,root,root) %{distplugindir}/libnm-device-plugin-ovs.so
314%attr(755,root,root) %{distplugindir}/libnm-device-plugin-wifi.so
315%attr(755,root,root) %{distplugindir}/libnm-device-plugin-wwan.so
316%attr(755,root,root) %{distplugindir}/libnm-device-plugin-team.so
317%attr(755,root,root) %{distplugindir}/libnm-ppp-plugin.so
0657fc6b
JP
318%attr(755,root,root) %{distplugindir}/libnm-settings-plugin-ifcfg-rh.so
319%attr(755,root,root) %{distplugindir}/libnm-wwan.so
cbcdd6e2 320%attr(755,root,root) %{_libexecdir}/nm-cloud-setup
b6acf2f8 321%attr(755,root,root) %{_libexecdir}/nm-daemon-helper
5602b216
JB
322%attr(755,root,root) %{_libexecdir}/nm-dhcp-helper
323%attr(755,root,root) %{_libexecdir}/nm-dispatcher
8f9f9f5f 324%attr(755,root,root) %{_libexecdir}/nm-iface-helper
0657fc6b
JP
325%attr(755,root,root) %{_libexecdir}/nm-ifdown
326%attr(755,root,root) %{_libexecdir}/nm-ifup
eb0dbd8b 327%attr(755,root,root) %{_libexecdir}/nm-initrd-generator
12e6eb95 328%attr(755,root,root) %{_libdir}/pppd/plugins/nm-pppd-plugin.so
b08c7aff 329%attr(754,root,root) /etc/rc.d/init.d/NetworkManager
9551ee04
MB
330%if "%{_lib}" != "lib"
331%dir %{_prefix}/lib/NetworkManager
332%endif
333%dir %{_prefix}/lib/NetworkManager/VPN
334%dir %{_prefix}/lib/NetworkManager/conf.d
cbcdd6e2
JB
335%dir %{_prefix}/lib/NetworkManager/dispatcher.d
336%{_prefix}/lib/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh
337%dir %{_prefix}/lib/NetworkManager/dispatcher.d/no-wait.d
c0794030 338%attr(755,root,root) %{_prefix}/lib/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh
db711eec 339%{systemdunitdir}/NetworkManager.service
5a39e7aa 340%{systemdunitdir}/NetworkManager-dispatcher.service
db711eec 341%{systemdunitdir}/NetworkManager-wait-online.service
cbcdd6e2
JB
342%{systemdunitdir}/nm-cloud-setup.service
343%{systemdunitdir}/nm-cloud-setup.timer
c26388c7
JP
344%dir %{systemdunitdir}/NetworkManager.service.d
345%{systemdunitdir}/NetworkManager.service.d/NetworkManager-ovs.conf
e01e661c 346%{systemdtmpfilesdir}/%{name}.conf
ed124d85 347%{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service
b6acf2f8
JP
348%{_datadir}/dbus-1/system.d/nm-dispatcher.conf
349%{_datadir}/dbus-1/system.d/nm-ifcfg-rh.conf
350%{_datadir}/dbus-1/system.d/org.freedesktop.NetworkManager.conf
4658eec9 351%{_datadir}/polkit-1/actions/org.freedesktop.NetworkManager.policy
f58b9643 352/lib/udev/rules.d/84-nm-drivers.rules
b3491164 353/lib/udev/rules.d/85-nm-unmanaged.rules
0657fc6b 354/lib/udev/rules.d/90-nm-thunderbolt.rules
9aaefa69 355%dir %{_sysconfdir}/%{name}/VPN
c08f41bf
MB
356%dir %{_sysconfdir}/%{name}/conf.d
357%dir %{_sysconfdir}/%{name}/dispatcher.d
358%dir %{_sysconfdir}/%{name}/dispatcher.d/pre-down.d
359%dir %{_sysconfdir}/%{name}/dispatcher.d/pre-up.d
360%dir %{_sysconfdir}/%{name}/dispatcher.d/no-wait.d
361%dir %{_sysconfdir}/%{name}/dnsmasq.d
362%dir %{_sysconfdir}/%{name}/dnsmasq-shared.d
9aaefa69
ER
363%dir %{_sysconfdir}/%{name}/system-connections
364%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
a62c1bc2 365%attr(711,root,root) %dir /var/run/%{name}
f129e674 366%attr(700,root,root) %dir /var/lib/%{name}
4658eec9 367%{_mandir}/man1/nm-online.1*
e02ef63c 368%{_mandir}/man1/nmcli.1*
8f9f9f5f
MB
369%{_mandir}/man1/nmtui-connect.1*
370%{_mandir}/man1/nmtui-edit.1*
371%{_mandir}/man1/nmtui-hostname.1*
372%{_mandir}/man1/nmtui.1*
5602b216 373%{_mandir}/man5/NetworkManager.conf.5*
042711fe
JB
374%{_mandir}/man5/nm-settings.5*
375%{_mandir}/man5/nm-settings-dbus.5*
8f9f9f5f
MB
376%{_mandir}/man5/nm-settings-ifcfg-rh.5*
377%{_mandir}/man5/nm-settings-keyfile.5*
042711fe 378%{_mandir}/man5/nm-settings-nmcli.5*
e02ef63c 379%{_mandir}/man5/nm-system-settings.conf.5*
c26388c7 380%{_mandir}/man7/nm-openvswitch.7*
ffec268f 381%{_mandir}/man7/nmcli-examples.7*
e02ef63c 382%{_mandir}/man8/NetworkManager.8*
b6acf2f8 383%{_mandir}/man8/NetworkManager-dispatcher.8*
679d5399 384%{_mandir}/man8/nm-cloud-setup.8*
eb0dbd8b 385%{_mandir}/man8/nm-initrd-generator.8*
5245652d 386%{_examplesdir}/%{name}-%{version}
86e5252a 387
019eb5cf
MB
388%files apidocs
389%defattr(644,root,root,755)
f129e674 390%{_gtkdocdir}/NetworkManager
8f9f9f5f 391%{_gtkdocdir}/libnm
019eb5cf 392
39138d0e
JB
393%files libs
394%defattr(644,root,root,755)
8f9f9f5f
MB
395%attr(755,root,root) %{_libdir}/libnm.so.*.*.*
396%attr(755,root,root) %ghost %{_libdir}/libnm.so.0
8f9f9f5f 397%{_libdir}/girepository-1.0/NM-1.0.typelib
7e654435 398
c7c1e97f 399%files devel
400%defattr(644,root,root,755)
8f9f9f5f 401%attr(755,root,root) %{_libdir}/libnm.so
8f9f9f5f 402%{_includedir}/libnm
8f9f9f5f 403%{_pkgconfigdir}/libnm.pc
38118a47
JB
404%{_datadir}/dbus-1/interfaces/org.freedesktop.NetworkManager.xml
405%{_datadir}/dbus-1/interfaces/org.freedesktop.NetworkManager.*.xml
8f9f9f5f 406%{_datadir}/gir-1.0/NM-1.0.gir
7e654435 407
c7c1e97f 408%files static
409%defattr(644,root,root,755)
8f9f9f5f 410%{_libdir}/libnm.a
75cfff58
JB
411
412%if %{with vala}
413%files -n vala-NetworkManager
414%defattr(644,root,root,755)
38118a47
JB
415%{_datadir}/vala/vapi/libnm.deps
416%{_datadir}/vala/vapi/libnm.vapi
75cfff58 417%endif
593c2a8f
JB
418
419%files -n bash-completion-NetworkManager
420%defattr(644,root,root,755)
9b916fac 421%{bash_compdir}/nmcli
This page took 2.453655 seconds and 4 git commands to generate.