X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fjava-package.git;a=blobdiff_plain;f=lib%2Fjavase.sh;h=7c328999021d2c7720cbd143cf0a55c2fc89b8ba;hp=a98a915fa4d395ed9436ee6927783875f426c7c9;hb=bdc0b6eb75d6c746f6754d762a4a3a6a27125324;hpb=1c05d6f0e114cff3d49a4a32348a0c154012ac1d diff --git a/lib/javase.sh b/lib/javase.sh index a98a915..7c32899 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -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,65 +224,42 @@ 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 -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 (e.g. dpkg -i $deb_filename). +The Debian package has been created in the current directory. +You can install the package as root with: + + dpkg -i $deb_filename EOF + fi }