X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fjava-package.git;a=blobdiff_plain;f=make-jpkg;h=758bcf8db075deae3b15dd00b3c6d970f9fecddf;hp=2c829629e8e8494be6a8a153bf3a10a791404010;hb=2a9168df2bfed5c3353dfea956029a572d2a1e9b;hpb=ca8b5d176518ea838461b92229d2fbebb3731de8 diff --git a/make-jpkg b/make-jpkg index 2c82962..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" @@ -40,34 +40,43 @@ if ! dh_testroot >/dev/null 2>&1; then echo "Internal error, fakeroot seems to fail faking root" >&2 exit 1 fi - exec fakeroot "$0" "$@" + 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 + 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 +print_usage() { + cat << EOF Usage: $program_name [OPTION]... FILE -$program_name builds Debian packages from Java(TM) 2 binary distributions. +$program_name builds a Debian package from the given Java binary distribution FILE + +Supported java binary distributions currently include: + * Oracle (http://www.oracle.com/technetwork/java/javase/downloads) : + - The Java Development Kit (JDK), version 6 and 7 + - The Java Runtime Environment (JRE), version 6 and 7 + - The Java API Javadoc, version 6 and 7 + (Choose tar.gz archives or self-extracting archives, do _not_ choose the RPM!) + +The following options are recognized: --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 @@ -80,7 +89,7 @@ $program_name builds Debian packages from Java(TM) 2 binary distributions. EOF } -function unrecognized_option() { +unrecognized_option() { cat >&2 << EOF $program_name: unrecognized option \`$1' Try \`$program_name --help' for more information. @@ -88,7 +97,7 @@ EOF exit 1 } -function missing_argument() { +missing_argument() { cat >&2 << EOF $program_name: missing argument for option \`$1' Try \`$program_name --help' for more information. @@ -99,27 +108,27 @@ EOF # options while [[ $# -gt 0 && "x$1" == x--* ]]; do if [[ "x$1" == x--version ]]; then - echo "make-jpkg $version" - exit 0 + echo "make-jpkg $version" + exit 0 elif [[ "x$1" == x--help ]]; then - print_usage - exit 0 + print_usage + exit 0 elif [[ "x$1" == x--full-name ]]; then - [ $# -le 1 ] && missing_argument "$1" - shift - maintainer_name="$1" + [ $# -le 1 ] && missing_argument "$1" + shift + maintainer_name="$1" elif [[ "x$1" == x--email ]]; then - [ $# -le 1 ] && missing_argument "$1" - shift - maintainer_email="$1" + [ $# -le 1 ] && missing_argument "$1" + shift + maintainer_email="$1" elif [[ "x$1" == x--revision ]]; then - [ $# -le 1 ] && missing_argument "$1" - shift - revision="-${1}" + [ $# -le 1 ] && missing_argument "$1" + shift + revision="-${1}" elif [[ "x$1" == x--changes ]]; then - genchanges="true" + genchanges="true" else - unrecognized_option "$1" + unrecognized_option "$1" fi shift done @@ -154,10 +163,10 @@ failed= tmp= # function is called when script terminates -function on_exit() { +on_exit() { lastcmd="$_" if [[ -z "$success" && -z "$failed" ]]; then - cat >&2 << EOF + cat >&2 << EOF Aborted ($lastcmd). @@ -165,15 +174,15 @@ EOF fi # remove temporary directory if [ -n "$tmp" -a -d "$tmp" ]; then - echo -n "Removing temporary directory: " - rm -rf "$tmp" - echo "done" + echo -n "Removing temporary directory: " + rm -rf "$tmp" + echo "done" fi } trap on_exit EXIT # print error message and terminate -function error_exit() { +error_exit() { cat >&2 << EOF Aborted. @@ -199,11 +208,10 @@ install -d -m 755 "$install_dir" # load and execute plugins echo -n "Loading plugins:" -cd "$lib_dir" -files=(*.sh) +files=($lib_dir/*.sh) for file in "${files[@]}"; do echo -n " $file" - source "$lib_dir/$file" + source "$file" done echo @@ -211,17 +219,24 @@ echo # get architecture information get_architecture +# get browser plugin directories +get_browser_plugin_dirs + +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; + break; fi done echo if [[ -z "$j2se_found" ]]; then - echo "No matching plugin was found." + echo "No matching packaging method was found for $archive_name." + echo "Please make sure you are using a tar.gz or a self-extracting archive" fi