12 Dec 2002 16:53
Re: sun-j2se1.4 font issues
Attached are sun-j2se1.4 specfiles that include some reworking of the font
handling (to address the concerns raised on the list) as well as updates
to jsdk-1.4.0_03 and jsdk-1.4.1_01, modifications since
sun-j2se1.4-1.4.0.01-1jpp include:
- rename Group:'s in RedHat style(1)
- remove extraneous uses of $RPM_BUILD_DIR
- %%clean: cleanup $RPM_BUILD_DIR when done.
- fonts: relax Require's (can be installed standalone), though
most users won't want/need the fonts.
- fonts: try harder to dynamically generate fonts.{dir,scale}, and
keep/use sun's supplied fonts.dir if we can't generate it dynamically.
- fonts: don't use xftcache. It wasn't a good idea then,
and certainly isn't now that it is deprecated (fc-cache).
- fonts: %%config(noreplace) font.properties, provide better (aka working)
default.
- fonts: move %postun fonts to %preun fonts to avoid race: system
accessing a font that is currently being uninstalled.
- plugin: make link for mozilla (punt on netscape for now).
(1) was just for me, so the software Group's on our rh machines look more
consistent... feel free to ignore these mods...
Enjoy.
--
Rex A. Dieter rdieter@...
Computer System Administrator http://www.math.unl.edu/~rdieter/
Mathematics and Statistics
University of Nebraska Lincoln
%define origin sun
%define major 1.4
%define minor 0
%define build 03
%define version %{major}.%{minor}%{?build:.%{build}}
%define cvs_version 1_4_0_03
%define release 0
%define name %{origin}-j2se%{major}
%define jdklnk %{_libdir}/%{origin}-jdk%{major}
%define jrelnk %{_libdir}/%{origin}-jre%{major}
%define jdkdir %{_libdir}/%{name}
%define jredir %{jdkdir}/jre
%define jdkbindir %{jdkdir}/bin
%define jrebindir %{jredir}/bin
%define fontdir %{jredir}/lib/fonts
%define priority 40
%define section non-free
%define archive_name j2sdk-%{cvs_version}-linux-i586.bin
%define toplevel_dir j2sdk%{major}.%{minor}%{?build:_%{build}}
Name: %{name}
Version: %{version}
Release: %{release}
Summary: Java Runtime Environment for %{name}
License: Sun Binary Code License
Group: Development/Languages
Vendor: JPackage Project
Distribution: JPackage
URL: http://java.sun.com/j2se/1.4/
Source0: %{archive_name}
# NoSource: 0
Source1: %{name}-mkalias.pl
Source2: %{name}-font.properties
Provides: j2se = %{version}
Requires: /usr/sbin/update-alternatives
Conflicts: kaffe
BuildArch: i586
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
Obsoletes: %{origin}-jre%{major}
Provides: %{origin}-jre%{major}
%description
This package contains the Java Runtime Environment for %{name}
%package devel
Summary: Java Development Kit for %{name}
Group: Development/Languages
Provides: j2se-devel = %{version}
Requires: /usr/sbin/update-alternatives
Requires: %{name} = %{version}-%{release}
Obsoletes: %{origin}-jsdk%{major}
Provides: %{origin}-jsdk%{major}
%description devel
The JavaTM Development Kit (JDKTM) contains the software and tools that
developers need to compile, debug, and run applets and applications
written using the Java programming language.
%package demo
Summary: Demonstration files for %{name}
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
%description demo
This package contains demonstrations files for %{name}
%package plugin
Summary: Browser plugin files for %{name}
Group: Applications/Internet
Requires: %{name} = %{version}-%{release}
%description plugin
This package contains browser plugin files for %{name}
%package jdbc
Summary: JDBC files for %{name}
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
AutoReqProv: no
Requires: libodbc.so.1
Requires: libodbcinst.so.1
%description jdbc
This package contains JDBC files for %{name}
%package fonts
Summary: TrueType fonts for %{name}
Group: User Interface/X
#Requires: %{name} = %{version}-%{release}
#Requires: /usr/sbin/chkfontpath
#Requires: /usr/X11R6/bin/mkfontdir
#Requires: /usr/bin/ttmkfdir
%description fonts
This package contains the TrueType fonts for %{name}.
%prep
rm -rf $RPM_BUILD_DIR/%{toplevel_dir}
# crappy archive won't stop us
export MORE=10000
cp %{SOURCE0} $RPM_BUILD_DIR
sh $RPM_BUILD_DIR/%{archive_name} <<EOF
yes
EOF
rm -f $RPM_BUILD_DIR/%{archive_name}
%setup -q -D -T -n %{toplevel_dir}
# fix perms
chmod -R go=u-w *
chmod -R u+w *
%install
rm -rf $RPM_BUILD_ROOT
# main files
install -d -m 755 $RPM_BUILD_ROOT%{jdkdir}
cp -a bin include lib $RPM_BUILD_ROOT%{jdkdir}
install -d -m 755 $RPM_BUILD_ROOT%{jredir}
cp -a jre/bin jre/lib jre/plugin $RPM_BUILD_ROOT%{jredir}
(cd $RPM_BUILD_ROOT%{_libdir} && ln -s `basename %{jdkdir}` `basename %{jdklnk}`)
(cd $RPM_BUILD_ROOT%{_libdir} && ln -s `basename %{jdkdir}`/jre `basename %{jrelnk}`)
# man pages
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
for manpage in man/man1/*; do
install -m 644 $manpage $RPM_BUILD_ROOT%{_mandir}/man1/`basename $manpage .1`-%{name}.1
done
# demo
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -a demo $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -a src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}
# font-handling:
# move given fonts.dir out of the way -- Rex
( cd $RPM_BUILD_ROOT%{fontdir}
mv fonts.dir ..
)
# rename supplied font.properties -- Rex
mv $RPM_BUILD_ROOT%{jredir}/lib/font.properties \
$RPM_BUILD_ROOT%{jredir}/lib/font.properties.orig
# Most of this shamelessly stolen from redhat's kdebase-2.2.2 specfile
find $RPM_BUILD_ROOT%{jredir} -type d | sed 's|'$RPM_BUILD_ROOT'|%dir |' > %{name}-all.files
find $RPM_BUILD_ROOT%{jredir} -type f | sed 's|'$RPM_BUILD_ROOT'||' >> %{name}-all.files
find $RPM_BUILD_ROOT%{jredir} -type l | sed 's|'$RPM_BUILD_ROOT'||' >> %{name}-all.files
# font-handling:
# These files ought to get created properly in %post -- Rex
# We do these after the find, so they are not listed above.
touch $RPM_BUILD_ROOT%{fontdir}/{fonts.{alias,dir,scale}}
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{jredir}/bin/mkalias.pl
# Good font.properties file
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{jredir}/lib/font.properties
cat %{name}-all.files | grep plugin | sort > %{name}-plugin.files
cat %{name}-all.files | grep Jdbc | sort > %{name}-jdbc.files
cat %{name}-all.files | grep "lib/fonts" | sort > %{name}-fonts.files
cat %{name}-*.files | sort | uniq -u > %{name}.files
## link plugins appropriately -- Rex
# punt on netscape4 (for now), it requires modification of NPX_PLUGIN_PATH env var
install -d ${RPM_BUILD_ROOT}/usr/lib/mozilla/plugins
ln -s %{jredir}/plugin/i386/ns610/libjavaplugin_oji.so \
${RPM_BUILD_ROOT}/usr/lib/mozilla/plugins/libjavaplugin_oji.so
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/%{toplevel_dir}
%post
[ -f %{_mandir}/man1/java-%{name}.1.bz2 ] && ext="bz2"
[ -f %{_mandir}/man1/java-%{name}.1.gz ] && ext="gz"
update-alternatives --install %{_bindir}/java java %{jrebindir}/java %{priority} \
--slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
--slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
--slave %{_bindir}/policytool policytool %{jrebindir}/policytool \
--slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
--slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
--slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
--slave %{_mandir}/man1/java.1.$ext java.1.$ext %{_mandir}/man1/java-%{name}.1.$ext \
--slave
%{_mandir}/man1/keytool.1.$ext keytool.1.$ext %{_mandir}/man1/keytool-%{name}.1.$ext \
--slave %{_mandir}/man1/orbd.1.$ext orbd.1.$ext %{_mandir}/man1/orbd-%{name}.1.$ext \
--slave %{_mandir}/man1/policytool.1.$ext policytool.1.$ext
%{_mandir}/man1/policytool-%{name}.1.$ext \
--slave %{_mandir}/man1/rmid.1.$ext rmid.1.$ext %{_mandir}/man1/rmid-%{name}.1.$ext \
--slave
%{_mandir}/man1/rmiregistry.1.$ext rmiregistry.1.$ext %{_mandir}/man1/rmiregistry-%{name}.1.$ext \
--slave %{_mandir}/man1/servertool.1.$ext servertool.1.$ext
%{_mandir}/man1/servertool-%{name}.1.$ext \
--slave %{_mandir}/man1/tnameserv.1.$ext tnameserv.1.$ext %{_mandir}/man1/tnameserv-%{name}.1.$ext
%post devel
[ -f %{_mandir}/man1/javac-%{name}.1.bz2 ] && ext="bz2"
[ -f %{_mandir}/man1/javac-%{name}.1.gz ] && ext="gz"
update-alternatives --install %{_bindir}/javac javac %{jdkbindir}/javac %{priority} \
--slave %{_bindir}/appletviewer appletviewer %{jdkbindir}/appletviewer \
--slave %{_bindir}/extcheck extcheck %{jdkbindir}/extcheck \
--slave %{_bindir}/idlj idlj %{jdkbindir}/idlj \
--slave %{_bindir}/jar jar %{jdkbindir}/jar \
--slave %{_bindir}/jarsigner jarsigner %{jdkbindir}/jarsigner \
--slave %{_bindir}/javadoc javadoc %{jdkbindir}/javadoc \
--slave %{_bindir}/javah javah %{jdkbindir}/javah \
--slave %{_bindir}/javap javap %{jdkbindir}/javap \
--slave %{_bindir}/jdb jdb %{jdkbindir}/jdb \
--slave %{_bindir}/native2ascii native2ascii %{jdkbindir}/native2ascii \
--slave %{_bindir}/rmic rmic %{jdkbindir}/rmic \
--slave %{_bindir}/serialver serialver %{jdkbindir}/serialver \
--slave
%{_mandir}/man1/appletviewer.1.$ext appletviewer.1.$ext %{_mandir}/man1/appletviewer-%{name}.1.$ext \
--slave
%{_mandir}/man1/extcheck.1.$ext extcheck.1.$ext %{_mandir}/man1/extcheck-%{name}.1.$ext \
--slave %{_mandir}/man1/idlj.1.$ext idlj.1.$ext %{_mandir}/man1/idlj-%{name}.1.$ext \
--slave %{_mandir}/man1/jar.1.$ext jar.1.$ext %{_mandir}/man1/jar-%{name}.1.$ext \
--slave
%{_mandir}/man1/jarsigner.1.$ext jarsigner.1.$ext %{_mandir}/man1/jarsigner-%{name}.1.$ext \
--slave %{_mandir}/man1/javac.1.$ext javac.1.$ext %{_mandir}/man1/javac-%{name}.1.$ext \
--slave
%{_mandir}/man1/javadoc.1.$ext javadoc.1.$ext %{_mandir}/man1/javadoc-%{name}.1.$ext \
--slave %{_mandir}/man1/javah.1.$ext javah.1.$ext %{_mandir}/man1/javah-%{name}.1.$ext \
--slave %{_mandir}/man1/javap.1.$ext javap.1.$ext %{_mandir}/man1/javap-%{name}.1.$ext \
--slave %{_mandir}/man1/jdb.1.$ext jdb.1.$ext %{_mandir}/man1/jdb-%{name}.1.$ext \
--slave
%{_mandir}/man1/native2ascii.1.$ext native2ascii.1.$ext %{_mandir}/man1/native2ascii-%{name}.1.$ext \
--slave %{_mandir}/man1/rmic.1.$ext rmic.1.$ext %{_mandir}/man1/rmic-%{name}.1.$ext \
--slave %{_mandir}/man1/serialver.1.$ext serialver.1.$ext %{_mandir}/man1/serialver-%{name}.1.$ext
%post fonts
cd %{fontdir}
# Generate fonts.scale, if possible
if [ -x /usr/X11R6/bin/mkfontscale ]; then
mkfontscale > fonts.scale ||:
elif [ -x /usr/bin/ttmkfdir -o -x /usr/sbin/ttmkfdir ]; then
# Some versions of ttmkfdir coredump, so cleanup if needed -- Rex
ttmkfdir >fonts.scale 2>/dev/null || rm -f core ||:
# Fixup lame/broken 0-c-0 entries in fonts.scale -- Rex
[ -f fonts.scale ] && perl -pi -e 's <at> 0-c-0 <at> 0-p-0 <at> g' fonts.scale
fi
# Generate fonts.dir
mkfontdir 2>/dev/null ||:
if [ ! -f fonts.dir ]; then
if [ -f fonts.scale ]; then
cp fonts.scale fonts.dir
else
cp ../fonts.dir .
fi
fi
# Generate fonts.alias
%{jredir}/bin/mkalias.pl fonts.dir > fonts.alias ||:
# Add to fontpath
chkfontpath -q -a %{fontdir} 2>/dev/null ||:
%postun
if [ "$1" = "0" ]; then
update-alternatives --remove java %{jrebindir}/java
fi
%postun devel
if [ "$1" = "0" ]; then
update-alternatives --remove javac %{jdkbindir}/javac
fi
%preun fonts
if [ "$1" = "0" ]; then
cd %{fontdir}
rm -f encodings.dir XftCache fonts.cache-?
chkfontpath -q -r %{fontdir} 2>/dev/null ||:
fi
%files -f %{name}.files
%defattr(-,root,root)
%doc jre/CHANGES jre/COPYRIGHT jre/LICENSE jre/README jre/Welcome.html jre/ControlPanel.html
%dir %{jdkdir}
%{jrelnk}
%config(noreplace) %{jredir}/lib/font.properties
%{_mandir}/man1/java-%{name}.1*
%{_mandir}/man1/keytool-%{name}.1*
%{_mandir}/man1/orbd-%{name}.1*
%{_mandir}/man1/policytool-%{name}.1*
%{_mandir}/man1/rmid-%{name}.1*
%{_mandir}/man1/rmiregistry-%{name}.1*
%{_mandir}/man1/servertool-%{name}.1*
%{_mandir}/man1/tnameserv-%{name}.1*
%files devel
%defattr(-,root,root)
%doc COPYRIGHT LICENSE README README.html
%{jdkdir}/bin
%{jdkdir}/include
%{jdkdir}/lib
%{jdklnk}
%{_mandir}/man1/appletviewer-%{name}.1*
%{_mandir}/man1/extcheck-%{name}.1*
%{_mandir}/man1/idlj-%{name}.1*
%{_mandir}/man1/jar-%{name}.1*
%{_mandir}/man1/jarsigner-%{name}.1*
%{_mandir}/man1/javac-%{name}.1*
%{_mandir}/man1/javadoc-%{name}.1*
%{_mandir}/man1/javah-%{name}.1*
%{_mandir}/man1/javap-%{name}.1*
%{_mandir}/man1/jdb-%{name}.1*
%{_mandir}/man1/native2ascii-%{name}.1*
%{_mandir}/man1/rmic-%{name}.1*
%{_mandir}/man1/serialver-%{name}.1*
%files demo
%defattr(-,root,root)
%{_datadir}/%{name}
%files jdbc -f %{name}-jdbc.files
%defattr(-,root,root)
%files plugin -f %{name}-plugin.files
%defattr(-,root,root)
/usr/lib/mozilla/plugins/*
%files fonts -f %{name}-fonts.files
%defattr(-,root,root)
%dir %{jdkdir}
%dir %{jredir}
%dir %{jredir}/bin
%{jredir}/bin/mkalias.pl
%dir %{jredir}/lib
%ghost %{fontdir}/fonts.dir
%ghost %{fontdir}/fonts.scale
%ghost %{fontdir}/fonts.alias
%changelog
* Thu Dec 12 2002 Rex Dieter <rdieter@...> 1.4.0.03-0
- 1.4.0.03
- rename Group:'s in RedHat style.
- remove extraneous uses of $RPM_BUILD_DIR
- %%clean: cleanup $RPM_BUILD_DIR when done.
- fonts: relax Require's (can be installed standalone), though
most users won't want/need the fonts.
- fonts: try harder to dynamically generate fonts.{dir,scale}, and
keep/use sun's supplied fonts.dir if we can't generate it dynamically.
- fonts: don't use xftcache. It wasn't a good idea then,
and certainly isn't now that it is deprecated (fc-cache).
- fonts: %%config(noreplace) font.properties, provide better (aka working)
default.
- fonts: move %postun fonts to %preun fonts to avoid race: system
accessing a font that is currently being uninstalled.
- plugin: make link for mozilla (punt on netscape for now).
* Sun Sep 08 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0.01-1jpp
- upgrades from Rex Dieter <rdieter@...>:
- 1.4.0_01
- %%postun: do not remove alternatives on upgrades.
- %%post: fix extchek->extcheck typo.
- %%files: add orbd.1*,policytool.1*,servertool.1*
- %%files devel: add idlj.1*
- fonts subpkg
- distribution tag for real
* Sat Jun 08 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-4jpp
- upgrades from Rex Dieter <rdieter@...>:
- naming: jre -> j2se, jsdk -> j2se-devel
- plugin, jdbc subpkgs
- spec cleanup
- changed virtual provides to j2se and j2se-devel
- fixed man page alternative setup
- used versioned files for jdbc package requires
- group tags again
- provides and obsoletes jre and jsdk
* Sat May 11 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-3jpp
- vendor, distribution, group tags
* Fri Apr 05 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-2jpp
- non-free section
* Sat Feb 16 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-1jpp
- 1.4.0 final
* Sun Feb 10 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-0.rc.1jpp
- first jpp release
%define origin sun
%define major 1.4
%define minor 1
%define build 01
%define version %{major}.%{minor}%{?build:.%{build}}
%define cvs_version 1_4_1_01
%define release 0
%define name %{origin}-j2se%{major}
%define jdklnk %{_libdir}/%{origin}-jdk%{major}
%define jrelnk %{_libdir}/%{origin}-jre%{major}
%define jdkdir %{_libdir}/%{name}
%define jredir %{jdkdir}/jre
%define jdkbindir %{jdkdir}/bin
%define jrebindir %{jredir}/bin
%define fontdir %{jredir}/lib/fonts
%define priority 40
%define section non-free
%define archive_name j2sdk-%{cvs_version}-linux-i586.bin
%define toplevel_dir j2sdk%{major}.%{minor}%{?build:_%{build}}
Name: %{name}
Version: %{version}
Release: %{release}
Summary: Java Runtime Environment for %{name}
License: Sun Binary Code License
Group: Development/Languages
Vendor: JPackage Project
Distribution: JPackage
URL: http://java.sun.com/j2se/1.4/
Source0: %{archive_name}
# NoSource: 0
Source1: %{name}-mkalias.pl
Source2: %{name}-font.properties
Provides: j2se = %{version}
Requires: /usr/sbin/update-alternatives
Conflicts: kaffe
BuildArch: i586
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
Obsoletes: %{origin}-jre%{major}
Provides: %{origin}-jre%{major}
%description
This package contains the Java Runtime Environment for %{name}
%package devel
Summary: Java Development Kit for %{name}
Group: Development/Languages
Provides: j2se-devel = %{version}
Requires: /usr/sbin/update-alternatives
Requires: %{name} = %{version}-%{release}
Obsoletes: %{origin}-jsdk%{major}
Provides: %{origin}-jsdk%{major}
%description devel
The JavaTM Development Kit (JDKTM) contains the software and tools that
developers need to compile, debug, and run applets and applications
written using the Java programming language.
%package demo
Summary: Demonstration files for %{name}
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
%description demo
This package contains demonstrations files for %{name}
%package plugin
Summary: Browser plugin files for %{name}
Group: Applications/Internet
Requires: %{name} = %{version}-%{release}
%description plugin
This package contains browser plugin files for %{name}
%package jdbc
Summary: JDBC files for %{name}
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
AutoReqProv: no
Requires: libodbc.so.1
Requires: libodbcinst.so.1
%description jdbc
This package contains JDBC files for %{name}
%package fonts
Summary: TrueType fonts for %{name}
Group: User Interface/X
#Requires: %{name} = %{version}-%{release}
#Requires: /usr/sbin/chkfontpath
#Requires: /usr/X11R6/bin/mkfontdir
#Requires: /usr/bin/ttmkfdir
%description fonts
This package contains the TrueType fonts for %{name}.
%prep
rm -rf $RPM_BUILD_DIR/%{toplevel_dir}
# crappy archive won't stop us
export MORE=10000
cp %{SOURCE0} $RPM_BUILD_DIR
sh $RPM_BUILD_DIR/%{archive_name} <<EOF
yes
EOF
rm -f $RPM_BUILD_DIR/%{archive_name}
%setup -q -D -T -n %{toplevel_dir}
# fix perms
chmod -R go=u-w *
chmod -R u+w *
%install
rm -rf $RPM_BUILD_ROOT
# main files
install -d -m 755 $RPM_BUILD_ROOT%{jdkdir}
cp -a bin include lib $RPM_BUILD_ROOT%{jdkdir}
install -d -m 755 $RPM_BUILD_ROOT%{jredir}
cp -a jre/bin jre/lib jre/plugin $RPM_BUILD_ROOT%{jredir}
(cd $RPM_BUILD_ROOT%{_libdir} && ln -s `basename %{jdkdir}` `basename %{jdklnk}`)
(cd $RPM_BUILD_ROOT%{_libdir} && ln -s `basename %{jdkdir}`/jre `basename %{jrelnk}`)
# man pages
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
for manpage in man/man1/*; do
install -m 644 $manpage $RPM_BUILD_ROOT%{_mandir}/man1/`basename $manpage .1`-%{name}.1
done
# demo
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -a demo $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -a src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}
# font-handling:
# move given fonts.dir out of the way -- Rex
( cd $RPM_BUILD_ROOT%{fontdir}
mv fonts.dir ..
)
# rename supplied font.properties -- Rex
mv $RPM_BUILD_ROOT%{jredir}/lib/font.properties \
$RPM_BUILD_ROOT%{jredir}/lib/font.properties.orig
# Most of this shamelessly stolen from redhat's kdebase-2.2.2 specfile
find $RPM_BUILD_ROOT%{jredir} -type d | sed 's|'$RPM_BUILD_ROOT'|%dir |' > %{name}-all.files
find $RPM_BUILD_ROOT%{jredir} -type f | sed 's|'$RPM_BUILD_ROOT'||' >> %{name}-all.files
find $RPM_BUILD_ROOT%{jredir} -type l | sed 's|'$RPM_BUILD_ROOT'||' >> %{name}-all.files
# font-handling:
# These files ought to get created properly in %post -- Rex
# We do these after the find, so they are not listed above.
touch $RPM_BUILD_ROOT%{fontdir}/{fonts.{alias,dir,scale}}
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{jredir}/bin/mkalias.pl
# Good font.properties file
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{jredir}/lib/font.properties
cat %{name}-all.files | grep plugin | sort > %{name}-plugin.files
cat %{name}-all.files | grep Jdbc | sort > %{name}-jdbc.files
cat %{name}-all.files | grep "lib/fonts" | sort > %{name}-fonts.files
cat %{name}-*.files | sort | uniq -u > %{name}.files
## link plugins appropriately -- Rex
# punt on netscape4 (for now), it requires modification of NPX_PLUGIN_PATH env var
install -d ${RPM_BUILD_ROOT}/usr/lib/mozilla/plugins
ln -s %{jredir}/plugin/i386/ns610/libjavaplugin_oji.so \
${RPM_BUILD_ROOT}/usr/lib/mozilla/plugins/libjavaplugin_oji.so
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/%{toplevel_dir}
%post
[ -f %{_mandir}/man1/java-%{name}.1.bz2 ] && ext="bz2"
[ -f %{_mandir}/man1/java-%{name}.1.gz ] && ext="gz"
update-alternatives --install %{_bindir}/java java %{jrebindir}/java %{priority} \
--slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
--slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
--slave %{_bindir}/policytool policytool %{jrebindir}/policytool \
--slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
--slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
--slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
--slave %{_mandir}/man1/java.1.$ext java.1.$ext %{_mandir}/man1/java-%{name}.1.$ext \
--slave
%{_mandir}/man1/keytool.1.$ext keytool.1.$ext %{_mandir}/man1/keytool-%{name}.1.$ext \
--slave %{_mandir}/man1/orbd.1.$ext orbd.1.$ext %{_mandir}/man1/orbd-%{name}.1.$ext \
--slave %{_mandir}/man1/policytool.1.$ext policytool.1.$ext
%{_mandir}/man1/policytool-%{name}.1.$ext \
--slave %{_mandir}/man1/rmid.1.$ext rmid.1.$ext %{_mandir}/man1/rmid-%{name}.1.$ext \
--slave
%{_mandir}/man1/rmiregistry.1.$ext rmiregistry.1.$ext %{_mandir}/man1/rmiregistry-%{name}.1.$ext \
--slave %{_mandir}/man1/servertool.1.$ext servertool.1.$ext
%{_mandir}/man1/servertool-%{name}.1.$ext \
--slave %{_mandir}/man1/tnameserv.1.$ext tnameserv.1.$ext %{_mandir}/man1/tnameserv-%{name}.1.$ext
%post devel
[ -f %{_mandir}/man1/javac-%{name}.1.bz2 ] && ext="bz2"
[ -f %{_mandir}/man1/javac-%{name}.1.gz ] && ext="gz"
update-alternatives --install %{_bindir}/javac javac %{jdkbindir}/javac %{priority} \
--slave %{_bindir}/appletviewer appletviewer %{jdkbindir}/appletviewer \
--slave %{_bindir}/extcheck extcheck %{jdkbindir}/extcheck \
--slave %{_bindir}/idlj idlj %{jdkbindir}/idlj \
--slave %{_bindir}/jar jar %{jdkbindir}/jar \
--slave %{_bindir}/jarsigner jarsigner %{jdkbindir}/jarsigner \
--slave %{_bindir}/javadoc javadoc %{jdkbindir}/javadoc \
--slave %{_bindir}/javah javah %{jdkbindir}/javah \
--slave %{_bindir}/javap javap %{jdkbindir}/javap \
--slave %{_bindir}/jdb jdb %{jdkbindir}/jdb \
--slave %{_bindir}/native2ascii native2ascii %{jdkbindir}/native2ascii \
--slave %{_bindir}/rmic rmic %{jdkbindir}/rmic \
--slave %{_bindir}/serialver serialver %{jdkbindir}/serialver \
--slave
%{_mandir}/man1/appletviewer.1.$ext appletviewer.1.$ext %{_mandir}/man1/appletviewer-%{name}.1.$ext \
--slave
%{_mandir}/man1/extcheck.1.$ext extcheck.1.$ext %{_mandir}/man1/extcheck-%{name}.1.$ext \
--slave %{_mandir}/man1/idlj.1.$ext idlj.1.$ext %{_mandir}/man1/idlj-%{name}.1.$ext \
--slave %{_mandir}/man1/jar.1.$ext jar.1.$ext %{_mandir}/man1/jar-%{name}.1.$ext \
--slave
%{_mandir}/man1/jarsigner.1.$ext jarsigner.1.$ext %{_mandir}/man1/jarsigner-%{name}.1.$ext \
--slave %{_mandir}/man1/javac.1.$ext javac.1.$ext %{_mandir}/man1/javac-%{name}.1.$ext \
--slave
%{_mandir}/man1/javadoc.1.$ext javadoc.1.$ext %{_mandir}/man1/javadoc-%{name}.1.$ext \
--slave %{_mandir}/man1/javah.1.$ext javah.1.$ext %{_mandir}/man1/javah-%{name}.1.$ext \
--slave %{_mandir}/man1/javap.1.$ext javap.1.$ext %{_mandir}/man1/javap-%{name}.1.$ext \
--slave %{_mandir}/man1/jdb.1.$ext jdb.1.$ext %{_mandir}/man1/jdb-%{name}.1.$ext \
--slave
%{_mandir}/man1/native2ascii.1.$ext native2ascii.1.$ext %{_mandir}/man1/native2ascii-%{name}.1.$ext \
--slave %{_mandir}/man1/rmic.1.$ext rmic.1.$ext %{_mandir}/man1/rmic-%{name}.1.$ext \
--slave %{_mandir}/man1/serialver.1.$ext serialver.1.$ext %{_mandir}/man1/serialver-%{name}.1.$ext
%post fonts
cd %{fontdir}
# Generate fonts.scale, if possible
if [ -x /usr/X11R6/bin/mkfontscale ]; then
mkfontscale > fonts.scale ||:
elif [ -x /usr/bin/ttmkfdir -o -x /usr/sbin/ttmkfdir ]; then
# Some versions of ttmkfdir coredump, so cleanup if needed -- Rex
ttmkfdir >fonts.scale 2>/dev/null || rm -f core ||:
# Fixup lame/broken 0-c-0 entries in fonts.scale -- Rex
[ -f fonts.scale ] && perl -pi -e 's <at> 0-c-0 <at> 0-p-0 <at> g' fonts.scale
fi
# Generate fonts.dir
mkfontdir 2>/dev/null ||:
if [ ! -f fonts.dir ]; then
if [ -f fonts.scale ]; then
cp fonts.scale fonts.dir
else
cp ../fonts.dir .
fi
fi
# Generate fonts.alias
%{jredir}/bin/mkalias.pl fonts.dir > fonts.alias ||:
# Add to fontpath
chkfontpath -q -a %{fontdir} 2>/dev/null ||:
%postun
if [ "$1" = "0" ]; then
update-alternatives --remove java %{jrebindir}/java
fi
%postun devel
if [ "$1" = "0" ]; then
update-alternatives --remove javac %{jdkbindir}/javac
fi
%preun fonts
if [ "$1" = "0" ]; then
cd %{fontdir}
rm -f encodings.dir XftCache fonts.cache-?
chkfontpath -q -r %{fontdir} 2>/dev/null ||:
fi
%files -f %{name}.files
%defattr(-,root,root)
%doc jre/CHANGES jre/COPYRIGHT jre/LICENSE jre/README jre/Welcome.html jre/ControlPanel.html
%dir %{jdkdir}
%{jrelnk}
%config(noreplace) %{jredir}/lib/font.properties
%{_mandir}/man1/java-%{name}.1*
%{_mandir}/man1/keytool-%{name}.1*
%{_mandir}/man1/orbd-%{name}.1*
%{_mandir}/man1/policytool-%{name}.1*
%{_mandir}/man1/rmid-%{name}.1*
%{_mandir}/man1/rmiregistry-%{name}.1*
%{_mandir}/man1/servertool-%{name}.1*
%{_mandir}/man1/tnameserv-%{name}.1*
%files devel
%defattr(-,root,root)
%doc COPYRIGHT LICENSE README README.html
%{jdkdir}/bin
%{jdkdir}/include
%{jdkdir}/lib
%{jdklnk}
%{_mandir}/man1/appletviewer-%{name}.1*
%{_mandir}/man1/extcheck-%{name}.1*
%{_mandir}/man1/idlj-%{name}.1*
%{_mandir}/man1/jar-%{name}.1*
%{_mandir}/man1/jarsigner-%{name}.1*
%{_mandir}/man1/javac-%{name}.1*
%{_mandir}/man1/javadoc-%{name}.1*
%{_mandir}/man1/javah-%{name}.1*
%{_mandir}/man1/javap-%{name}.1*
%{_mandir}/man1/jdb-%{name}.1*
%{_mandir}/man1/native2ascii-%{name}.1*
%{_mandir}/man1/rmic-%{name}.1*
%{_mandir}/man1/serialver-%{name}.1*
%files demo
%defattr(-,root,root)
%{_datadir}/%{name}
%files jdbc -f %{name}-jdbc.files
%defattr(-,root,root)
%files plugin -f %{name}-plugin.files
%defattr(-,root,root)
/usr/lib/mozilla/plugins/*
%files fonts -f %{name}-fonts.files
%defattr(-,root,root)
%dir %{jdkdir}
%dir %{jredir}
%dir %{jredir}/bin
%{jredir}/bin/mkalias.pl
%dir %{jredir}/lib
%ghost %{fontdir}/fonts.dir
%ghost %{fontdir}/fonts.scale
%ghost %{fontdir}/fonts.alias
%changelog
* Thu Dec 12 2002 Rex Dieter <rdieter@...> 1.4.1.01-0
- 1.4.l.01
- rename Group:'s in RedHat style.
- remove extraneous uses of $RPM_BUILD_DIR
- %%clean: cleanup $RPM_BUILD_DIR when done.
- fonts: relax Require's (can be installed standalone), though
most users won't want/need the fonts.
- fonts: try harder to dynamically generate fonts.{dir,scale}, and
keep/use sun's supplied fonts.dir if we can't generate it dynamically.
- fonts: don't use xftcache. It wasn't a good idea then,
and certainly isn't now that it is deprecated (fc-cache).
- fonts: %%config(noreplace) font.properties, provide better (aka working)
default.
- fonts: move %postun fonts to %preun fonts to avoid race: system
accessing a font that is currently being uninstalled.
- plugin: make link for mozilla (punt on netscape for now).
* Sun Sep 08 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0.01-1jpp
- upgrades from Rex Dieter <rdieter@...>:
- 1.4.0_01
- %%postun: do not remove alternatives on upgrades.
- %%post: fix extchek->extcheck typo.
- %%files: add orbd.1*,policytool.1*,servertool.1*
- %%files devel: add idlj.1*
- fonts subpkg
- distribution tag for real
* Sat Jun 08 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-4jpp
- upgrades from Rex Dieter <rdieter@...>:
- naming: jre -> j2se, jsdk -> j2se-devel
- plugin, jdbc subpkgs
- spec cleanup
- changed virtual provides to j2se and j2se-devel
- fixed man page alternative setup
- used versioned files for jdbc package requires
- group tags again
- provides and obsoletes jre and jsdk
* Sat May 11 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-3jpp
- vendor, distribution, group tags
* Fri Apr 05 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-2jpp
- non-free section
* Sat Feb 16 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-1jpp
- 1.4.0 final
* Sun Feb 10 2002 Guillaume Rousse
<guillomovitch@...> 1.4.0-0.rc.1jpp
- first jpp release
RSS Feed