bug jpackage in JDK 15
Michael Hall
mik3hall at gmail.com
Sat Jan 30 21:14:21 UTC 2021
> On Jan 29, 2021, at 7:37 PM, Michael Hall <mik3hall at gmail.com> wrote:
>
>
>
>> On Jan 26, 2021, at 7:16 PM, Michael Hall <mik3hall at gmail.com <mailto:mik3hall at gmail.com>> wrote:
>>
>>>
>>>
>>> When I open the built dmg there is an application icon, a drag to indicating arrow, but no application folder icon as the drag target.
>>>
>>> Possibly related…
>>>
>>> Running [osascript, /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/jdk.incubator.jpackage15947685185521368596/config/BlackJack Blastoff-dmg-setup.scpt]
>>> /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/jdk.incubator.jpackage15947685185521368596/config/BlackJack Blastoff-dmg-setup.scpt:1112:1334: execution error: Finder got an error: Can’t make class alias file. (-2710)
>>> java.io.IOException: Command [osascript, /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/jdk.incubator.jpackage15947685185521368596/config/BlackJack Blastoff-dmg-setup.scpt] exited with 1 code
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Executor.executeExpectSuccess(Executor.java:75)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.IOUtils.exec(IOUtils.java:167)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.IOUtils.exec(IOUtils.java:135)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.MacDmgBundler.buildDMG(MacDmgBundler.java:393)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.MacDmgBundler.bundle(MacDmgBundler.java:91)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.MacDmgBundler.execute(MacDmgBundler.java:535)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.generateBundle(Arguments.java:680)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.processArguments(Arguments.java:549)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.execute(Main.java:98)
>>> at jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.main(Main.java:52)
>
> This doesn’t necessarily seem to be security related. So possibly not related to my other problem.
> I was going to try and re-open a bug report but that doesn’t appear currently possible for me.
>
> It seems it could possibly be the path for the Applications folder. Say if you want something nice to get a name without a forward slash.
> Based on DMGSetup.scpt…
>
> tell application "Finder"
> set DEPLOY_VOLUME_PATH to "/Volumes/TestImage/"
> set DEPLOY_INSTALL_LOCATION to "Applications"
> set DEPLOY_INSTALL_NAME to "Applications"
> make new alias file at POSIX file DEPLOY_VOLUME_PATH to POSIX file DEPLOY_INSTALL_LOCATION with properties {name:DEPLOY_INSTALL_LOCATION}
> end tell
>
> tell application "Finder"
> make new alias file at file "TestImage:" to file ":Applications" with properties {name:"Applications"}
> Result:
> error "Finder got an error: Can’t make class alias file." number -2710 from alias file to class
>
> You get the same error. Note INSTALL_LOCATION is used for both destination and name.
>
> If you make that a correct path with forward slash but have a separate name variable without forward slash for the name.
>
> tell application "Finder"
> make new alias file at file "TestImage:" to file "Macintosh HD:Applications:" with properties {name:"Applications"}
> end tell
> Result:
> alias file "Applications" of disk "TestImage" of application “Finder”
>
> It works. I’m not sure unless something changed why that would suddenly be broke but it does seem to be for DMG’s.
This was a hypothetical, hopefully plausible, possibility that reproduced the actual error. I don’t work on the JDK and don’t know how I would debug to get the values actually being passed. Possibly a ‘debug’ option where the script output is saved instead of being written to a temporary file and disappearing could be useful?
More information about the core-libs-dev
mailing list