]> git.pld-linux.org Git - packages/openssl.git/blame - openssl.spec
- rel 3
[packages/openssl.git] / openssl.spec
CommitLineData
2403ba81
JK
1#
2# Conditional build:
9508bae3 3%bcond_with purify # Compile openssl with \-DPURIFY, useful when one wants to
2403ba81 4 # use valgrind debugger against openssl-linked programs
623d135e 5#
779bb536 6%include /usr/lib/rpm/macros.perl
ce2ff00e 7Summary: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
e6bfca5b
ER
8Summary(de.UTF-8): Secure Sockets Layer (SSL)-Kommunikationslibrary
9Summary(es.UTF-8): Biblioteca C que suministra algoritmos y protocolos criptográficos
10Summary(fr.UTF-8): Utilitaires de communication SSL (Secure Sockets Layer)
11Summary(pl.UTF-8): Biblioteki OpenSSL (SSL v2/v3)
12Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos
13Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer
14Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer
56470945 15Name: openssl
e11f5f73 16Version: 0.9.8d
437201d8 17Release: 3
05285465 18License: Apache-style License
56470945 19Group: Libraries
264f738a 20Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
e11f5f73 21# Source0-md5: 8ed1853538e1d05a1f5ada61ebf8bffa
57805a3f 22Source1: %{name}-ca-bundle.crt
62382817 23Source2: %{name}.1.pl
ea55f735 24Source3: %{name}-ssl-certificate.sh
0d1c50df 25Patch0: %{name}-alpha-ccc.patch
e106ff02
TO
26Patch1: %{name}-optflags.patch
27Patch2: %{name}-globalCA.diff
c0cc4a35 28Patch3: %{name}-include.patch
32c3ac07 29Patch4: %{name}-md5-sparcv9.patch
5d5181f1 30Patch5: %{name}-libvar.patch
598997e9 31Patch6: %{name}-gcc_4_2.patch
bd7f0ef1 32URL: http://www.openssl.org/
741aa025 33BuildRequires: bc
9edbb66f 34BuildRequires: perl-devel >= 1:5.6.1
35BuildRequires: rpm-perlprov >= 4.1-13
20bc1dd7 36BuildRequires: rpmbuild(macros) >= 1.213
31b28434 37BuildRequires: sed >= 4.0
04a5ad1f
AF
38Obsoletes: SSLeay
39Obsoletes: SSLeay-devel
40Obsoletes: SSLeay-perl
a280467c 41Obsoletes: libopenssl0
0f86ef4a 42BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
21ac4f86
AF
43
44%description
45The OpenSSL Project is a collaborative effort to develop a robust,
b39fed70 46commercial-grade, full-featured, and Open Source toolkit implementing
47the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
48v1) protocols with full-strength cryptography world-wide. The project
49is managed by a worldwide community of volunteers that use the
50Internet to communicate, plan, and develop the OpenSSL tookit and its
51related documentation.
56470945 52
b39fed70 53OpenSSL is based on the excellent SSLeay library developed by Eric A.
54Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
55Apache-style licence, which basically means that you are free to get
56and use it for commercial and non-commercial purposes subject to some
57simple license conditions.
21ac4f86 58
fc19f542 59This package contains shared libraries only, install openssl-tools if
60you want to use openssl cmdline tool.
ce2ff00e 61
30e72515
JR
62%description -l de.UTF-8
63Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
64libraries, die verschiedene Verschlüsselungs- und
65Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL
66zur Verfügung stellen.
453a8bf3 67
30e72515
JR
68%description -l es.UTF-8
69Biblioteca C que suministra algoritmos y protocolos criptográficos.
2fad19b0 70
30e72515 71%description -l fr.UTF-8
56470945 72OpenSSL est un outiil de gestion des certificats et les librairies
73partagees qui fournit plusieurs protocoles et algorithmes de
74codage/decodage, incluant DES, RC4, RSA et SSL.
2fad19b0 75
30e72515
JR
76%description -l pl.UTF-8
77Implementacja protokołów kryptograficznych Secure Socket Layer (SSL)
78b5e413
TP
78v2/v3 oraz Transport Layer Security (TLS v1).
79
30e72515
JR
80%description -l pt_BR.UTF-8
81Uma biblioteca C que fornece vários algoritmos e protocolos
82criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas
83compartilhadas e utilitários.
453a8bf3 84
30e72515
JR
85%description -l ru.UTF-8
86Программа openssl для работы с сертификатами и разделяемые библиотеки,
87которые реализуют множетсво криптографических алгоритмов, включая DES,
88RC4, RSA и SSL.
453a8bf3 89
30e72515
JR
90%description -l uk.UTF-8
91Програма openssl для роботи з сертифікатами та бібліотеки спільного
92користування, що реалізують велику кількість криптографічних
93алгоритмів, включаючи DES, RC4, RSA та SSL.
453a8bf3 94
ce2ff00e 95%package tools
96Summary: OpenSSL command line tool and utilities
e6bfca5b 97Summary(pl.UTF-8): Zestaw narzędzi i skryptów
fc19f542 98Group: Applications/Communications
82859ae1 99Requires: %{name} = %{version}-%{release}
ce2ff00e 100
101%description tools
102The OpenSSL Toolkit cmdline tool openssl and utility scripts.
103
30e72515
JR
104%description tools -l pl.UTF-8
105Zestaw narzędzi i skryptów wywoływanych z linii poleceń.
78b5e413 106
ce2ff00e 107%package tools-perl
108Summary: OpenSSL utilities written in Perl
e6bfca5b 109Summary(pl.UTF-8): Narzędzia OpenSSL napisane w perlu
fc19f542 110Group: Applications/Communications
82859ae1 111Requires: %{name} = %{version}-%{release}
2b2149ff 112
ce2ff00e 113%description tools-perl
d86c2c8b 114OpenSSL Toolkit tools written in Perl.
2b2149ff 115
30e72515
JR
116%description tools-perl -l pl.UTF-8
117Narzędzia OpenSSL napisane w perlu.
78b5e413 118
faddd309 119%package devel
ce2ff00e 120Summary: Development part of OpenSSL Toolkit libraries
e6bfca5b
ER
121Summary(de.UTF-8): Secure Sockets Layer Kommunikationslibrary: statische libraries+header
122Summary(es.UTF-8): Bibliotecas y archivos de inclusión para desarrollo OpenSSL
123Summary(fr.UTF-8): Librairies statiques, headers et utilitaires pour communication SSL
124Summary(pl.UTF-8): Część bibiloteki OpenSSL przeznaczona dla programistów
125Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL
126Summary(ru.UTF-8): Библиотеки, хедеры и утилиты для Secure Sockets Layer
127Summary(uk.UTF-8): Бібліотеки, хедери та утиліти для Secure Sockets Layer
9c05bcac 128Group: Development/Libraries
82859ae1 129Requires: %{name} = %{version}-%{release}
a280467c 130Obsoletes: libopenssl0-devel
faddd309
AF
131
132%description devel
133Development part of OpenSSL library.
134
30e72515
JR
135%description devel -l es.UTF-8
136Bibliotecas y archivos de inclusión para desarrollo OpenSSL
453a8bf3 137
30e72515
JR
138%description devel -l pl.UTF-8
139Część biblioteki OpenSSL przeznaczona dla programistów.
faddd309 140
30e72515
JR
141%description devel -l pt_BR.UTF-8
142Uma biblioteca C que fornece vários algoritmos e protocolos
143criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e
144arquivos de inclusão para desenvolvimento.
453a8bf3 145
30e72515
JR
146%description devel -l ru.UTF-8
147Программа openssl для работы с сертификатами и разделяемые библиотеки,
148которые реализуют множетсво криптографических алгоритмов, включая DES,
149RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений
150с использованием SSL.
453a8bf3 151
30e72515
JR
152%description devel -l uk.UTF-8
153Програма openssl для роботи з сертифікатами та бібліотеки спільного
154користування, що реалізують велику кількість криптографічних
155алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та
156хедери для розробки програм з використанням SSL.
453a8bf3 157
faddd309 158%package static
ce2ff00e 159Summary: Static OpenSSL libraries
e6bfca5b
ER
160Summary(pl.UTF-8): Statyczne wersje bibliotek z OpenSSL
161Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com openssl
162Summary(ru.UTF-8): Статические библиотеки разработчика для OpenSSL
163Summary(uk.UTF-8): Статичні бібліотеки програміста для OpenSSL
9c05bcac 164Group: Development/Libraries
82859ae1 165Requires: %{name}-devel = %{version}-%{release}
faddd309
AF
166
167%description static
ce2ff00e 168Static OpenSSL Toolkit libraries.
faddd309 169
30e72515 170%description static -l pl.UTF-8
ce2ff00e 171Statyczne wersje bibliotek z OpenSSL.
faddd309 172
30e72515
JR
173%description static -l pt_BR.UTF-8
174Bibliotecas estáticas para desenvolvimento com openssl.
453a8bf3 175
30e72515
JR
176%description static -l ru.UTF-8
177Программа openssl для работы с сертификатами и разделяемые библиотеки,
178которые реализуют множетсво криптографических алгоритмов, включая DES,
179RC4, RSA и SSL. Включает статические библиотеки для разработки
180приложений с использованием OpenSSL.
453a8bf3 181
30e72515
JR
182%description static -l uk.UTF-8
183Програма openssl для роботи з сертифікатами та бібліотеки спільного
184користування, що реалізують велику кількість криптографічних
185алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні
186бібліотеки для розробки програм з використанням SSL.
453a8bf3 187
21ac4f86 188%prep
264f738a 189%setup -q
0384baf6 190%patch0 -p1
02c02459 191%patch1 -p1
05285465 192%patch2 -p1
9d16a74d 193%patch3 -p1
32c3ac07 194%patch4 -p1
5d5181f1 195%patch5 -p1
598997e9 196%patch6 -p1
04a32771 197
21ac4f86 198%build
51e76169 199%{__perl} -pi -e 's#%{_prefix}/local/bin/perl#%{__perl}#g' \
229f14e7 200 `grep -l -r "%{_prefix}/local/bin/perl" *`
0d1c50df 201
00466ad3 202touch Makefile.*
04a5ad1f 203
db17f76a 204%{__perl} util/perlpath.pl %{__perl}
04a5ad1f 205
2403ba81 206OPTFLAGS="%{rpmcflags} %{?with_purify:-DPURIFY}"
1ef5b332 207LDFLAGS="%{rpmldflags}"
208export OPTFLAGS LDFLAGS
9fc51b3c
JB
209./Configure \
210 --openssldir=%{_var}/lib/%{name} \
5d5181f1 211 --lib=%{_lib} \
9fc51b3c
JB
212 shared threads \
213 enable-mdc2 enable-rc5 \
51e76169 214%ifarch %{ix86}
04a32771 215%ifarch i386
9fc51b3c 216 386 linux-elf
915551a7 217# ^- allow running on 80386 (default code uses bswapl available on i486+)
51e76169 218%else
9fc51b3c 219 linux-elf
75c27cbe 220%endif
51e76169 221%endif
dfc15f38 222%ifarch alpha
9fc51b3c 223 linux-alpha+bwx-gcc
dfc15f38 224%endif
20bc1dd7 225%ifarch %{x8664}
9fc51b3c 226 linux-x86_64
e08c1652 227%endif
dfc15f38 228%ifarch ia64
9fc51b3c 229 linux-ia64
dfc15f38 230%endif
75c27cbe 231%ifarch ppc
9fc51b3c
JB
232 linux-ppc
233%endif
234%ifarch ppc64
235 linux-ppc64
75c27cbe 236%endif
05285465 237%ifarch sparc
9fc51b3c 238 linux-sparcv8
0384baf6 239%endif
36db42b5 240%ifarch sparcv9
9fc51b3c 241 linux-sparcv9
36db42b5
PS
242%endif
243%ifarch sparc64
9fc51b3c 244 linux64-sparcv9
36db42b5 245%endif
05285465 246
741aa025 247%{__make} -j1 all rehash tests \
b84cddc8
PG
248 CC="%{__cc}" \
249 INSTALLTOP=%{_prefix}
ce2ff00e 250
78b5e413 251# Conv PODs to man pages. "openssl_" prefix is added to each manpage
ce2ff00e 252# to avoid potential conflicts with others packages.
027a4889
TO
253center="OpenSSL 0.9.7"
254rel="OpenSSL 0.9.7"
ce2ff00e 255
78b5e413 256cd doc/apps || exit 1
db17f76a 257%{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
ce2ff00e 258
78b5e413
TP
259for pod in *.pod; do
260 if [ $pod != "openssl.pod" ]; then
261 mv -f $pod openssl_$pod;
262 pod=openssl_$pod;
263 fi
264
265 sec=1
266 if [ $pod = "openssl_config.pod" ]; then
267 sec=5
268 fi
269
270 manpage=`basename $pod .pod`.$sec;
271 pod2man --section="$sec" --release="$rel" --center="$center" \
272 $pod > $manpage;
273 echo "$manpage";
ce2ff00e 274done
275cd ..
276
277sec=3
78b5e413 278for dir in ssl crypto; do
ce2ff00e 279 cd $dir || exit 1;
280 if [ $dir = "ssl" ]; then
281 rel="OpenSSL SSL/TLS library"
78b5e413 282 elif [ $dir = "crypto" ]; then
ce2ff00e 283 rel="OpenSSL cryptographic library"
284 fi
78b5e413 285
db17f76a 286 %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
78b5e413
TP
287
288 for pod in *.pod; do
289 sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`;
290 mv -f $pod openssl_$pod;
291 pod=openssl_$pod;
292 manpage=`basename $pod .pod`.$sec;
293 pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
294 echo "$manpage";
ce2ff00e 295 done
296 cd ..
297done
298
779bb536 299#cd perl
62d94adc 300#%%{__perl} Makefile.PL \
db17f76a 301# INSTALLDIRS=vendor
4bbd074c 302#%{__make}
21ac4f86
AF
303
304%install
04a5ad1f 305rm -rf $RPM_BUILD_ROOT
ce2ff00e 306install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
4b251642
JK
307 $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
308 $RPM_BUILD_ROOT%{_pkgconfigdir}
faddd309 309
fe57b0ac 310%{__make} install \
2cd8efed 311 CC="%{__cc}" \
faddd309 312 INSTALLTOP=%{_prefix} \
027a4889
TO
313 INSTALL_PREFIX=$RPM_BUILD_ROOT \
314 MANDIR=%{_mandir}
04a5ad1f 315
a29936cc 316install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/ssl/ca-bundle.crt
027a4889 317install libcrypto.a libssl.a $RPM_BUILD_ROOT%{_libdir}
78b5e413 318install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir}
77dadeb8
JR
319ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
320ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so
04a5ad1f 321
fc19f542 322mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
c54cc7cc 323ln -s %{_sysconfdir}/%{name}/openssl.cnf \
ce2ff00e 324 $RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf
ce2ff00e 325
78b5e413 326mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
ce2ff00e 327rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc
04a5ad1f 328
fc19f542 329mv -f $RPM_BUILD_ROOT%{_bindir}/c_rehash $RPM_BUILD_ROOT%{_libdir}/%{name}
04a5ad1f 330
ce2ff00e 331find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f
d86c2c8b 332install doc/apps/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
333install doc/apps/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
334install doc/ssl/*.3 doc/crypto/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
335install doc/crypto/*.7 $RPM_BUILD_ROOT%{_mandir}/man7
62382817 336install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
ea55f735 337install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
9fc51b3c 338
81c6c2dc
AM
339rm $RPM_BUILD_ROOT%{_mandir}/man5/x509v3_config.5
340echo ".so openssl_x509v3_config.5" > $RPM_BUILD_ROOT%{_mandir}/man5/x509v3_config.5
341rm $RPM_BUILD_ROOT%{_mandir}/man7/Modes_of_DES.7
342echo ".so openssl_des_modes.7" > $RPM_BUILD_ROOT%{_mandir}/man7/Modes_of_DES.7
343
57dc6058
JB
344%clean
345rm -rf $RPM_BUILD_ROOT
61a04a63 346
d86c2c8b 347%post -p /sbin/ldconfig
ce2ff00e 348%postun -p /sbin/ldconfig
04a5ad1f 349
21ac4f86 350%files
04a5ad1f 351%defattr(644,root,root,755)
57dc6058
JB
352%doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
353%doc doc/openssl_button.gif doc/openssl_button.html
623d135e
JB
354%attr(755,root,root) %{_libdir}/libcrypto.so.*.*.*
355%attr(755,root,root) %{_libdir}/libssl.so.*.*.*
9fc51b3c
JB
356%dir %{_libdir}/engines
357%attr(755,root,root) %{_libdir}/engines/*.so
c05bfb9b
TP
358%dir %{_var}/lib/%{name}
359%dir %{_var}/lib/%{name}/certs
360%dir %{_var}/lib/%{name}/private
b87437db 361%dir %{_datadir}/ssl
623d135e 362%config(noreplace) %verify(not md5 mtime size) %{_datadir}/ssl/ca-bundle.crt
ce2ff00e 363
364%files tools
365%defattr(644,root,root,755)
366%dir %{_sysconfdir}/%{name}
5fcc5abe 367
623d135e
JB
368%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf
369%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/%{name}/openssl.cnf
ce2ff00e 370
371%attr(755,root,root) %{_bindir}/%{name}
ea55f735 372%attr(754,root,root) %{_bindir}/ssl-certificate
17a30265 373
ce2ff00e 374%dir %{_libdir}/%{name}
375%attr(755,root,root) %{_libdir}/%{name}/CA.sh
376%attr(755,root,root) %{_libdir}/%{name}/c_hash
ce2ff00e 377%attr(755,root,root) %{_libdir}/%{name}/c_info
378%attr(755,root,root) %{_libdir}/%{name}/c_issuer
379%attr(755,root,root) %{_libdir}/%{name}/c_name
380
d86c2c8b 381%{_mandir}/man1/openssl.1*
382%{_mandir}/man1/openssl_asn1parse.1*
383%{_mandir}/man1/openssl_ca.1*
384%{_mandir}/man1/openssl_ciphers.1*
385%{_mandir}/man1/openssl_crl.1*
386%{_mandir}/man1/openssl_crl2pkcs7.1*
387%{_mandir}/man1/openssl_dgst.1*
388%{_mandir}/man1/openssl_dhparam.1*
389%{_mandir}/man1/openssl_dsa.1*
390%{_mandir}/man1/openssl_dsaparam.1*
9fc51b3c
JB
391%{_mandir}/man1/openssl_ec.1*
392%{_mandir}/man1/openssl_ecparam.1*
d86c2c8b 393%{_mandir}/man1/openssl_enc.1*
5d088344 394%{_mandir}/man1/openssl_errstr.1*
d86c2c8b 395%{_mandir}/man1/openssl_gendsa.1*
396%{_mandir}/man1/openssl_genrsa.1*
397%{_mandir}/man1/openssl_nseq.1*
027a4889 398%{_mandir}/man1/openssl_ocsp.1*
d86c2c8b 399%{_mandir}/man1/openssl_passwd.1*
400%{_mandir}/man1/openssl_pkcs12.1*
401%{_mandir}/man1/openssl_pkcs7.1*
402%{_mandir}/man1/openssl_pkcs8.1*
403%{_mandir}/man1/openssl_rand.1*
404%{_mandir}/man1/openssl_req.1*
405%{_mandir}/man1/openssl_rsa.1*
57dc6058 406%{_mandir}/man1/openssl_rsautl.1*
d86c2c8b 407%{_mandir}/man1/openssl_s_client.1*
408%{_mandir}/man1/openssl_s_server.1*
c0cc4a35 409%{_mandir}/man1/openssl_s_time.1*
d86c2c8b 410%{_mandir}/man1/openssl_sess_id.1*
411%{_mandir}/man1/openssl_smime.1*
412%{_mandir}/man1/openssl_speed.1*
413%{_mandir}/man1/openssl_spkac.1*
414%{_mandir}/man1/openssl_verify.1*
415%{_mandir}/man1/openssl_version.1*
416%{_mandir}/man1/openssl_x509.1*
9fc51b3c 417%{_mandir}/man1/openssl_x509v3_config.1*
d86c2c8b 418%{_mandir}/man5/*.5*
62382817 419%lang(pl) %{_mandir}/pl/man1/openssl.1*
ce2ff00e 420
421%files tools-perl
422%defattr(644,root,root,755)
423%attr(755,root,root) %{_libdir}/%{name}/CA.pl
77dadeb8 424%attr(755,root,root) %{_libdir}/%{name}/c_rehash
d86c2c8b 425%{_mandir}/man1/openssl_CA.pl.1*
faddd309
AF
426
427%files devel
428%defattr(644,root,root,755)
f4434df9
PS
429%attr(755,root,root) %{_libdir}/libcrypto.so
430%attr(755,root,root) %{_libdir}/libssl.so
ce2ff00e 431%{_includedir}/%{name}
9fc51b3c
JB
432%{_pkgconfigdir}/libcrypto.pc
433%{_pkgconfigdir}/libssl.pc
8c362d23 434%{_pkgconfigdir}/openssl.pc
027a4889 435%{_mandir}/man3/openssl*.3*
57dc6058 436%{_mandir}/man7/*.7*
faddd309
AF
437
438%files static
439%defattr(644,root,root,755)
48e547a4 440%{_libdir}/lib*.a
This page took 0.110251 seconds and 4 git commands to generate.