j2se.spec 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. ##
  2. ## j2se.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
  4. ## Copyright (c) 2000-2002 Ralf S. Engelschall <rse@engelschall.com>
  5. ##
  6. ## Permission to use, copy, modify, and distribute this software for
  7. ## any purpose with or without fee is hereby granted, provided that
  8. ## the above copyright notice and this permission notice appear in all
  9. ## copies.
  10. ##
  11. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. ## SUCH DAMAGE.
  23. ##
  24. # package versions
  25. %define V_sunjava 1_4_1
  26. %define V_filesys 1.4.1
  27. %define V_openpkg 1.4.1.00
  28. # package information
  29. Name: j2se
  30. Summary: Java 2 Platform, Standard Edition (J2SE)
  31. URL: http://java.sun.com/j2se/
  32. Vendor: Sun Microsystems, Inc.
  33. Packager: The OpenPKG Project
  34. Distribution: OpenPKG [PRIV]
  35. Group: Language
  36. License: Commercial
  37. Version: %{V_openpkg}
  38. Release: 20020925
  39. # list of sources
  40. Source0: j2sdk-%{V_sunjava}-linux-i586.bin
  41. Source1: j2sdk-%{V_sunjava}-solaris-sparc.sh
  42. Source2: j2sdk-%{V_sunjava}-solaris-sparcv9.sh
  43. Source3: rc.j2se
  44. # build information
  45. Prefix: %{l_prefix}
  46. BuildRoot: %{l_buildroot}
  47. BuildPreReq: OpenPKG, openpkg >= 20020714
  48. PreReq: OpenPKG, openpkg >= 20020714
  49. AutoReq: no
  50. AutoReqProv: no
  51. Provides: JDK
  52. %description
  53. The premier solution for rapidly developing and deploying
  54. mission-critical, enterprise applications, J2SE provides the
  55. essential compiler, tools, runtimes, and APIs for writing,
  56. deploying, and running applets and applications in the Java
  57. programming language.
  58. %prep
  59. %setup -q -c j2se -T
  60. %build
  61. %install
  62. rm -rf $RPM_BUILD_ROOT
  63. # vendor source selection
  64. pkgfile=""
  65. suppfile=""
  66. pkgdir=%{V_filesys}
  67. case "%{l_target}" in
  68. ix86-linux2.[2-5]* | ix86-freebsd4* )
  69. pkgfile="j2sdk-%{V_sunjava}-linux-i586.bin"
  70. pkgdir="j2sdk%{V_filesys}"
  71. ;;
  72. sparc64-solaris2.[6-9]*)
  73. pkgfile="j2sdk-%{V_sunjava}-solaris-sparc.sh"
  74. suppfile="j2sdk-%{V_sunjava}-solaris-sparcv9.sh"
  75. pkgdir="j2sdk%{V_filesys}"
  76. ;;
  77. esac
  78. if [ ".$pkgfile" = . ]; then
  79. echo "Sorry, unsupported architecture '%{l_target}'" 1>&2
  80. exit 1
  81. fi
  82. # create installation tree
  83. %{l_shtool} mkdir -f -p -m 755 \
  84. $RPM_BUILD_ROOT%{l_prefix}/bin \
  85. $RPM_BUILD_ROOT%{l_prefix}/lib \
  86. $RPM_BUILD_ROOT%{l_prefix}/include \
  87. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  88. $RPM_BUILD_ROOT%{l_prefix}/libexec \
  89. $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
  90. $RPM_BUILD_ROOT%{l_prefix}/share/j2se/doc \
  91. $RPM_BUILD_ROOT%{l_prefix}/jre/bin \
  92. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/applet \
  93. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/ext \
  94. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/security \
  95. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/fonts \
  96. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/images/cursors \
  97. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/audio \
  98. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Africa \
  99. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/America/Indiana \
  100. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/America/North_Dakota \
  101. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/America/Kentucky \
  102. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Antarctica \
  103. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Asia \
  104. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Atlantic \
  105. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Australia \
  106. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Etc \
  107. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Europe \
  108. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Indian \
  109. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/zi/Pacific \
  110. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/cmm \
  111. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/im \
  112. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/de/LC_MESSAGES \
  113. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/es/LC_MESSAGES \
  114. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/fr/LC_MESSAGES \
  115. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/it/LC_MESSAGES \
  116. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/ja/LC_MESSAGES \
  117. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/ko/LC_MESSAGES \
  118. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/ko.UTF-8/LC_MESSAGES \
  119. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/sv/LC_MESSAGES \
  120. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/zh/LC_MESSAGES \
  121. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/zh.GBK/LC_MESSAGES \
  122. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/zh_TW/LC_MESSAGES \
  123. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/locale/zh_TW.BIG5/LC_MESSAGES
  124. case "%{l_target}" in
  125. ix86-linux2.[2-5]* | ix86-freebsd4* )
  126. %{l_shtool} mkdir -f -p -m 755 \
  127. $RPM_BUILD_ROOT%{l_prefix}/include/linux \
  128. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/i386/native_threads \
  129. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/i386/server \
  130. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/i386/client
  131. ;;
  132. sparc64-solaris2.[6-9]*)
  133. %{l_shtool} mkdir -f -p -m 755 \
  134. $RPM_BUILD_ROOT%{l_prefix}/bin/sparcv9 \
  135. $RPM_BUILD_ROOT%{l_prefix}/include/solaris \
  136. $RPM_BUILD_ROOT%{l_prefix}/jre/bin/sparcv9 \
  137. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparc/native_threads \
  138. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparc/server \
  139. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparc/client \
  140. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparc/motif21 \
  141. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparc/headless \
  142. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparcv9/native_threads \
  143. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparcv9/server \
  144. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparcv9/motif21 \
  145. $RPM_BUILD_ROOT%{l_prefix}/jre/lib/sparcv9/headless
  146. ;;
  147. esac
  148. # unpack vendor distribution
  149. ( umask 022
  150. cd $RPM_BUILD_ROOT%{l_prefix}/libexec
  151. echo "yes" | sh $RPM_SOURCE_DIR/$pkgfile \
  152. >$RPM_BUILD_ROOT%{l_prefix}/share/j2se/doc/COPYING.32
  153. case "%{l_target}" in
  154. sparc64-solaris2.[6-9]*)
  155. echo "yes" | sh $RPM_SOURCE_DIR/$suppfile \
  156. >$RPM_BUILD_ROOT%{l_prefix}/share/j2se/doc/COPYING.64
  157. ;;
  158. esac
  159. mv $pkgdir j2se
  160. )
  161. # cleanup vendor distribution
  162. ( cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/bin
  163. find . -type f -print | xargs chmod u+w
  164. cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/jre/bin
  165. find . -type f -print | xargs chmod u+w
  166. case "%{l_target}" in
  167. sparc64-solaris2.[6-9]*)
  168. cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/bin/sparcv9
  169. find . -type f -print | xargs chmod u+w
  170. cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/jre/bin/sparcv9
  171. find . -type f -print | xargs chmod u+w
  172. ;;
  173. esac
  174. )
  175. # optionally brand ELF binaries (FreeBSD only)
  176. case "%{l_target}" in
  177. ix86-freebsd4* )
  178. brandelf -t Linux \
  179. `find $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/bin/ -type f -print` \
  180. >/dev/null 2>&1 || true
  181. brandelf -t Linux \
  182. `find $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/jre/bin/ -type f -print` \
  183. >/dev/null 2>&1 || true
  184. ;;
  185. esac
  186. # strip installation area
  187. rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/demo 2>/dev/null || true
  188. # reduce man pages to essential ones and move to final location
  189. cp $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/man/*man1/* \
  190. $RPM_BUILD_ROOT%{l_prefix}/man/man1
  191. rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se/man 2>/dev/null || true
  192. # activate binaries
  193. ( cd $RPM_BUILD_ROOT%{l_prefix}/bin
  194. for bin in appletviewer extcheck idlj jar jarsigner java \
  195. java-rmi.cgi javac javadoc javah javap jdb keytool native2ascii \
  196. orbd policytool rmic rmid rmiregistry serialver servertool \
  197. tnameserv; do
  198. ln -s ../libexec/j2se/bin/$bin .
  199. done
  200. ( echo "#!/bin/sh"
  201. echo "exec %{l_prefix}/libexec/j2se/bin/realpath \"\$@\""
  202. ) >realpath
  203. chmod 755 realpath
  204. )
  205. # install run-command script
  206. %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \
  207. %{SOURCE rc.j2se} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  208. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  209. %files -f files
  210. %clean
  211. rm -rf $RPM_BUILD_ROOT