jpackage DMG creation trouble

Jeff Carpenter lists at jeffc.ca
Tue Jun 18 02:12:53 UTC 2019


Okay, so for OS X jpackage output, we have:

An inner artifact: App Image/Bundle xor .pkg installer
A wrapper (disk image): .dmg

Now how do we specify these cases on the command-line? How about this:

create-app-image [--with-dmg]
create-installer [--with-dmg]             (note that the only actual installer-type supported on this platform is .pkg) 

Jeff

On Thu, 13 Jun 2019, at 14:35, Scott Palmer wrote:
> 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