X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fjava-package.git;a=blobdiff_plain;f=lib%2Fjavase.sh;h=c4f55f8f5d9a06781bc31ca84a38273f049d3ea6;hp=a98a915fa4d395ed9436ee6927783875f426c7c9;hb=cdcda798fbcbf25868ecee7091a8ab0bcbe1de78;hpb=1c05d6f0e114cff3d49a4a32348a0c154012ac1d diff --git a/lib/javase.sh b/lib/javase.sh index a98a915..c4f55f8 100644 --- a/lib/javase.sh +++ b/lib/javase.sh @@ -3,11 +3,10 @@ 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 } @@ -18,18 +17,20 @@ $j2se_package ($j2se_version) unstable; urgency=low * 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,21 @@ 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/:\$\$//') +EOF +} + j2se_install_scripts() { cat > "$debian_dir/postinst" << EOF #!/bin/bash @@ -122,7 +138,7 @@ fi exit 0 EOF chmod 755 "$debian_dir/postinst" - + cat > "$debian_dir/prerm" << EOF #!/bin/bash @@ -184,65 +200,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 }