--- /dev/null
+DESTDIR=
+
+.PHONY: default
+default: build
+
+.PHONY: build
+build:
+ echo "java-package currently supports the following binary packages:" \
+ > SUPPORTED
+ echo >> SUPPORTED
+ echo "(This list is automatically generated, do not edit)" >> SUPPORTED
+ echo >> SUPPORTED
+ grep -h "SUPPORTED$$" $(wildcard lib/*-*.sh) | sed 's/"//g;s/).*//' \
+ >> SUPPORTED
+
+.PHONY: clean
+clean:
+ rm -f SUPPORTED
+
+.PHONY: install
+install:
+ install -d -m 755 $(DESTDIR)/usr/bin
+ install -m 755 make-jpkg.out $(DESTDIR)/usr/bin/make-jpkg
+ install -d -m 755 $(DESTDIR)/usr/share/man/man1
+ install -m 644 make-jpkg.1 $(DESTDIR)/usr/share/man/man1/
+ install -d -m 755 $(DESTDIR)/usr/share/java-package
+ for file in lib/*.sh; do \
+ install -m 644 $$file $(DESTDIR)/usr/share/java-package/ ; \
+ done
--- /dev/null
+
+From old java-pakage :
+Move repeated code in install/remove scripts to a single point; apply the DRY (don't repeat yourself) principle.
+Change handling of alternatives to allow for multiple directories, i.e. when you have executables in both bin and jre/bin in a JDK.
+Remove use of dpkg --print-architecture from plugin alternatives installation in install/remove scripts.
+
+From Matthias Klose <doko@ubuntu.com> :
+
+Support the .jinfo files (update-java-alternatives)
+Install into a multiarch location to allow installing the i386 client vm on amd64 and ia64.
+
--- /dev/null
+java-package
+------------
+
+This package can be used to install various non-free external Java packages
+under Debian.
+
+It includes the 'make-jpkg' command to do this, see 'man make-jpkg' for more
+information about generating java packages.
+
+Supported packages currently include:
+
+ * Oracle :
+ - The J2SE Development Kit (JDK), version 6 (update >= 10), 7
+ - The J2SE Runtime Environment (JRE), version 6 (update >= 10), 7
+ - The J2SE API Javadoc, version 6 (update >= 10), 7
+
+ Download:
+ http://www.oracle.com/technetwork/java/javase/downloads
+
+ (Choose tar.gz archives, i586 or amd64, do _not_ choose the RPM!)
+
+All other previously supported jvm (Blackdown, IBM, ..) have been removed and
+will only be added back on users demand
+
+ -- Cédric Pineau <cedric.pineau@gmail.com> Thu, 22 Dec 2011 11:42:13 +0100
--- /dev/null
+java-package (0.50) UNRELEASED; urgency=low
+
+ * Java-package reset for reintroduction in debian (removal of all
+ previously supported jvm).
+ * Add support for Oracle Java 6 (update >= 10)
+ * Add support for Oracle Java 7
+
+ -- Cédric Pineau <cedric.pineau@gmail.com> Thu, 22 Dec 2011 11:42:13 +0100
+
+java-package (0.43) UNRELEASED; urgency=low
+
+ * Remove Java plugins for all browsers (Closes: #367887).
+ * Add support for Sun Java 6 Update XX (Closes: #514364).
+
+ -- Michael Koch <konqueror@gmx.de> Thu, 17 Sep 2009 13:15:55 +0200
+
+java-package (0.42) unstable; urgency=low
+
+ * Provide java*-runtime-headless and java*-sdk names for generated
+ packages.
+ * Recommend dpkg-dev and gcc. Closes: #281766, #405814.
+
+ -- Matthias Klose <doko@debian.org> Sat, 02 Aug 2008 12:10:52 +0200
+
+java-package (0.41) unstable; urgency=low
+
+ * Added support for new SUN JDK/JRE for amd64 downloads. Thanks to
+ Artyom Gavrichenkov for the initial patch.
+
+ -- Michael Koch <konqueror@gmx.de> Fri, 21 Mar 2008 17:20:35 +0100
+
+java-package (0.40) unstable; urgency=low
+
+ * Add support for ibm-java2-sdk-5.0-6.0-linux-$arch.tgz. Closes: #462399
+ Thanks to Evgeni Dobrev for the patch.
+ * Fixed spelling error in long description: debian -> Debian.
+
+ -- Michael Koch <konqueror@gmx.de> Thu, 24 Jan 2008 22:48:46 +0100
+
+java-package (0.39) unstable; urgency=low
+
+ * Added support for IBM JDK 6.0 final release.
+ * Updated Standard-Version to 3.7.3.
+ * Updated debhelper level to 5.
+
+ -- Michael Koch <konqueror@gmx.de> Tue, 18 Dec 2007 07:38:34 +0100
+
+java-package (0.38) unstable; urgency=low
+
+ * Mention SUN JDK 6 in REAME.Debian. Closes: #448258.
+ * Fixed typo when creating version number for SUN JDK 6. Closes: #451935.
+ * Fix handling of symlinks for ControlPanel, HtmlConverter and java-rmi.cgi
+ from SUN JDK 6. Closes: #448351.
+
+ -- Michael Koch <konqueror@gmx.de> Fri, 30 Nov 2007 00:03:50 +0100
+
+java-package (0.37) unstable; urgency=low
+
+ * Added libstdc++5 to Recommends of generated package. Closes: #446334.
+
+ -- Michael Koch <konqueror@gmx.de> Thu, 25 Oct 2007 22:45:42 +0200
+
+java-package (0.36) unstable; urgency=low
+
+ * Fixed package description to include more supported JDKs.
+ Closes: #447615, #447617.
+
+ -- Michael Koch <konqueror@gmx.de> Wed, 24 Oct 2007 09:56:52 +0200
+
+java-package (0.35) unstable; urgency=low
+
+ * Use 'date -R' instead of the deprecated '822-date'. Closes: #441229.
+ * Fix generation of .changes file. Closes: #332643.
+ Thanks to Christoph Goehre for the patch.
+ * Add possibility to add a configured revision to the version.
+ Closes: #442246. Thanks to Christoph Goehre again for the patch.
+
+ -- Michael Koch <konqueror@gmx.de> Fri, 14 Sep 2007 17:28:13 +0200
+
+java-package (0.34) unstable; urgency=low
+
+ * Fixed SUN JDK on amd64. Closes: #439221.
+
+ -- Michael Koch <konqueror@gmx.de> Fri, 24 Aug 2007 00:41:54 +0200
+
+java-package (0.33) unstable; urgency=low
+
+ * Fixed postinst scripts for SUN JDK 1.4, 5 and 6. Closes: #435632.
+
+ -- Michael Koch <konqueror@gmx.de> Thu, 02 Aug 2007 18:43:40 +0200
+
+java-package (0.32) unstable; urgency=low
+
+ * Added support for iceweasel. Closes: #433445.
+ * Fix dangling links for SUN Java 5. Closes: #305053.
+ * Depend on libx11-6 and libasound2. Closes: #289004.
+ * Fix building on ia64. Closes: #355465.
+
+ -- Michael Koch <konqueror@gmx.de> Thu, 19 Jul 2007 22:51:31 +0200
+
+java-package (0.31) unstable; urgency=low
+
+ * Reapplied changes from 0.28 to 0.29. Closes: 322843.
+
+ -- Michael Koch <konqueror@gmx.de> Tue, 10 Jul 2007 08:16:14 +0200
+
+java-package (0.30) unstable; urgency=low
+
+ * Added support for SUN JDK 6u2 (and following updates).
+ * Added support for ibm-java2-jre-5.0-5.0-linux-ppc.tgz.
+ Thanks to B. Zhang.
+
+ -- Michael Koch <konqueror@gmx.de> Sun, 08 Jul 2007 09:33:29 +0200
+
+java-package (0.29) unstable; urgency=low
+
+ * Added support for SUN Java 6 and IBM Java 6.
+ Closes: #322843, #402642, #418592, #425508, #430026.
+ * Added myself to Uploaders.
+
+ -- Michael Koch <konqueror@gmx.de> Tue, 26 Jun 2007 17:40:04 -0100
+
+java-package (0.28) unstable; urgency=low
+
+ * Modified to reflect migration to Subversion
+ * Bumped standards to version 3.7.2, no changes
+ * Corrected test for AMD64 architecture during plug-in detection
+ * Corrected detected version for IBM Java 5 JDK on AMD64 (Closes: #345775)
+ * Repaired alternatives handling for IBM Java 5 JREs and JDKs
+ (Closes: #338569)
+ * Corrected pathing for alternatives installation for Mozilla and
+ Firefox plugins (Closes: #341751)
+ * Relaxed architectural restrictions on plugin alternative
+ installation for IBM Java 5 JREs and JDKs (Closes: #343837)
+ * Added plugin installation for the new packaging of Firefox 1.5 and
+ later (Closes: #341749)
+ * Modified warning suppression for dh_shlibdeps to accommodate
+ changes in dpkg-dev (Closes: #354427)
+ * Added quotes to variable tests for maintainer name and email
+ (Closes: #342623)
+ * Refactored architecture evaluation to eliminate repetition and
+ evaluate DEB_BUILD_GNU_TYPE correctly for i486-linux-gnu
+ * Removed dependency on 'coreutils | stat' from control file, as
+ the dependency is satisfied within essential (Closes: #370002)
+
+ -- Barry Hawkins <barry@alltc.com> Mon, 26 Jun 2006 11:19:08 -0400
+
+java-package (0.27) unstable; urgency=low
+
+ * Added support for IBM Java2 5.0 JREs and JDKs (Closes: #337129)
+ * Corrected missing alternatives links for all JREs and JDKs
+ (Closes: #317492)
+ * Added conditional wrapping around dh_compress to account for
+ JRE/JDKs that do not ship manpages (Closes: 301738)
+ * Removed java-common from Provides: for JRE and JDK packages.
+
+ -- Barry Hawkins <barry@bytemason.org> Tue, 08 Nov 2005 12:16:24 -0500
+
+java-package (0.26) unstable; urgency=low
+
+ * Update standards version to 3.6.2
+ * Resolve issues with powerpc-linux support detection (Closes: #317671)
+ * Added support for Blackdown 1.4.2+02 release (Closes: #316831)
+ * Added support for packaging Sun JDK documentation (Closes: #272971)
+ * Modified make-jpkg behavior to default the generated packages'
+ name and email address for the maintainer to Debian Java Maintainers
+ (Closes: #325554)
+
+ -- Barry Hawkins <barry@bytemason.org> Thu, 18 Aug 2005 00:43:17 -0400
+
+java-package (0.25) unstable; urgency=low
+
+ * Cope with dpkg's new way of expressing architectures (Closes: #313555)
+ * Re-exec with fakeroot if needed (Closes: #310132)
+
+ -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Sun, 10 Jul 2005 18:50:40 +0200
+
+java-package (0.24) unstable; urgency=low
+
+ * Added plugin alternatives support for i386 IBM JREs and JDKs
+ * Corrected pathing for plugin alternatives to reflect difference in
+ layout between JREs and JDKs for Sun and Blackdown (Closes: #305219,
+ #301806)
+
+ -- Barry Hawkins <barry@bytemason.org> Wed, 21 Apr 2005 01:02:03 -0400
+
+java-package (0.23.1) experimental; urgency=low
+
+ * Added architecture-specific pathing for plugin alternatives for
+ Blackdown 1.3 and 1.4 JREs and JDKs
+
+ -- Barry Hawkins <barry@bytemason.org> Wed, 06 Apr 2005 00:03:40 -0500
+
+java-package (0.23) unstable; urgency=low
+
+ * Further expanded 1.3.1 Blackdown JRE/JDK support for i386
+ * Added architecture-specific pathing for plugin alternatives for
+ Sun 1.4 and 1.5 JREs and JDKs (Closes: #301806)
+ * Added recommends for system elements required by applets and
+ graphical user interface elements (Closes: #300817)
+ * Jeroen van Wolffelaar:
+ + Fixed packages description to not have too long lines, and make the 3
+ items an enumeration
+
+ -- Barry Hawkins <barry@bytemason.org> Fri, 01 Apr 2005 00:36:40 -0500
+
+java-package (0.22.1) experimental; urgency=low
+
+ * Corrected IBM and Blackdown JRE/JDK file size specifications
+ * Added support for additional 1.3.1 Blackdown JREs and JDKs for i386,
+ powerpc (Closes: #301092)
+ * Added installation of javaws alternative for Sun 1.5 JREs and JDKs
+ (Closes: #300303)
+
+ -- Barry Hawkins <barry@bytemason.org> Thu, 24 Mar 2005 13:20:18 -0500
+
+java-package (0.22) unstable; urgency=low
+
+ * Corrected IBM JRE/JDK scripts to accurately reflect the supported
+ IBM JDKs and JREs in the generated SUPPORTED file
+
+ -- Barry Hawkins <barry@alltc.com> Fri, 18 Mar 2005 10:21:53 -0500
+
+java-package (0.21) unstable; urgency=low
+
+ * Enable support for IBM JDKs and JREs for x86, amd64, powerpc,
+ powerpc64, and s390 architectures, based upon a patch by Rico
+ Schiekel (Closes: #264137)
+ * Enable suppport for Blackdown 1.3.1 JDK and JRE for PowerPC
+ architecture. (Closes: #296205)
+ * Update documentation and to reflect current supported JDKs and JREs
+
+ -- Barry Hawkins <barry@alltc.com> Mon, 14 Mar 2005 03:18:39 -0500
+
+java-package (0.20) unstable; urgency=low
+
+ * Make the postinst & rm for generated packages #!/bin/bash, as we use
+ bash-specific features (Closes: #292179)
+ * Drop the df output parsing, use '/usr/bin/stat' instead (Closes: #293487,
+ #289006, #293350)
+ * Drop the now obsolete peer stuff from the source package
+ * Change priorities, 313 for 1.3, 314 for 1.4, etc (Closes: #292451)
+ * Don't dh_strip, fiddling with upstream's binaries apparantly breaks stuff
+ (Closes: #291238)
+
+ -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Tue, 08 Feb 2005 15:04:51 +0100
+
+java-package (0.19) unstable; urgency=low
+
+ The "Joshua Kwan <joshk@debian.org> rocks!" release.
+
+ Joshua Kwan:
+ * Unclutter Debian build system and rework package slightly so that
+ *debian packages are not needed anymore. The necessary files will be
+ included in the generated packages. (Closes: #291145, #289245, #284779)
+ * Add support for Blackdown 1.4.2+01 build. (Closes: #285405)
+ * Fix support for Sun 1.5.0 amd64 builds due to typo. (Closes: #290879)
+ * Mozilla browser plugin name changed in 1.4.2 versions. Detect and correct.
+ (Closes: #273730)
+ * Use --block-size=1M instead of -BM. (Closes: #289005, #291161)
+ * Disable support for Sun JDK 1.3 due to its dependencies on libraries
+ that are simply not available anymore. (Closes: #272972)
+ * Fix up short description a little bit.
+ * Bump Standards-Version to 3.6.1 (no changes)
+ * Be a bit more conservative with the real-root test.
+ * Remove last j2se-package references.
+ * Change Suggests on fakeroot to a Depends because it is worthless both
+ as real root and as a normal user without fakeroot.
+
+ Jeroen van Wolffelaar:
+ * Use DEBFULLNAME, DEBNAME and DEBEMAIL if available, and don't ask for
+ those values in that case. (Closes: #279653)
+ * Updated documentation regarding dropped Sun 1.3 support
+ * Work around multiline df output caused by long device names
+ (Closes: #289006)
+ * Add Replaces: for the generated packages on their *debian counterparts
+
+ -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Tue, 25 Jan 2005 00:05:06 +0100
+
+java-package (0.18) unstable; urgency=low
+
+ * Added myself to Uploaders
+ * Fix security hole (inscure temp file creation) plus lots of needless I/O
+ in free disk checking function
+ * Added support for Sun's JDK/JRE 1.5 patch levels, based on a patch by
+ Peter Marschall <peter@adpm.de> (Closes: #286718, #287857)
+ * Bail out if running as real root (works around the evil parts of Sun's
+ install script that unconditionally writes to /etc, see #266273, #280707)
+ * Fix typo in j2re.sh that apparantly with some versions of
+ bash/dpkg/whatever cause package build failure (Closes: #281780, #282902)
+ * Reduce minimum expected size a bit Sun's 1.5.0 amd64 package, it was set
+ too high (Closes: #284033)
+ * Substitute package version number at build time in the make-jpkg
+ executable (Closes: #282221)
+ * Added a README.Debian explaining the existance of make-jpkg and what
+ binary packages are supported and where to get them. Thanks Thijs
+ Kinkhorst for the draft (Closes: #283362)
+ * Added automatically-generated file SUPPORTED that lists all binary
+ filenames that are supported, thanks Alex Owen <owen@cus.org.uk> for the
+ idea (Closes: #275296)
+
+ -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Mon, 3 Jan 2005 18:47:47 +0100
+
+java-package (0.17) unstable; urgency=low
+
+ * added a patch for detecting the architecture (Closes: #274844,
+ #270949, #271846). This patch should also close this one (Closes:
+ #280685).
+
+ -- Arnaud Vandyck <avdyk@debian.org> Fri, 12 Nov 2004 17:28:38 +0100
+
+java-package (0.16) unstable; urgency=low
+
+ * added myself as an uploader.
+ * Carlos already closed the support for 1.5 request but it seems he did
+ not upload the package (Closes: #277088).
+
+ -- Arnaud Vandyck <avdyk@debian.org> Wed, 10 Nov 2004 16:38:44 +0100
+
+java-package (0.15) unstable; urgency=low
+
+ * lib/sun-j2re.sh: Added support for JRE 1.5.0 (aka "Java 5.0").
+ * lib/sun-j2sdk.sh: Added support for Java SDK 1.5.0.
+
+ -- Carlos Laviola <claviola@debian.org> Mon, 11 Oct 2004 21:08:59 -0300
+
+java-package (0.14) unstable; urgency=low
+
+ * debian/control: Commented out the lines that generate the Debian-specific
+ packages, thus making alternatives available.
+ - Also made all of the generated packages depend on their Debian-specific
+ counterparts by default. (Closes: #266671)
+
+ -- Carlos Laviola <claviola@debian.org> Mon, 13 Sep 2004 03:38:31 -0300
+
+java-package (0.13) unstable; urgency=low
+
+ * References to j2se-package are gone. (Closes: #267642)
+ * Added support for Blackdown Java 1.4.2 RC1 JRE/SDK. (Closes: #267643)
+
+ -- Carlos Laviola <claviola@debian.org> Mon, 13 Sep 2004 03:17:54 -0300
+
+java-package (0.12) unstable; urgency=low
+
+ * remove to contrib because this package depend on non-free J2SE.
+
+ -- Takashi Okamoto <tora@debian.org> Tue, 3 Aug 2004 00:37:13 +0900
+
+java-package (0.11) unstable; urgency=low
+
+ * change package name java-package and the command build package is
+ make-jpkg.
+
+ -- Takashi Okamoto <tora@debian.org> Sat, 31 Jul 2004 15:07:36 +0900
+
+java-package (0.10) unstable; urgency=low
+
+ * change package name mpkg-j2se.
+ * not use *-j2[re|sdk]debian package. Instead of this, add package
+ dependency to generated package. This reduce the installation for
+ such extra package.
+ * SUN's jdk1.5 beta2 support.
+
+ -- Takashi Okamoto <tora@debian.org> Sun, 18 Jul 2004 13:53:36 +0900
+
+java-package (0.9) unstable; urgency=low
+
+ * more generic support for j2re1.3.1/j2sdk1.3.1 from SUN.
+
+ * add alternative for jarsigner (in j2sdk1.4 and j2sdk1.5 from SUN).
+
+ -- Hubert Schmid <ude2@z42.de> Sun, 23 May 2004 23:35:14 +0200
+
+java-package (0.8) unstable; urgency=low
+
+ * java plugin: support for mozilla-firefox.
+
+ -- Hubert Schmid <ude2@z42.de> Tue, 4 May 2004 22:39:39 +0200
+
+java-package (0.7) unstable; urgency=low
+
+ * Optionally create .changes file.
+
+ * Add command line options: --help, --version, --full-name,
+ --email, --changes.
+
+ * Add environment variables: J2SE_PACKAGE_FULL_NAME,
+ J2SE_PACKAGE_EMAIL.
+
+ -- Hubert Schmid <ude2@z42.de> Sat, 27 Mar 2004 23:01:08 +0100
+
+java-package (0.6) unstable; urgency=low
+
+ * More generic support for Java2 1.4.2 from SUN.
+
+ -- Hubert Schmid <ude2@z42.de> Thu, 11 Mar 2004 20:39:51 +0100
+
+java-package (0.5) unstable; urgency=low
+
+ * NEW: build Blackdown J2RE 1.4.1 (gcc-2.95) and J2SDK 1.4.1 (gcc-2.95).
+
+ * NEW: support for SUN J2RE 1.5.0 beta, SUN J2SDK 1.5.0 beta.
+
+ -- Hubert Schmid <ude2@z42.de> Sat, 7 Feb 2004 21:57:09 +0100
+
+java-package (0.4) unstable; urgency=low
+
+ * Added support for: SUN J2RE 1.4.2_03, SUN J2SDK 1.4.2_03
+
+ -- Hubert Schmid <ude2@z42.de> Thu, 15 Jan 2004 22:27:52 +0100
+
+java-package (0.3) unstable; urgency=low
+
+ * Added support for: Blackdown J2RE 1.3, 1.4, J2SDK 1.3, 1.4
+
+ * Removed usage of "du --apparent-size". This should fix a problem
+ with old fileutils.
+
+ -- Hubert Schmid <ude2@z42.de> Sun, 9 Nov 2003 21:13:38 +0100
+
+java-package (0.2) unstable; urgency=low
+
+ * Added support for: Sun J2RE 1.3, Sun J2SDK 1.3, Sun J2SDK 1.4
+
+ * Moved peer packages into this source package.
+
+ -- Hubert Schmid <ude2@z42.de> Thu, 30 Oct 2003 00:10:01 +0100
+
+java-package (0.1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Hubert Schmid <j2se-package@z42.de> Sun, 26 Oct 2003 20:06:57 +0100
+
+Local variables:
+mode: debian-changelog
+End:
--- /dev/null
+Source: java-package
+Section: contrib/misc
+Priority: optional
+Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
+Uploaders: Carlos Laviola <claviola@debian.org>, Arnaud Vandyck <avdyk@debian.org>, Jeroen van Wolffelaar <jeroen@wolffelaar.nl>, Barry Hawkins <barry@alltc.com>, Michael Koch <konqueror@gmx.de>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 3.7.3
+
+Package: java-package
+Architecture: all
+Depends: debhelper, fakeroot, unzip, libx11-6, libasound2
+Recommends: dpkg-dev, gcc
+Description: utility for building Java(TM) 2 related Debian packages
+ This package provides the capability to create a Debian package from
+ a Java(TM) 2 distribution by just running make-jpkg <filename>.
+ .
+ This program currently works with the following Java(TM) 2 Runtime
+ Environments and Development Kits:
+ .
+ * Oracle(TM) 7 Standard Edition
--- /dev/null
+This is java-package, maintained by Jeroen van Wolffelaar
+<jeroen@wolffelaar.nl> and Barry Hawkins <barry@bytemason.org>.
+It is based upon the j2se-package application originally
+written by Hubert Schmid.
+
+The original source can always be found at:
+http://cvs.alioth.debian.org/cgi-bin/cvsweb.cgi/java-package/?cvsroot=pkg-java
+
+Copyright (C) 2005 Barry Hawkins
+Copyright (C) 2004-2005 Jeroen van Wolffelaar
+Copyright (C) 2003 Hubert Schmid
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this package; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA.
+
+On Debian systems, the complete text of the GNU General Public License
+can be found in `/usr/share/common-licenses/GPL'.
--- /dev/null
+/usr/bin
+/usr/share/java-package
--- /dev/null
+#!/usr/bin/make -f
+# debian/rules for java-package
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# Extract source package version number from changelog
+VERSION := $(shell head -n 1 $(CURDIR)/debian/changelog | sed 's/.*(//;s/).*//')
+B := $(CURDIR)/debian/java-package
+
+build: build-stamp
+
+build-stamp:
+ dh_testdir
+ # Add here commands to compile the indep part of the package.
+ sed s/@VERSION@/$(VERSION)/ make-jpkg > make-jpkg.out
+ touch $@
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp SUPPORTED make-jpkg.out debian/semantic.cache
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ install -m 755 make-jpkg.out $(B)/usr/bin/make-jpkg
+ cp lib/*.sh lib/*-common $(B)/usr/share/java-package/
+ for dir in $(wildcard oracle-j2*); do \
+ cp -a $$dir $(B)/usr/share/java-package/; \
+ done
+ find $(B) -type d -name .svn | xargs -r rm -r
+
+# Generate SUPPORTED
+ echo "java-package currently supports the following binary packages:" > SUPPORTED
+ echo >> SUPPORTED
+ echo "(This list is automatically generated, do not edit)" >> SUPPORTED
+ echo >> SUPPORTED
+ grep -h "SUPPORTED$$" $(wildcard $(CURDIR)/lib/*-*.sh) | sed 's/"//g;s/).*//' >> SUPPORTED
+
+ dh_install
+
+binary: binary-indep
+
+binary-arch:
+
+binary-indep: build install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_installdocs
+ dh_installman make-jpkg.1
+ dh_link
+# dh_strip
+ dh_compress
+ dh_fixperms
+ dh_makeshlibs
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+.PHONY: build clean binary-indep binary install
--- /dev/null
+# read_yn <prompt>
+function read_yn() {
+ local prompt="$1"
+ while true; do
+ read -e -n 1 -p "$prompt" reply
+ case "$reply" in
+ "" | "y" | "Y")
+ return 0
+ ;;
+ "N" | "n")
+ return 1
+ ;;
+ esac
+ done
+}
+
+
+# diskusage <path>: prints size in MB
+function diskusage() {
+ local path="$1"
+ read size dummy < <( du -sm "$path" )
+ echo "$size"
+}
+
+
+# diskfree <minimum size in MB>
+function diskfree() {
+ local size="$1"
+ echo -n "Checking free diskspace:"
+ (( free = `stat -f -c '%a / 2048 * ( %s / 512 )' $tmp ` ))
+
+ if [ "$free" -ge "$size" ]; then
+ echo " done."
+ else
+ cat >&2 << EOF
+
+
+WARNING: Possibly not enough free disk space in "$tmp".
+
+You need at least $size MB, but only $free MB seems free. Note: You
+can specify an alternate directory by setting the environment variable
+
+Press Ctrl+C to interrupt, or return to try to continue anyway.
+
+TMPDIR.
+
+EOF
+ read
+ fi
+}
+
+
+# extract_bin <file> <expected_min_size> <dest>
+function extract_bin() {
+ local file="$1"
+ local expected_min_size="$2"
+ local dest="$3"
+ cat << EOF
+
+In the next step, the binary file will be extracted. Probably a
+license agreement will be displayed. Please read this agreement
+carefully. If you do not agree to the displayed license terms, the
+package will not be built.
+
+EOF
+ read -e -p "Press [Return] to continue: " dummy
+ echo
+ local extract_dir="$tmp/extract"
+ mkdir "$extract_dir"
+ cd "$extract_dir"
+ echo
+
+ local extract_cmd
+ case "$archive_path" in
+ *.tar)
+ extract_cmd="tar xf";;
+ *.tar.bz2)
+ extract_cmd="tar --bzip2 -xf";;
+ *.tgz|*.tar.gz)
+ extract_cmd="tar xfz";;
+ *.zip)
+ extract_cmd="unzip -q";;
+ *)
+ extract_cmd=sh
+ esac
+
+ if ! $extract_cmd "$archive_path"; then
+ cat << EOF
+
+WARNING: The package installation script exited with an error
+value. Usually, this means, that the installation failed for some
+reason. But in some cases there is no problem and you can continue
+creating the Debian package.
+
+Please check if there are any error messages. Press [Return] to
+continue or Ctrl-C to abort.
+
+EOF
+ read
+ fi
+ echo
+ echo -n "Testing extracted archive..."
+ local size="$( diskusage "$extract_dir" )"
+ if [ "$size" -lt "$expected_min_size" ]; then
+ cat << EOF
+
+Invalid size ($size MB) of extracted archive. Probably you have not
+enough free disc space in the temporary directory. Note: You can
+specify an alternate directory by setting the environment variable
+TMPDIR.
+
+EOF
+ error_exit
+ else
+ cd "$extract_dir"
+ files=(*)
+ if [ "${#files[*]}" -ne 1 ]; then
+ cat << EOF
+
+Expected one file, but found the following ${#files[*]} files:
+ ${files[*]}
+
+EOF
+ error_exit
+ fi
+ mv "$files" "$dest"
+ echo -e " okay.\n"
+ fi
+}
+
+
+function read_maintainer_info() {
+ if [ -z "$maintainer_name" ]; then
+ if [ -n "$DEBFULLNAME" ]; then
+ maintainer_name="$DEBFULLNAME"
+ elif [ -n "$DEBNAME" ]; then
+ maintainer_name="$DEBNAME"
+ else
+ default_name="$(getent passwd $(id -run) | cut -d: -f5| cut -d, -f1)"
+
+ cat << EOF
+
+Please enter your full name. This value will be used in the maintainer
+field of the created package.
+
+EOF
+
+ # gecos can be null
+ while [ -z "$maintainer_name" ]; do
+ read -e -p "Full name [$default_name]:" maintainer_name
+ if [ -z "$maintainer_name" ] && [ -n "$default_name" ]; then
+ maintainer_name="$default_name"
+ fi
+ done
+ fi
+ fi
+
+ if [ -z "$maintainer_email" ]; then
+ local default_email=
+ if [ -n "$DEBEMAIL" ]; then
+ maintainer_email="$DEBEMAIL"
+ else
+ if [ -r "/etc/mailname" ]; then
+ default_email="$( id -run )@$( cat /etc/mailname )"
+ else
+ default_email="$( id -run )@$( hostname --fqdn )"
+ fi
+ cat << EOF
+
+Please enter a valid email address or press return to accept the
+default value. This address will be used in the maintainer field of
+the created package.
+
+EOF
+ read -e -p "Email [$default_email]: " maintainer_email
+ if [ -z "$maintainer_email" ]; then
+ maintainer_email="$default_email"
+ fi
+ fi
+ fi
+}
+
+# provide the architecture for evaluation by plugins
+function get_architecture() {
+ echo
+
+ export DEB_BUILD_ARCH=$(dpkg-architecture -qDEB_BUILD_ARCH)
+
+ export DEB_BUILD_GNU_TYPE=$(dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ echo "Detected Debian build architecture: ${DEB_BUILD_ARCH:-N/A}"
+
+ echo "Detected Debian GNU type: ${DEB_BUILD_GNU_TYPE:-N/A}"
+}
--- /dev/null
+ # Common functions for all install scripts
+
+ # install_alternative -- add an alternative
+ #
+ # install_alternative program
+ function install_alternative() {
+ local program="$1"
+ update-alternatives \
+ --install "/usr/bin/$program" "$program" \
+ "$j2se_base/bin/$program" "$priority" \
+ --slave "/usr/share/man/man1/$program.1.gz" "$program.1.gz" \
+ "$j2se_base/man/man1/$program.1.gz"
+ }
+
+ # install_java_plugin -- add an alternative for a browser plugin
+ #
+ # install_java_plugin browser_plugin_path java_plugin_path priority
+ function install_java_plugin() {
+ [ -d "$1" ] || install -d -m 755 "$1"
+ update-alternatives \
+ --install "$1/$2" "$3" "$4" "$5"
+ }
--- /dev/null
+function j2re_readme() {
+ j2se_readme
+}
+
+function j2re_changelog() {
+ j2se_changelog
+}
+
+function j2re_control() {
+ j2se_control
+ cat << EOF
+Package: $j2se_package
+Architecture: any
+Depends: \${shlibs:Depends}
+Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2
+Provides: java-virtual-machine, java-runtime, java2-runtime, java-runtime-headless, java2-runtime-headless, java-browser-plugin, j2re${j2se_release}
+Replaces: ${j2se_package}debian
+Description: $j2se_title
+ The Java(TM) 2 Runtime Environment contains the Java virtual machine,
+ runtime class libraries, and Java application launcher that are
+ necessary to run programs written in the Java progamming language
+ (this includes the Java 2 Plug-In for Netscape and Mozilla
+ browsers). It is not a development environment and doesn't contain
+ development tools such as compilers or debuggers. For development
+ tools, see the Java 2 SDK, Standard Edition.
+ .
+ This package has been automatically created with java-package ($version).
+EOF
+}
+
+function j2re_copyright() {
+ j2se_copyright
+}
+
+function j2re_install_scripts() {
+ j2se_install_scripts
+}
+
+function j2re_info() {
+ j2se_info
+}
+
+function j2re_build() {
+ j2se_build
+}
+
+# build debian package
+function j2re_run() {
+ echo
+ diskfree "$j2se_required_space"
+ read_maintainer_info
+ j2se_package="$j2se_vendor-j2re$j2se_release"
+ j2se_base="/usr/lib/jvm/j2re$j2se_release-$j2se_vendor"
+ local target="$install_dir$j2se_base"
+ install -d -m 755 "$( dirname "$target" )"
+ extract_bin "$archive_path" "$j2se_expected_min_size" "$target"
+ rm -rf "$target/.systemPrefs"
+ j2re_readme > "$debian_dir/README.Debian"
+ j2re_changelog > "$debian_dir/changelog"
+ j2re_control > "$debian_dir/control"
+ j2re_copyright > "$debian_dir/copyright"
+ j2re_install_scripts
+ install -d "$target/debian"
+ j2re_info > "$target/debian/info"
+ j2re_build
+}
--- /dev/null
+function j2sdk_doc_readme() {
+ j2se_readme
+}
+
+function j2sdk_doc_changelog() {
+ j2se_changelog
+}
+
+function j2sdk_doc_control() {
+ j2se_control
+ cat << EOF
+Package: $j2se_package
+Architecture: any
+Depends:
+Recommends:
+Provides:
+Replaces:
+Description: $j2se_title
+ The Java(TM) 2 SDK is a development environment for building
+ applications, applets, and components that can be deployed on the
+ Java(TM) platform.
+ .
+ This package provides the official API documentation published
+ by Sun Microsystems.
+ .
+ This package has been automatically created with java-package ($version).
+EOF
+}
+
+function j2sdk_doc_copyright() {
+ j2se_copyright
+}
+
+function j2sdk_doc_install_scripts() {
+ j2se_install_scripts
+}
+
+function j2sdk_doc_info() {
+ j2se_info
+}
+
+function j2sdk_doc_doc-base() {
+ cat << EOF
+Document: $j2se_package
+Title: $j2se_title
+Author: $maintainer_name
+Abstract: This is the API Javadoc provided by the vendor
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/j2sdk$j2se_release-$j2se_vendor-doc/index.html
+Files: /usr/share/doc/j2sdk$j2se_release-$j2se_vendor-doc/*.html
+
+EOF
+}
+
+function j2sdk_doc_build() {
+ j2se_build
+}
+
+# build debian package
+function j2sdk_doc_run() {
+ echo
+ diskfree "$j2se_required_space"
+ read_maintainer_info
+ j2se_package="$j2se_vendor-j2sdk$j2se_release-doc"
+ j2se_base="/usr/share/doc/j2sdk$j2se_release-$j2se_vendor-doc"
+ local target="$install_dir$j2se_base"
+ install -d -m 755 "$( dirname "$target" )"
+ extract_bin "$archive_path" "$j2se_expected_min_size" "$target"
+ rm -rf "$target/.systemPrefs"
+ j2sdk_doc_readme > "$debian_dir/README.Debian"
+ j2sdk_doc_changelog > "$debian_dir/changelog"
+ j2sdk_doc_control > "$debian_dir/control"
+ j2sdk_doc_copyright > "$debian_dir/copyright"
+ j2sdk_doc_doc-base > "$debian_dir/$j2se_package.doc-base"
+ j2sdk_doc_install_scripts
+ install -d "$target/debian"
+ j2sdk_doc_info > "$target/debian/info"
+ j2sdk_doc_build
+}
--- /dev/null
+function j2sdk_readme() {
+ j2se_readme
+}
+
+function j2sdk_changelog() {
+ j2se_changelog
+}
+
+function j2sdk_control() {
+ j2se_control
+ cat << EOF
+Package: $j2se_package
+Architecture: any
+Depends: \${shlibs:Depends}
+Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2, libstdc++5
+Provides: java-virtual-machine, java-runtime, java2-runtime, java-browser-plugin, java-compiler, java2-compiler, java-runtime-headless, java2-runtime-headless, java-sdk, java2-sdk, j2sdk$j2se_release, j2re$j2se_release
+Replaces: ${j2se_package}debian
+Description: $j2se_title
+ The Java(TM) 2 SDK is a development environment for building
+ applications, applets, and components that can be deployed on the
+ Java(TM) platform.
+ .
+ The Java(TM) 2 SDK software includes tools useful for developing and
+ testing programs written in the Java programming language and running
+ on the Java platform. These tools are designed to be used from the
+ command line. Except for appletviewer, these tools do not provide a
+ graphical user interface.
+ .
+ This package has been automatically created with java-package ($version).
+EOF
+}
+
+function j2sdk_copyright() {
+ j2se_copyright
+}
+
+function j2sdk_install_scripts() {
+ j2se_install_scripts
+}
+
+function j2sdk_info() {
+ j2se_info
+}
+
+function j2sdk_build() {
+ j2se_build
+}
+
+# build debian package
+function j2sdk_run() {
+ echo
+ diskfree "$j2se_required_space"
+ read_maintainer_info
+ j2se_package="$j2se_vendor-j2sdk$j2se_release"
+ j2se_base="/usr/lib/jvm/j2sdk$j2se_release-$j2se_vendor"
+ local target="$install_dir$j2se_base"
+ install -d -m 755 "$( dirname "$target" )"
+ extract_bin "$archive_path" "$j2se_expected_min_size" "$target"
+ rm -rf "$target/.systemPrefs"
+ j2sdk_readme > "$debian_dir/README.Debian"
+ j2sdk_changelog > "$debian_dir/changelog"
+ j2sdk_control > "$debian_dir/control"
+ j2sdk_copyright > "$debian_dir/copyright"
+ j2sdk_install_scripts
+ install -d "$target/debian"
+ j2sdk_info > "$target/debian/info"
+ j2sdk_build
+}
--- /dev/null
+function j2se_readme() {
+ cat << EOF
+Package for $j2se_title
+---
+
+This package has been automatically created with java-package ($version).
+All files from the original distribution should have been installed in
+the directory $j2se_base. Please take a look at this directory for
+further information.
+
+EOF
+}
+
+function j2se_changelog() {
+ cat << EOF
+$j2se_package ($j2se_version) unstable; urgency=low
+
+ * This package was created with java-package ($version).
+
+ -- $maintainer_name <$maintainer_email> $( date -R )
+
+EOF
+}
+
+function j2se_control() {
+ cat << EOF
+Source: $j2se_package
+Section: non-free/devel
+Priority: optional
+Maintainer: $maintainer_name <$maintainer_email>
+Build-Depends: debhelper (>= 4.0.0)
+Standards-Version: 3.7.2
+
+EOF
+}
+
+function j2se_copyright() {
+ cat << EOF
+----------------------------------------------------------------------
+
+This file contains a copy of all copyright files found in the original
+distribution. The original copyright files and further information can
+be found in the directory $j2se_base and its
+subdirectories.
+
+----------------------------------------------------------------------
+EOF
+ (
+ cd "$install_dir"
+ find * -type f -iname copyright |
+ while read file; do
+ cat << EOF
+
+File: /$file
+
+----------------------------------------------------------------------
+
+EOF
+ cat "$file"
+ cat << EOF
+
+----------------------------------------------------------------------
+EOF
+ done
+ )
+}
+
+function j2se_install_scripts() {
+ cat > "$debian_dir/postinst" << EOF
+#!/bin/bash
+
+set -e
+
+if [ "\$1" = configure ]; then
+EOF
+ cat "$lib_dir/install-common" >> "$debian_dir/postinst"
+
+ cat "$lib_dir/$j2se_package/install" >> "$debian_dir/postinst"
+
+ cat >> "$debian_dir/postinst" << EOF
+fi
+
+#DEBHELPER#
+
+exit 0
+EOF
+ chmod 755 "$debian_dir/postinst"
+
+ cat > "$debian_dir/prerm" << EOF
+#!/bin/bash
+
+set -e
+
+case "\$1" in
+ remove | deconfigure)
+EOF
+ cat "$lib_dir/remove-common" >> "$debian_dir/prerm"
+
+ cat "$lib_dir/$j2se_package/remove" >> "$debian_dir/prerm"
+
+ cat >> "$debian_dir/prerm" << EOF
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+EOF
+ chmod 755 "$debian_dir/prerm"
+}
+
+function j2se_info() {
+ cat << EOF
+version="$version"
+j2se_version="$j2se_version"
+maintainer_name="$maintainer_name"
+maintainer_email="$maintainer_email"
+date="$( date +%Y/%m/%d )"
+EOF
+}
+
+function j2se_build() {
+ cd "$tmp"
+ echo "Create debian package:"
+
+ #export DH_VERBOSE=1
+ export DH_COMPAT=4
+ export DH_OPTIONS=--tmpdir="$install_dir"
+
+ echo " dh_testdir"
+ dh_testdir
+ echo " dh_testroot"
+ dh_testroot
+ echo " dh_installchangelogs"
+ dh_installchangelogs
+ # Problem: dh_installchangelogs thinks this is a native package.
+ echo " dh_installdocs"
+ dh_installdocs
+ # dh_install
+ # dh_link
+ # Conditionally wrapping this as not all JRE/JDKs have man directories
+ if [ -e "$install_dir/$j2se_base/man" ]; then
+ echo " dh_compress"
+ dh_compress $( find "$install_dir/$j2se_base/man" -type f ! -name "*.gz" )
+ fi
+ echo " dh_fixperms"
+ dh_fixperms
+ echo " dh_installdeb"
+ dh_installdeb
+ echo " dh_shlibdeps"
+ ldpath=
+ for dir in $( find "$install_dir" -type f -name "*.so*" -printf "%h\n" | sort -u ); do
+ if [[ -z "$ldpath" ]]; then
+ ldpath="$dir"
+ else
+ ldpath="$ldpath:$dir"
+ fi
+ done
+ # suppress some warnings
+ dh_shlibdeps -l"$ldpath" 2>&1 |
+ { grep -v "warning: format of \`NEEDED lib.*\.so' not recognized" >&2 || true; }
+ echo " dh_gencontrol"
+ dh_gencontrol
+ echo " dh_md5sums"
+ dh_md5sums
+ echo " dh_builddeb"
+ dh_builddeb --destdir="$tmp"
+ local deb_filename="$( echo "${j2se_package}_"*.deb )"
+ echo " copy $deb_filename into directory $working_dir/"
+ cp "$deb_filename" "$working_dir/"
+ if [ -n "$genchanges" ]; then
+ echo " dpkg-genchanges"
+ local changes_filename="${deb_filename%.deb}.changes"
+ dpkg-genchanges -b -u. > "$changes_filename"
+ echo " copy $changes_filename into directory $working_dir/"
+ cp "$changes_filename" "$working_dir/"
+ fi
+ cat << EOF
+
+The Debian package has been created in the current directory. You can
+install the package as root (e.g. dpkg -i $deb_filename).
+
+EOF
+}
--- /dev/null
+# Detect product
+function oracle_j2re_detect() {
+ local found=
+
+ case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in
+ i386|i486-linux-gnu)
+ case "$archive_name" in
+ "jre-6u"[0-9][0-9]"-linux-i586.bin") # SUPPORTED
+ j2se_version=1.6.0+update${archive_name:6:2}${revision}
+ j2se_expected_min_size=16 #Mb
+ found=true
+ ;;
+ "jre-7u"[0-9]"-linux-i586.tar.gz") # SUPPORTED
+ j2se_version=1.7.0+update${archive_name:6:1}${revision}
+ j2se_expected_min_size=94 #Mb
+ found=true
+ ;;
+ esac
+ ;;
+ amd64|x86_64-linux-gnu)
+ case "$archive_name" in
+ "jre-6u"[0-9][0-9]"-linux-x64.bin") # SUPPORTED
+ j2se_version=1.6.0+update${archive_name:6:2}${revision}
+ j2se_expected_min_size=16 #Mb
+ found=true
+ ;;
+ "jre-7u"[0-9]"-linux-x64.tar.gz") # SUPPORTED
+ j2se_version=1.7.0+update${archive_name:6:1}${revision}
+ j2se_expected_min_size=88 #Mb
+ found=true
+ ;;
+ esac
+ ;;
+ esac
+ if [[ -n "$found" ]]; then
+ cat << EOF
+
+Detected product:
+ Java(TM) Runtime Environment (JRE)
+ Standard Edition, Version $j2se_version
+ Oracle Microsystems(TM), Inc.
+EOF
+ if read_yn "Is this correct [Y/n]: "; then
+ j2se_found=true
+ j2se_release="${j2se_version:0:3}"
+ j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
+ j2se_vendor="oracle"
+ j2se_title="Java(TM) JRE, Standard Edition, Oracle Microsystems(TM)"
+ j2re_run
+ fi
+ fi
+}
+
+j2se_detect_oracle_j2re=oracle_j2re_detect
--- /dev/null
+# Detect product
+function oracle_j2sdk_doc_detect() {
+ local found=
+ case "$archive_name" in
+ "jdk-6u"[0-9][0-9]"-apidocs.zip") # SUPPORTED
+ j2se_version=1.6.0+update${archive_name:6:2}${revision}
+ j2se_expected_min_size=44 #Mb
+ found=true
+ ;;
+ "jdk-7u"[0-9]"-apidocs.zip") # SUPPORTED
+ j2se_version=1.7.0+update${archive_name:6:1}${revision}
+ j2se_expected_min_size=290 #Mb
+ found=true
+ ;;
+ esac
+ if [[ -n "$found" ]]; then
+ cat << EOF
+
+Detected product:
+ Java(TM) Development Kit (JDK) Documentation
+ Standard Edition, Version $j2se_version
+ Oracle(TM), Inc.
+EOF
+ if read_yn "Is this correct [Y/n]: "; then
+ j2se_found=true
+ j2se_release="${j2se_version:0:3}"
+ j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
+ j2se_vendor="oracle"
+ j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM) Documentation"
+ j2sdk_doc_run
+ fi
+ fi
+}
+
+j2se_detect_j2sdk_doc_oracle=oracle_j2sdk_doc_detect
--- /dev/null
+# Detect product
+function oracle_j2sdk_detect() {
+ local found=
+
+ case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in
+ i386|i486-linux-gnu)
+ case "$archive_name" in
+ "jdk-6u"[0-9][0-9]"-linux-i586.bin") # SUPPORTED
+ j2se_version=1.6.0+update${archive_name:6:2}${revision}
+ j2se_expected_min_size=130 #Mb
+ found=true
+ ;;
+ "jdk-7u"[0-9]"-linux-i586.tar.gz") # SUPPORTED
+ j2se_version=1.7.0+update${archive_name:6:1}${revision}
+ j2se_expected_min_size=190 #Mb
+ found=true
+ ;;
+ esac
+ ;;
+ amd64|x86_64-linux-gnu)
+ case "$archive_name" in
+ "jdk-6u"[0-9][0-9]"-linux-x64.bin") # SUPPORTED
+ j2se_version=1.6.0+update${archive_name:6:2}${revision}
+ j2se_expected_min_size=130 #Mb
+ found=true
+ ;;
+ "jdk-7u"[0-9]"-linux-x64.tar.gz") # SUPPORTED
+ j2se_version=1.7.0+update${archive_name:6:1}${revision}
+ j2se_expected_min_size=180 #Mb
+ found=true
+ ;;
+ esac
+ ;;
+ esac
+ if [[ -n "$found" ]]; then
+ cat << EOF
+
+Detected product:
+ Java(TM) Development Kit (JDK)
+ Standard Edition, Version $j2se_version
+ Oracle(TM), Inc.
+EOF
+ if read_yn "Is this correct [Y/n]: "; then
+ j2se_found=true
+ j2se_release="${j2se_version:0:3}"
+ j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
+ j2se_vendor="oracle"
+ j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM)"
+ j2sdk_run
+ fi
+ fi
+}
+
+j2se_detect_oracle_j2sdk=oracle_j2sdk_detect
--- /dev/null
+ # Common functions for all install scripts
+
+ # remove_alternative -- remove an alternative
+ #
+ # remove_alternative program
+ function remove_alternative() {
+ local program="$1"
+ update-alternatives \
+ --remove "$program" "/usr/bin/$program-$suffix"
+ rm "/usr/bin/$program-$suffix"
+ }
+
+ # remove_java_plugin -- add an alternative for a browser plugin
+ #
+ # remove_java_plugin plugins_path
+ function remove_java_plugin() {
+ local program="$1"
+ update-alternatives \
+ --remove "$program" "$plugin_dir/libjavaplugin_oji.so"
+ }
--- /dev/null
+#! /bin/bash -e
+
+shopt -s nullglob
+
+### global variables
+
+# version of this package
+version="@VERSION@"
+
+working_dir="$( pwd )"
+program_name="$( basename "$0" )"
+program_dir="$( cd "$( dirname "$( type -p "$0" )" )" ; pwd )"
+
+lib_dir="/usr/share/java-package"
+[ "$J2SE_PACKAGE_LIBDIR" ] && lib_dir="$J2SE_PACKAGE_LIBDIR"
+
+# If a default has been set for either of the
+# environment variables, use it; otherwise,
+# default to the name and email used by the
+# Debian Java Maintainers project.
+if [ -z "$J2SE_PACKAGE_FULL_NAME" ]; then
+ maintainer_name="Debian Java Maintainers"
+else
+ maintainer_name="$J2SE_PACKAGE_FULL_NAME"
+fi
+
+if [ -z "$J2SE_PACKAGE_EMAIL" ]; then
+ maintainer_email="pkg-java-maintainers@lists.alioth.debian.org"
+else
+ maintainer_email="$J2SE_PACKAGE_EMAIL"
+fi
+
+genchanges=""
+
+### check for run in fakeroot
+
+# are we running as fakeroot
+if ! dh_testroot >/dev/null 2>&1; then
+ if [ -n "$FAKEROOTKEY" ]; then
+ echo "Internal error, fakeroot seems to fail faking root" >&2
+ exit 1
+ fi
+ exec fakeroot "$0" "$@"
+fi
+
+# check whether I'm real root, and bail out if so... ugly, but needed
+if touch /lib/.test 2>/dev/null; then
+ rm -f /lib/.test
+ echo "You are real root -- unfortunately, some Java distributions have" >&2
+ echo "install scripts that directly manipulate /etc, and may cause some" >&2
+ echo "inconsistencies on your system. Instead, you should become a" >&2
+ echo "non-root user and run:" >&2
+ echo >&2
+ echo "fakeroot make-jpkg $@" >&2
+ echo >&2
+ echo "which will allow no damage to be done to your system files and" >&2
+ echo "still permit the Java distribution to successfully extract." >&2
+ echo >&2
+ echo "Aborting." >&2
+ exit 1
+fi
+
+
+### Parse options
+
+function print_usage() {
+ cat << EOF
+Usage: $program_name [OPTION]... FILE
+
+$program_name builds Debian packages from Java(TM) 2 binary distributions.
+
+ --full-name NAME full name used in the maintainer field of the package
+ --email EMAIL email address used in the maintainer field of the package
+ --changes create a .changes file
+ --revision add debian revision
+
+ --help display this help and exit
+ --version output version information and exit
+
+EOF
+}
+
+function unrecognized_option() {
+ cat >&2 << EOF
+$program_name: unrecognized option \`$1'
+Try \`$program_name --help' for more information.
+EOF
+ exit 1
+}
+
+function missing_argument() {
+ cat >&2 << EOF
+$program_name: missing argument for option \`$1'
+Try \`$program_name --help' for more information.
+EOF
+ exit 1
+}
+
+# options
+while [[ $# -gt 0 && "x$1" == x--* ]]; do
+ if [[ "x$1" == x--version ]]; then
+ echo "make-jpkg $version"
+ exit 0
+ elif [[ "x$1" == x--help ]]; then
+ print_usage
+ exit 0
+ elif [[ "x$1" == x--full-name ]]; then
+ [ $# -le 1 ] && missing_argument "$1"
+ shift
+ maintainer_name="$1"
+ elif [[ "x$1" == x--email ]]; then
+ [ $# -le 1 ] && missing_argument "$1"
+ shift
+ maintainer_email="$1"
+ elif [[ "x$1" == x--revision ]]; then
+ [ $# -le 1 ] && missing_argument "$1"
+ shift
+ revision="-${1}"
+ elif [[ "x$1" == x--changes ]]; then
+ genchanges="true"
+ else
+ unrecognized_option "$1"
+ fi
+ shift
+done
+
+# last argument
+if [[ $# -ne 1 ]]; then
+ cat >&2 << EOF
+$program_name: missing pathname
+Try \`$program_name --help' for more information.
+EOF
+ exit 1
+fi
+archive="$1"
+
+if [[ ! -e "$archive" ]]; then
+ echo "Error: The file \"$archive\" does not exist."
+ exit 1
+elif [[ ! -r "$archive" ]]; then
+ echo "Error: The file \"$archive\" is not readable."
+ exit 1
+fi
+
+archive_name="$( basename "$archive" )"
+archive_dir="$( cd "$( dirname "$archive" )" ; pwd )"
+archive_path="$archive_dir/$archive_name"
+
+
+# error handling
+
+success=
+failed=
+tmp=
+
+# function is called when script terminates
+function on_exit() {
+ lastcmd="$_"
+ if [[ -z "$success" && -z "$failed" ]]; then
+ cat >&2 << EOF
+
+Aborted ($lastcmd).
+
+EOF
+ fi
+ # remove temporary directory
+ if [ -n "$tmp" -a -d "$tmp" ]; then
+ echo -n "Removing temporary directory: "
+ rm -rf "$tmp"
+ echo "done"
+ fi
+}
+trap on_exit EXIT
+
+# print error message and terminate
+function error_exit() {
+ cat >&2 << EOF
+
+Aborted.
+
+EOF
+ failed=true
+ exit 1
+}
+
+
+
+# The environment variable tmp points to a secure temporary directory.
+# There should be enough free disk space.
+echo -n "Creating temporary directory: "
+tmp="$( mktemp -d -t "$program_name.XXXXXXXXXX" )"
+echo "$tmp"
+
+debian_dir="$tmp/debian"
+install -d -m 755 "$debian_dir"
+
+install_dir="$tmp/install"
+install -d -m 755 "$install_dir"
+
+# load and execute plugins
+echo -n "Loading plugins:"
+cd "$lib_dir"
+files=(*.sh)
+for file in "${files[@]}"; do
+ echo -n " $file"
+ source "$lib_dir/$file"
+done
+
+echo
+
+# get architecture information
+get_architecture
+
+j2se_found=
+for var in ${!j2se_detect_*}; do
+ eval "\$$var"
+ if [[ "$j2se_found" == "true" ]]; then
+ break;
+ fi
+done
+echo
+
+if [[ -z "$j2se_found" ]]; then
+ echo "No matching plugin was found."
+fi
+
+
+
+### exit
+success=true
+exit 0
--- /dev/null
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH MAKE-JPKG 1 "November 04, 2005"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+make-jpkg \- build Debian packages from Java(TM) 2 binary distributions
+.SH SYNOPSIS
+.B make-jpkg
+[\fIOPTION\fR]... [\fIFILE\fR]
+.SH DESCRIPTION
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+.PP
+\fBmake-jpkg\fP creates a Debian package from a Java(TM) 2
+distribution. This program works currently with the following Java(TM) 2 REs, SDKs and APIs:
+ Oracle(TM) 1.6 Standard Edition (starting with update 10)
+ Oracle(TM) 1.7 Standard Edition
+.PP
+The following options are recognized:
+.TP
+.B --full-name \fINAME\fR
+full name used in the maintainer field of the package
+.TP
+.B --email \fIEMAIL\fR
+email address used in the maintainer field of the package
+.TP
+.B --changes
+create a .changes file
+.TP
+.B --revision
+add debian revision
+.TP
+.B --help
+display help text and exit
+.TP
+.B --version
+output version information and exit
+.PP
+Download a supported Java(TM) 2 RE or SDK or API tar.gz or self-extracting archive from
+.B http://www.oracle.com/technetwork/java/javase/downloads
+and execute
+.B make-jpkg
+.I file
+with the downloaded file. The program asks the user for additional
+information and creates a Debian binary package in the current
+directory.
+.PP
+The program requires about 200 MB free disk space in a temporary
+directory. The temporary directory defaults to
+.I /tmp
+but you can specify an alternate directory by setting the environment
+variable \fITMPDIR\fR.
+.SH ENVIRONMENT
+.TP
+.SM TMPDIR
+base directory used for temporary files (defaults to /tmp)
+.TP
+.SM J2SE_PACKAGE_FULL_NAME
+full name used in the maintainer field of the package; if none is supplied
+then the default of "Debian Java Maintainers" is used.
+.TP
+.SM J2SE_PACKAGE_EMAIL
+email address used in the maintainer field of the package; if none is supplied
+the default of "pkg-java-maintainers@lists.alioth.debian.org" is used.
+.SH AUTHOR
+This manual page was written by Hubert Schmid <j2se-package@z42.de>.
+
+It is now maintained by the Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>.
--- /dev/null
+suffix=j2re1.6-oracle
+j2se_base="/usr/lib/jvm/$suffix"
+priority=316
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --install "/usr/bin/$program" "$program" \
+ "$j2se_base/bin/$program" "$priority" \
+ --slave "/usr/share/man/man1/$program.1.gz" "$program.1.gz" \
+ "$j2se_base/man/man1/$program.1.gz"
+}
+
+# kinit, klist, and ktab not installed at this
+# time; handling of /etc/krb5.conf not addressed
+program_alternative ControlPanel
+program_alternative java
+program_alternative javaws
+program_alternative keytool
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/lib/$arch_dir"
+
+# iceweasel
+iceweasel_dir="/usr/lib/iceweasel/plugins"
+[ -d "$iceweasel_dir" ] || install -d -m 755 "$iceweasel_dir"
+update-alternatives \
+ --install "$iceweasel_dir/libjavaplugin.so" \
+ "iceweasel-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
+# chromium
+chromium_dir="/usr/lib/chromium/plugins"
+[ -d "$chromium_dir" ] || install -d -m 755 "$chromium_dir"
+update-alternatives \
+ --install "$chromium_dir/libjavaplugin.so" \
+ "chromium-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
--- /dev/null
+suffix=j2re1.6-oracle
+j2se_base="/usr/lib/jre/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --remove "$program" "$j2se_base/bin/$program"
+}
+
+program_alternative ControlPanel
+program_alternative java
+program_alternative javaws
+program_alternative keytool
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/lib/$arch_dir"
+
+# iceweasel
+update-alternatives \
+ --remove "iceweasel-javaplugin.so" "$plugin_dir/libnpjp2.so"
+
+# chromium
+update-alternatives \
+ --remove "chromium-javaplugin.so" "$plugin_dir/libnpjp2.so"
--- /dev/null
+suffix=j2re1.7-oracle
+j2se_base="/usr/lib/jvm/$suffix"
+priority=316
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --install "/usr/bin/$program" "$program" \
+ "$j2se_base/bin/$program" "$priority" \
+ --slave "/usr/share/man/man1/$program.1.gz" "$program.1.gz" \
+ "$j2se_base/man/man1/$program.1.gz"
+}
+
+# kinit, klist, and ktab not installed at this
+# time; handling of /etc/krb5.conf not addressed
+program_alternative ControlPanel
+program_alternative java
+program_alternative javaws
+program_alternative keytool
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/lib/$arch_dir"
+
+# iceweasel
+iceweasel_dir="/usr/lib/iceweasel/plugins"
+[ -d "$iceweasel_dir" ] || install -d -m 755 "$iceweasel_dir"
+update-alternatives \
+ --install "$iceweasel_dir/libjavaplugin.so" \
+ "iceweasel-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
+# chromium
+chromium_dir="/usr/lib/chromium/plugins"
+[ -d "$chromium_dir" ] || install -d -m 755 "$chromium_dir"
+update-alternatives \
+ --install "$chromium_dir/libjavaplugin.so" \
+ "chromium-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
--- /dev/null
+suffix=j2re1.7-oracle
+j2se_base="/usr/lib/jre/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --remove "$program" "$j2se_base/bin/$program"
+}
+
+program_alternative ControlPanel
+program_alternative java
+program_alternative javaws
+program_alternative keytool
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/lib/$arch_dir"
+
+# iceweasel
+update-alternatives \
+ --remove "iceweasel-javaplugin.so" "$plugin_dir/libnpjp2.so"
+
+# chromium
+update-alternatives \
+ --remove "chromium-javaplugin.so" "$plugin_dir/libnpjp2.so"
--- /dev/null
+j2se_base="/usr/share/doc/j2sdk1.6-oracle-doc"
+priority=316
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# Register the documentation with the various
+# documentation systems, i.e. dhelp and dwww.
+
+if [ "$1" = configure ] ; then
+ if which install-docs >/dev/null 2>&1; then
+ install-docs -i /usr/share/doc-base/oracle-j2sdk1.6-doc
+ fi
+fi
+
--- /dev/null
+j2se_base="/usr/share/doc/j2sdk1.6-oracle-doc"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+
--- /dev/null
+suffix=j2sdk1.6-oracle
+j2se_base="/usr/lib/jvm/$suffix"
+priority=315
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --install "/usr/bin/$program" "$program" \
+ "$j2se_base/bin/$program" "$priority" \
+ --slave "/usr/share/man/man1/$program.1.gz" "$program.1.gz" \
+ "$j2se_base/man/man1/$program.1.gz"
+}
+
+# alternative <program> without man page
+function program_alternative_no_man() {
+ local program="$1"
+ update-alternatives \
+ --install "/usr/bin/$program" "$program" \
+ "$j2se_base/bin/$program" "$priority"
+}
+
+# kinit, klist, and ktab not installed at this
+# time; handling of /etc/krb5.conf not addressed
+# JRE-specific alternatives with JDKs cannot be
+# handled by our current approach
+program_alternative appletviewer
+program_alternative_no_man ControlPanel
+program_alternative extcheck
+program_alternative idlj
+program_alternative jar
+program_alternative jarsigner
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative javaws
+program_alternative jconsole
+program_alternative jdb
+program_alternative jinfo
+program_alternative jmap
+program_alternative jps
+program_alternative jsadebugd
+program_alternative jstack
+program_alternative jstat
+program_alternative jstatd
+program_alternative keytool
+program_alternative native2ascii
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/jre/lib/$arch_dir"
+
+# iceweasel
+iceweasel_dir="/usr/lib/iceweasel/plugins"
+[ -d "$iceweasel_dir" ] || install -d -m 755 "$iceweasel_dir"
+update-alternatives \
+ --install "$iceweasel_dir/libjavaplugin.so" \
+ "iceweasel-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
+# chromium
+chromium_dir="/usr/lib/chromium/plugins"
+[ -d "$chromium_dir" ] || install -d -m 755 "$chromium_dir"
+update-alternatives \
+ --install "$chromium_dir/libjavaplugin.so" \
+ "chromium-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
--- /dev/null
+suffix=j2sdk1.6-oracle
+j2se_base="/usr/lib/jvm/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --remove "$program" "$j2se_base/bin/$program"
+}
+
+program_alternative appletviewer
+program_alternative ControlPanel
+program_alternative extcheck
+program_alternative idlj
+program_alternative jar
+program_alternative jarsigner
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative java-rmi.cgi
+program_alternative javaws
+program_alternative jconsole
+program_alternative jdb
+program_alternative jinfo
+program_alternative jmap
+program_alternative jps
+program_alternative jsadebugd
+program_alternative jstack
+program_alternative jstat
+program_alternative jstatd
+program_alternative keytool
+program_alternative native2ascii
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/jre/lib/$arch_dir"
+
+# iceweasel
+update-alternatives \
+ --remove "iceweasel-javaplugin.so" "$plugin_dir/libnpjp2.so"
+
+# chromium
+update-alternatives \
+ --remove "chromium-javaplugin.so" "$plugin_dir/libnpjp2.so"
--- /dev/null
+j2se_base="/usr/share/doc/j2sdk1.7-oracle-doc"
+priority=316
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# Register the documentation with the various
+# documentation systems, i.e. dhelp and dwww.
+
+if [ "$1" = configure ] ; then
+ if which install-docs >/dev/null 2>&1; then
+ install-docs -i /usr/share/doc-base/oracle-j2sdk1.7-doc
+ fi
+fi
+
--- /dev/null
+j2se_base="/usr/share/doc/j2sdk1.7-oracle-doc"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+
--- /dev/null
+suffix=j2sdk1.7-oracle
+j2se_base="/usr/lib/jvm/$suffix"
+priority=315
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --install "/usr/bin/$program" "$program" \
+ "$j2se_base/bin/$program" "$priority" \
+ --slave "/usr/share/man/man1/$program.1.gz" "$program.1.gz" \
+ "$j2se_base/man/man1/$program.1.gz"
+}
+
+# alternative <program> without man page
+function program_alternative_no_man() {
+ local program="$1"
+ update-alternatives \
+ --install "/usr/bin/$program" "$program" \
+ "$j2se_base/bin/$program" "$priority"
+}
+
+# kinit, klist, and ktab not installed at this
+# time; handling of /etc/krb5.conf not addressed
+# JRE-specific alternatives with JDKs cannot be
+# handled by our current approach
+program_alternative appletviewer
+program_alternative_no_man ControlPanel
+program_alternative extcheck
+program_alternative idlj
+program_alternative jar
+program_alternative jarsigner
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative_no_man java-rmi.cgi
+program_alternative javaws
+program_alternative jconsole
+program_alternative jdb
+program_alternative jinfo
+program_alternative jmap
+program_alternative jps
+program_alternative jsadebugd
+program_alternative jstack
+program_alternative jstat
+program_alternative jstatd
+program_alternative keytool
+program_alternative native2ascii
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/jre/lib/$arch_dir"
+
+# iceweasel
+iceweasel_dir="/usr/lib/iceweasel/plugins"
+[ -d "$iceweasel_dir" ] || install -d -m 755 "$iceweasel_dir"
+update-alternatives \
+ --install "$iceweasel_dir/libjavaplugin.so" \
+ "iceweasel-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
+# chromium
+chromium_dir="/usr/lib/chromium/plugins"
+[ -d "$chromium_dir" ] || install -d -m 755 "$chromium_dir"
+update-alternatives \
+ --install "$chromium_dir/libjavaplugin.so" \
+ "chromium-javaplugin.so" \
+ "$plugin_dir/libnpjp2.so" "$priority"
+
--- /dev/null
+suffix=j2sdk1.7-oracle
+j2se_base="/usr/lib/jvm/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+ exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+ local program="$1"
+ update-alternatives \
+ --remove "$program" "$j2se_base/bin/$program"
+}
+
+program_alternative appletviewer
+program_alternative ControlPanel
+program_alternative extcheck
+program_alternative idlj
+program_alternative jar
+program_alternative jarsigner
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative java-rmi.cgi
+program_alternative javaws
+program_alternative jconsole
+program_alternative jdb
+program_alternative jinfo
+program_alternative jmap
+program_alternative jps
+program_alternative jsadebugd
+program_alternative jstack
+program_alternative jstat
+program_alternative jstatd
+program_alternative keytool
+program_alternative native2ascii
+program_alternative orbd
+program_alternative pack200
+program_alternative policytool
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+program_alternative servertool
+program_alternative tnameserv
+program_alternative unpack200
+
+# derive the architecture-specific
+# directory for the plugin
+arch_dir="$(dpkg --print-architecture)"
+
+# assemble the plugin path
+plugin_dir="$j2se_base/jre/lib/$arch_dir"
+
+# iceweasel
+update-alternatives \
+ --remove "iceweasel-javaplugin.so" "$plugin_dir/libnpjp2.so"
+
+# chromium
+update-alternatives \
+ --remove "chromium-javaplugin.so" "$plugin_dir/libnpjp2.so"