building java rpm
Peter Lesterhuis
peterlesterhuis at tiscali.nl
Sat Jun 25 20:40:51 UTC 2005
Hi,
I am trying to build a java rpm based on the nosrc.rpm from jpackage.org
and the source from http://java.sun.com/j2se/1.5.0/download.jsp (the
.bin-file).
I have never built rpms before; however I did some homework by reading
the tutorial from Guru Labs on this subject.
It seems like I have to make some adjustments in the specs-file. The
first 2 errors after <rpmbuild -ba specfile> I could solve myself, but
the next one is too complicated for me to understand.
$ rpmbuild -ba java-1.5.0-sun.spec
Executing(%prep): /bin/sh -e /home/peter/rpmbuild/tmp/rpm-tmp.27537
+ umask 022
+ cd /home/peter/rpmbuild/BUILD
+ rm -rf /home/peter/rpmbuild/BUILD/jre1.5.0_03
+ export MORE=10000
+ MORE=10000
+ sh /home/peter/rpmbuild/SOURCES/jre-1_5_0_03-linux-i586.bin
+ cd /home/peter/rpmbuild/BUILD
+ cd jre1.5.0_03
++ /usr/bin/id -u
+ '[' 500 = 0 ']'
++ /usr/bin/id -u
+ '[' 500 = 0 ']'
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ chmod -R go=u-w bin CHANGES COPYRIGHT javaws lib LICENSE man plugin
README THIRDPARTYLICENSEREADME.txt Welcome.html
+ chmod -R u+w bin CHANGES COPYRIGHT javaws lib LICENSE man plugin
README THIRDPARTYLICENSEREADME.txt Welcome.html
++ echo
/usr/lib/jvm/java-1.5.0-sun-1.5.0.03/jre/plugin/i386/ns7/libjavaplugin_oji.so
++ sed 's|/usr/lib/jvm/java-1.5.0-sun-1.5.0.03/jre|jre|'
+ _OJI_PLUGIN=jre/plugin/i386/ns7/libjavaplugin_oji.so
+ '[' '!' -f jre/plugin/i386/ns7/libjavaplugin_oji.so ']'
+ exit 1
error: Bad exit status from /home/peter/rpmbuild/tmp/rpm-tmp.27537 (%prep)
RPM build errors:
Bad exit status from /home/peter/rpmbuild/tmp/rpm-tmp.27537 (%prep)
The /home/peter/rpmbuild/tmp/rpm-tmp.27537 is a part %prep section of
the specs-file. The (first part of the) spec-file looks like this:
%define section non-free
%define origin sun
%define priority 1503
%define javaver 1.5.0
%define cvsver 1_5_0
%define buildver 03
%define name java-%{javaver}-%{origin}
%define release 1jpp
# TODO: Think about using conditionals for version variants.
%define version %{javaver}.%{buildver}
#define version %{javaver}
%define cvsversion %{cvsver}_%{buildver}
#define cvsversion %{cvsver}
%define javaws_ver %{javaver}
%define javaws_version %{cvsversion}
%define toplevel_dir jre%{javaver}_%{buildver}
#define toplevel_dir jdk%{javaver}
%define sdklnk java-%{javaver}-%{origin}
%define jrelnk jre-%{javaver}-%{origin}
%define sdkdir %{name}-%{version}
%define jredir %{sdkdir}/jre
%define sdkbindir %{_jvmdir}/%{sdklnk}/bin
%define sdklibdir %{_jvmdir}/%{sdklnk}/lib
%define jrebindir %{_jvmdir}/%{jrelnk}/bin
%define jvmjardir %{_jvmjardir}/%{name}-%{version}
%define x11bindir %{_prefix}/X11R6/bin
%define x11encdir %{_prefix}/X11R6/lib/X11/fonts/encodings
%define fontconfigdir %{_sysconfdir}/fonts
%define fontdir %{_datadir}/fonts/java
%define xsldir %{_datadir}/xml/%{name}-%{version}
%ifarch %ix86
%define target_cpu i586
%define pluginname
%{_jvmdir}/%{jredir}/plugin/i386/ns7/libjavaplugin_oji.so
%endif
%ifarch x86_64%define target_cpu amd64
%endif
%define cgibindir %{_var}/www/cgi-bin
# Avoid RPM 4.2+'s internal dep generator, it may produce bogus
# Provides/Requires here.
%define _use_internal_dependency_generator 0
# This prevents aggressive stripping.
%define debug_package %{nil}
Name: %{name}
Version: %{version}
Release: %{release}
Epoch: 0
Summary: Java Runtime Environment for %{name}
License: Sun Binary Code License
Group: Development/Interpreters
Vendor: JPackage Project
Distribution: JPackage
URL: http://java.sun.com/j2se/%{javaver}/Source1:
%{name}-register-java-fonts.xsl
Source2: %{name}-unregister-java-fonts.xsl
NoSource: 0
Provides: jre-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
Provides: jre-%{origin} = %{epoch}:%{version}-%{release}
Provides: jre-%{javaver}, java-%{javaver}, jre = %{epoch}:%{javaver}
Provides: java-%{origin} = %{epoch}:%{version}-%{release}
Provides: java = %{epoch}:%{javaver}
Requires: /usr/sbin/update-alternatives
Requires: jpackage-utils >= 0:1.5.38
Conflicts: kaffe
BuildArch: i586 x86_64
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: jpackage-utils >= 0:1.5.38, sed, %{_bindir}/perl
%ifnarch x86_64
Provides: javaws = %{epoch}:%{javaws_ver}
%endifProvides: jdbc-stdext = %{epoch}:3.0, jdbc-stdext =
%{epoch}:%{version}
Provides: java-sasl = %{epoch}:%{version}
%ifnarch x86_64
Obsoletes: javaws-menu
%endif
%description
This package contains the Java Runtime Environment for %{name}
%package devel
Summary: Java Development Kit for %{name}
Group: Development/Compilers
Requires: /usr/sbin/update-alternatives
Provides: java-sdk-%{javaver}-%{origin} =
%{epoch}:%{version}-%{release}
Provides: java-sdk-%{origin} = %{epoch}:%{version}-%{release}
Provides: java-sdk-%{javaver}, java-sdk = %{epoch}:%{javaver}
Provides: java-devel-%{origin} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-devel, java-devel = %{epoch}:%{javaver}
Requires: %{name} = %{epoch}:%{version}-%{release}
%description develwritten using the Java programming language.
%package src
Summary: Source files for %{name}
Group: Development/Interpreters
Requires: %{name} = %{epoch}:%{version}-%{release}
%description src
This package contains source files for %{name}.
%package demo
Summary: Demonstration files for %{name}
Group: Development/Interpreters
Requires: %{name} = %{epoch}:%{version}-%{release}
# Without this a requirement on libjava_crw_demo_g.so is added which
# is not in the main java package. libjava_crw_demo.so is but not "_g".
AutoReq: 0
Summary: Browser plugin files for %{name}
Group: Internet/WWW/Browsers
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: %{_bindir}/find, sed
Provides: java-plugin = %{epoch}:%{javaver},
java-%{javaver}-plugin = %{epoch}:%{version}
Conflicts: java-%{javaver}-ibm-plugin, java-%{javaver}-blackdown-plugin
Conflicts: java-%{javaver}-bea-plugin
Obsoletes: java-1.3.1-plugin, java-1.4.0-plugin, java-1.4.1-plugin,
java-1.4.2-plugin
%description plugin
This package contains browser plugin files for %{name}.
Note! This package supports browsers built with GCC 3.2 and later.
%endif
%package fonts
Summary: TrueType fonts for %{origin} JVMs
Group: Text Processing/Fonts
Requires: %{name} = %{epoch}:%{version}-%{release},
%{_bindir}/ttmkfdir
Requires: %{_sbindir}/chkfontpath, %{x11bindir}/mkfontdir, mktemp
Requires: %{_bindir}/xsltproc, %{_bindir}/perl
Provides: java-fonts = %{epoch}:%{javaver}, java-%{javaver}-fonts
Conflicts: java-%{javaver}-ibm-fonts, java-%{javaver}-blackdown-fonts
Conflicts: java-%{javaver}-bea-fonts
Obsoletes: java-1.3.1-fonts, java-1.4.0-fonts, java-1.4.1-fonts,
java-1.4.2-fonts
%description fonts
This package contains the TrueType fonts for %{origin} JVMs.
%package alsa
Summary: ALSA support for %{name}
Group: Development/Libraries/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
%description alsa
This package contains Advanced Linux Sound Architecture (ALSA) support
libraries for %{name}.
%package jdbc
Summary: JDBC/ODBC bridge driver for %{name}
Group: Development/Libraries/Java
AutoReq: 0
Requires: %{name} = %{epoch}:%{version}-%{release}%description jdbc
This package contains the JDBC/ODBC bridge driver for %{name}.
%prep
rm -rf $RPM_BUILD_DIR/%{toplevel_dir}
export MORE=10000
sh %{SOURCE0} <<EOF >/dev/null
yes
EOF
%setup -T -D -n %{toplevel_dir}
chmod -R go=u-w *
chmod -R u+w *
%ifnarch x86_64
# make sure the plugin exists
_OJI_PLUGIN=$(echo %pluginname | sed 's|%{_jvmdir}/%{jredir}|jre|')
if [ ! -f $_OJI_PLUGIN ]; then
exit 1
fi
%endif
What does the error mean? Any help would be appreciated.
Peter.
More information about the fedora-list
mailing list