Implement package for KEXI (alphas and stables)
ClosedPublic

Authored by staniek on Mar 26 2018, 12:54 PM.

Details

Summary

Implement package for KEXI (alphas and stables)

  • Better separate mysql from mariadb variant installations
  • Introduce 'versionStrings' and 'versionSemantic' for KEXI to support alpha/preview and stable installers with nice names
    • example Alpha file: KEXI_3.2_Alpha_2018-02-23_(91178a597)_Win64.exe (2018-02-23 date is based on git log here)
    • example Preview file: KEXI_3.1.0_Preview_2018-03-22_(14dada252)_Win64.exe (2018-03-22 date is set manually based on "official" Preview release)
  • Make 3.1 releases as Preview for now
  • Separate desktop from other builds (opens further extensions)
  • Add custom NSIS file, provide correct website, icon, license text, license files, readmes, architecture
  • Offer execution of the installed app in NSIS, associate with .kexi extension
  • add blacklists: strip down installer as much as possible
Test Plan

craft mysql
craft kexi
craft --package kexi

Diff Detail

Repository
R877 Craft Blueprints for KDE
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
staniek requested review of this revision.Mar 26 2018, 12:54 PM
staniek created this revision.
staniek retitled this revision from Better separate mysql from mariadb variant installations to Implement package for KEXI (alphas and stables).Mar 26 2018, 12:55 PM
staniek edited the summary of this revision. (Show Details)
staniek added a subscriber: piggz.
vonreth added inline comments.
extragear/kexi/kexi.py
92

isn't self.sourceRevision() good enough? it's what's used by default?

96

rather pass cwd=self.sourceDir() to check_output

103

not needed subinfo.webpage is used by default

104

are you sure the installed executable is versioned?

110

how about sticking to the default name and rename it before you upload it to your projects website?

115

its just a dll that is used for qml.
Windeployqt deploys it too.

extragear/kexi/whitelist.txt
3 ↗(On Diff #30620)

I usually recommend to use the default white list and just edit the blacklist.
It is safer to keep everything and remove those parts you really know you don't need.

vonreth added inline comments.Mar 27 2018, 5:00 PM
extragear/kexi/kexi.py
92

well by default installers would contain the revision but there was a bug I just fixed which always gave "latest"

staniek edited the summary of this revision. (Show Details)Apr 9 2018, 12:01 PM
staniek updated this revision to Diff 31766.Apr 9 2018, 7:32 PM
staniek marked an inline comment as done.
  • KEXI package: website -> webpage
  • KEXI package: correct name of generated .ico file
  • KEXI package: executable should use real stable version number major.minor
  • KEXI package: use subprocess.check_output(..., cwd=self.sourceDir()) for executing git
  • KEXI: do not use whitelist
staniek marked an inline comment as done.Apr 9 2018, 8:08 PM
staniek added inline comments.
extragear/kexi/kexi.py
92

Probably right with self.sourceRevision(), but since we're also executing git show --no-patch --format=%ci for the alpha snapshot date we have to use git nevertheless.

If you think self.sourceRevision() is better, I would change to it and keep git show --no-patch --format=%ci. Or maybe you have better ideas.

104

In case of KEXI, yes, on every OS everything (apps, libs, plugins) is designed to be even co-installable, and even in the same folder.

110

I am a little concerned how this will work for others.

This can work for me locally (one extra manual step sum up with others) but I am not sure where to put the rename command so it works for users out of the box and for binary-factory.kde.org?

I see alphas are nicely names out of the box for other projects too e.g.:
https://binary-factory.kde.org/job/Krita_Nightly_Windows_Build/

So I would prefer entire process is reproducible and clear.

115

Yes, we would re-enable as soon as KEXI needs any of the opengl-based QML layer. For the same reason d3dcompiler is absent in many Qt apps too. Tested again today.

I've found that windeployqt isn't 100% correct all the time at least for now.

staniek edited the summary of this revision. (Show Details)Apr 9 2018, 8:09 PM
vonreth accepted this revision.Apr 10 2018, 1:25 PM

looks sane, lets see whether it works :)

This revision is now accepted and ready to land.Apr 10 2018, 1:25 PM
This revision was automatically updated to reflect the committed changes.