Skip to content
This repository has been archived by the owner on Feb 2, 2021. It is now read-only.

Fix minor issues in linux packaging #172

Conversation

digital-dreamer
Copy link
Contributor

  • Fixed the “low quality application” issue by adding a license file
  • Included a post-install script to symlink the lighthouse binary to /usr/bin (fixes Ubuntu: Executable not added to PATH #131)
  • Added a description, all packages should have it

Note: It is counterintuitive, but the “-title” parameter of javapackager actually corresponds to the “description” field in dpkg.

-vendor Vinumeris \
-outdir deploy \
-appclass lighthouse.Main \
-srcfiles $build \
-srcdir updates/builds/processed \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this change really correct? This looks like it might try and package every single JAR in that directory instead of only the one that corresponds to the right version number.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, only one JAR will be packaged, along with license file and postinst / prerm scripts. The directory contents are erased before build in package.sh.

An alternative solution is to keep old updates in the processed folder, and use -srcfiles to specify only $build, postinst, prerm and LICENSE. Would you prefer this solution? I can add another commit, it's a small change.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, so that's why my attempts to make LICENSE work failed - it has to be listed in the source files.

I've been meaning to improve the UpdateFX workflow I use as the current one is prone to mistakes. Your approach of emptying the processed directory might work, I need to check that the UpdateFX tool is OK with that. I'll get back to you soon. The current commit looks OK assuming it doesn't mess with the updates system. Thanks for fixing this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're welcome. I've tested the .deb package installation on Ubuntu 14.04 LTS using DPKG, but I didn't do any testing with UpdateFX.

@mikehearn
Copy link
Contributor

Right, so the issue is that UpdateFX expects to find the old and new JARs in that directory so it can calculate a delta between them. Currently all the JARs for each version are in that directory (for me), so blasting it would mean updates would break.

Is there a way to do this without erasing the contents of updates/builds/processed?

@digital-dreamer
Copy link
Contributor Author

Yes, it's easy. We can use -srcfiles to specify a subset of the files in the processed directory to be packaged, in this case it will be $build, postinst, prerm and LICENSE. Then we don't have to erase anything. All versions can stay there, and only the current JAR will be packaged.

@mikehearn
Copy link
Contributor

Cool! Sounds like a plan.

@digital-dreamer
Copy link
Contributor Author

Maybe it is even easier like this. The plugin is not necessary when we specify individual files. What do you think?

@mikehearn
Copy link
Contributor

I've squashed and merged this into the lighthouse branch, thanks! Let's get i18n in, and I want to do some more update system tweaks to make the app do a forced/blocking update on first run. Then we can push v29 and I'll rebuild the downloadable packages at that time.

@mikehearn mikehearn closed this Mar 28, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants