kiwix / kiwix-desktop

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

Deb Package with content #757

Open kelson42 opened 2 years ago

kelson42 commented 2 years ago

If we would have a way to easily package kiwix-desktop with one or more content this would make it easier to install it for “distributors”…. And in general anybody creating images to distribute. The best way to follow IMO woukd be to allow to give content as argument at dpkg time and the the content would be downloaded, installed properly, etc.

kelson42 commented 2 years ago

@legoktm Woukd that be doable?

mgautierfr commented 2 years ago

It is technically doable. A deb is nothing more that a fancy archive. You can put want you want in it.

But I doubt debian will package (and distribute) kiwix-desktop with content integrated. At best, we can distribute the content itself in a separated package.

kelson42 commented 2 years ago

@mgautierfr This is not about distributing a deb with content inside.

legoktm commented 2 years ago

It's certainly technically possible to download the content at install time but that's generally frowned upon as debs are expected to be self-contained.

I think shipping debs with zims inside them is a better idea, it's similar to how video games have "foo-data" packages(e.g. https://packages.debian.org/unstable/wesnoth-1.14-data) that contain the image and sound files needed to play the game.

kelson42 commented 2 years ago

@legoktm OK, but I'm really concerned about the legal discussion if we do so. Just an example, all the fairuse images in WPEN. Do you think we could go that way without endless discussions about licenses?

legoktm commented 2 years ago

No, I think such a discussion would be a mess. My guess is that the answer would be that fair use is not allowed.

Also, Debian is very concerned with building from source, or at least having the source in some modifiable form, which leads to the question of whether the zim file itself is the source, or whether it's all the scraped HTML files and the packaging should run zimwriterfs, etc. to build a zim file. But it's not like you ask video games to provide the source for all the audio/image files...

It's certainly technically possible to download the content at install time but that's generally frowned upon as debs are expected to be self-contained.

Thinking about this a bit more, I no longer agree with this. It's generally frowned upon when it's not expected. But if we had a package like "kiwix-autodownloader", it would be entirely reasonable for it to start downloading stuff when installed. I'm not exactly sure about downloading during the install time versus installing a systemd timer (or something) that immediately starts the download, but doesn't block "apt install ..." from finishing. Would that achieve your goal? Or does it really need to be at install time?

xvitaly commented 2 years ago

Also, Debian is very concerned with building from source

Fedora too. All Fedora packages must be built from sources on Fedora infrastructure. We can't redistribute such non-free stuff.

xvitaly commented 2 years ago

I think the current behavior is the best. User can manually download all needed zim packages (aria2 is used) from Kiwix Desktop UI.

This feature is more for image/distro builders than end-users.

kelson42 commented 2 years ago

Maybe I could no rephrase the need like: propose a solution easily packageable (and usable by distros or custom image creators) allowing to download content and make content available for kiwix-desktop and/or kiwix-serve.

xvitaly commented 2 years ago

This feature is more for image/distro builders than end-users.

Most distributions have the similar guidelines against non-free content. Also, I don't think that packaging a lot of 40+ GB files into packages is a good idea. Mirror owners won't be happy.

stale[bot] commented 2 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.