jdk-sun.spec 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. ##
  2. ## jdk-sun.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. %define V_release 1.3
  25. %if "%{V_release}" == "1.3"
  26. %define V_sunjava 1_3_1_02
  27. %define V_filesys 1.3.1_02
  28. %define V_openpkg 1.3.1.02
  29. %endif
  30. # package information
  31. Name: jdk-sun
  32. Summary: Sun Java Development Kit (JDK)
  33. URL: http://java.sun.com/j2se/
  34. Vendor: Sun Microsystems, Inc.
  35. Packager: The OpenPKG Project
  36. Distribution: OpenPKG [EXP]
  37. Group: Language
  38. License: Commercial
  39. Version: %{V_openpkg}
  40. Release: 20020206
  41. # list of sources
  42. Source0: j2sdk-%{V_sunjava}-linux-i386.bin
  43. Source1: j2sdk-%{V_sunjava}-solsparc.sh
  44. Source2: rc.jdk-sun
  45. Source3: jdk-sun.patch
  46. # build information
  47. Prefix: %{l_prefix}
  48. BuildRoot: %{l_buildroot}
  49. BuildPreReq: OpenPKG, openpkg >= 20020206, patch
  50. PreReq: OpenPKG, openpkg >= 20020206
  51. AutoReq: no
  52. AutoReqProv: no
  53. Provides: JDK
  54. %description
  55. Sun Java Development Kit (JDK)
  56. Java 2 Software Development Kit Standard Edition (J2SDK 1.3)
  57. %prep
  58. %setup -q -c jdk-sun -T
  59. %build
  60. %install
  61. rm -rf $RPM_BUILD_ROOT
  62. # vendor source selection
  63. pkgfile=""
  64. pkgdir=%{V_filesys}
  65. case "%{l_target}" in
  66. ix86-linux2.[2-5]* | ix86-freebsd4* )
  67. pkgfile="j2sdk-%{V_sunjava}-linux-i386.bin"
  68. pkgdir="jdk%{V_filesys}"
  69. ;;
  70. sparc64-solaris2.[6-8]*)
  71. pkgfile="j2sdk-%{V_sunjava}-solsparc.sh"
  72. pkgdir="j2sdk%{V_sunjava}"
  73. ;;
  74. esac
  75. if [ ".$pkgfile" = . ]; then
  76. echo "Sorry, unsupported architecture '%{l_target}'" 1>&2
  77. exit 1
  78. fi
  79. # create installation tree
  80. %{l_shtool} mkdir -f -p -m 755 \
  81. $RPM_BUILD_ROOT%{l_prefix}/bin \
  82. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  83. $RPM_BUILD_ROOT%{l_prefix}/libexec \
  84. $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
  85. $RPM_BUILD_ROOT%{l_prefix}/share/jdk-sun/doc
  86. # unpack vendor distribution
  87. ( umask 022
  88. cd $RPM_BUILD_ROOT%{l_prefix}/libexec
  89. echo "yes" | sh $RPM_SOURCE_DIR/$pkgfile \
  90. >$RPM_BUILD_ROOT%{l_prefix}/share/jdk-sun/doc/COPYING
  91. mv $pkgdir jdk-sun
  92. )
  93. # patch vendor distribution
  94. ( cd $RPM_BUILD_ROOT%{l_prefix}/libexec/jdk-sun
  95. case "%{l_target}" in
  96. ix86-freebsd4* )
  97. %{l_prefix}/bin/patch -p0 <%{SOURCE jdk-sun.patch}
  98. ;;
  99. esac
  100. )
  101. # cleanup vendor distribution
  102. ( cd $RPM_BUILD_ROOT%{l_prefix}/libexec/jdk-sun/bin
  103. find . -type f -print | xargs chmod u+w
  104. )
  105. # optionally brand ELF binaries (FreeBSD only)
  106. case "%{l_target}" in
  107. ix86-freebsd4* )
  108. brandelf -t Linux \
  109. `find $RPM_BUILD_ROOT%{l_prefix}/libexec/jdk-sun/bin/ -type f -print` \
  110. >/dev/null 2>&1 || true
  111. ;;
  112. esac
  113. # strip installation area
  114. rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/jdk-sun/demo 2>/dev/null || true
  115. # reduce man pages to essential ones and move to final location
  116. cp $RPM_BUILD_ROOT%{l_prefix}/libexec/jdk-sun/man/man1/* \
  117. $RPM_BUILD_ROOT%{l_prefix}/man/man1
  118. rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/jdk-sun/man 2>/dev/null || true
  119. # activate binaries
  120. ( cd $RPM_BUILD_ROOT%{l_prefix}/bin
  121. for bin in appletviewer awt_robot extcheck idlj jar jarsigner java \
  122. javac javadoc javah javap jdb keytool native2ascii \
  123. oldjava oldjavac oldjdb policytool rmic rmid rmiregistry \
  124. serialver tnameserv; do
  125. ln -s ../libexec/jdk-sun/bin/$bin .
  126. done
  127. ( echo "#!/bin/sh"
  128. echo "exec %{l_prefix}/libexec/jdk-sun/bin/realpath \"\$@\""
  129. ) >realpath
  130. chmod 755 realpath
  131. )
  132. # install run-command script
  133. %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \
  134. %{SOURCE rc.jdk-sun} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  135. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  136. %files -f files
  137. %clean
  138. rm -rf $RPM_BUILD_ROOT