]> git.sven.stormbind.net Git - sven/java-package.git/blobdiff - lib/javase.sh
Disabled dh_strip_nondeterminism to speed up the build
[sven/java-package.git] / lib / javase.sh
index 6e081cd8fbeebf10f023d758983ae1e4b4768e59..7c328999021d2c7720cbd143cf0a55c2fc89b8ba 100644 (file)
@@ -3,33 +3,34 @@ 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.
-
 EOF
 }
 
 j2se_changelog() {
     cat << EOF
-$j2se_package ($j2se_version) unstable; urgency=low
+$j2se_package ($j2se_version) unstable; urgency=medium
 
   * This package was created with java-package ($version).
 
  -- $maintainer_name <$maintainer_email>  $( date -R )
-
 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 (>= 4.0.0)
-Standards-Version: 3.7.2
+Build-Depends: debhelper (>= 9)${build_depends}
+Standards-Version: 3.9.5
 
 EOF
 }
@@ -45,18 +46,18 @@ 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
 
 ----------------------------------------------------------------------
 
 EOF
-        cat "$file"
+        iconv -f ISO-8859-15 -t UTF-8 "$file" | sed 's/[ \t]*$//'
         cat << EOF
 
 ----------------------------------------------------------------------
@@ -65,6 +66,37 @@ EOF
     )
 }
 
+j2se_rules() {
+    cat << EOF
+#!/usr/bin/make -f
+
+%:
+       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 --exclude=avplugin -l\$(shell find $j2se_name -type f -name '*.so*' -printf '${jvm_base##/}/%h\n' | sort -u | tr '\n' ':' | sed 's/:\$\$//')
+
+override_dh_strip_nondeterminism:
+       # Disable dh_strip_nondeterminism to speed up the build
+EOF
+}
+
+j2se_doc_rules() {
+    cat << EOF
+#!/usr/bin/make -f
+
+%:
+       dh \$@
+
+override_dh_strip_nondeterminism:
+       # Disable dh_strip_nondeterminism to speed up the build
+EOF
+}
+
+
 j2se_install_scripts() {
     cat > "$debian_dir/postinst" << EOF
 #!/bin/bash
@@ -110,8 +142,16 @@ if [ "\$1" = configure ]; then
           update-alternatives --install "\$link_path/\$link_name" "\$plugin_name" "\$plugin" $j2se_priority
         fi
     }
-
 EOF
+    if [ "$create_cert_softlinks" == "true" ];then
+        cat >> "$debian_dir/postinst" << EOF
+    for subdir in lib/security jre/lib/security;do
+        if [ -f $jvm_base$j2se_name/\$subdir/cacerts ]; then
+            ln -sf /etc/ssl/certs/java/cacerts $jvm_base$j2se_name/\$subdir/cacerts
+        fi
+    done
+EOF
+    fi
     eval "$j2se_install" >> "$debian_dir/postinst"
 
     cat >> "$debian_dir/postinst" << EOF
@@ -122,7 +162,7 @@ fi
 exit 0
 EOF
     chmod 755 "$debian_dir/postinst"
-    
+
     cat > "$debian_dir/prerm" << EOF
 #!/bin/bash
 
@@ -184,62 +224,36 @@ jinfos() {
 }
 
 j2se_build() {
-    cd "$tmp"
-    echo "Create debian package:"
-    
-    #export DH_VERBOSE=1
-    export DH_COMPAT=7
-    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"
+    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
+
+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
-    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"
-    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
+        cat << EOF
 
 The Debian package has been created in the current directory.
 You can install the package as root with:
@@ -247,4 +261,5 @@ You can install the package as root with:
     dpkg -i $deb_filename
 
 EOF
+    fi
 }