]> git.pld-linux.org Git - packages/xorg-driver-video-fglrx.git/blame - xorg-driver-video-fglrx.spec
- release 15
[packages/xorg-driver-video-fglrx.git] / xorg-driver-video-fglrx.spec
CommitLineData
de93633b 1#
2# Conditional build:
3%bcond_without dist_kernel # without distribution kernel
4%bcond_without kernel # don't build kernel modules
de93633b 5%bcond_without userspace # don't build userspace tools
6%bcond_with verbose # verbose build (V=1)
de93633b 7
44150540 8%define x11ver xpic
de93633b 9
06b22105
ER
10%if %{without kernel}
11%undefine with_dist_kernel
de93633b 12%endif
72311a60 13%if "%{_alt_kernel}" != "%{nil}"
14%undefine with_userspace
15%endif
06b22105
ER
16%if %{without userspace}
17# nothing to be placed to debuginfo package
18%define _enable_debug_packages 0
19%endif
72311a60 20
de93633b 21%ifarch %{ix86}
6800c75d 22%define arch_sufix %{nil}
de93633b 23%define arch_dir x86
24%else
de93633b 25%define arch_sufix _64a
26%define arch_dir x86_64
27%endif
28
49f9867a 29%define rel 15
72311a60 30%define pname xorg-driver-video-fglrx
053842d1
JR
31Summary: Linux Drivers for AMD/ATI graphics accelerators
32Summary(pl.UTF-8): Sterowniki do akceleratorów graficznych AMD/ATI
5cd011e2 33Name: %{pname}
053842d1 34Version: 12.1
50c0449c 35Release: %{rel}
5d96cd9e 36Epoch: 1
053842d1 37License: AMD Binary (parts are GPL)
de93633b 38Group: X11
053842d1
JR
39Source0: http://dlmdownloads.ati.com/drivers/linux/amd-driver-installer-%(echo %{version} | tr . -)-x86.x86_64.run
40# Source0-md5: 6396d0f6f70b89d605bac896feb2b7c9
566515bf
JR
41Source1: atieventsd.init
42Source2: atieventsd.sysconfig
43Source3: gl.pc.in
5aba250d 44Source4: 10-fglrx.conf
3e526379 45Source5: 10-fglrx-modules.conf
72311a60 46Patch0: %{pname}-kh.patch
8b7f9c10 47Patch1: %{pname}-smp.patch
ce2fff9a 48Patch2: %{pname}-x86genericarch.patch
6fab1c66
JR
49Patch3: %{pname}-desktop.patch
50Patch4: %{pname}-nofinger.patch
d62793ba 51Patch5: %{pname}-GPL-only.patch
40168e3e 52Patch6: %{pname}-WARN.patch
6e4e8ff3 53Patch7: %{pname}-kernel-fpu.patch
13897f9c 54URL: http://ati.amd.com/support/drivers/linux/linux-radeon.html
6efde535 55%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
f3b1b67f 56BuildRequires: rpmbuild(macros) >= 1.379
051fc62d 57BuildRequires: sed >= 4.0
50c0449c 58Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
de93633b 59Requires: xorg-xserver-server
e27c0f70 60Requires: xorg-xserver-server(videodrv-abi) <= 11.0
a1d0c0b1 61Requires: xorg-xserver-server(videodrv-abi) >= 2.0
f8d82c29 62Suggests: %{name}-config
5cd011e2 63Suggests: kernel-video-firegl
b4410e56 64Provides: xorg-driver-video
f72bb093 65Provides: xorg-xserver-module(glx)
d0cb1f8b 66Obsoletes: X11-driver-firegl < 1:7.0.0
d0cb1f8b 67Obsoletes: XFree86-driver-firegl < 1:7.0.0
3a6c6402 68Obsoletes: xorg-driver-video-fglrx-config
ca92b9f5 69Obsoletes: xorg-driver-video-fglrx-libdri
f72bb093 70Obsoletes: xorg-driver-video-fglrx-libglx
de93633b 71ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
72BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73
185c64d2 74%define _ccver %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
75
50ee3256
JR
76%define _noautoreqdep libGL.so.1
77%define no_install_post_check_so 1
de93633b 78
79%description
80Display driver files for the ATI Radeon 8500, 9700, Mobility M9 and
81the FireGL 8700/8800, E1, Z1/X1 graphics accelerators. This package
82provides 2D display drivers and hardware accelerated OpenGL.
83
91bd8dfa 84%description -l pl.UTF-8
de93633b 85Sterowniki do kart graficznych ATI Radeon 8500, 9700, Mobility M9 oraz
91bd8dfa
JR
86graficznych akceleratorów FireGL 8700/8800, E1, Z1/X1. Pakiet
87dostarcza sterowniki obsługujące wyświetlanie 2D oraz sprzętowo
de93633b 88akcelerowany OpenGL.
89
5b2ffdd6
JR
90%package libs
91Summary: OpenGL (GL and GLX) ATI/AMD libraries
92Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) ATI/AMD
93Group: X11/Development/Libraries
94Requires(post,postun): /sbin/ldconfig
95# 4.0 for Radeon HD 5000 Series
96Provides: OpenGL = 3.3
97Provides: OpenGL-GLX = 1.4
5b2ffdd6
JR
98Obsoletes: X11-OpenGL-core < 1:7.0.0
99Obsoletes: X11-OpenGL-libGL < 1:7.0.0
100Obsoletes: XFree86-OpenGL-core < 1:7.0.0
101Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
102
103%description libs
104ATI/AMD OpenGL (GL and GLX only) implementation libraries.
105
106%description libs -l pl.UTF-8
107Implementacja OpenGL (tylko GL i GLX) firmy ATI/AMD.
108
57e97736 109%package devel
91311dfb 110Summary: Header files for development for the ATI Radeon cards proprietary driver
7bd8110b 111Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
57e97736 112Group: X11/Development/Libraries
50c0449c 113Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
91311dfb
JB
114# or more?
115Requires: xorg-proto-glproto-devel
5b2ffdd6 116# 4.0 for Radeon HD 5000 Series
5b2ffdd6 117Provides: OpenGL-GLX-devel = 1.4
a1d0c0b1 118Provides: OpenGL-devel = 3.3
5b2ffdd6
JR
119Obsoletes: X11-OpenGL-devel-base
120Obsoletes: XFree86-OpenGL-devel-base
57e97736
PS
121
122%description devel
a1d0c0b1 123Header files for development for the ATI proprietary driver for ATI
124Radeon graphic cards.
91311dfb 125
91bd8dfa
JR
126%description devel -l pl.UTF-8
127Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
91311dfb 128ATI dla kart graficznych Radeon.
57e97736
PS
129
130%package static
91311dfb 131Summary: Static libraries for development for the ATI Radeon cards proprietary driver
7bd8110b 132Summary(pl.UTF-8): Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
57e97736 133Group: X11/Development/Libraries
50c0449c 134Requires: %{pname}-devel = %{epoch}:%{version}-%{rel}
57e97736
PS
135
136%description static
137Static libraries for development for the ATI proprietary driver for
138ATI Radeon graphic cards.
139
91bd8dfa
JR
140%description static -l pl.UTF-8
141Biblioteki statyczne do programowania z użyciem własnościowego
91311dfb
JB
142sterownika ATI dla kart graficznych ATI Radeon.
143
566515bf
JR
144%package atieventsd
145Summary: ATI external events daemon
1a3464b2 146Summary(pl.UTF-8): Demon zewnętrznych zdarzeń ATI
566515bf 147Group: Daemons
50c0449c 148Requires: %{pname} = %{epoch}:%{version}-%{rel}
566515bf
JR
149Requires: acpid
150Requires(post,preun): /sbin/chkconfig
151Requires: rc-scripts
152
153%description atieventsd
a1d0c0b1 154The ATI External Events Daemon is a user-level application that
155monitors various system events such as ACPI or hotplug, then notifies
156the driver via the X extensions interface that the event has occured.
566515bf
JR
157
158%description atieventsd -l pl.UTF-8
a1d0c0b1 159Demon zewnętrznych zdarzeń ATI jest aplikacją monitorującą różne
160zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
161informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
162zdarzenie.
566515bf 163
12b4fedb 164%package -n kernel%{_alt_kernel}-video-firegl
de93633b 165Summary: ATI kernel module for FireGL support
7bd8110b 166Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla ATI FireGL
50c0449c 167Release: %{rel}@%{_kernel_ver_str}
de93633b 168License: ATI
169Group: Base/Kernel
812075a5 170%{?with_dist_kernel:%requires_releq_kernel}
5cd011e2 171%if "%{_alt_kernel}" != "%{nil}"
50c0449c 172Provides: kernel-video-firegl = %{epoch}:%{version}-%{rel}@%{_kernel_ver_str}
5cd011e2 173%endif
de93633b 174Requires(post,postun): /sbin/depmod
de93633b 175
12b4fedb 176%description -n kernel%{_alt_kernel}-video-firegl
de93633b 177ATI kernel module for FireGL support.
178
91bd8dfa
JR
179%description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8
180Moduł jądra oferujący wsparcie dla ATI FireGL.
de93633b 181
de93633b 182%prep
183%setup -q -c -T
184
c060e134 185sh %{SOURCE0} --extract .
de93633b 186
c060e134 187cp arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
de93633b 188
1d968be3 189%if %{with dist_kernel}
1e707323 190%patch0 -p1
8b7f9c10 191%patch1 -p0
ce2fff9a 192%patch2 -p0
48533427 193%endif
1e707323
JR
194%patch3 -p1
195%patch4 -p1
d62793ba 196%patch5 -p1
40168e3e 197%patch6 -p0
6e4e8ff3 198%patch7 -p0
de93633b 199
e27c0f70 200install -d common{%{_prefix}/{%{_lib},bin,sbin},/etc}
6800c75d 201cp -r %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
dbf2846b 202mv common%{_libdir}/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
75801aec 203cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
dbf2846b 204cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/modules common%{_libdir}/xorg
c060e134 205cp -r arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
053842d1 206cp -r arch/%{arch_dir}/usr/bin/* common%{_bindir}
27570731 207cp -r arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
d49fb583 208cp -r arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
dbf2846b 209mv common%{_libdir}/{fglrx/fglrx-libGL.so.1.2,libGL.so.1.2}
e27c0f70 210cp -r arch/%{arch_dir}/etc/* common/etc
de93633b 211
212%build
213%if %{with kernel}
214cd common/lib/modules/fglrx/build_mod
215cp -f 2.6.x/Makefile .
62d28f66 216%build_kernel_modules -c -m fglrx GCC_VER_MAJ=%{_ccver}
de93633b 217cd -
218%endif
219
de93633b 220%install
221rm -rf $RPM_BUILD_ROOT
222
223%if %{with kernel}
12b4fedb 224%install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
de93633b 225%endif
226
227%if %{with userspace}
3e526379
JR
228install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d,ld.so.conf.d} \
229 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_includedir}/GL} \
e3dbb82b 230 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
3e526379 231 $RPM_BUILD_ROOT%{_libdir}/{fglrx,xorg/modules/extensions/fglrx} \
e27c0f70
JR
232 $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
233 $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
566515bf
JR
234
235install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
236install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
3e526379 237
317e6556 238install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
3e526379
JR
239install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
240sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-fglrx-modules.conf
241
566515bf 242cp -r common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
e27c0f70 243install -p common/etc/OpenCL/vendors/*.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
e3dbb82b
JR
244
245install common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
246install common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
247install common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
248
249rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
de93633b 250
de93633b 251cp -r common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
fa23496e 252ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
eb789250 253cp -r common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
1cf8b52c 254cp -r common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
217c853b
BZ
255cp -r common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
256cp -r common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
de93633b 257
a0e674b9 258cp -r common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
a0e674b9
BZ
259cp -r common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
260
1e707323
JR
261cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
262
e3dbb82b
JR
263cp -r common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
264
d76ff2e1
JR
265%ifarch %{x8664}
266echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx64.conf
267%else
bd12a4d2 268echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
d76ff2e1 269%endif
bd12a4d2 270
3e526379 271cp -r common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}/fglrx
bd12a4d2 272
3e526379 273mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{,fglrx}/libglx.so
f9cbcfd5 274
63192f6b 275/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
3e526379
JR
276ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/fglrx/libGL.so
277ln -sf libfglrx_dm.so.*.* $RPM_BUILD_ROOT%{_libdir}/fglrx/libfglrx_dm.so
9d6674ac 278
de93633b 279install common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
57e97736
PS
280echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
281
566515bf 282install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
051fc62d 283%{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
566515bf 284 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
03e0c9e0 285%endif
566515bf 286
de93633b 287%clean
288rm -rf $RPM_BUILD_ROOT
289
5b2ffdd6
JR
290%post libs -p /sbin/ldconfig
291%postun libs -p /sbin/ldconfig
de93633b 292
566515bf
JR
293%post atieventsd
294/sbin/chkconfig --add atieventsd
295%service atieventsd restart
296
297%preun atieventsd
298if [ "$1" = "0" ]; then
299 %service -q atieventsd stop
300 /sbin/chkconfig --del atieventsd
301fi
302
12b4fedb 303%post -n kernel%{_alt_kernel}-video-firegl
de93633b 304%depmod %{_kernel_ver}
305
12b4fedb 306%postun -n kernel%{_alt_kernel}-video-firegl
de93633b 307%depmod %{_kernel_ver}
308
de93633b 309%if %{with userspace}
310%files
311%defattr(644,root,root,755)
f42f7da0 312%doc LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
cc34c4f1 313%dir %{_sysconfdir}/ati
eb789250 314%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
1cf8b52c 315%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
217c853b
BZ
316%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
317%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
57e97736 318%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
de93633b 319%attr(755,root,root) %{_bindir}/*
566515bf 320%attr(755,root,root) %{_sbindir}/amdnotifyui
b94c2073 321%{_desktopdir}/*.desktop
a0e674b9
BZ
322%{_pixmapsdir}/*.xpm
323%{_datadir}/ati
3e526379
JR
324%dir %{_libdir}/xorg/modules/extensions/fglrx
325%attr(755,root,root) %{_libdir}/xorg/modules/extensions/fglrx/libglx.so
5b2ffdd6
JR
326%{_libdir}/dri
327%attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
328%attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
bb2b340f 329%dir %{_libdir}/xorg/modules/linux
5b2ffdd6
JR
330%attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
331%attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
332%attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
3a6c6402
JR
333%{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
334%{_sysconfdir}/X11/xorg.conf.d/10-fglrx-modules.conf
5b2ffdd6
JR
335
336%files libs
337%defattr(644,root,root,755)
e27c0f70
JR
338%dir %{_sysconfdir}/OpenCL
339%dir %{_sysconfdir}/OpenCL/vendors
340%{_sysconfdir}/OpenCL/vendors/*.icd
d76ff2e1 341%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx*.conf
bd12a4d2 342%dir %{_libdir}/fglrx
424a1cb0 343%attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
3e526379 344%attr(755,root,root) %ghost %{_libdir}/fglrx/libAMDXvBA.so.1
e27c0f70 345%attr(755,root,root) %{_libdir}/fglrx/libOpenCL.so.1
053842d1 346%attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerAg.so
50f18a66 347%ifarch %{ix86}
053842d1 348%attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerBe.so
50f18a66 349%endif
ab5aac73 350%attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
3e526379 351%attr(755,root,root) %ghost %{_libdir}/fglrx/libXvBAW.so.1
63192f6b 352%{_libdir}/fglrx/libAMDXvBA.cap
e27c0f70 353%attr(755,root,root) %{_libdir}/fglrx/libamdocl*.so
c37980c7 354%attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
d49fb583
AA
355%attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
356%attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
357%attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
ca92b9f5 358%attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
3e526379 359%attr(755,root,root) %ghost %{_libdir}/fglrx/libatiuki.so.1
bd12a4d2 360%attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
3e526379 361%attr(755,root,root) %ghost %{_libdir}/fglrx/libGL.so.1
bd12a4d2 362%attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
b8dac3df 363
57e97736
PS
364%files devel
365%defattr(644,root,root,755)
3e526379
JR
366%attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so
367%attr(755,root,root) %{_libdir}/fglrx/libGL.so
f3848da1 368%{_includedir}/GL
566515bf 369%{_pkgconfigdir}/gl.pc
de93633b 370
57e97736
PS
371%files static
372%defattr(644,root,root,755)
3e526379 373%{_libdir}/fglrx/libfglrx_dm.a
de93633b 374
566515bf
JR
375%files atieventsd
376%defattr(644,root,root,755)
377%attr(754,root,root) /etc/rc.d/init.d/atieventsd
378%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
379%attr(755,root,root) %{_sbindir}/atieventsd
380%attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
381%{_sysconfdir}/acpi/events/*
382%{_mandir}/man8/atieventsd.8*
5ebc6789 383%endif
f8d82c29 384
de93633b 385%if %{with kernel}
12b4fedb 386%files -n kernel%{_alt_kernel}-video-firegl
de93633b 387%defattr(644,root,root,755)
388/lib/modules/%{_kernel_ver}/misc/*.ko*
83b2fef2 389%endif
This page took 0.24524 seconds and 4 git commands to generate.