SUMMARY The nightly Skrooge flatpak hasn't been built for a while. When it does build it fails building the sqlcipher module. STEPS TO REPRODUCE 1. In https://invent.kde.org/office/skrooge/-/pipelines find a recent skrooge update that isn't just translations 2. Look at its status. 3. If necessary trigger the build flatpak step manually. OBSERVED RESULT The "deploy flatpak" step sometimes shows the "Stage deploy flatpak" task with a gear icon instead of a red or green checkmark, e.g. https://invent.kde.org/office/skrooge/-/pipelines?page=2&scope=all , because "This job requires a manual action ". The last time the step ran, https://invent.kde.org/office/skrooge/-/pipelines/918152 , it failed. And when I kicked off flatpak build, and it failed the same way, https://invent.kde.org/office/skrooge/-/jobs/2740458 The last error seems to be building sqlcipher: Building module sqlcipher in /builds/office/skrooge/.flatpak-builder/build/sqlcipher-1 ... autoreconf: export WARNINGS= autoreconf: error: 'configure.ac' is required EXPECTED RESULT I'm not sure why that recent checkin don't trigger building a new flatpak. flatpak builds should succeed. SOFTWARE/OS VERSIONS Linux/KDE Plasma: ADDITIONAL INFORMATION If you look at .flatpak-manifest.json, the sqlcipher module has some specialized build steps, and if you look at https://github.com/sqlcipher/sqlcipher.git , a recent change is "Updates README.md with new build instructions and required CFLAGS". So something needs updating
In branch work/flatpak_sqlcipher_fix I tried simplifying the sqlcipher module recipe in the flatpak manifest based on qTox's much simpler recipe, and the pipeline failed 😕.
sqlcipher v4.7.0 has "complete upstream SQLite refactoring of build system to use autosetup". See its changelog https://github.com/sqlcipher/sqlcipher/blob/master/CHANGELOG.md for all the BREAKING CHANGES, including: - No more configure.ac, hence the flatpak build that invokes autoreconf fails. - Instead it gives ./configure options you need to specify. - It changes the name of the library it builds from libsqlcipher to libsqlite3 "for alignment with SQLite". - this seems very prone to error since a Linux distribution and/or the flatpak runtime probably already have "vanilla" libsqlite3 and sqlite3.pc that don't have the cipher support! - In builds, it uses `jimsh` instead of `tclsh`, so perhaps it no longer requires building tclsh. As a workaround, merge request !73 changes .flatpak-manifest.json to build sqlcipher v4.6.1 (same as skrooge stable on flathub), not latest sqlcipher version from git.
> - this seems very prone to error since a Linux distribution and/or the flatpak runtime probably already have "vanilla" libsqlite3 and sqlite3.pc that don't have the cipher support! Yes, the sqlite and sqlcipher packages would conflict in Fedora (which is still shipping 4.5.2). I filed https://github.com/sqlcipher/sqlcipher/issues/556 asking for help to build with the old name.