7 # version of this package
10 working_dir="$( pwd )"
11 program_name="$( basename "$0" )"
12 program_dir="$( cd "$( dirname "$( type -p "$0" )" )" ; pwd )"
14 lib_dir="/usr/share/java-package"
15 [ "$J2SE_PACKAGE_LIBDIR" ] && lib_dir="$J2SE_PACKAGE_LIBDIR"
17 # If a default has been set for either of the
18 # environment variables, use it; otherwise,
19 # default to the name and email used by the
20 # Debian Java Maintainers project.
21 if [ -z "$J2SE_PACKAGE_FULL_NAME" ]; then
22 maintainer_name="Debian Java Maintainers"
24 maintainer_name="$J2SE_PACKAGE_FULL_NAME"
27 if [ -z "$J2SE_PACKAGE_EMAIL" ]; then
28 maintainer_email="pkg-java-maintainers@lists.alioth.debian.org"
30 maintainer_email="$J2SE_PACKAGE_EMAIL"
35 ### check for run in fakeroot
37 # are we running as fakeroot
38 if ! dh_testroot >/dev/null 2>&1; then
39 if [ -n "$FAKEROOTKEY" ]; then
40 echo "Internal error, fakeroot seems to fail faking root" >&2
43 exec fakeroot "$0" "$@"
46 # check whether I'm real root, and bail out if so... ugly, but needed
47 if touch /lib/.test 2>/dev/null; then
49 echo "You are real root -- unfortunately, some Java distributions have" >&2
50 echo "install scripts that directly manipulate /etc, and may cause some" >&2
51 echo "inconsistencies on your system. Instead, you should become a" >&2
52 echo "non-root user and run:" >&2
54 echo "fakeroot make-jpkg $@" >&2
56 echo "which will allow no damage to be done to your system files and" >&2
57 echo "still permit the Java distribution to successfully extract." >&2
68 Usage: $program_name [OPTION]... FILE
70 $program_name builds Debian packages from Java(TM) 2 binary distributions.
72 --full-name NAME full name used in the maintainer field of the package
73 --email EMAIL email address used in the maintainer field of the package
74 --changes create a .changes file
75 --revision add debian revision
77 --help display this help and exit
78 --version output version information and exit
83 unrecognized_option() {
85 $program_name: unrecognized option \`$1'
86 Try \`$program_name --help' for more information.
93 $program_name: missing argument for option \`$1'
94 Try \`$program_name --help' for more information.
100 while [[ $# -gt 0 && "x$1" == x--* ]]; do
101 if [[ "x$1" == x--version ]]; then
102 echo "make-jpkg $version"
104 elif [[ "x$1" == x--help ]]; then
107 elif [[ "x$1" == x--full-name ]]; then
108 [ $# -le 1 ] && missing_argument "$1"
111 elif [[ "x$1" == x--email ]]; then
112 [ $# -le 1 ] && missing_argument "$1"
114 maintainer_email="$1"
115 elif [[ "x$1" == x--revision ]]; then
116 [ $# -le 1 ] && missing_argument "$1"
119 elif [[ "x$1" == x--changes ]]; then
122 unrecognized_option "$1"
128 if [[ $# -ne 1 ]]; then
130 $program_name: missing pathname
131 Try \`$program_name --help' for more information.
137 if [[ ! -e "$archive" ]]; then
138 echo "Error: The file \"$archive\" does not exist."
140 elif [[ ! -r "$archive" ]]; then
141 echo "Error: The file \"$archive\" is not readable."
145 archive_name="$( basename "$archive" )"
146 archive_dir="$( cd "$( dirname "$archive" )" ; pwd )"
147 archive_path="$archive_dir/$archive_name"
156 # function is called when script terminates
159 if [[ -z "$success" && -z "$failed" ]]; then
166 # remove temporary directory
167 if [ -n "$tmp" -a -d "$tmp" ]; then
168 echo -n "Removing temporary directory: "
175 # print error message and terminate
188 # The environment variable tmp points to a secure temporary directory.
189 # There should be enough free disk space.
190 echo -n "Creating temporary directory: "
191 tmp="$( mktemp -d -t "$program_name.XXXXXXXXXX" )"
194 debian_dir="$tmp/debian"
195 install -d -m 755 "$debian_dir"
197 install_dir="$tmp/install"
198 install -d -m 755 "$install_dir"
200 # load and execute plugins
201 echo -n "Loading plugins:"
202 files=($lib_dir/*.sh)
203 for file in "${files[@]}"; do
210 # get architecture information
213 jvm_base="/usr/lib/jvm/"
214 javadoc_base="/usr/share/doc/"
217 for var in ${!j2se_detect_*}; do
219 if [[ "$j2se_found" == "true" ]]; then
225 if [[ -z "$j2se_found" ]]; then
226 echo "No matching plugin was found."