Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idea: Split bundle in two packages #150

Open
romaia opened this issue Oct 26, 2018 · 2 comments
Open

Idea: Split bundle in two packages #150

romaia opened this issue Oct 26, 2018 · 2 comments

Comments

@romaia
Copy link

romaia commented Oct 26, 2018

I would like to suggest a new feature where the bundle is split in 2 different packages: one with the actual code for the application (ie, the resources directory), and another one with the electron/chrome binary and libraries, with one depending on another.

This way, it would make it easier (at least for us), to update our application that run on computers with a 3g internet connection, where only the actual application code needs to be updated (and a way smaller download package).

@malept
Copy link
Member

malept commented Oct 26, 2018

This seems like a reasonable feature request on the surface, but I think some questions need to be answered before we decide whether we want to have this feature (this is a non-exhaustive list):

  • What should the name of the app-specific package be? Should it be configurable?
  • Should the new package always be arch-specific, or should it scan to see if there are any arch-specific files?
  • What's the dependency order? Should the Electron package depend on the app package, or vice versa?
  • How do we customize package options for two different packages? (e.g., the package hooks such as postinst)
  • Which package gets the desktop entry?
  • Which package gets the icon?

@romaia
Copy link
Author

romaia commented Oct 29, 2018

Those are all good questions that I haven't given much thought yet.

* What should the name of the  app-specific package be? Should it be configurable?

I think it could follow the convention: app.deb app-electron.deb

This package spliting would be optional to the developer, as I think most of the time a single package will be a good default.

* Should the new package always be arch-specific, or should it scan to see if there are any arch-specific files?

The -electron package could be arch specific, but the main one does not need to be. I think a Depends: xxx-electron:i386 | xxx-electron:amd64 should cover this.

* What's the dependency order? Should the Electron package depend on the app package, or vice versa?

It makes sense to me that app package depends on the -electron pacakge.

* How do we customize package options for two different packages? (e.g., the package hooks such as` postinst`)

Maybe only the app package can/should have package hooks

* Which package gets the desktop entry?
* Which package gets the icon?

Given my considerations above, the app package.

This would be something like packages that have a companion -data package (like gimp), where the main package contains arch specific binaries, and the -data arch independent data files.

That is actually the opposite of I suggested above, but that also makes sense if you prefer to approach it this way (a app.deb with the electron files and a app-data.deb with the actual resources).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants