From 2a9168df2bfed5c3353dfea956029a572d2a1e9b Mon Sep 17 00:00:00 2001 From: Emmanuel Bourg Date: Thu, 24 Apr 2014 23:21:10 +0200 Subject: [PATCH 01/16] Removed trailing spaces --- README | 2 +- debian/changelog | 36 ++++++++++++++++++------------------ debian/copyright | 2 +- lib/common.sh | 14 +++++++------- lib/javase.sh | 10 +++++----- lib/oracle-jdk.sh | 4 ++-- make-jpkg | 6 +++--- make-jpkg.1 | 4 ++-- 8 files changed, 39 insertions(+), 39 deletions(-) diff --git a/README b/README index 7367c22..4436370 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ -* To be done : +* To be done : - update java-package wiki page : http://wiki.debian.org/JavaPackage?action=edit&editor=text - make symbolic links for j2se/jre/bin/* in j2se/bin/ to avoid duplication diff --git a/debian/changelog b/debian/changelog index 2534523..10defdb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -138,7 +138,7 @@ java-package (0.50) unstable; urgency=low * debian-rules-missing-recommended-target removed * maintainer-script-lacks-debhelper-token removed * Declare the debian/compat to 7 to avoid warnings - + [ Michael Koch ] * Remove Java plugins for all browsers (Closes: #367887). * Add support for Sun Java 6 Update XX (Closes: #514364). @@ -261,13 +261,13 @@ java-package (0.28) unstable; urgency=low (Closes: #338569) * Corrected pathing for alternatives installation for Mozilla and Firefox plugins (Closes: #341751) - * Relaxed architectural restrictions on plugin alternative + * 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 + * Modified warning suppression for dh_shlibdeps to accommodate changes in dpkg-dev (Closes: #354427) - * Added quotes to variable tests for maintainer name and email + * 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 @@ -293,7 +293,7 @@ java-package (0.26) unstable; urgency=low * 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' + * Modified make-jpkg behavior to default the generated packages' name and email address for the maintainer to Debian Java Maintainers (Closes: #325554) @@ -309,7 +309,7 @@ java-package (0.25) unstable; urgency=low 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 + * Corrected pathing for plugin alternatives to reflect difference in layout between JREs and JDKs for Sun and Blackdown (Closes: #305219, #301806) @@ -317,7 +317,7 @@ java-package (0.24) unstable; urgency=low java-package (0.23.1) experimental; urgency=low - * Added architecture-specific pathing for plugin alternatives for + * Added architecture-specific pathing for plugin alternatives for Blackdown 1.3 and 1.4 JREs and JDKs -- Barry Hawkins Wed, 06 Apr 2005 00:03:40 -0500 @@ -325,9 +325,9 @@ java-package (0.23.1) experimental; urgency=low 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 + * 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 + * 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 @@ -340,24 +340,24 @@ 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 + * Added installation of javaws alternative for Sun 1.5 JREs and JDKs (Closes: #300303) -- Barry Hawkins 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 + * Corrected IBM JRE/JDK scripts to accurately reflect the supported IBM JDKs and JREs in the generated SUPPORTED file -- Barry Hawkins 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 + * 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 + * 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 @@ -479,7 +479,7 @@ java-package (0.12) unstable; urgency=low java-package (0.11) unstable; urgency=low - * change package name java-package and the command build package is + * change package name java-package and the command build package is make-jpkg. -- Takashi Okamoto Sat, 31 Jul 2004 15:07:36 +0900 @@ -487,9 +487,9 @@ java-package (0.11) unstable; urgency=low 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. + * 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 Sun, 18 Jul 2004 13:53:36 +0900 diff --git a/debian/copyright b/debian/copyright index 3028586..e77187e 100644 --- a/debian/copyright +++ b/debian/copyright @@ -19,7 +19,7 @@ License: GPL-2 . 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 + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. . On Debian systems, the complete text of the GNU General Public License diff --git a/lib/common.sh b/lib/common.sh index a9ed231..ec10531 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -69,7 +69,7 @@ EOF mkdir "$extract_dir" cd "$extract_dir" echo - + local extract_cmd case "$archive_path" in *.tar) @@ -83,7 +83,7 @@ EOF *) extract_cmd=sh esac - + if ! $extract_cmd "$archive_path"; then cat << EOF @@ -137,7 +137,7 @@ read_maintainer_info() { 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 @@ -154,12 +154,12 @@ EOF done fi fi - + if [ -z "$maintainer_email" ]; then local default_email= if [ -n "$DEBEMAIL" ]; then maintainer_email="$DEBEMAIL" - else + else if [ -r "/etc/mailname" ]; then default_email="$( id -run )@$( cat /etc/mailname )" else @@ -187,9 +187,9 @@ get_architecture() { 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}" } diff --git a/lib/javase.sh b/lib/javase.sh index b1a1111..20756e7 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -3,7 +3,7 @@ j2se_readme() { Package for $j2se_title --- -This package has been automatically created with java-package ($version). +This package has been automatically created with java-package ($version). All files from the original distribution should have been installed in the directory $jvm_base$j2se_name. Please take a look at this directory for further information. @@ -45,7 +45,7 @@ subdirectories. ---------------------------------------------------------------------- EOF - ( + ( cd "$install_dir" find * -type f -iname copyright | while read file; do @@ -122,7 +122,7 @@ fi exit 0 EOF chmod 755 "$debian_dir/postinst" - + cat > "$debian_dir/prerm" << EOF #!/bin/bash @@ -186,7 +186,7 @@ jinfos() { j2se_build() { cd "$tmp" echo "Create debian package:" - + #export DH_VERBOSE=1 export DH_COMPAT=7 export DH_OPTIONS=--tmpdir="$install_dir" @@ -232,7 +232,7 @@ j2se_build() { local deb_filename="$( echo "${j2se_package}_"*.deb )" echo " copy $deb_filename into directory $working_dir/" cp "$deb_filename" "$working_dir/" - if [ -n "$genchanges" ]; then + if [ -n "$genchanges" ]; then echo " dpkg-genchanges" local changes_filename="${deb_filename%.deb}.changes" dpkg-genchanges -b -u. > "$changes_filename" diff --git a/lib/oracle-jdk.sh b/lib/oracle-jdk.sh index 6d45ce5..aba8be5 100644 --- a/lib/oracle-jdk.sh +++ b/lib/oracle-jdk.sh @@ -74,8 +74,8 @@ oracle_j2sdk_detect() { echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture" return fi - - + + cat << EOF Detected product: diff --git a/make-jpkg b/make-jpkg index f22594a..758bcf8 100755 --- a/make-jpkg +++ b/make-jpkg @@ -15,8 +15,8 @@ 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 +# 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" @@ -226,7 +226,7 @@ jvm_base="/usr/lib/jvm/" javadoc_base="/usr/share/doc/" j2se_found= -for var in ${!j2se_detect_*}; do +for var in ${!j2se_detect_*}; do eval "\$$var" if [[ "$j2se_found" == "true" ]]; then break; diff --git a/make-jpkg.1 b/make-jpkg.1 index 9575561..2b6baad 100644 --- a/make-jpkg.1 +++ b/make-jpkg.1 @@ -22,7 +22,7 @@ make-jpkg \- builds Debian packages from Java binary distributions [\fIOPTION\fR]... [\fIFILE\fR] .SH DESCRIPTION .\" TeX users may be more comfortable with the \fB\fP and -.\" \fI\fP escape sequences to invode bold face and italics, +.\" \fI\fP escape sequences to invode bold face and italics, .\" respectively. .PP \fBmake-jpkg\fP builds a Debian package from the given Java @@ -65,7 +65,7 @@ information and builds 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 +directory. The temporary directory defaults to .I /tmp but you can specify an alternate directory by setting the environment variable \fITMPDIR\fR. -- 2.39.2 From 2db62a21fffe2ec4479cc496b99e4abcbc350895 Mon Sep 17 00:00:00 2001 From: Emmanuel Bourg Date: Thu, 24 Apr 2014 23:28:12 +0200 Subject: [PATCH 02/16] Use debhelper level 9 in the generated package --- debian/changelog | 1 + debian/control | 2 +- lib/javase.sh | 3 +-- lib/jdk-doc.sh | 2 +- lib/jdk.sh | 2 +- lib/jre.sh | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index 10defdb..b75515d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ java-package (0.55) UNRELEASED; urgency=medium [ Emmanuel Bourg ] * Bumped the Standards-Version of the generated package to 3.9.5 + * Use debhelper level 9 in the generated package -- tony mancill Mon, 07 Apr 2014 21:26:36 -0700 diff --git a/debian/control b/debian/control index 834396c..753f37b 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/java-package.git Package: java-package Architecture: all -Depends: ${misc:Depends}, debhelper, fakeroot, unzip, libx11-6, libasound2, +Depends: ${misc:Depends}, debhelper (>= 9), fakeroot, unzip, libx11-6, libasound2, lsb-release Recommends: dpkg-dev, gcc Suggests: openjdk-7-jre diff --git a/lib/javase.sh b/lib/javase.sh index 20756e7..4e1766d 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -28,7 +28,7 @@ Source: $j2se_package Section: non-free/devel Priority: optional Maintainer: $maintainer_name <$maintainer_email> -Build-Depends: debhelper (>= 4.0.0) +Build-Depends: debhelper (>= 9) Standards-Version: 3.9.5 EOF @@ -188,7 +188,6 @@ j2se_build() { echo "Create debian package:" #export DH_VERBOSE=1 - export DH_COMPAT=7 export DH_OPTIONS=--tmpdir="$install_dir" echo " dh_testdir" diff --git a/lib/jdk-doc.sh b/lib/jdk-doc.sh index baca98e..83e0373 100644 --- a/lib/jdk-doc.sh +++ b/lib/jdk-doc.sh @@ -44,7 +44,7 @@ j2sdk_doc_run() { install -d -m 755 "$( dirname "$target" )" extract_bin "$archive_path" "$j2se_expected_min_size" "$target" rm -rf "$target/.systemPrefs" - echo "7" > "$debian_dir/compat" + echo "9" > "$debian_dir/compat" j2se_readme > "$debian_dir/README.Debian" j2se_changelog > "$debian_dir/changelog" j2sdk_doc_control > "$debian_dir/control" diff --git a/lib/jdk.sh b/lib/jdk.sh index ae8d96f..dc93189 100644 --- a/lib/jdk.sh +++ b/lib/jdk.sh @@ -44,7 +44,7 @@ j2sdk_run() { install -d -m 755 "$( dirname "$target" )" extract_bin "$archive_path" "$j2se_expected_min_size" "$target" rm -rf "$target/.systemPrefs" - echo "7" > "$debian_dir/compat" + echo "9" > "$debian_dir/compat" j2se_readme > "$debian_dir/README.Debian" j2se_changelog > "$debian_dir/changelog" j2sdk_control > "$debian_dir/control" diff --git a/lib/jre.sh b/lib/jre.sh index da86095..386436d 100644 --- a/lib/jre.sh +++ b/lib/jre.sh @@ -30,7 +30,7 @@ j2re_run() { install -d -m 755 "$( dirname "$target" )" extract_bin "$archive_path" "$j2se_expected_min_size" "$target" rm -rf "$target/.systemPrefs" - echo "7" > "$debian_dir/compat" + echo "9" > "$debian_dir/compat" j2se_readme > "$debian_dir/README.Debian" j2se_changelog > "$debian_dir/changelog" j2re_control > "$debian_dir/control" -- 2.39.2 From 20c3538c03a7f4182a001ac8319f516466df7219 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Thu, 8 May 2014 13:11:59 +0200 Subject: [PATCH 03/16] Add a debian/rules file to the generated source package. --- lib/javase.sh | 9 +++++++++ lib/jdk-doc.sh | 2 ++ lib/jdk.sh | 2 ++ lib/jre.sh | 2 ++ 4 files changed, 15 insertions(+) diff --git a/lib/javase.sh b/lib/javase.sh index 4e1766d..10f2f5e 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -65,6 +65,15 @@ EOF ) } +j2se_rules() { + cat << EOF +#!/usr/bin/make -f + +%: + dh \$@ +EOF +} + j2se_install_scripts() { cat > "$debian_dir/postinst" << EOF #!/bin/bash diff --git a/lib/jdk-doc.sh b/lib/jdk-doc.sh index 83e0373..d9efde7 100644 --- a/lib/jdk-doc.sh +++ b/lib/jdk-doc.sh @@ -50,6 +50,8 @@ j2sdk_doc_run() { j2sdk_doc_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" j2sdk_doc_doc-base > "$debian_dir/$j2se_package.doc-base" + j2se_rules > "$debian_dir/rules" + chmod +x "$debian_dir/rules" j2se_install_scripts install -d "$target/debian" j2se_info > "$target/debian/info" diff --git a/lib/jdk.sh b/lib/jdk.sh index dc93189..9205fab 100644 --- a/lib/jdk.sh +++ b/lib/jdk.sh @@ -49,6 +49,8 @@ j2sdk_run() { j2se_changelog > "$debian_dir/changelog" j2sdk_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" + j2se_rules > "$debian_dir/rules" + chmod +x "$debian_dir/rules" j2se_install_scripts install -d "$target/debian" j2se_info > "$target/debian/info" diff --git a/lib/jre.sh b/lib/jre.sh index 386436d..5231e38 100644 --- a/lib/jre.sh +++ b/lib/jre.sh @@ -35,6 +35,8 @@ j2re_run() { j2se_changelog > "$debian_dir/changelog" j2re_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" + j2se_rules > "$debian_dir/rules" + chmod +x "$debian_dir/rules" j2se_install_scripts install -d "$target/debian" j2se_info > "$target/debian/info" -- 2.39.2 From f0ddad846249c2e3a76fdc6f3b03ecd467281dc0 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Thu, 8 May 2014 13:21:23 +0200 Subject: [PATCH 04/16] Use dpkg-buildpackage to build the guest package. --- debian/control | 4 ++-- lib/javase.sh | 58 +++++++++++--------------------------------------- lib/jdk-doc.sh | 3 ++- lib/jdk.sh | 6 ++++-- lib/jre.sh | 6 ++++-- make-jpkg | 8 +++---- 6 files changed, 28 insertions(+), 57 deletions(-) diff --git a/debian/control b/debian/control index 753f37b..db98df0 100644 --- a/debian/control +++ b/debian/control @@ -10,9 +10,9 @@ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/java-package.git Package: java-package Architecture: all -Depends: ${misc:Depends}, debhelper (>= 9), fakeroot, unzip, libx11-6, libasound2, +Depends: ${misc:Depends}, debhelper (>= 9), dpkg-dev, fakeroot, unzip, libx11-6, libasound2, lsb-release -Recommends: dpkg-dev, gcc +Recommends: gcc Suggests: openjdk-7-jre Description: Utility for creating Java Debian packages This package provides the capability to build a Debian package from diff --git a/lib/javase.sh b/lib/javase.sh index 10f2f5e..4285bd5 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -46,12 +46,12 @@ subdirectories. ---------------------------------------------------------------------- EOF ( - cd "$install_dir" - find * -type f -iname copyright | + cd "$package_dir" + find * -type f -iname copyright ! -path debian/copyright | while read file; do cat << EOF -File: /$file +File: $jvm_base$file ---------------------------------------------------------------------- @@ -71,6 +71,12 @@ j2se_rules() { %: dh \$@ + +override_dh_compress: + dh_compress \$(shell find $j2se_name/man/ -type f ! -name '*.gz' -printf '${jvm_base##/}/%p\n') + +override_dh_shlibdeps: + dh_shlibdeps --exclude=fxavcodecplugin -l\$(shell find $j2se_name -type f -name '*.so*' -printf '${jvm_base##/}/%h\n' | sort -u | tr '\n' ':' | sed 's/:\$\$//') EOF } @@ -193,57 +199,17 @@ jinfos() { } j2se_build() { - cd "$tmp" + cd "$package_dir" echo "Create debian package:" - #export DH_VERBOSE=1 - 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/$jvm_base$j2se_name/man" ]; then - echo " dh_compress" - dh_compress $( find "$install_dir/$jvm_base$j2se_name/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 --exclude=fxavcodecplugin -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" + dpkg-buildpackage -b -uc -us + cd "$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 diff --git a/lib/jdk-doc.sh b/lib/jdk-doc.sh index d9efde7..4dbfa04 100644 --- a/lib/jdk-doc.sh +++ b/lib/jdk-doc.sh @@ -40,7 +40,7 @@ j2sdk_doc_run() { read_maintainer_info j2se_package="$j2se_vendor-java$j2se_release-doc" j2se_name="jdk$j2se_release-$j2se_vendor-doc" - local target="$install_dir$javadoc_base$j2se_name" + local target="$package_dir/$j2se_name" install -d -m 755 "$( dirname "$target" )" extract_bin "$archive_path" "$j2se_expected_min_size" "$target" rm -rf "$target/.systemPrefs" @@ -49,6 +49,7 @@ j2sdk_doc_run() { j2se_changelog > "$debian_dir/changelog" j2sdk_doc_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" + echo "$j2se_name $javadoc_base" > "$debian_dir/install" j2sdk_doc_doc-base > "$debian_dir/$j2se_package.doc-base" j2se_rules > "$debian_dir/rules" chmod +x "$debian_dir/rules" diff --git a/lib/jdk.sh b/lib/jdk.sh index 9205fab..55802e6 100644 --- a/lib/jdk.sh +++ b/lib/jdk.sh @@ -40,7 +40,7 @@ j2sdk_run() { read_maintainer_info j2se_package="$j2se_vendor-java$j2se_release-jdk" j2se_name="jdk-$j2se_release-$j2se_vendor-$j2se_arch" - local target="$install_dir$jvm_base$j2se_name" + local target="$package_dir/$j2se_name" install -d -m 755 "$( dirname "$target" )" extract_bin "$archive_path" "$j2se_expected_min_size" "$target" rm -rf "$target/.systemPrefs" @@ -49,11 +49,13 @@ j2sdk_run() { j2se_changelog > "$debian_dir/changelog" j2sdk_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" + echo "$j2se_name $jvm_base" > "$debian_dir/install" j2se_rules > "$debian_dir/rules" chmod +x "$debian_dir/rules" j2se_install_scripts install -d "$target/debian" j2se_info > "$target/debian/info" - eval "$j2se_jinfo" > "$install_dir$jvm_base.$j2se_name.jinfo" + eval "$j2se_jinfo" > "$package_dir/.$j2se_name.jinfo" + echo ".$j2se_name.jinfo $jvm_base" >> "$debian_dir/install" j2se_build } diff --git a/lib/jre.sh b/lib/jre.sh index 5231e38..9d12cb6 100644 --- a/lib/jre.sh +++ b/lib/jre.sh @@ -26,7 +26,7 @@ j2re_run() { read_maintainer_info j2se_package="$j2se_vendor-java$j2se_release-jre" j2se_name="jre-$j2se_release-$j2se_vendor-$j2se_arch" - local target="$install_dir$jvm_base$j2se_name" + local target="$package_dir/$j2se_name" install -d -m 755 "$( dirname "$target" )" extract_bin "$archive_path" "$j2se_expected_min_size" "$target" rm -rf "$target/.systemPrefs" @@ -35,11 +35,13 @@ j2re_run() { j2se_changelog > "$debian_dir/changelog" j2re_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" + echo "$j2se_name $jvm_base" > "$debian_dir/install" j2se_rules > "$debian_dir/rules" chmod +x "$debian_dir/rules" j2se_install_scripts install -d "$target/debian" j2se_info > "$target/debian/info" - eval "$j2se_jinfo" > "$install_dir$jvm_base.$j2se_name.jinfo" + eval "$j2se_jinfo" > "$package_dir/.$j2se_name.jinfo" + echo ".$j2se_name.jinfo $jvm_base" >> "$debian_dir/install" j2se_build } diff --git a/make-jpkg b/make-jpkg index 758bcf8..9eb0fab 100755 --- a/make-jpkg +++ b/make-jpkg @@ -200,11 +200,11 @@ echo -n "Creating temporary directory: " tmp="$( mktemp -d -t "$program_name.XXXXXXXXXX" )" echo "$tmp" -debian_dir="$tmp/debian" -install -d -m 755 "$debian_dir" +package_dir="$tmp/package" +install -d -m 755 "$package_dir" -install_dir="$tmp/install" -install -d -m 755 "$install_dir" +debian_dir="$package_dir/debian" +install -d -m 755 "$debian_dir" # load and execute plugins echo -n "Loading plugins:" -- 2.39.2 From 0093f783df5682c283ae4183f1277b49b054ba19 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Thu, 8 May 2014 13:22:06 +0200 Subject: [PATCH 05/16] Add ${misc:Depends} to the guest dependency. --- lib/jdk-doc.sh | 4 +--- lib/jdk.sh | 2 +- lib/jre.sh | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/jdk-doc.sh b/lib/jdk-doc.sh index 4dbfa04..a1891ba 100644 --- a/lib/jdk-doc.sh +++ b/lib/jdk-doc.sh @@ -3,9 +3,7 @@ j2sdk_doc_control() { cat << EOF Package: $j2se_package Architecture: any -Depends: -Recommends: -Provides: +Depends: \${misc:Depends} Description: $j2se_title The Java(TM) SE JDK is a development environment for building applications, applets, and components that can be deployed on the diff --git a/lib/jdk.sh b/lib/jdk.sh index 55802e6..220f213 100644 --- a/lib/jdk.sh +++ b/lib/jdk.sh @@ -15,7 +15,7 @@ j2sdk_control() { cat << EOF Package: $j2se_package Architecture: any -Depends: $depends +Depends: \${misc:Depends}, $depends Recommends: netbase Provides: java-virtual-machine, java-runtime, java2-runtime, java${j2se_release}-runtime, java$((${j2se_release}-1))-runtime, java$((${j2se_release}-2))-runtime, $java_browser_plugin java-compiler, java2-compiler, java-runtime-headless, java2-runtime-headless, java${j2se_release}-runtime-headless, java$((${j2se_release}-1))-runtime-headless, java$((${j2se_release}-2))-runtime-headless, java-sdk, java2-sdk, java$((${j2se_release}-2))-sdk, java$((${j2se_release}-1))-sdk, java${j2se_release}-sdk Description: $j2se_title diff --git a/lib/jre.sh b/lib/jre.sh index 9d12cb6..9154993 100644 --- a/lib/jre.sh +++ b/lib/jre.sh @@ -4,7 +4,7 @@ j2re_control() { cat << EOF Package: $j2se_package Architecture: any -Depends: \${shlibs:Depends} +Depends: \${misc:Depends}, \${shlibs:Depends} Recommends: netbase Provides: java-virtual-machine, java-runtime, java2-runtime, java${j2se_release}-runtime, java$((${j2se_release}-1))-runtime, java$((${j2se_release}-2))-runtime, java-runtime-headless, java2-runtime-headless, java${j2se_release}-runtime-headless, java$((${j2se_release}-1))-runtime-headless, java$((${j2se_release}-2))-runtime-headless, java-browser-plugin Description: $j2se_title -- 2.39.2 From c15f2409a0e8601a99afcb5c8c711125cc75e0e9 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Thu, 8 May 2014 13:22:32 +0200 Subject: [PATCH 06/16] Remove empty new lines at end of files. --- lib/javase.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/javase.sh b/lib/javase.sh index 4285bd5..93215da 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -7,7 +7,6 @@ This package has been automatically created with java-package ($version). All files from the original distribution should have been installed in the directory $jvm_base$j2se_name. Please take a look at this directory for further information. - EOF } @@ -18,7 +17,6 @@ $j2se_package ($j2se_version) unstable; urgency=low * This package was created with java-package ($version). -- $maintainer_name <$maintainer_email> $( date -R ) - EOF } -- 2.39.2 From 3e9a25f5082e092184800ceeeedcafb9c1ea32a8 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Thu, 8 May 2014 14:53:53 +0200 Subject: [PATCH 07/16] Add --source option to build a source package instead of a binary deb package Closes: #745762 --- lib/javase.sh | 42 +++++++++++++++++++++++++++++------------- make-jpkg | 4 ++++ make-jpkg.1 | 3 +++ 3 files changed, 36 insertions(+), 13 deletions(-) diff --git a/lib/javase.sh b/lib/javase.sh index 93215da..91187fc 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -197,21 +197,36 @@ jinfos() { } j2se_build() { - cd "$package_dir" - echo "Create debian package:" + if [ -n "$build_source" ]; then + local source_dir=${j2se_package}-${j2se_version} + echo " copy ${source_dir} into directory $working_dir/" + rm -rf "$working_dir/${source_dir}" + cp -r "$package_dir" "$working_dir/${source_dir}" + cat << EOF + +The Debian source package has been created in the current directory. +You can build the package with: + cd ${source_dir} dpkg-buildpackage -b -uc -us - cd "$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" - echo " copy $changes_filename into directory $working_dir/" - cp "$changes_filename" "$working_dir/" - fi - cat << EOF + +EOF + else + cd "$package_dir" + echo "Create debian package:" + + dpkg-buildpackage -b -uc -us + cd "$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" + 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 with: @@ -219,4 +234,5 @@ You can install the package as root with: dpkg -i $deb_filename EOF + fi } diff --git a/make-jpkg b/make-jpkg index 9eb0fab..826b2da 100755 --- a/make-jpkg +++ b/make-jpkg @@ -31,6 +31,7 @@ else fi genchanges="" +build_source="" ### check for run in fakeroot @@ -82,6 +83,7 @@ The following options are recognized: --email EMAIL email address used in the maintainer field of the package --changes create a .changes file --revision add debian revision + --source build a source package instead of a binary deb package --help display this help and exit --version output version information and exit @@ -127,6 +129,8 @@ while [[ $# -gt 0 && "x$1" == x--* ]]; do revision="-${1}" elif [[ "x$1" == x--changes ]]; then genchanges="true" + elif [[ "x$1" == x--source ]]; then + build_source="true" else unrecognized_option "$1" fi diff --git a/make-jpkg.1 b/make-jpkg.1 index 2b6baad..bceec92 100644 --- a/make-jpkg.1 +++ b/make-jpkg.1 @@ -49,6 +49,9 @@ create a .changes file .B --revision add debian revision .TP +.B --source +build a source package instead of a binary deb package +.TP .B --help display help text and exit .TP -- 2.39.2 From c8bc0becb4c087603c5fe7be64d11a8022a13dba Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Thu, 8 May 2014 15:11:51 +0200 Subject: [PATCH 08/16] Update debian/changelog. --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index b75515d..29ce8d8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,13 @@ java-package (0.55) UNRELEASED; urgency=medium * Bumped the Standards-Version of the generated package to 3.9.5 * Use debhelper level 9 in the generated package + [ Benjamin Drung ] + * Add a debian/rules file to the generated source package. + * Use dpkg-buildpackage to build the guest package. + * Add ${misc:Depends} to the guest dependency. + * Add --source option to build a source package instead of a binary deb + package. (Closes: #745762) + -- tony mancill Mon, 07 Apr 2014 21:26:36 -0700 java-package (0.54) unstable; urgency=medium -- 2.39.2 From d1f3214869bd2a400b1f089edabfa86dadb6a55a Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 17 Jun 2014 19:34:13 +0200 Subject: [PATCH 09/16] Convert copyright file content to UTF-8 for debian/copyright. --- lib/javase.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/javase.sh b/lib/javase.sh index 91187fc..eac96ab 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -54,7 +54,7 @@ File: $jvm_base$file ---------------------------------------------------------------------- EOF - cat "$file" + iconv -f ISO-8859-15 -t UTF-8 "$file" cat << EOF ---------------------------------------------------------------------- -- 2.39.2 From 69f0c92728cb051df2f2a030c13ef7bf5ded9ccf Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 17 Jun 2014 19:34:45 +0200 Subject: [PATCH 10/16] Run wrap-and-sort. --- debian/control | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index db98df0..4c70392 100644 --- a/debian/control +++ b/debian/control @@ -10,8 +10,14 @@ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/java-package.git Package: java-package Architecture: all -Depends: ${misc:Depends}, debhelper (>= 9), dpkg-dev, fakeroot, unzip, libx11-6, libasound2, - lsb-release +Depends: debhelper (>= 9), + dpkg-dev, + fakeroot, + libasound2, + libx11-6, + lsb-release, + unzip, + ${misc:Depends} Recommends: gcc Suggests: openjdk-7-jre Description: Utility for creating Java Debian packages -- 2.39.2 From 9659f4a2f241fb0845a9e6e5840792bfe1f2dccd Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 17 Jun 2014 19:38:03 +0200 Subject: [PATCH 11/16] Replace lsb_release call by dpkg-vendor call. --- debian/control | 1 - lib/common.sh | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 4c70392..2933a2c 100644 --- a/debian/control +++ b/debian/control @@ -15,7 +15,6 @@ Depends: debhelper (>= 9), fakeroot, libasound2, libx11-6, - lsb-release, unzip, ${misc:Depends} Recommends: gcc diff --git a/lib/common.sh b/lib/common.sh index ec10531..1e5c30b 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -195,7 +195,7 @@ get_architecture() { # get browser plugin directories get_browser_plugin_dirs() { - if [ $(lsb_release --id --short) = Ubuntu ]; then + if dpkg-vendor --derives-from Ubuntu; then export browser_plugin_dirs="xulrunner-addons firefox iceape iceweasel mozilla midbrowser xulrunner" else export browser_plugin_dirs=mozilla -- 2.39.2 From 8554bdeb96e4dae5b9cd2b9552ded43db62c7d80 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 17 Jun 2014 19:43:46 +0200 Subject: [PATCH 12/16] Group commands to create debian/install. --- lib/jdk.sh | 4 ++-- lib/jre.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/jdk.sh b/lib/jdk.sh index 220f213..25d7d9c 100644 --- a/lib/jdk.sh +++ b/lib/jdk.sh @@ -49,13 +49,13 @@ j2sdk_run() { j2se_changelog > "$debian_dir/changelog" j2sdk_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" - echo "$j2se_name $jvm_base" > "$debian_dir/install" j2se_rules > "$debian_dir/rules" chmod +x "$debian_dir/rules" j2se_install_scripts install -d "$target/debian" j2se_info > "$target/debian/info" eval "$j2se_jinfo" > "$package_dir/.$j2se_name.jinfo" - echo ".$j2se_name.jinfo $jvm_base" >> "$debian_dir/install" + echo ".$j2se_name.jinfo $jvm_base" > "$debian_dir/install" + echo "$j2se_name $jvm_base" >> "$debian_dir/install" j2se_build } diff --git a/lib/jre.sh b/lib/jre.sh index 9154993..b19e6ce 100644 --- a/lib/jre.sh +++ b/lib/jre.sh @@ -35,13 +35,13 @@ j2re_run() { j2se_changelog > "$debian_dir/changelog" j2re_control > "$debian_dir/control" j2se_copyright > "$debian_dir/copyright" - echo "$j2se_name $jvm_base" > "$debian_dir/install" j2se_rules > "$debian_dir/rules" chmod +x "$debian_dir/rules" j2se_install_scripts install -d "$target/debian" j2se_info > "$target/debian/info" eval "$j2se_jinfo" > "$package_dir/.$j2se_name.jinfo" - echo ".$j2se_name.jinfo $jvm_base" >> "$debian_dir/install" + echo ".$j2se_name.jinfo $jvm_base" > "$debian_dir/install" + echo "$j2se_name $jvm_base" >> "$debian_dir/install" j2se_build } -- 2.39.2 From 22b3a1de060127863bd8f454c75c5578483a8d52 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 17 Jun 2014 19:53:34 +0200 Subject: [PATCH 13/16] Remove trailing spaces from copyright file. --- lib/javase.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/javase.sh b/lib/javase.sh index eac96ab..0254725 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -54,7 +54,7 @@ File: $jvm_base$file ---------------------------------------------------------------------- EOF - iconv -f ISO-8859-15 -t UTF-8 "$file" + iconv -f ISO-8859-15 -t UTF-8 "$file" | sed 's/[ \t]*$//' cat << EOF ---------------------------------------------------------------------- -- 2.39.2 From a4165c81a86ff3223170e5cb490b14d70267578b Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 17 Jun 2014 20:36:50 +0200 Subject: [PATCH 14/16] Create build depends for JDK. --- lib/javase.sh | 5 ++++- lib/jdk.sh | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/javase.sh b/lib/javase.sh index 0254725..e6592cc 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -21,12 +21,15 @@ EOF } j2se_control() { + if test -n "$build_depends"; then + build_depends=", $build_depends" + fi cat << EOF Source: $j2se_package Section: non-free/devel Priority: optional Maintainer: $maintainer_name <$maintainer_email> -Build-Depends: debhelper (>= 9) +Build-Depends: debhelper (>= 9)${build_depends} Standards-Version: 3.9.5 EOF diff --git a/lib/jdk.sh b/lib/jdk.sh index 25d7d9c..39a4cee 100644 --- a/lib/jdk.sh +++ b/lib/jdk.sh @@ -1,5 +1,9 @@ j2sdk_control() { + build_depends="libasound2, libgl1-mesa-glx, libgtk2.0-0, libxslt1.1, libxtst6, libxxf86vm1" + if test "$j2se_release" = 8; then + build_depends="$build_depends, libavcodec53, libavformat53" + fi j2se_control java_browser_plugin="java-browser-plugin, " depends="\${shlibs:Depends}" -- 2.39.2 From b18f4003b743357da3ccc801955133d783861453 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 17 Jun 2014 20:42:10 +0200 Subject: [PATCH 15/16] releasing java-package 0.55 to unstable --- debian/changelog | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 29ce8d8..d4b263f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -java-package (0.55) UNRELEASED; urgency=medium +java-package (0.55) unstable; urgency=medium [ tony mancill ] * Team upload. @@ -16,8 +16,12 @@ java-package (0.55) UNRELEASED; urgency=medium * Add ${misc:Depends} to the guest dependency. * Add --source option to build a source package instead of a binary deb package. (Closes: #745762) + * Replace lsb_release call by dpkg-vendor call. + * Convert copyright file content to UTF-8 for guest debian/copyright. + * Remove trailing spaces from copyright file. + * Create build depends for JDK guest package. - -- tony mancill Mon, 07 Apr 2014 21:26:36 -0700 + -- Benjamin Drung Tue, 17 Jun 2014 20:41:39 +0200 java-package (0.54) unstable; urgency=medium -- 2.39.2 From cdcda798fbcbf25868ecee7091a8ab0bcbe1de78 Mon Sep 17 00:00:00 2001 From: Chris Jester-Young Date: Wed, 18 Jun 2014 08:24:35 -0400 Subject: [PATCH 16/16] Do not Build-Depends libavcodec53 and libavformat53. --- lib/javase.sh | 2 +- lib/jdk.sh | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/javase.sh b/lib/javase.sh index e6592cc..c4f55f8 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -77,7 +77,7 @@ override_dh_compress: dh_compress \$(shell find $j2se_name/man/ -type f ! -name '*.gz' -printf '${jvm_base##/}/%p\n') override_dh_shlibdeps: - dh_shlibdeps --exclude=fxavcodecplugin -l\$(shell find $j2se_name -type f -name '*.so*' -printf '${jvm_base##/}/%h\n' | sort -u | tr '\n' ':' | sed 's/:\$\$//') + dh_shlibdeps --exclude=fxavcodecplugin --exclude=avplugin -l\$(shell find $j2se_name -type f -name '*.so*' -printf '${jvm_base##/}/%h\n' | sort -u | tr '\n' ':' | sed 's/:\$\$//') EOF } diff --git a/lib/jdk.sh b/lib/jdk.sh index 39a4cee..8858bb6 100644 --- a/lib/jdk.sh +++ b/lib/jdk.sh @@ -1,9 +1,6 @@ j2sdk_control() { build_depends="libasound2, libgl1-mesa-glx, libgtk2.0-0, libxslt1.1, libxtst6, libxxf86vm1" - if test "$j2se_release" = 8; then - build_depends="$build_depends, libavcodec53, libavformat53" - fi j2se_control java_browser_plugin="java-browser-plugin, " depends="\${shlibs:Depends}" -- 2.39.2