Hi everyone,

As I mentioned a couple of weeks ago (in a message titled "jpackage DMG 
creation trouble"), the new jpackage packs both a .pkg & AppImage into any .dmg 
images it creates. The expected behavior is that the tool would pack only an 
AppImage inside. There may be the very odd case where someone does  in fact 
want a .pkg in a .dmg, but that can be added in future work if needed. This 
patch gets the primary jpackage .dmg use case working _today_. Hope this helps.

Thanks,
Jeff
# HG changeset patch
# User p...@jeffc.ca
# Date 1562294807 25200
#      Thu Jul 04 19:46:47 2019 -0700
# Branch JDK-8200758-branch
# Node ID eca4d129b2f4d1336c806105a6f7f0c2493712a4
# Parent  64e1fca51e8cc679788d8899f390b9880368c942
removed code for packing pkg into dmg

diff --git a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java
@@ -140,7 +140,7 @@
             }
             // first, make sure we don't use the local signing key
             params.put(DEVELOPER_ID_APP_SIGNING_KEY.getID(), null);
-            File appLocation = prepareAppBundle(params, false);
+            File appLocation = prepareAppBundle(params);
 
             prepareEntitlements(params);
 
diff --git a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java
@@ -134,21 +134,17 @@
         }
     }
 
-    protected File prepareAppBundle(Map<String, ? super Object> params,
-            boolean pkg) throws PackagerException {
+    protected File prepareAppBundle(Map<String, ? super Object> params) throws PackagerException {
         File predefinedImage =
                 StandardBundlerParam.getPredefinedAppImage(params);
         if (predefinedImage != null) {
             return predefinedImage;
         }
         File appImageRoot = APP_IMAGE_TEMP_ROOT.fetchFrom(params);
-        if (pkg) {
-            // create pkg in dmg
-            return new MacPkgBundler().bundle(params, appImageRoot);
-        } else {
-            return APP_BUNDLER.fetchFrom(params).doBundle(
-                    params, appImageRoot, true);
-        }
+
+        return APP_BUNDLER.fetchFrom(params).doBundle(
+                params, appImageRoot, true);
+
     }
 
     @Override
diff --git a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java
@@ -61,7 +61,7 @@
         try {
             appImageDir.mkdirs();
 
-            if (prepareAppBundle(params, true) != null &&
+            if (prepareAppBundle(params) != null &&
                     prepareConfigFiles(params)) {
                 File configScript = getConfig_Script(params);
                 if (configScript.exists()) {
diff --git a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java
@@ -138,9 +138,8 @@
 
         IOUtils.writableOutputDir(outdir.toPath());
 
-        File appImageDir = null;
         try {
-            appImageDir = prepareAppBundle(params, false);
+            File appImageDir = prepareAppBundle(params);
 
             if (appImageDir != null && prepareConfigFiles(params)) {
 

Reply via email to