File jpackage-utils.spec of Package jpackage-utils
#
# spec file for package jpackage-utils (Version 1.7.5)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: jpackage-utils
BuildRequires: update-desktop-files
%define distver 1.7
%define section free
%define runtimescript java.binfmt_misc
Version: 1.7.5
Release: 1
Summary: JPackage Utilities
License: BSD 3-Clause
Url: http://www.jpackage.org/
Source0: %{name}-%{version}.tar.bz2
Source1: README.SUSE
Source2: jarwrapper
Source3: javaclassname
Source4: javawrapper
Source5: java.png
Source6: %{runtimescript}
Source7: javawswrapper
Patch0: %{name}-1.7.3-macros.patch
Group: Development/Languages/Java
BuildRoot: %{_tmppath}/%{name}-%{version}-build
AutoReqProv: no
Requires: /bin/egrep, /bin/sed, /usr/bin/perl
PreReq: %insserv_prereq /sbin/chkconfig /sbin/service
%description
Utilities for the JPackage project <http://www.jpackage.org/>.
%prep
%setup -q
%patch0 -b .sav
cp %{SOURCE1} doc
%build
echo "JPackage release %{distver} (%{distribution}) for %{buildarch}" \
> etc/jpackage-release
%install
# Pull macros out of macros.jpackage and emulate them during install for
# smooth bootstrapping experience.
for dir in \
jvmdatadir jvmsysconfdir \
jvmcommonlibdir jvmcommondatadir jvmcommonsysconfdir \
jvmlibdir jvmdatadir jvmsysconfdir \
jvmcommonlibdir jvmcommondatadir jvmcommonsysconfdir \
mavendepmapdir; do
export _${dir}=$(rpm --eval $(%{__grep} -E "^%_${dir}\b" misc/macros.jpackage | %{__awk} '{ print $2 }'))
done
install -dm 755 ${RPM_BUILD_ROOT}%{_bindir}
install -dm 755 ${RPM_BUILD_ROOT}%{_sysconfdir}/{java,rpm,init.d}
install -dm 755 ${RPM_BUILD_ROOT}%{_jvmdir}
install -dm 755 ${RPM_BUILD_ROOT}%{_jvmjardir}
install -dm 755 ${RPM_BUILD_ROOT}%{_jvmprivdir}
#install -dm 755 ${RPM_BUILD_ROOT}%{_jvmlibdir}
install -dm 755 ${RPM_BUILD_ROOT}${_jvmdatadir}
install -dm 755 ${RPM_BUILD_ROOT}${_jvmsysconfdir}
install -dm 755 ${RPM_BUILD_ROOT}${_jvmcommonlibdir}
install -dm 755 ${RPM_BUILD_ROOT}${_jvmcommondatadir}
install -dm 755 ${RPM_BUILD_ROOT}${_jvmcommonsysconfdir}
install -dm 755 ${RPM_BUILD_ROOT}%{_javadir}
install -dm 755 ${RPM_BUILD_ROOT}%{_jnidir}
install -dm 755 ${RPM_BUILD_ROOT}%{_javadir}-{utils,ext,1.{4,5,6,7}.0,1.4.{1,2}}
install -dm 755 ${RPM_BUILD_ROOT}%{_jnidir}-{ext,1.{4,5,6,7}.0,1.4.{1,2}}
install -dm 755 ${RPM_BUILD_ROOT}%{_javadocdir}
install -dm 755 ${RPM_BUILD_ROOT}${_mavendepmapdir}
install -dm 755 ${RPM_BUILD_ROOT}%{_sbindir}
install -pm 755 bin/* ${RPM_BUILD_ROOT}%{_bindir}
install -pm 644 etc/font.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/java
# Create an initial (empty) depmap
echo -e "<dependencies>\\n" > ${RPM_BUILD_ROOT}${_mavendepmapdir}/maven2-depmap.xml
echo -e "</dependencies>\\n" >> ${RPM_BUILD_ROOT}${_mavendepmapdir}/maven2-depmap.xml
cat > etc/java.conf << EOF
# System-wide Java configuration file -*- sh -*-
#
# JPackage Project <http://www.jpackage.org/>
# Location of jar files on the system
JAVA_LIBDIR=%{_javadir}
# Location of arch-specific jar files on the system
JNI_LIBDIR=%{_jnidir}
# Root of all JVM installations
JVM_ROOT=%{_jvmdir}
# You can define a system-wide JVM root here if you're not using the default one
#JAVA_HOME=\$JVM_ROOT/java
# Options to pass to the java interpreter
JAVACMD_OPTS=
EOF
install -pm 755 %{SOURCE2} $RPM_BUILD_ROOT/%{_bindir}
install -pm 755 %{SOURCE3} $RPM_BUILD_ROOT/%{_bindir}
install -pm 755 %{SOURCE4} $RPM_BUILD_ROOT/%{_bindir}
install -pm 755 %{SOURCE7} $RPM_BUILD_ROOT/%{_bindir}
cp %{SOURCE6} $RPM_BUILD_ROOT/%{_sysconfdir}/init.d
ln -sf %{_sysconfdir}/init.d/%{runtimescript} $RPM_BUILD_ROOT/%{_sbindir}/rc%{runtimescript}
install -dm 755 $RPM_BUILD_ROOT%{_datadir}/applications
install -Dpm 644 %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/pixmaps/java.png
cat <<EOF > $RPM_BUILD_ROOT%{_datadir}/applications/javawswrapper.desktop
[Desktop Entry]
Name=Execute Java Web Start file
GenericName=Execute Java Web Start file
Comment=Start Java Web Start file with a mouse click
MimeType=application/x-java-jnlp-file;
Exec=/usr/bin/javawswrapper %u
Icon=java.png
Terminal=false
NoDisplay=true
Type=Application
EOF
%suse_update_desktop_file -r $RPM_BUILD_ROOT%{_datadir}/applications/javawswrapper.desktop Java System
cat <<EOF > $RPM_BUILD_ROOT%{_datadir}/applications/jarwrapper.desktop
[Desktop Entry]
Name=Execute Jar File
GenericName=Execute Jar File
Comment=Start Java Jar archives with a mouse click
MimeType=application/x-jar;
Exec=/usr/bin/jarwrapper %u
Icon=java.png
Terminal=true
NoDisplay=true
Type=Application
InitialPreference=1
EOF
%suse_update_desktop_file -r $RPM_BUILD_ROOT%{_datadir}/applications/jarwrapper.desktop Java System
cat <<EOF > $RPM_BUILD_ROOT%{_datadir}/applications/javawrapper.desktop
[Desktop Entry]
Name=Execute Java Class file
GenericName=Execute Java Class file
Comment=Start Java classes with a simple mouse click
MimeType=application/x-java;
Exec=/usr/bin/javawrapper %u
Icon=java.png
Terminal=true
NoDisplay=true
Type=Application
EOF
%suse_update_desktop_file -r $RPM_BUILD_ROOT%{_datadir}/applications/javawrapper.desktop Java System
install -pm 644 etc/java.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/java
install -pm 644 etc/jpackage-release ${RPM_BUILD_ROOT}%{_sysconfdir}/java
install -pm 644 java-utils/* ${RPM_BUILD_ROOT}%{_javadir}-utils
install -pm 644 misc/macros.jpackage ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm
%{__mkdir_p} ${RPM_BUILD_ROOT}%{_mandir}/man1
install -pm 644 man/* ${RPM_BUILD_ROOT}%{_mandir}/man1
%{__mkdir_p} ${RPM_BUILD_ROOT}%{_javadir}-utils/xml
install -pm 644 xml/* ${RPM_BUILD_ROOT}%{_javadir}-utils/xml
cat <<EOF > %{name}-%{version}.files
# %{_bindir}/*
%{_mandir}/man1/*
# %dir %{_sysconfdir}/java
%dir %{_jvmdir}
%dir %{_jvmjardir}
%dir %{_jvmprivdir}
# %dir ${_jvmlibdir}
%dir ${_jvmdatadir}
%dir ${_jvmsysconfdir}
%dir ${_jvmcommonlibdir}
%dir ${_jvmcommondatadir}
%dir ${_jvmcommonsysconfdir}
%dir %{_javadir}-*
%dir %{_jnidir}
%dir %{_jnidir}-*
%dir %{_javadocdir}
%{_javadir}-utils/*
%dir ${_mavendepmapdir}
%{_javadir}-utils/*
%config %{_sysconfdir}/java/jpackage-release
%config(noreplace) %{_sysconfdir}/java/java.conf
%config(noreplace) %{_sysconfdir}/java/font.properties
%config(noreplace) %{_sysconfdir}/rpm/macros.jpackage
%config(noreplace) ${_mavendepmapdir}/maven2-depmap.xml
EOF
cat > ${RPM_BUILD_ROOT}/%{_bindir}/rebuild-security-providers <<EOF
#!/bin/sh
# Rebuild the list of security providers classpath.security
cat %{_prefix}/lib/security/classpath.security \
| grep -v "^security.provider." \
> %{_prefix}/lib/security/classpath.security.bak
mv -f %{_prefix}/lib/security/classpath.security.bak \
%{_prefix}/lib/security/classpath.security
providers=\$(ls %{_sysconfdir}/java/security/security.d | sort \
| awk -F- '{ print \$2 }')
count=0
for provider in \$providers
do
count=\$((count + 1))
echo "security.provider."\$count"="\$provider \
>> %{_prefix}/lib/security/classpath.security
done
EOF
%post
if test ${1:-0} -eq 1; then
/sbin/chkconfig -a %{runtimescript} > /dev/null 2> /dev/null
/sbin/service %{runtimescript} restart > /dev/null 2> /dev/null || true
fi
%postun
%insserv_cleanup
%preun
%stop_on_removal %{runtimescript}
%files -f %{name}-%{version}.files
%defattr(-,root,root,-)
%doc LICENSE.txt HEADER.JPP doc/* etc/httpd-javadoc.conf
%dir %{_sysconfdir}/rpm
%attr(755,root,root) %{_sysconfdir}/init.d/*
%attr(755,root,root) %{_sbindir}/*
%attr(755,root,root) %{_bindir}/*
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%changelog
* Mon Aug 18 2008 mvyskocil@suse.cz
- update to 1.7.5 from jpackage 1.7
- Workaround a possible sed bug in find_jvm unversioned fallback code.
- fix of error in /etc/rpm/macros.jpackage (jpp#293)
- add a Should-Stop to java.binfmt_misc to prevent rpmlint error
* Wed Feb 20 2008 mvyskocil@suse.cz
- fix the missing /usr/share/java-utils/xml/maven2jpp-mapdeps.xsl
* Fri Feb 01 2008 adrian@suse.de
- fix file permissions (we can not rely on source file permissions)
* Thu Jan 31 2008 ro@suse.de
- at least ignore failures from rcscript in postinstall
(actually I doubt it's a good idea to scribble on /proc in post)
* Thu Jan 31 2008 bk@suse.de
- Update to 1.7.4 and add directories for java-1.7.0 (JDK7/icedtea)
* Wed Jan 30 2008 nadvornik@suse.cz
- added PreReq
* Thu Jan 10 2008 mvyskocil@suse.cz
- fixed the init script [#352300]
- the post install script is completelly quiet [#271198]
- add some improvments to spec (new %%postun, %%preun sections)
* Thu Dec 13 2007 mvyskocil@suse.cz
- updated to 1.7.3 (sync with upstream)
- improved the error messages from javawswrapper scripts, if there's
no javaws command available
* Tue Dec 11 2007 mvyskocil@suse.cz
- removed the executable flag condition from wrappers (jarwrapper,
javawrapper, javawswrapper) [#333323] (I've fixed it for 10.3 in November)
- the wrapper scripts are using from webbrowser too, which doesn't setup the
executable flags anyway
- there's no reason to have this condition, because wrappers still calls the
java, or javaws commands.
- fixed the /etc/init.d/java.binfmt_misc [#271198]
* Thu Jul 19 2007 stbinner@suse.de
- fix suse_update_desktop_file call
* Thu Jul 05 2007 dbornkessel@suse.de
- fixed broken desktop files
- fixed file permissions in file list
* Fri May 18 2007 dbornkessel@suse.de
- added directories for 1.6.0 java
* Tue May 15 2007 dbornkessel@suse.de
- corrected the category of the desktop files (Bug #274752)
- added 'NoDisplay' do desktop files in order to hide wrapper scripts
* Sun Apr 29 2007 ro@suse.de
- ignore return code from start script
(does calling the start script in post make sense anyway?)
* Fri Apr 27 2007 dkesselborn@suse.de
- added support for Java Web Start
* Thu Apr 26 2007 dbornkessel@suse.de
- enabled binfmt_misc for java
- added desktop entries for java class and jar files
* Mon Nov 20 2006 dbornkessel@suse.de
- re-add README.SUSE
- use variables from /usr/lib/rpm/macros instead of /etc/rpm/jpackage.macros
* Tue Sep 19 2006 dbornkessel@suse.de
- updated to 2.7.0
cleanup release, no real changes
- removed README.SUSE
* Mon May 29 2006 dbornkessel@suse.de
- updated README with information about set[Default]Java substitution (Bug #179325)
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Oct 05 2005 dmueller@suse.de
- add norootforbuild
* Mon Mar 07 2005 skh@suse.de
- if a 32bit java was found on a biarch platform, use it as default
for everything now until a more elaborate (and better) solution has
been agreed on with the jpackage project
* Fri Mar 04 2005 skh@suse.de
- also check the 32bit directories for a working java on biarch
platforms
* Fri Feb 18 2005 skh@suse.de
- provide installation directories for both 32 and 64 bit jvms on biarch
platforms
- no longer a noarch package
- update to version 1.6.3
* Wed Sep 29 2004 skh@suse.de
- added README.SUSE to documentation
* Wed Sep 01 2004 skh@suse.de
- package created, initial version 1.5.38