jpackage DMG creation trouble

Scott Palmer swpalmer at gmail.com
Thu Jun 13 14:35:02 UTC 2019


DMG isn’t an installer type.  The common thing would be for the Application Bundle to be wrapped in a DMG for distribution, or if a Package is needed, that would be wrapped in the DMG instead.
Creating the DMG wrapper is independent of the kind of “installer” .  On Mac this means no installer - the preferred drag-and-drop Application Bundle, or a .pkg installer because the application is not entirely encapsulated into an Application Bundle.

Typically on Mac the only reason to produce a .pkg is because you are installing a service, so there is post-install stuff to run to get the service configured to run automatically, etc..  Some non-daemon Application Bundles may need this extra setup, but it isn’t common. Since there is usually no reason to produce a .pkg if all you have is a stand-alone Application Bundle, seeing a .pkg in that context would only make me distrust it.

I typically want to create both .deb and .rpm packages on Linux, because customers may use a distribution based on either format, but I would rarely have the need to produce both a .pkg in a .dmg and a separate Application Bundle in a .dmg.   If I need a .pkg, the Application Bundle on it’s own would usually be useless because the extra post-install config would be needed for it to operate properly.  (Though it may be useful to me as a developer, because my dev system is different - I may want to run my service as an Application while debugging.) Usually this means I produced a service daemon.  I haven’t been tracking jpackage close enough, but I think the ability to create a service was dropped for the initial release.  I think the jpackage release has also been pushed out to JDK 14 now, so hopefully we can get that badly needed functionality back?

Scott  



> On Jun 12, 2019, at 9:28 AM, Andy Herrick <andy.herrick at oracle.com> wrote:
> 
> I think the question here was what is in the dmg image.
> 
> The dmg could be an image of the pkg, or an image of the application.
> 
> Jeff says "I get both the app image *and *a pkg installer inside said dmg."
> 
> We need to look into that.
> 
> /Andy
> 
> 
> 
> On 6/12/2019 9:04 AM, Kevin Rushforth wrote:
>> Or if you only want the app in the dmg:
>> 
>>     jpackage create-installer --installer-type dmg
>> 
>> -- Kevin
>> 
>> 
>> On 6/12/2019 6:02 AM, Kevin Rushforth wrote:
>>> This will likely change so that only a single package is created by jpackage. The current EA version creates all possible package types for a given platform by default, even when that doesn't make sense (as on a typical Linux machine which either has Debian or RPM tools, but typically not both).
>>> 
>>> To answer your question, you can do the following today:
>>> 
>>>     jpackage create-installer --installer-type pkg
>>> 
>>> -- Kevin
>>> 
>>> 
>>> On 6/11/2019 6:04 PM, Jeff Carpenter wrote:
>>>> Hi everyone,
>>>> 
>>>> I'm working (for jClarity) on building some installers with jpackage. Now whenever I build a dmg image, I get both the app image *and *a pkg installer inside said dmg. Is there a way I can get just the app image in the dmg?
>>>> 
>>>> Thanks,
>>>> Jeff
>>>> 
>>>> 
>>> 
>> 
> 



More information about the core-libs-dev mailing list