X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fjava-package.git;a=blobdiff_plain;f=make-jpkg;h=826b2da46acba2ab3ccca6e2a375b2324e7f0a1d;hp=e1e16cefad598eb8cfc18401671681ae3478abe3;hb=69f0c92728cb051df2f2a030c13ef7bf5ded9ccf;hpb=766e1bccddaf0c75727f1b5600581200b1c30171 diff --git a/make-jpkg b/make-jpkg index e1e16ce..826b2da 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" @@ -31,6 +31,7 @@ else fi genchanges="" +build_source="" ### check for run in fakeroot @@ -40,39 +41,49 @@ 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 print_usage() { - cat << EOF + 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 --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 @@ -99,27 +110,29 @@ 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" + elif [[ "x$1" == x--source ]]; then + build_source="true" else - unrecognized_option "$1" + unrecognized_option "$1" fi shift done @@ -157,7 +170,7 @@ tmp= on_exit() { lastcmd="$_" if [[ -z "$success" && -z "$failed" ]]; then - cat >&2 << EOF + cat >&2 << EOF Aborted ($lastcmd). @@ -165,9 +178,9 @@ 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 @@ -191,11 +204,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:" @@ -210,20 +223,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