Bug#857847: java-package: proposal to add a --no-deps flag to make-jpkg

sven sven at timegate.de
Wed Mar 15 16:05:06 UTC 2017


Package: java-package
Version: 0.62
Severity: wishlist

Hello Emmanuel et al,
I'm currently using an internal build of java-package which has
a --no-deps parameter that drops ${shlibs:Depends} from the
generated control file. I know it's ugly, prone to cause issues but
it makes a few things easier for me. It simply allows to build one
.deb for several different Debian releases we can just install to drop
the JDK on the system.

Is there a general willingness to adopt such a patch? My internal
diff is attached.

Sven
-------------- next part --------------
diff --git a/lib/oracle-jdk.sh b/lib/oracle-jdk.sh
index 23ce971..02b53d3 100644
--- a/lib/oracle-jdk.sh
+++ b/lib/oracle-jdk.sh
@@ -184,7 +184,9 @@ oracle_j2sdk_control() {
     build_depends="libasound2, libgl1-mesa-glx, libgtk2.0-0, libxslt1.1, libxtst6, libxxf86vm1"
     j2se_control
     java_browser_plugin="java-browser-plugin, "
-    depends="\${shlibs:Depends}"
+    if [ "${no_deps:-false}" != "true" ]; then
+	depends="\${shlibs:Depends}"
+    fi
     if [ "${DEB_BUILD_ARCH:0:3}" = "arm" -a "${j2se_arch}" != "arm-vfp-hflt" ]; then
         # ARM is only softfloat ATM so if building on armhf
         # force the dependencies to pickup cross platform fu
diff --git a/lib/oracle-jre.sh b/lib/oracle-jre.sh
index 94e3d5d..818c54b 100644
--- a/lib/oracle-jre.sh
+++ b/lib/oracle-jre.sh
@@ -143,6 +143,9 @@ oracle_j2re_control() {
     if [ "$create_cert_softlinks" == "true" ]; then
         depends="ca-certificates-java"
     fi
+    if [ "${no_deps:-false}" != "true" ]; then
+       depends="${depends}, \${shlibs:Depends}"
+    fi
     for i in `seq 5 ${j2se_release}`;
     do
         provides_runtime="${provides_runtime} java${i}-runtime,"
@@ -151,7 +154,7 @@ oracle_j2re_control() {
     cat << EOF
 Package: $j2se_package
 Architecture: $j2se_debian_arch
-Depends: \${misc:Depends}, \${shlibs:Depends}, java-common, $depends
+Depends: \${misc:Depends}, java-common, $depends
 Recommends: netbase
 Provides: java-virtual-machine, java-runtime, java2-runtime, $provides_runtime java-runtime-headless, java2-runtime-headless, $provides_headless java-browser-plugin
 Description: $j2se_title
diff --git a/lib/oracle-server-jre.sh b/lib/oracle-server-jre.sh
index d901e31..08e9035 100644
--- a/lib/oracle-server-jre.sh
+++ b/lib/oracle-server-jre.sh
@@ -127,6 +127,9 @@ oracle_server_j2re_control() {
     if [ "$create_cert_softlinks" == "true" ]; then
         depends="ca-certificates-java"
     fi
+    if [ "${no_deps:-false}" != "true" ]; then
+       depends="${depends}, \${shlibs:Depends}"
+    fi
     for i in `seq 5 ${j2se_release}`;
     do
         provides_headless="${provides_headless} java${i}-runtime-headless,"
@@ -134,7 +137,7 @@ oracle_server_j2re_control() {
     cat << EOF
 Package: $j2se_package
 Architecture: $j2se_debian_arch
-Depends: \${misc:Depends}, \${shlibs:Depends}, java-common, $depends
+Depends: \${misc:Depends}, java-common, $depends
 Recommends: netbase
 Provides: java-runtime-headless, java2-runtime-headless, $provides_headless
 Description: $j2se_title
diff --git a/make-jpkg b/make-jpkg
index 3db992c..7ac4a12 100755
--- a/make-jpkg
+++ b/make-jpkg
@@ -89,6 +89,7 @@ The following options are recognized:
   --source             build a source package instead of a binary deb package
   --with-system-certs  integrate with the system's keystore
   --jce-policy FILE    Replace cryptography files with versions from FILE
+  --no-deps            Do not generate shlibs:Depends on the final package
 
   --help               display this help and exit
   --version            output version information and exit
@@ -146,6 +147,8 @@ while [[ $# -gt 0 && "x$1" == x--* ]]; do
     revision="-${1}"
     elif [[ "x$1" == x--changes ]]; then
     genchanges="true"
+    elif [[ "x$1" == x--no-deps ]]; then
+    no_deps="true"
     elif [[ "x$1" == x--source ]]; then
     build_source="true"
     elif [[ "x$1" == x--with-system-certs ]]; then
diff --git a/make-jpkg.1 b/make-jpkg.1
index 34a5462..791a103 100644
--- a/make-jpkg.1
+++ b/make-jpkg.1
@@ -70,6 +70,9 @@ ca-certificates and ca-certificates-java packages.
 Replace cryptography files with versions
 from the specified JCE_POLICY_FILE.
 .TP
+.B --no-deps
+do not generate shlibs:Depends package dependency
+.TP
 .B --help
 display help text and exit
 .TP


More information about the pkg-java-maintainers mailing list