kiwix / kiwix-desktop

Kiwix for Windows and GNU/Linux desktops
https://download.kiwix.org/release/kiwix-desktop/
GNU General Public License v3.0
774 stars 100 forks source link

Allow to build with packaged version of qtsingleapplication #470

Open xvitaly opened 4 years ago

xvitaly commented 4 years ago

Bundling is strictly forbidden in lots of GNU/Linux distributions. Please add ability to build with packaged version of qtsingleapplication.

xvitaly commented 4 years ago

Regression introduced in #424.

xvitaly commented 4 years ago

Fixed on our side by adding CONFIG+=qtsingleapplication to qmake-qt5.

kelson42 commented 4 years ago

@xvitaly @mgautierfr I guess if the ticket is closed there is nothing to do on our end. I don't really understand the ticket.

xvitaly commented 4 years ago

I guess if the ticket is closed there is nothing to do on our end. I don't really understand the ticket.

I'm Kiwix Desktop Fedora GNU/Linux package maintainer. On Fedora we cannot use bundled dependencies, that's why we must unbundle all of them.

I fixed this issue on our side by removing the subprojects/qtsingleapplication directory and passing the CONFIG+=qtsingleapplication parameter to qmake-qt5 build tool.

kelson42 commented 4 years ago

@xvitaly Thank you. I reopen the ticket because I don't understand why we don't do that upstream!

xvitaly commented 4 years ago

Thank you. I reopen the ticket because I don't understand why we don't do that upstream!

We also need to patch .pro file to remove /static option and remove git calls:

sed -e "/static {/,+2d" -e "/git describe/c\DEFINES += GIT_VERSION='%{version}'" -e "s/shell date/shell date +\%G-\%m-\%d/g" -i %{name}.pro

I would appreciate if it can be fixed in upstream.

kelson42 commented 4 years ago

@xvitaly We will have a look, the ideal solution would be to build the Fedora packages within our CI so we can:

This is an approach we are following for Deb packages (Debian/Ubuntu) and that I would be happy to see as well with Fedroa RPMs.

xvitaly commented 4 years ago

We will have a look, the ideal solution would be to build the Fedora packages within our CI so we can:

Fedora already has Kiwix Desktop (and kiwix-lib, kiwix-tools, libzim) in the official repositories.

This is an approach we are following for Deb packages (Debian/Ubuntu) and that I would be happy to see as well with Fedroa RPMs.

If you want to build Fedora packages for testing purposes on CI, feel free to take SPECs from Fedora:

If you have any question about Fedora packaging, I can help with this.

legoktm commented 4 years ago

Unfortunately Debian doesn't have qtsingleapplication packaged yet (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641812), so we would prefer to have it bundled along for now if that's alright...

kelson42 commented 4 years ago

@legoktm Good to me.

legoktm commented 4 years ago

We also need to patch .pro file to remove /static option and remove git calls:

sed -e "/static {/,+2d" -e "/git describe/c\DEFINES += GIT_VERSION='%{version}'" -e "s/shell date/shell date +\%G-\%m-\%d/g" -i %{name}.pro

I would appreciate if it can be fixed in upstream.

I filed #476 for this.

kelson42 commented 4 years ago

@legoktm @xvitaly @mgautierfr If I understand properly here we should make a kind of qmake/make option to be able to call the build process without using the local "qtsingleapplication"? Or the other way around (not sure what is the best default behaviour)?

kelson42 commented 4 years ago

@xvitaly @legoktm BTW, I hope you have seen that we have introduced feed.xml in https://download.kiwix.org/release and https://download.openzim.org/release, so you can immediatly be informed when a new release has been made.

legoktm commented 4 years ago

Unfortunately Debian doesn't have qtsingleapplication packaged yet (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641812), so we would prefer to have it bundled along for now if that's alright...

I asked the Debian Qt maintainers for assistance/recommendations: https://lists.debian.org/debian-qt-kde/2020/07/msg00051.html

xvitaly commented 4 years ago

If I understand properly here we should make a kind of qmake/make option to be able to call the build process without using the local "qtsingleapplication"? Or the other way around (not sure what is the best default behaviour)?

An additional build option looks good for me.

BTW, I hope you have seen that we have introduced feed.xml in https://download.kiwix.org/release and https://download.openzim.org/release, so you can immediatly be informed when a new release has been made.

Good, thanks. But I prefer GitHub release subscriptions on email.

kelson42 commented 4 years ago

BTW, I hope you have seen that we have introduced feed.xml in https://download.kiwix.org/release and https://download.openzim.org/release, so you can immediatly be informed when a new release has been made.

Good, thanks. But I prefer GitHub release subscriptions on email.

We release most of the time based on a tag but I heard we could request similarly to release based on Github release event... Currently under investigation the pros/cons.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.