-
Notifications
You must be signed in to change notification settings - Fork 81
Fix minor issues in linux packaging #172
Fix minor issues in linux packaging #172
Conversation
…have started sharing their projects.
-vendor Vinumeris \ | ||
-outdir deploy \ | ||
-appclass lighthouse.Main \ | ||
-srcfiles $build \ | ||
-srcdir updates/builds/processed \ |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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? |
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. |
Cool! Sounds like a plan. |
Maybe it is even easier like this. The plugin is not necessary when we specify individual files. What do you think? |
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. |
Note: It is counterintuitive, but the “-title” parameter of javapackager actually corresponds to the “description” field in dpkg.