]> git.pld-linux.org Git - packages/icedtea8.git/blob - icedtea8.spec
2f2720853dd99b3f0cefb7744a14f35679055e5e
[packages/icedtea8.git] / icedtea8.spec
1 #
2 # IMPORTANT:
3 #       when upgrading remember to redownload all sources from the upstream
4 #       URLs and update MD5 sums, as there is no change in the file names
5 #       and distfiles would provide outdated files
6 #
7
8 # TODO:
9 # - install .ttf fonts (same as in sun-java-base-jre-X11 package) or configure
10 #   it to use system fonts (is it possible?).
11 # - desktop files, icons, etc. Some of these are included in the source root dir
12 # - maybe build Shark VM, at least on i486, as the zero-assembly VM is very slow
13 # - pass %{rpmcflags} to build
14
15 %bcond_with bootstrap   # build a bootstrap version, using icedtea6
16 %bcond_without nss      # don't use NSS
17 %bcond_without cacerts  # don't include the default CA certificates
18 %bcond_without sunec    # enable Sun EC crypt lib
19
20 %if %{with bootstrap}
21 %define         use_jdk openjdk8
22 %else
23 %define         use_jdk icedtea8
24 %endif
25
26 # class data version seen with file(1) that this jvm is able to load
27 %define         _classdataversion 52.0
28 # JDK/JRE version, as returned with `java -version`, '_' replaced with '.'
29 %define         _jdkversion 1.8.0.212
30
31 Summary:        OpenJDK and GNU Classpath code
32 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath
33 Name:           icedtea8
34 Version:        3.12.0
35 Release:        2
36 License:        GPL v2
37 Group:          Development/Languages/Java
38 Source0:        http://icedtea.wildebeest.org/download/source/icedtea-%{version}.tar.gz
39 # Source0-md5:  c47bdcf49fdb599c7f78d4648c83c1c3
40 Source1:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/openjdk.tar.xz
41 # Source1-md5:  1c9ab5b4de75e03b07d559e04f38c0fd
42 Source2:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/corba.tar.xz
43 # Source2-md5:  80284b77c2953773f3d528498f97661d
44 Source3:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxp.tar.xz
45 # Source3-md5:  8936437215e302407ae47e26fd3715ba
46 Source4:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxws.tar.xz
47 # Source4-md5:  ebbaf9049b3ce10266669f222c67a49c
48 Source5:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jdk.tar.xz
49 # Source5-md5:  dd7b36c08d0b491fd07c1d1978cbf378
50 Source6:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/langtools.tar.xz
51 # Source6-md5:  d243725860f8b78f750a30b287d2e435
52 Source7:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/hotspot.tar.xz
53 # Source7-md5:  7450282666c317c0790838f2aa0b4c20
54 Source8:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/nashorn.tar.xz
55 # Source8-md5:  c97334e32461167d6af8d5c8df0e0ec8
56 Source10:       make-cacerts.sh
57 # 0-99 patches for the IcedTea files
58 Patch0:         %{name}-x32-ac.patch
59 Patch1:         %{name}-heimdal.patch
60 Patch2:         %{name}-bashisms.patch
61 # 100-... patches applied to the extracted sources
62 Patch100:       %{name}-libpath.patch
63 Patch101:       %{name}-x32.patch
64 Patch102:       openjdk-heimdal.patch
65 URL:            http://icedtea.classpath.org/wiki/Main_Page
66 BuildRequires:  alsa-lib-devel
67 BuildRequires:  ant
68 BuildRequires:  autoconf
69 BuildRequires:  automake
70 BuildRequires:  bash
71 %{?with_cacerts:BuildRequires:  ca-certificates-update}
72 BuildRequires:  cups-devel
73 BuildRequires:  /usr/bin/jar
74 BuildRequires:  fontconfig-devel
75 BuildRequires:  freetype-devel >= 2.3
76 BuildRequires:  gawk
77 BuildRequires:  giflib-devel >= 5.1
78 BuildRequires:  glib2-devel
79 BuildRequires:  glibc-misc
80 BuildRequires:  gtk+2-devel
81 BuildRequires:  heimdal-devel
82 BuildRequires:  java-rhino
83 BuildRequires:  java-xalan
84 %buildrequires_jdk
85 BuildRequires:  lcms2-devel
86 BuildRequires:  libffi-devel
87 BuildRequires:  libjpeg-devel >= 6b
88 BuildRequires:  pcsc-lite-devel
89 BuildRequires:  libpng-devel
90 BuildRequires:  libsctp-devel
91 BuildRequires:  libstdc++-static
92 BuildRequires:  lsb-release
93 %{?with_nss:BuildRequires:      nss-devel >= 1:3.17.2-5}
94 BuildRequires:  paxctl
95 BuildRequires:  pkgconfig
96 BuildRequires:  rpmbuild(macros) >= 1.557
97 BuildRequires:  systemtap-sdt-devel >= 3.2
98 BuildRequires:  unzip
99 BuildRequires:  util-linux
100 BuildRequires:  xorg-lib-libX11-devel
101 BuildRequires:  xorg-lib-libXau-devel
102 BuildRequires:  xorg-lib-libXcomposite-devel
103 BuildRequires:  xorg-lib-libXdmcp-devel
104 BuildRequires:  xorg-lib-libXext-devel
105 BuildRequires:  xorg-lib-libXi-devel
106 BuildRequires:  xorg-lib-libXinerama-devel
107 BuildRequires:  xorg-lib-libXp-devel
108 BuildRequires:  xorg-lib-libXrender-devel
109 BuildRequires:  xorg-lib-libXt-devel
110 BuildRequires:  xorg-lib-libXtst-devel
111 BuildRequires:  xorg-proto-printproto-devel
112 BuildRequires:  xorg-proto-xproto-devel
113 BuildRequires:  zip
114 BuildRequires:  zlib-devel
115 Requires:       %{name}-appletviewer = %{version}-%{release}
116 Requires:       %{name}-jdk = %{version}-%{release}
117 Suggests:       %{name}-jre-X11
118 Suggests:       icedtea-web
119 Obsoletes:      icedtea6
120 Obsoletes:      icedtea7
121 Obsoletes:      java5-sun
122 Obsoletes:      java5-sun-jre
123 Obsoletes:      java5-sun-jre-jdbc
124 Obsoletes:      java5-sun-jre-X11
125 Obsoletes:      java5-sun-tools
126 Obsoletes:      java-gcj-compat
127 Obsoletes:      java-gcj-compat-devel
128 Obsoletes:      java-sun
129 Obsoletes:      java-sun-demos
130 Obsoletes:      java-sun-jre
131 Obsoletes:      java-sun-jre-alsa
132 Obsoletes:      java-sun-jre-jdbc
133 Obsoletes:      java-sun-jre-X11
134 Obsoletes:      java-sun-tools
135 Obsoletes:      openjdk8
136 Obsoletes:      oracle-java7
137 Obsoletes:      oracle-java7-jre
138 Obsoletes:      oracle-java7-jre-alsa
139 Obsoletes:      oracle-java7-jre-jdbc
140 Obsoletes:      oracle-java7-jre-X11
141 Obsoletes:      oracle-java7-tools
142 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
143
144 %define         dstreldir       %{name}-%{version}
145 %define         dstdir          %{_jvmdir}/%{dstreldir}
146 %define         jrereldir       %{dstreldir}/jre
147 %define         jredir          %{_jvmdir}/%{jrereldir}
148 %define         jvmjardir       %{_jvmjardir}/%{name}-%{version}
149
150 %ifarch %{x8664}
151 %define         jre_arch        amd64
152 %endif
153 %ifarch %{ix86}
154 %define         jre_arch        i386
155 %endif
156 %ifarch x32
157 %define         jre_arch        x32
158 %endif
159
160 # to break artificial subpackage dependency loops
161 %define         _noautoreq      'libmawt.so' java\\\\(ClassDataVersion\\\\)
162
163 %description
164 The IcedTea project provides a harness to build the source code from
165 http://openjdk.java.net/ using Free Software build tools and provides
166 replacements libraries for the binary plugs with code from the GNU
167 Classpath project.
168
169 This is a meta-package which provides, by its dependencies, all the
170 IcedTea6 components including the OpenJDK, Java 6 developement kit and
171 runtime environment.
172
173 %description -l pl.UTF-8
174 Projekt IcedTea daje możliwość kompilacji kodu źródłowego z
175 http://openjdk.java.net/ przy użyciu wolnodostępnych narzędzi oraz
176 dostarcza zamienniki biblioteczne binarnych wtyczek pochodzące z
177 projektu GNU Classpath.
178
179 To jest meta-pakiet, który, za pośrednictwem zależności, dostarcza
180 wszystkie komponenty IcedTea7, w tym środowisko programistyczne
181 (OpenJDK) i uruchomieniowe (JRE).
182
183 %package jdk
184 Summary:        OpenJDK and GNU Classpath code - software development kit
185 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko programistyczne
186 Group:          Development/Languages/Java
187 Requires:       %{name}-jar = %{version}-%{release}
188 Requires:       %{name}-jdk-base = %{version}-%{release}
189 Requires:       %{name}-jre = %{version}-%{release}
190 Provides:       j2sdk = %{_jdkversion}
191 Provides:       jdk = %{_jdkversion}
192 Obsoletes:      blackdown-java-sdk
193 Obsoletes:      ibm-java
194 Obsoletes:      icedtea6-jdk
195 Obsoletes:      icedtea7-jdk
196 Obsoletes:      java-blackdown
197 Obsoletes:      java-gcj-compat-devel
198 Obsoletes:      java-sun
199 Obsoletes:      java5-sun
200 Obsoletes:      openjdk8-jdk
201 Obsoletes:      oracle-java7
202 Obsoletes:      jdk
203 Obsoletes:      kaffe
204
205 %description jdk
206 This package symlinks OpenJDK development tools provided by
207 %{name}-jdk-base to system-wide directories like %{_bindir}, making
208 IcedTea6 default JDK.
209
210 %description jdk -l pl.UTF-8
211 Ten pakiet tworzy symboliczne dowiązania do narzędzi programistycznych
212 OpenJDK, dostarczanych przez pakiet %{name}-jdk-base, w standardowych
213 systemowych ścieżkach takich jak %{_bindir}, sprawiając tym samym, że
214 IcedTea6 staje się domyślnym JDK w systemie.
215
216 %package jdk-base
217 Summary:        OpenJDK and GNU Classpath code - software development kit
218 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko programistyczne
219 Group:          Development/Languages/Java
220 Requires:       %{name}-jre-base = %{version}-%{release}
221 Requires:       jpackage-utils >= 0:1.7.5-4
222 Provides:       jdk(%{name})
223
224 %description jdk-base
225 OpenJDK development tools built using free software only.
226
227 %description jdk-base -l pl.UTF-8
228 OpenJDK skompilowane wyłącznie przy użyciu wolnego oprogramowania.
229
230 %package jre
231 Summary:        OpenJDK and GNU Classpath code - runtime environment
232 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko uruchomieniowe
233 Group:          Development/Languages/Java
234 Requires:       %{name}-jre-base = %{version}-%{release}
235 Requires:       nss >= 1:3.13.4
236 # Require zoneinfo data provided by java-tzdata subpackage.
237 Requires:       java-tzdata
238 Provides:       java
239 Provides:       java(ClassDataVersion) = %{_classdataversion}
240 Provides:       java(jaas) = %{version}
241 Provides:       java(jaf) = 1.1.1
242 Provides:       java(jaxp) = 1.3
243 Provides:       java(jaxp_parser_impl)
244 Provides:       java(jce) = %{version}
245 Provides:       java(jdbc-stdext) = %{version}
246 Provides:       java(jdbc-stdext) = 3.0
247 Provides:       java(jmx) = 1.4
248 Provides:       java(jndi) = %{version}
249 Provides:       java(jsse) = %{version}
250 Provides:       java1.4
251 Provides:       jre = %{_jdkversion}
252 Obsoletes:      icedtea6-jre
253 Obsoletes:      icedtea7-jre
254 Obsoletes:      java(jaas)
255 Obsoletes:      java(jaf)
256 Obsoletes:      java(jaxp)
257 Obsoletes:      java(jce)
258 Obsoletes:      java(jdbc-stdext)
259 Obsoletes:      java(jdbc-stdext)
260 Obsoletes:      java(jmx)
261 Obsoletes:      java(jndi)
262 Obsoletes:      java(jsse)
263 Obsoletes:      java-gcj-compat
264 Obsoletes:      java-sun-jre
265 Obsoletes:      java5-sun-jre
266 Obsoletes:      openjdk8-jre
267 Obsoletes:      oracle-java7-jre
268 Obsoletes:      jre
269
270 %description jre
271 This package symlinks OpenJDK runtime environment tools provided by
272 %{name}-jre-base to system-wide directories like %{_bindir}, making
273 IcedTea6 default JRE.
274
275 %description jre -l pl.UTF-8
276 Ten pakiet tworzy symboliczne dowiązania do środowiska
277 uruchomieniowego OpenJDK, dostarczanych przez pakiet %{name}-jre-base,
278 w standardowych systemowych ścieżkach takich jak %{_bindir},
279 sprawiając tym samym, że IcedTea7 staje się domyślnym JRE w systemie.
280
281 %package jre-X11
282 Summary:        IcedTea7 OpenJDK - runtime environment - X11 support
283 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa X11
284 Group:          Development/Languages/Java
285 Requires:       %{name}-jre = %{version}-%{release}
286 Requires:       %{name}-jre-base-X11 = %{version}-%{release}
287 Provides:       jre-X11 = %{_jdkversion}
288 Obsoletes:      icedtea6-jre-X11
289 Obsoletes:      java-sun-jre-X11
290 Obsoletes:      openjdk8-jre-X11
291 Obsoletes:      oracle-java7-jre-X11
292
293 %description jre-X11
294 X11 support for OpenJDK runtime environment built using free software
295 only.
296
297 %description jre-X11 -l pl.UTF-8
298 Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
299 wolnego oprogramowania.
300
301 %package jre-base
302 Summary:        OpenJDK and GNU Classpath code - runtime environment
303 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko uruchomieniowe
304 Group:          Development/Languages/Java
305 Requires:       jpackage-utils >= 0:1.7.5-4
306 Provides:       jre(%{name})
307
308 %description jre-base
309 OpenJDK runtime environment built using free software only.
310
311 %description jre-base -l pl.UTF-8
312 Środowisko uruchomieniowe OpenJDK zbudowany wyłącznie przy użyciu
313 wolnego oprogramowania.
314
315 %package jre-base-X11
316 Summary:        IcedTea7 OpenJDK - runtime environment - X11 support
317 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa X11
318 Group:          Development/Languages/Java
319 Requires:       %{name}-jre-base = %{version}-%{release}
320 Requires:       %{name}-jre-base-freetype = %{version}-%{release}
321
322 %description jre-base-X11
323 X11 support for OpenJDK runtime environment built using free software
324 only.
325
326 %description jre-base-X11 -l pl.UTF-8
327 Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
328 wolnego oprogramowania.
329
330 %package jre-base-alsa
331 Summary:        IcedTea7 OpenJDK - runtime environment - ALSA support
332 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa ALSA
333 Group:          Development/Languages/Java
334 Requires:       %{name}-jre-base = %{version}-%{release}
335
336 %description jre-base-alsa
337 ALSA sound support for OpenJDK runtime environment build using free
338 software only.
339
340 %description jre-base-alsa -l pl.UTF-8
341 Biblioteki ALSA rozszerzające środowisko OpenJDK o obsługę dźwięku
342 zbudowane przy uzyciu wyłącznie wolnego oprogramowania.
343
344 %package jre-base-freetype
345 Summary:        IcedTea7 OpenJDK - runtime environment - font support
346 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa fontów
347 Group:          Development/Languages/Java
348 Requires:       %{name}-jre-base = %{version}-%{release}
349
350 %description jre-base-freetype
351 Font handling library for OpenJDK runtime environment built using free
352 software only.
353
354 %description jre-base-freetype -l pl.UTF-8
355 Biblioteki obsługi czcionek dla OpenJDK zbudowane wyłącznie przy
356 użyciu wolnego oprogramowania.
357
358 %package jre-base-gtk
359 Summary:        IcedTea7 OpenJDK - runtime environment - GTK support
360 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa GTK
361 Group:          Development/Languages/Java
362 Requires:       %{name}-jre-base = %{version}-%{release}
363
364 %description jre-base-gtk
365 GTK support for OpenJDK runtime environment.
366
367 %description jre-base-gtk -l pl.UTF-8
368 Biblioteki GTK dla OpenJDK.
369
370 %package jar
371 Summary:        OpenJDK and GNU Classpath code - JAR tool
372 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie JAR
373 Group:          Development/Languages/Java
374 Requires:       %{name}-jdk-base = %{version}-%{release}
375 Provides:       jar
376 Obsoletes:      fastjar
377 Obsoletes:      icedtea6-jar
378 Obsoletes:      icedtea7-jar
379 Obsoletes:      openjdk8-jar
380 Obsoletes:      jar
381
382 %description jar
383 JAR tool from OpenJDK built using free software only.
384
385 JAR is an archiver used to merge Java classes into a single library.
386
387 %description jar -l pl.UTF-8
388 Narzędzie jar z OpenJDK zbudowane przy uzyciu wyłącznie wolnego
389 oprogramowania.
390
391 JAR jest narzędziem pozwalającym wykonywać podstawowe operacje na
392 archiwach javy .jar takie jak na przykład tworzenie lub rozpakowywanie
393 archiwów.
394
395 %package appletviewer
396 Summary:        OpenJDK and GNU Classpath code - appletviewer tool
397 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie appletviewer
398 Group:          Development/Languages/Java
399 Requires:       %{name}-jdk-base = %{version}-%{release}
400 Requires:       %{name}-jre-X11 = %{version}-%{release}
401 Obsoletes:      icedtea6-appletviewer
402 Obsoletes:      icedtea7-appletviewer
403 Obsoletes:      java-sun-appletviewer
404 Obsoletes:      openjdk8-appletviewer
405 Obsoletes:      oracle-java7-appletviewer
406
407 %description appletviewer
408 Appletviewer from OpenJDK build using free software only.
409
410 %description appletviewer -l pl.UTF-8
411 Appletviewer pozwala uruchamiać aplety javy niezależnie od
412 przeglądarki www. Ten appletviewer pochodzi z zestawu narzędzi OpenJDK
413 i został zbudowany wyłącznie przy użyciu wolnego oprogramowania.
414
415 %package jdk-sources
416 Summary:        OpenJDK and GNU Classpath code - sources
417 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - kod źródłowy
418 Group:          Documentation
419 %if "%{_rpmversion}" >= "5"
420 BuildArch:      noarch
421 %endif
422
423 %description jdk-sources
424 Source code for the OpenJDK development kit and Java standard library.
425
426 %description jdk-sources -l pl.UTF-8
427 Kod źródłowy narzędzi programistycznych OpenJDK oraz standardowej
428 biblioteki Javy.
429
430 %package examples
431 Summary:        OpenJDK and GNU Classpath code - examples
432 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - przykłady
433 Group:          Documentation
434 %if "%{_rpmversion}" >= "5"
435 BuildArch:      noarch
436 %endif
437
438 %description examples
439 Code examples for OpenJDK.
440
441 %description examples -l pl.UTF-8
442 Przykłady dla OpenJDK.
443
444 %prep
445 %setup -qn icedtea-%{version}
446 %patch0 -p1
447 %patch1 -p1
448 %patch2 -p1
449
450 # patches to applied to the extracted sources
451 install -d pld-patches
452 cp -p %{PATCH100} pld-patches
453 %ifarch x32
454 cp -p %{PATCH101} pld-patches
455 %endif
456 cp -p %{PATCH102} pld-patches
457
458 # let the build system extract the sources where it wants them
459 install -d drops
460 ln -s %{SOURCE1} openjdk.tar.xz
461 ln -s %{SOURCE2} corba.tar.xz
462 ln -s %{SOURCE3} jaxp.tar.xz
463 ln -s %{SOURCE4} jaxws.tar.xz
464 ln -s %{SOURCE5} jdk.tar.xz
465 ln -s %{SOURCE6} langtools.tar.xz
466 ln -s %{SOURCE7} hotspot.tar.xz
467 ln -s %{SOURCE8} nashorn.tar.xz
468
469 %build
470 # Make sure we have /proc mounted - otherwise idlc will fail later.
471 if [ ! -f /proc/self/stat ]; then
472         echo "You need to have /proc mounted in order to build this package!"
473         exit 1
474 fi
475
476 unset JAVA_HOME
477
478 mkdir -p build-bin
479 export PATH="$(pwd)/build-bin:$PATH"
480
481 # our /usr/bin/ant is quite broken and won't run properly
482 # in the bootstrap JDK environment prepared by IcedTea build process
483 cat >>build-bin/ant <<'EOF'
484 #!/bin/sh
485
486 exec java \
487         -classpath /usr/share/java/ant-launcher.jar \
488         -Dant.home=/usr/share/ant \
489         -Dant.lib=/usr/share/ant/lib \
490         org.apache.tools.ant.launch.Launcher \
491         "$@"
492 EOF
493 chmod a+x build-bin/ant
494
495 %{__aclocal}
496 %{__autoconf}
497 %{__automake}
498
499 # NOTE: the weird '--disable-bootstrap' is how it is supposed to be
500 # http://icedtea.classpath.org/wiki/CommonIssues#IcedTea7_building_on_systems_with_JDK_5_or_JDK_6
501 %configure \
502         WGET=%{_bindir}/wget \
503 %ifarch x32
504         --enable-zero \
505 %endif
506         --disable-downloading \
507         --with-jdk-home=%{java_home} \
508         --disable-bootstrap \
509         --enable-improved-font-rendering \
510         --enable-system-kerberos \
511         --enable-system-pcsc \
512         --enable-system-sctp \
513         --%{!?with_nss:dis}%{?with_nss:en}able-nss \
514         --%{!?with_sunec:dis}%{?with_sunec:en}able-sunec
515
516 %{__make} extract \
517         SHELL=/bin/bash \
518         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)"
519
520 %{__make} patch \
521         SHELL=/bin/bash \
522         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)"
523
524 # break here to prepare openjdk patches
525 #exit 1
526
527 cd openjdk/common/autoconf
528 sh autogen.sh
529 cd ../../..
530
531 %{__make} -j1 \
532         SHELL=/bin/bash \
533         DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \
534         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)" \
535         PRINTF=/bin/printf \
536         MAX_VM_MEMORY=1024
537
538 # smoke test
539 openjdk.build/jdk/bin/java -version
540
541 %{?with_cacerts:%{__sh} %{SOURCE10}}
542
543 # _jdkversion check
544 JDKVER=$(openjdk.build/jdk/bin/java -version 2>&1 | gawk -F'"' '/openjdk version/ { s=$2; gsub("_", ".", s); print s; } ')
545 if [ "$JDKVER" != "%{_jdkversion}" ]; then
546         echo "Please update _jdkversion macro to $JDKVER" >&2
547         exit 1
548 fi
549
550 %install
551 rm -rf $RPM_BUILD_ROOT
552
553 install -d $RPM_BUILD_ROOT{%{_bindir},%{dstdir},%{_mandir}/ja} \
554         $RPM_BUILD_ROOT{%{jvmjardir},%{_examplesdir}/%{name}-%{version},%{_javasrcdir}} \
555         $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
556
557 # install the 'JDK image', it contains the JRE too
558 cp -a openjdk.build/images/j2sdk-image/* $RPM_BUILD_ROOT%{dstdir}
559
560 # convenience symlinks without version number
561 ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}
562 ln -s %{jrereldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}-jre
563
564 ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/java
565
566 # move JDK sources and demo to /usr/src
567 mv $RPM_BUILD_ROOT%{dstdir}/demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
568 mv $RPM_BUILD_ROOT%{dstdir}/sample $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
569 mv $RPM_BUILD_ROOT%{dstdir}/src.zip $RPM_BUILD_ROOT%{_javasrcdir}/%{name}-jdk.zip
570
571 # move manual pages to its place
572 mv $RPM_BUILD_ROOT%{dstdir}/man/ja_JP.UTF-8/man1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
573 rmdir $RPM_BUILD_ROOT%{dstdir}/man/ja_JP.UTF-8
574 rm $RPM_BUILD_ROOT%{dstdir}/man/ja
575 mv $RPM_BUILD_ROOT%{dstdir}/man/man1 $RPM_BUILD_ROOT%{_mandir}/man1
576 rmdir $RPM_BUILD_ROOT%{dstdir}/man
577
578 # replace duplicates with symlinks, link to %{_bindir}
579 for path in $RPM_BUILD_ROOT%{dstdir}/bin/*; do
580         filename=$(basename $path)
581         if diff -q "$path" "$RPM_BUILD_ROOT%{jredir}/bin/$filename" > /dev/null; then
582                 ln -sf "../jre/bin/$filename" "$path"
583                 ln -sf "%{jredir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
584         else
585                 ln -sf "%{dstdir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
586         fi
587 done
588 ln -sf ../jre/lib/jexec $RPM_BUILD_ROOT%{dstdir}/lib/jexec
589
590 # keep configuration in /etc (not all *.properties go there)
591 for config in management security content-types.properties \
592                 logging.properties net.properties sound.properties; do
593
594         mv $RPM_BUILD_ROOT%{jredir}/lib/$config $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$config
595         ln -s %{_sysconfdir}/%{name}/$config $RPM_BUILD_ROOT%{jredir}/lib/$config
596 done
597
598 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jsse.jar
599 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jcert.jar
600 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jnet.jar
601 ln -sf %{jredir}/lib/jce.jar $RPM_BUILD_ROOT%{jvmjardir}/jce.jar
602 for f in jndi jndi-ldap jndi-cos jndi-rmi jaas jdbc-stdext jdbc-stdext-3.0 \
603         sasl jaxp_parser_impl jaxp_transform_impl jaxp jmx activation xml-commons-apis \
604         jndi-dns jndi-rmi; do
605         ln -sf %{jredir}/lib/rt.jar $RPM_BUILD_ROOT%{jvmjardir}/$f.jar
606 done
607
608 # some apps (like opera) looks for it in different place
609 ln -s server/libjvm.so $RPM_BUILD_ROOT%{jredir}/lib/%{jre_arch}/libjvm.so
610
611 %{__rm} $RPM_BUILD_ROOT%{dstdir}/{,jre/}{ASSEMBLY_EXCEPTION,LICENSE,THIRD_PARTY_README}
612
613 %{?with_cacerts:install cacerts $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/security}
614
615 %clean
616 rm -rf $RPM_BUILD_ROOT
617
618 %files
619 %defattr(644,root,root,755)
620 %doc AUTHORS ChangeLog HACKING NEWS README
621
622 %files jdk
623 %defattr(644,root,root,755)
624 %attr(755,root,root) %{_bindir}/extcheck
625 %attr(755,root,root) %{_bindir}/idlj
626 %attr(755,root,root) %{_bindir}/jarsigner
627 %attr(755,root,root) %{_bindir}/java-rmi.cgi
628 %attr(755,root,root) %{_bindir}/javac
629 %attr(755,root,root) %{_bindir}/javadoc
630 %attr(755,root,root) %{_bindir}/javah
631 %attr(755,root,root) %{_bindir}/javap
632 %attr(755,root,root) %{_bindir}/jcmd
633 %attr(755,root,root) %{_bindir}/jconsole
634 %attr(755,root,root) %{_bindir}/jdb
635 %attr(755,root,root) %{_bindir}/jdeps
636 %attr(755,root,root) %{_bindir}/jhat
637 %attr(755,root,root) %{_bindir}/jinfo
638 %attr(755,root,root) %{_bindir}/jjs
639 %attr(755,root,root) %{_bindir}/jmap
640 %attr(755,root,root) %{_bindir}/jps
641 %attr(755,root,root) %{_bindir}/jrunscript
642 %attr(755,root,root) %{_bindir}/jsadebugd
643 %attr(755,root,root) %{_bindir}/jstack
644 %attr(755,root,root) %{_bindir}/jstat
645 %attr(755,root,root) %{_bindir}/jstatd
646 %attr(755,root,root) %{_bindir}/native2ascii
647 %attr(755,root,root) %{_bindir}/rmic
648 %attr(755,root,root) %{_bindir}/schemagen
649 %attr(755,root,root) %{_bindir}/serialver
650 %attr(755,root,root) %{_bindir}/wsgen
651 %attr(755,root,root) %{_bindir}/wsimport
652 %attr(755,root,root) %{_bindir}/xjc
653 %{_mandir}/man1/extcheck.1*
654 %{_mandir}/man1/idlj.1*
655 %{_mandir}/man1/jarsigner.1*
656 %{_mandir}/man1/javac.1*
657 %{_mandir}/man1/javadoc.1*
658 %{_mandir}/man1/javah.1*
659 %{_mandir}/man1/javap.1*
660 %{_mandir}/man1/jcmd.1*
661 %{_mandir}/man1/jconsole.1*
662 %{_mandir}/man1/jdb.1*
663 %{_mandir}/man1/jdeps.1*
664 %{_mandir}/man1/jhat.1*
665 %{_mandir}/man1/jinfo.1*
666 %{_mandir}/man1/jjs.1*
667 %{_mandir}/man1/jmap.1*
668 %{_mandir}/man1/jps.1*
669 %{_mandir}/man1/jrunscript.1*
670 %{_mandir}/man1/jsadebugd.1*
671 %{_mandir}/man1/jstack.1*
672 %{_mandir}/man1/jstat.1*
673 %{_mandir}/man1/jstatd.1*
674 %{_mandir}/man1/native2ascii.1*
675 %{_mandir}/man1/schemagen.1*
676 %{_mandir}/man1/serialver.1*
677 %{_mandir}/man1/rmic.1*
678 %{_mandir}/man1/wsgen.1*
679 %{_mandir}/man1/wsimport.1*
680 %{_mandir}/man1/xjc.1*
681 %lang(ja) %{_mandir}/ja/man1/extcheck.1*
682 %lang(ja) %{_mandir}/ja/man1/idlj.1*
683 %lang(ja) %{_mandir}/ja/man1/jarsigner.1*
684 %lang(ja) %{_mandir}/ja/man1/javac.1*
685 %lang(ja) %{_mandir}/ja/man1/javadoc.1*
686 %lang(ja) %{_mandir}/ja/man1/javah.1*
687 %lang(ja) %{_mandir}/ja/man1/javap.1*
688 %lang(ja) %{_mandir}/ja/man1/jcmd.1*
689 %lang(ja) %{_mandir}/ja/man1/jconsole.1*
690 %lang(ja) %{_mandir}/ja/man1/jdb.1*
691 %lang(ja) %{_mandir}/ja/man1/jdeps.1*
692 %lang(ja) %{_mandir}/ja/man1/jhat.1*
693 %lang(ja) %{_mandir}/ja/man1/jinfo.1*
694 %lang(ja) %{_mandir}/ja/man1/jjs.1*
695 %lang(ja) %{_mandir}/ja/man1/jmap.1*
696 %lang(ja) %{_mandir}/ja/man1/jps.1*
697 %lang(ja) %{_mandir}/ja/man1/jrunscript.1*
698 %lang(ja) %{_mandir}/ja/man1/jsadebugd.1*
699 %lang(ja) %{_mandir}/ja/man1/jstack.1*
700 %lang(ja) %{_mandir}/ja/man1/jstat.1*
701 %lang(ja) %{_mandir}/ja/man1/jstatd.1*
702 %lang(ja) %{_mandir}/ja/man1/native2ascii.1*
703 %lang(ja) %{_mandir}/ja/man1/schemagen.1*
704 %lang(ja) %{_mandir}/ja/man1/serialver.1*
705 %lang(ja) %{_mandir}/ja/man1/rmic.1*
706 %lang(ja) %{_mandir}/ja/man1/wsgen.1*
707 %lang(ja) %{_mandir}/ja/man1/wsimport.1*
708 %lang(ja) %{_mandir}/ja/man1/xjc.1*
709
710 %files jdk-base
711 %defattr(644,root,root,755)
712 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
713 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
714 %dir %{dstdir}
715 %{_jvmdir}/%{name}
716 %dir %{dstdir}/bin
717 %attr(755,root,root) %{dstdir}/bin/appletviewer
718 %attr(755,root,root) %{dstdir}/bin/extcheck
719 %attr(755,root,root) %{dstdir}/bin/idlj
720 %attr(755,root,root) %{dstdir}/bin/jar
721 %attr(755,root,root) %{dstdir}/bin/jarsigner
722 %attr(755,root,root) %{dstdir}/bin/java-rmi.cgi
723 %attr(755,root,root) %{dstdir}/bin/javac
724 %attr(755,root,root) %{dstdir}/bin/javadoc
725 %attr(755,root,root) %{dstdir}/bin/javah
726 %attr(755,root,root) %{dstdir}/bin/javap
727 %attr(755,root,root) %{dstdir}/bin/jconsole
728 %attr(755,root,root) %{dstdir}/bin/jcmd
729 %attr(755,root,root) %{dstdir}/bin/jdb
730 %attr(755,root,root) %{dstdir}/bin/jdeps
731 %attr(755,root,root) %{dstdir}/bin/jhat
732 %attr(755,root,root) %{dstdir}/bin/jinfo
733 %attr(755,root,root) %{dstdir}/bin/jmap
734 %attr(755,root,root) %{dstdir}/bin/jps
735 %attr(755,root,root) %{dstdir}/bin/jrunscript
736 %attr(755,root,root) %{dstdir}/bin/jsadebugd
737 %attr(755,root,root) %{dstdir}/bin/jstack
738 %attr(755,root,root) %{dstdir}/bin/jstat
739 %attr(755,root,root) %{dstdir}/bin/jstatd
740 %attr(755,root,root) %{dstdir}/bin/native2ascii
741 %attr(755,root,root) %{dstdir}/bin/rmic
742 %attr(755,root,root) %{dstdir}/bin/schemagen
743 %attr(755,root,root) %{dstdir}/bin/serialver
744 %attr(755,root,root) %{dstdir}/bin/wsgen
745 %attr(755,root,root) %{dstdir}/bin/wsimport
746 %attr(755,root,root) %{dstdir}/bin/xjc
747 %{dstdir}/include
748 %dir %{dstdir}/lib
749 %{dstdir}/lib/ct.sym
750 %{dstdir}/lib/dt.jar
751 %{dstdir}/lib/ir.idl
752 %{dstdir}/lib/jconsole.jar
753 %attr(755,root,root) %{dstdir}/lib/jexec
754 %{dstdir}/lib/orb.idl
755 %ifnarch x32
756 %{dstdir}/lib/sa-jdi.jar
757 %endif
758 %{dstdir}/lib/tools.jar
759 %dir %{dstdir}/lib/%{jre_arch}
760 %dir %{dstdir}/lib/%{jre_arch}/jli
761 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/jli/*.so
762 %{dstdir}/tapset
763
764 %files jre
765 %defattr(644,root,root,755)
766 %attr(755,root,root) %{_bindir}/clhsdb
767 %attr(755,root,root) %{_bindir}/java
768 %attr(755,root,root) %{_bindir}/keytool
769 %attr(755,root,root) %{_bindir}/orbd
770 %attr(755,root,root) %{_bindir}/pack200
771 %attr(755,root,root) %{_bindir}/rmid
772 %attr(755,root,root) %{_bindir}/rmiregistry
773 %attr(755,root,root) %{_bindir}/servertool
774 %attr(755,root,root) %{_bindir}/tnameserv
775 %attr(755,root,root) %{_bindir}/unpack200
776 %{_mandir}/man1/java.1*
777 %{_mandir}/man1/keytool.1*
778 %{_mandir}/man1/orbd.1*
779 %{_mandir}/man1/pack200.1*
780 %{_mandir}/man1/rmid.1*
781 %{_mandir}/man1/rmiregistry.1*
782 %{_mandir}/man1/servertool.1*
783 %{_mandir}/man1/tnameserv.1*
784 %{_mandir}/man1/unpack200.1*
785 %lang(ja) %{_mandir}/ja/man1/java.1*
786 %lang(ja) %{_mandir}/ja/man1/keytool.1*
787 %lang(ja) %{_mandir}/ja/man1/orbd.1*
788 %lang(ja) %{_mandir}/ja/man1/pack200.1*
789 %lang(ja) %{_mandir}/ja/man1/rmid.1*
790 %lang(ja) %{_mandir}/ja/man1/rmiregistry.1*
791 %lang(ja) %{_mandir}/ja/man1/servertool.1*
792 %lang(ja) %{_mandir}/ja/man1/tnameserv.1*
793 %lang(ja) %{_mandir}/ja/man1/unpack200.1*
794 %{_jvmdir}/java
795
796 %files jre-base
797 %defattr(644,root,root,755)
798 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
799 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
800 %dir %{_sysconfdir}/%{name}
801 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*
802 %dir %{dstdir}
803 %{dstdir}/release
804 %dir %{jredir}
805 %{_jvmdir}/%{name}-jre
806 %dir %{jredir}/bin
807 %dir %{dstdir}/bin
808 %attr(755,root,root) %{jredir}/bin/clhsdb
809 %attr(755,root,root) %{dstdir}/bin/clhsdb
810 %attr(755,root,root) %{jredir}/bin/java
811 %attr(755,root,root) %{dstdir}/bin/java
812 %attr(755,root,root) %{jredir}/bin/jjs
813 %attr(755,root,root) %{dstdir}/bin/jjs
814 %attr(755,root,root) %{jredir}/bin/keytool
815 %attr(755,root,root) %{dstdir}/bin/keytool
816 %attr(755,root,root) %{jredir}/bin/orbd
817 %attr(755,root,root) %{dstdir}/bin/orbd
818 %attr(755,root,root) %{jredir}/bin/pack200
819 %attr(755,root,root) %{dstdir}/bin/pack200
820 %attr(755,root,root) %{jredir}/bin/rmid
821 %attr(755,root,root) %{dstdir}/bin/rmid
822 %attr(755,root,root) %{jredir}/bin/rmiregistry
823 %attr(755,root,root) %{dstdir}/bin/rmiregistry
824 %attr(755,root,root) %{jredir}/bin/servertool
825 %attr(755,root,root) %{dstdir}/bin/servertool
826 %attr(755,root,root) %{jredir}/bin/tnameserv
827 %attr(755,root,root) %{dstdir}/bin/tnameserv
828 %attr(755,root,root) %{jredir}/bin/unpack200
829 %attr(755,root,root) %{dstdir}/bin/unpack200
830 %dir %{jredir}/lib
831 %dir %{jredir}/lib/applet
832 %{jredir}/lib/cmm
833 %{jredir}/lib/ext
834 %dir %{jredir}/lib/%{jre_arch}
835 %dir %{jredir}/lib/%{jre_arch}/jli
836 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/jli/*.so
837 %dir %{jredir}/lib/%{jre_arch}/server
838 %{jredir}/lib/%{jre_arch}/server/Xusage.txt
839 %ifnarch x32
840 %{jredir}/lib/%{jre_arch}/server/classes.jsa
841 %endif
842 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/server/*.so
843 %{jredir}/lib/%{jre_arch}/jvm.cfg
844 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libattach.so
845 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt.so
846 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_headless.so
847 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libdt_socket.so
848 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libhprof.so
849 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libinstrument.so
850 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2gss.so
851 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2krb5.so
852 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pcsc.so
853 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pkcs11.so
854 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2sctp.so
855 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjaas_unix.so
856 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava.so
857 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavajpeg.so
858 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavalcms.so
859 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava_crw_demo.so
860 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjdwp.so
861 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsdt.so
862 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsig.so
863 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsound.so
864 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjvm.so
865 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmanagement.so
866 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmlib_image.so
867 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnet.so
868 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnio.so
869 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnpt.so
870 %ifnarch x32
871 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsaproc.so
872 %endif
873 %{?with_sunec:%attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsunec.so}
874 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libunpack.so
875 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libverify.so
876 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libzip.so
877 %{jredir}/lib/images
878 %{jredir}/lib/management
879 %{jredir}/lib/security
880 %{jredir}/lib/hijrah-config-umalqura.properties
881 %{jredir}/lib/tzdb.dat
882 %{jredir}/lib/tz.properties
883
884 %if %{with webstart}
885 %{jredir}/lib/about.jar
886 %{jredir}/lib/about.jnlp
887 %endif
888 %{jredir}/lib/calendars.properties
889 %{jredir}/lib/charsets.jar
890 %{jredir}/lib/classlist
891 %{jredir}/lib/content-types.properties
892 %{jredir}/lib/currency.data
893 %{jredir}/lib/flavormap.properties
894 %{jredir}/lib/jce.jar
895 %attr(755, root, root) %{jredir}/lib/jexec
896 %{jredir}/lib/jsse.jar
897 %{jredir}/lib/jvm.hprof.txt
898 %{jredir}/lib/logging.properties
899 %{jredir}/lib/management-agent.jar
900 %{jredir}/lib/meta-index
901 %{jredir}/lib/net.properties
902 %{jredir}/lib/psfont.properties.ja
903 %{jredir}/lib/psfontj2d.properties
904 %{jredir}/lib/resources.jar
905 %{jredir}/lib/rt.jar
906 %{jredir}/lib/sound.properties
907 %{jvmjardir}
908
909 %files jre-X11
910 %defattr(644,root,root,755)
911 %attr(755,root,root) %{_bindir}/hsdb
912 %attr(755,root,root) %{_bindir}/policytool
913 %{_mandir}/man1/policytool.1*
914 %lang(ja) %{_mandir}/ja/man1/policytool.1*
915
916 %files jre-base-X11
917 %defattr(644,root,root,755)
918 %attr(755,root,root) %{jredir}/bin/hsdb
919 %attr(755,root,root) %{dstdir}/bin/hsdb
920 %attr(755,root,root) %{jredir}/bin/policytool
921 %attr(755,root,root) %{dstdir}/bin/policytool
922 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_xawt.so
923 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/libjawt.so
924 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjawt.so
925 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsplashscreen.so
926
927 %files jre-base-alsa
928 %defattr(644,root,root,755)
929 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsoundalsa.so
930
931 %files jre-base-freetype
932 %defattr(644,root,root,755)
933 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libfontmanager.so
934
935 %files jre-base-gtk
936 %defattr(644,root,root,755)
937
938 %files jar
939 %defattr(644,root,root,755)
940 %attr(755,root,root) %{_bindir}/jar
941 %{_mandir}/man1/jar.1*
942 %lang(ja) %{_mandir}/ja/man1/jar.1*
943
944 %files appletviewer
945 %defattr(644,root,root,755)
946 %attr(755,root,root) %{_bindir}/appletviewer
947 %{_mandir}/man1/appletviewer.1*
948 %lang(ja) %{_mandir}/ja/man1/appletviewer.1*
949
950 %files jdk-sources
951 %defattr(644,root,root,755)
952 %{_javasrcdir}/%{name}-jdk.zip
953
954 %files examples
955 %defattr(644,root,root,755)
956 %{_examplesdir}/%{name}-%{version}
This page took 0.114742 seconds and 2 git commands to generate.