[Git][debian-gis-team/josm-installer][master] 3 commits: Updated linux directory to r18515.
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Tue Jul 12 19:53:30 BST 2022
Bas Couwenberg pushed to branch master at Debian GIS Project / josm-installer
Commits:
d7b54029 by Bas Couwenberg at 2022-07-12T20:45:15+02:00
Updated linux directory to r18515.
- - - - -
5d6d90cd by Bas Couwenberg at 2022-07-12T20:49:04+02:00
Merge josm launcher improvements.
- - - - -
47b47f45 by Bas Couwenberg at 2022-07-12T20:53:04+02:00
Fix typo in README.
- - - - -
6 changed files:
- debian/README.Debian
- debian/changelog
- − debian/get-orig-source
- josm
- linux/latest/usr/bin/josm-latest
- linux/tested/usr/bin/josm
Changes:
=====================================
debian/README.Debian
=====================================
@@ -8,7 +8,7 @@ provided by the JOSM project.
Both josm and josm-installer use the 'tested' variant, but josm-installer can
also be used to download the 'latest' variant.
-The josm-installer package contain the desktop integration for JOSM, the
+The josm-installer package contains the desktop integration for JOSM, the
josm-installer script to download the JAR, and a systemd service and timer
to periodically download new builds of the JAR.
=====================================
debian/changelog
=====================================
@@ -1,8 +1,9 @@
-josm-installer (0.0.1+svn18512) UNRELEASED; urgency=medium
+josm-installer (0.0.1+svn18515) UNRELEASED; urgency=medium
- * Updated linux directory to r18512.
+ * Updated linux directory to r18515.
+ * Merge josm launcher improvements.
- -- Bas Couwenberg <sebastic at debian.org> Sat, 09 Jul 2022 11:41:41 +0200
+ -- Bas Couwenberg <sebastic at debian.org> Tue, 12 Jul 2022 20:44:17 +0200
josm-installer (0.0.1+svn18500) unstable; urgency=medium
=====================================
debian/get-orig-source deleted
=====================================
@@ -1,56 +0,0 @@
-#!/bin/sh
-
-set -e
-
-COMPRESS=xz
-
-NAME=$(dpkg-parsechangelog -S Source)
-VERSION=$(dpkg-parsechangelog -S Version)
-
-PACKAGE=$NAME
-
-DEBIANDIR=$(readlink -f $(dirname $0))
-PACKAGEDIR=$(readlink -f $(dirname ${DEBIANDIR}))
-PARENTDIR=$(readlink -f $(dirname ${PACKAGEDIR}))
-
-TMPDIR=$(mktemp -d)
-
-cd ${TMPDIR}
-
-TARDIR=${NAME}-${VERSION}
-
-# RDNAPTRANS2008
-# http://gnss-data.kadaster.nl/root/misc/rdnaptrans2008/RDNAPTRANS2008.zip
-#
-# Download page:
-# https://www.kadaster.nl/rdnaptrans2008-download-
-
-wget "https://salsa.debian.org/debian-gis-team/proj-rdnap/-/archive/upstream/2008/proj-rdnap-upstream-2008.zip" -O proj-rdnap-upstream-2008.zip
-
-unzip proj-rdnap-upstream-2008.zip -d proj-rdnap-upstream-2008
-
-mv proj-rdnap-upstream-2008/proj-rdnap-upstream-2008 "${TARDIR}"
-
-# RDNAPTRANS2018
-# https://kadaster.nl/documents/1888506/2496175/RDNAPTRANS.zip/827827a3-b88a-5d16-55b6-7f83010e1b2f
-#
-# Download page:
-# https://formulieren.kadaster.nl/page/download-rdnaptrans
-
-wget "https://kadaster.nl/documents/1888506/2496175/RDNAPTRANS.zip/827827a3-b88a-5d16-55b6-7f83010e1b2f" -O RDNAPTRANS.zip
-
-unzip RDNAPTRANS.zip -d RDNAPTRANS2018
-
-mv RDNAPTRANS2018/* "${TARDIR}"
-
-ORIGTARFILE="${PACKAGE}_${VERSION}.orig.tar.${COMPRESS}"
-
-GZIP="--best --no-name" XZ_OPT="-6v" tar --owner=root --group=root --mode=a+rX -caf ${ORIGTARFILE} "${TARDIR}"
-
-mv ${ORIGTARFILE} ${PARENTDIR}
-
-rm -rf ${TARDIR}
-cd -
-rm -rf ${TMPDIR}
-
-exit 0
=====================================
josm
=====================================
@@ -2,10 +2,10 @@
# Simple wrapper script used to start JOSM in Debian
set -e
-JOSM_JAR="/usr/share/josm/josm.jar"
+JOSM_PATH="/usr/share/josm/josm.jar"
-if [ ! -e "${JOSM_JAR}" ]; then
- echo "JOSM JAR not found: ${JOSM_JAR}" >&2
+if [ ! -e "${JOSM_PATH}" ]; then
+ echo "JOSM JAR not found: ${JOSM_PATH}" >&2
echo "Execute josm-installer as root" >&2
exit 1
@@ -13,40 +13,62 @@ fi
# First, the alternative (if known to work) or users preference as defined by $JAVA_HOME. Next, use OpenJDK.
# Override to a specific one using $JAVACMD
-ALTERNATIVE_JDK=$(readlink -n -f /etc/alternatives/java)
+if [ -e "/etc/alternatives/java" ]; then
+ ALTERNATIVE_JDK=$(readlink -n -f /etc/alternatives/java)
+fi
-# Let's get the current architecture -- needed for multiarchified Java
-ARCH=$(dpkg --print-architecture 2> /dev/null || true)
+if [ -v JAVA_HOME ]; then
+ JAVA_CMDS="$JAVA_HOME/bin/java"
+else
+ JAVA_CMDS=""
+fi
-JAVA_CMDS="$JAVA_HOME/bin/java"
+dpkg_java() {
+ # Let's get the current architecture -- needed for multiarchified Java
+ ARCH=$(dpkg --print-architecture 2> /dev/null || true)
+ # If OpenJDK is only available headless, do not try it
+ if dpkg --get-selections "openjdk-*-jre" | grep install$ > /dev/null \
+ || dpkg --get-selections "openjdk-*-jre:$ARCH" | grep install$ > /dev/null ; then
+ # LTS versions in decreased order
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-17-openjdk/bin/java /usr/lib/jvm/java-17-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-11-openjdk/bin/java /usr/lib/jvm/java-11-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-8-openjdk/bin/java /usr/lib/jvm/java-8-openjdk-$ARCH/bin/java"
+ # Released versions in decreased order
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-18-openjdk/bin/java /usr/lib/jvm/java-18-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-16-openjdk/bin/java /usr/lib/jvm/java-16-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-15-openjdk/bin/java /usr/lib/jvm/java-15-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-14-openjdk/bin/java /usr/lib/jvm/java-14-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-13-openjdk/bin/java /usr/lib/jvm/java-13-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-12-openjdk/bin/java /usr/lib/jvm/java-12-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-10-openjdk/bin/java /usr/lib/jvm/java-10-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-9-openjdk/bin/java /usr/lib/jvm/java-9-openjdk-$ARCH/bin/java"
+ # Development version(s)
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-19-openjdk/bin/java /usr/lib/jvm/java-19-openjdk-$ARCH/bin/java"
+ fi
+}
-# If OpenJDK is only available headless, do not try it
-if dpkg --get-selections "openjdk-*-jre" | grep install$ > /dev/null \
-|| dpkg --get-selections "openjdk-*-jre:$ARCH" | grep install$ > /dev/null ; then
- # LTS versions in decreased order
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-11-openjdk/bin/java /usr/lib/jvm/java-11-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-8-openjdk/bin/java /usr/lib/jvm/java-8-openjdk-$ARCH/bin/java"
- # Released versions in decreased order
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-14-openjdk/bin/java /usr/lib/jvm/java-14-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-13-openjdk/bin/java /usr/lib/jvm/java-13-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-12-openjdk/bin/java /usr/lib/jvm/java-12-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-10-openjdk/bin/java /usr/lib/jvm/java-10-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-9-openjdk/bin/java /usr/lib/jvm/java-9-openjdk-$ARCH/bin/java"
- # Development version
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-15-openjdk/bin/java /usr/lib/jvm/java-15-openjdk-$ARCH/bin/java"
+java_version() {
+ ${1} -version 2>&1 | head -n1 | awk -F'"' '{print $2}' | awk -F'.' '{print $1}'
+}
+
+if dpkg --version > /dev/null 2>&1; then
+ dpkg_java
fi
+
# Undetermined version
JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/default-java/bin/java /usr/bin/java"
+JOSM_VERSION="josm"
-if [ -f /etc/default/josm ]; then
- . /etc/default/josm
+if [ -f "/etc/default/${JOSM_VERSION}" ]; then
+ # shellcheck source=/etc/default/josm
+ . "/etc/default/${JOSM_VERSION}"
fi
JAVA_OPTS="-Djosm.restart=true -Djava.net.useSystemProxies=true $JAVA_OPTS"
-if [ -z "${JAVACMD}" ]; then
+if [ -z "${JAVACMD}" ] && [ -n "${ALTERNATIVE_JDK}" ]; then
for jcmd in $JAVA_CMDS; do
- if [ "z$ALTERNATIVE_JDK" = "z$(readlink -n -f "$jcmd")" ] && [ -z "${JAVACMD}" ]; then
+ if [ "z$ALTERNATIVE_JDK" = "z$(readlink -n -f "$jcmd")" ] && [ -z "${JAVACMD}" ] && [ -x "$jcmd" ]; then
JAVACMD="$jcmd"
break
fi
@@ -63,15 +85,22 @@ if [ -z "${JAVACMD}" ]; then
fi
if [ "$JAVACMD" ]; then
- echo "Using $JAVACMD to execute josm." || true
- if [[ "${JAVACMD}" =~ 'java-9' ]] || [[ "${JAVACMD}" =~ 'java-10' ]]; then
+ echo "Using $JAVACMD to execute ${JOSM_VERSION}." || true
+ JAVA_VERSION=$(java_version "${JAVACMD}")
+ JAVAFX_HOME="${JAVAFX_HOME:-/usr/share/openjfx/lib}"
+ JOSM_PATH="${JOSM_PATH:-/usr/share/${JOSM_VERSION}/${JOSM_VERSION}.jar}"
+ if [[ "${JAVA_VERSION}" -ge 11 ]]; then
+ JAVA_OPTS="--module-path ${JAVAFX_HOME} --add-modules java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web $JAVA_OPTS"
+ JAVA_OPTS="$JAVA_OPTS --add-exports=java.base/sun.security.action=ALL-UNNAMED"
+ JAVA_OPTS="$JAVA_OPTS --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED"
+ JAVA_OPTS="$JAVA_OPTS --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED"
+ elif [[ "${JAVA_VERSION}" -ge 9 ]]; then
JAVA_OPTS="--add-modules java.activation,java.se.ee $JAVA_OPTS"
- elif [[ "${JAVACMD}" =~ 'java-1' ]]; then
- JAVA_OPTS="--add-modules java.scripting,java.sql $JAVA_OPTS"
fi
set +e
while true; do
- $JAVACMD $JAVA_OPTS -jar "${JOSM_JAR}" "$@"
+ # shellcheck disable=SC2086
+ $JAVACMD $JAVA_OPTS -jar "${JOSM_PATH}" "$@"
if [ "z$?" != "z9" ]; then
break
fi
=====================================
linux/latest/usr/bin/josm-latest
=====================================
@@ -1,10 +1,12 @@
-#!/usr/bin/env bash
+#!/bin/bash
# Simple wrapper script used to start JOSM in Debian
set -e
# First, the alternative (if known to work) or users preference as defined by $JAVA_HOME. Next, use OpenJDK.
# Override to a specific one using $JAVACMD
-ALTERNATIVE_JDK=$(readlink -n -f /etc/alternatives/java || true)
+if [ -e "/etc/alternatives/java" ]; then
+ ALTERNATIVE_JDK=$(readlink -n -f /etc/alternatives/java)
+fi
if [ -v JAVA_HOME ]; then
JAVA_CMDS="$JAVA_HOME/bin/java"
@@ -13,47 +15,49 @@ else
fi
dpkg_java() {
- # Let's get the current architecture -- needed for multiarchified Java
- ARCH=$(dpkg --print-architecture 2> /dev/null || true)
- # If OpenJDK is only available headless, do not try it
- if dpkg --get-selections "openjdk-*-jre" | grep install$ > /dev/null \
- || dpkg --get-selections "openjdk-*-jre:$ARCH" | grep install$ > /dev/null ; then
- # LTS versions in decreased order
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-17-openjdk/bin/java /usr/lib/jvm/java-17-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-11-openjdk/bin/java /usr/lib/jvm/java-11-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-8-openjdk/bin/java /usr/lib/jvm/java-8-openjdk-$ARCH/bin/java"
- # Released versions in decreased order
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-18-openjdk/bin/java /usr/lib/jvm/java-18-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-16-openjdk/bin/java /usr/lib/jvm/java-16-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-15-openjdk/bin/java /usr/lib/jvm/java-15-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-14-openjdk/bin/java /usr/lib/jvm/java-14-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-13-openjdk/bin/java /usr/lib/jvm/java-13-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-12-openjdk/bin/java /usr/lib/jvm/java-12-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-10-openjdk/bin/java /usr/lib/jvm/java-10-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-9-openjdk/bin/java /usr/lib/jvm/java-9-openjdk-$ARCH/bin/java"
- # Development version(s)
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-19-openjdk/bin/java /usr/lib/jvm/java-19-openjdk-$ARCH/bin/java"
- fi
+ # Let's get the current architecture -- needed for multiarchified Java
+ ARCH=$(dpkg --print-architecture 2> /dev/null || true)
+ # If OpenJDK is only available headless, do not try it
+ if dpkg --get-selections "openjdk-*-jre" | grep install$ > /dev/null \
+ || dpkg --get-selections "openjdk-*-jre:$ARCH" | grep install$ > /dev/null ; then
+ # LTS versions in decreased order
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-17-openjdk/bin/java /usr/lib/jvm/java-17-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-11-openjdk/bin/java /usr/lib/jvm/java-11-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-8-openjdk/bin/java /usr/lib/jvm/java-8-openjdk-$ARCH/bin/java"
+ # Released versions in decreased order
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-18-openjdk/bin/java /usr/lib/jvm/java-18-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-16-openjdk/bin/java /usr/lib/jvm/java-16-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-15-openjdk/bin/java /usr/lib/jvm/java-15-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-14-openjdk/bin/java /usr/lib/jvm/java-14-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-13-openjdk/bin/java /usr/lib/jvm/java-13-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-12-openjdk/bin/java /usr/lib/jvm/java-12-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-10-openjdk/bin/java /usr/lib/jvm/java-10-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-9-openjdk/bin/java /usr/lib/jvm/java-9-openjdk-$ARCH/bin/java"
+ # Development version(s)
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-19-openjdk/bin/java /usr/lib/jvm/java-19-openjdk-$ARCH/bin/java"
+ fi
}
java_version() {
- ${1} -version 2>&1 | head -n1 | awk '{print $3}' | awk -F'.' '{gsub(/"/, ""); print $1}' | cat
+ ${1} -version 2>&1 | head -n1 | awk -F'"' '{print $2}' | awk -F'.' '{print $1}'
}
-if [ -x "$(command -v dpkg)" ]; then
- dpkg_java
+if dpkg --version > /dev/null 2>&1; then
+ dpkg_java
fi
+
# Undetermined version
JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/default-java/bin/java /usr/bin/java"
JOSM_VERSION="josm-latest"
if [ -f "/etc/default/${JOSM_VERSION}" ]; then
+ # shellcheck source=/etc/default/josm-latest
. "/etc/default/${JOSM_VERSION}"
fi
JAVA_OPTS="-Djosm.restart=true -Djosm.dir.name=JOSM-latest -Djava.net.useSystemProxies=true $JAVA_OPTS"
-if [ -z "${JAVACMD}" ]; then
+if [ -z "${JAVACMD}" ] && [ -n "${ALTERNATIVE_JDK}" ]; then
for jcmd in $JAVA_CMDS; do
if [ "z$ALTERNATIVE_JDK" = "z$(readlink -n -f "$jcmd")" ] && [ -z "${JAVACMD}" ] && [ -x "$jcmd" ]; then
JAVACMD="$jcmd"
@@ -73,7 +77,7 @@ fi
if [ "$JAVACMD" ]; then
echo "Using $JAVACMD to execute ${JOSM_VERSION}." || true
- JAVA_VERSION=$(java_version ${JAVACMD})
+ JAVA_VERSION=$(java_version "${JAVACMD}")
JAVAFX_HOME="${JAVAFX_HOME:-/usr/share/openjfx/lib}"
JOSM_PATH="${JOSM_PATH:-/usr/share/${JOSM_VERSION}/${JOSM_VERSION}.jar}"
if [[ "${JAVA_VERSION}" -ge 11 ]]; then
@@ -86,6 +90,7 @@ if [ "$JAVACMD" ]; then
fi
set +e
while true; do
+ # shellcheck disable=SC2086
$JAVACMD $JAVA_OPTS -jar "${JOSM_PATH}" "$@"
if [ "z$?" != "z9" ]; then
break
=====================================
linux/tested/usr/bin/josm
=====================================
@@ -1,10 +1,12 @@
-#!/usr/bin/env bash
+#!/bin/bash
# Simple wrapper script used to start JOSM in Debian
set -e
# First, the alternative (if known to work) or users preference as defined by $JAVA_HOME. Next, use OpenJDK.
# Override to a specific one using $JAVACMD
-ALTERNATIVE_JDK=$(readlink -n -f /etc/alternatives/java || true)
+if [ -e "/etc/alternatives/java" ]; then
+ ALTERNATIVE_JDK=$(readlink -n -f /etc/alternatives/java)
+fi
if [ -v JAVA_HOME ]; then
JAVA_CMDS="$JAVA_HOME/bin/java"
@@ -13,47 +15,49 @@ else
fi
dpkg_java() {
- # Let's get the current architecture -- needed for multiarchified Java
- ARCH=$(dpkg --print-architecture 2> /dev/null || true)
- # If OpenJDK is only available headless, do not try it
- if dpkg --get-selections "openjdk-*-jre" | grep install$ > /dev/null \
- || dpkg --get-selections "openjdk-*-jre:$ARCH" | grep install$ > /dev/null ; then
- # LTS versions in decreased order
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-17-openjdk/bin/java /usr/lib/jvm/java-17-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-11-openjdk/bin/java /usr/lib/jvm/java-11-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-8-openjdk/bin/java /usr/lib/jvm/java-8-openjdk-$ARCH/bin/java"
- # Released versions in decreased order
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-18-openjdk/bin/java /usr/lib/jvm/java-18-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-16-openjdk/bin/java /usr/lib/jvm/java-16-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-15-openjdk/bin/java /usr/lib/jvm/java-15-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-14-openjdk/bin/java /usr/lib/jvm/java-14-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-13-openjdk/bin/java /usr/lib/jvm/java-13-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-12-openjdk/bin/java /usr/lib/jvm/java-12-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-10-openjdk/bin/java /usr/lib/jvm/java-10-openjdk-$ARCH/bin/java"
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-9-openjdk/bin/java /usr/lib/jvm/java-9-openjdk-$ARCH/bin/java"
- # Development version(s)
- JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-19-openjdk/bin/java /usr/lib/jvm/java-19-openjdk-$ARCH/bin/java"
- fi
+ # Let's get the current architecture -- needed for multiarchified Java
+ ARCH=$(dpkg --print-architecture 2> /dev/null || true)
+ # If OpenJDK is only available headless, do not try it
+ if dpkg --get-selections "openjdk-*-jre" | grep install$ > /dev/null \
+ || dpkg --get-selections "openjdk-*-jre:$ARCH" | grep install$ > /dev/null ; then
+ # LTS versions in decreased order
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-17-openjdk/bin/java /usr/lib/jvm/java-17-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-11-openjdk/bin/java /usr/lib/jvm/java-11-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-8-openjdk/bin/java /usr/lib/jvm/java-8-openjdk-$ARCH/bin/java"
+ # Released versions in decreased order
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-18-openjdk/bin/java /usr/lib/jvm/java-18-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-16-openjdk/bin/java /usr/lib/jvm/java-16-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-15-openjdk/bin/java /usr/lib/jvm/java-15-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-14-openjdk/bin/java /usr/lib/jvm/java-14-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-13-openjdk/bin/java /usr/lib/jvm/java-13-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-12-openjdk/bin/java /usr/lib/jvm/java-12-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-10-openjdk/bin/java /usr/lib/jvm/java-10-openjdk-$ARCH/bin/java"
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-9-openjdk/bin/java /usr/lib/jvm/java-9-openjdk-$ARCH/bin/java"
+ # Development version(s)
+ JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/java-19-openjdk/bin/java /usr/lib/jvm/java-19-openjdk-$ARCH/bin/java"
+ fi
}
java_version() {
- ${1} -version 2>&1 | head -n1 | awk '{print $3}' | awk -F'.' '{gsub(/"/, ""); print $1}' | cat
+ ${1} -version 2>&1 | head -n1 | awk -F'"' '{print $2}' | awk -F'.' '{print $1}'
}
-if [ -x "$(command -v dpkg)" ]; then
- dpkg_java
+if dpkg --version > /dev/null 2>&1; then
+ dpkg_java
fi
+
# Undetermined version
JAVA_CMDS="${JAVA_CMDS} /usr/lib/jvm/default-java/bin/java /usr/bin/java"
JOSM_VERSION="josm"
if [ -f "/etc/default/${JOSM_VERSION}" ]; then
+ # shellcheck source=/etc/default/josm
. "/etc/default/${JOSM_VERSION}"
fi
JAVA_OPTS="-Djosm.restart=true -Djava.net.useSystemProxies=true $JAVA_OPTS"
-if [ -z "${JAVACMD}" ]; then
+if [ -z "${JAVACMD}" ] && [ -n "${ALTERNATIVE_JDK}" ]; then
for jcmd in $JAVA_CMDS; do
if [ "z$ALTERNATIVE_JDK" = "z$(readlink -n -f "$jcmd")" ] && [ -z "${JAVACMD}" ] && [ -x "$jcmd" ]; then
JAVACMD="$jcmd"
@@ -73,7 +77,7 @@ fi
if [ "$JAVACMD" ]; then
echo "Using $JAVACMD to execute ${JOSM_VERSION}." || true
- JAVA_VERSION=$(java_version ${JAVACMD})
+ JAVA_VERSION=$(java_version "${JAVACMD}")
JAVAFX_HOME="${JAVAFX_HOME:-/usr/share/openjfx/lib}"
JOSM_PATH="${JOSM_PATH:-/usr/share/${JOSM_VERSION}/${JOSM_VERSION}.jar}"
if [[ "${JAVA_VERSION}" -ge 11 ]]; then
@@ -86,6 +90,7 @@ if [ "$JAVACMD" ]; then
fi
set +e
while true; do
+ # shellcheck disable=SC2086
$JAVACMD $JAVA_OPTS -jar "${JOSM_PATH}" "$@"
if [ "z$?" != "z9" ]; then
break
View it on GitLab: https://salsa.debian.org/debian-gis-team/josm-installer/-/compare/efd28a6df2bdd1f3d48a154e81ecab6cdc06cea8...47b47f457662d97461954f09e37f93b1fd6bc432
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/josm-installer/-/compare/efd28a6df2bdd1f3d48a154e81ecab6cdc06cea8...47b47f457662d97461954f09e37f93b1fd6bc432
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20220712/f8fb0eab/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list