johnfactotum / foliate

Read e-books in style
https://johnfactotum.github.io/foliate/
GNU General Public License v3.0
6.15k stars 283 forks source link

Missing source code in 3.0.0 tar.gz release file #1103

Closed Oberonc closed 10 months ago

Oberonc commented 10 months ago

Hi,

The 3.0.0 source release file is missing the source code that should be in the src/foliate-js folder.

Also - all the files that start with .git* can be discarded in the release file to my opinion.

It's also a good opportunity to say - good job John ! + thanks for working on this project.

johnfactotum commented 10 months ago

Yeah this is a known problem with git/GitHub: https://github.com/dear-github/dear-github/issues/214

One can manually upload archive files, but there doesn't seem to be a way to change or disable the default ones: https://github.com/orgs/community/discussions/6003

johnfactotum commented 10 months ago

I've added a note to the release notes.

Oberonc commented 10 months ago

I believe the release source file (foliate-3.0.0.tar.gz) should be stand alone and usable. ie, contain all the source code needed for compilation / installation (except for external libs obviously)

People should be able to download the release file and run "meson setup build && sudo ninja -C build install" and get a working application (obviously only after having all dependencies installed) .. just like with any other release file of any other application (from github or not).

It is somewhat unreasonable to make a release that doesn't actually work.

johnfactotum commented 10 months ago

I don't disagree. But as stated above, even if one uploads a complete archive, it's still not possible to disable the broken downloads on GitHub.

Oberonc commented 10 months ago

May I suggest you make libfoliate-js an external dependency of foliate ?

johnfactotum commented 10 months ago

Well, it is an external dependency. That's exactly the problem. It's not part of the repository so you have to download it separately with git.

Oberonc commented 10 months ago

How about you make a release of it (libfoliate-js) instead of embedding it in the src folder ?

johnfactotum commented 10 months ago

Having a separate package won't solve this particular problem. You still won't get one single tarball that contains everything.

What you want is probably the opposite: put the files directly into the main repo. But foliate-js is still unstable and is developed with Foliate, so using a submodule makes more sense.

Anyway, like I said, this is a GitHub issue. If the second largest company in the world cannot be bothered to write a simple if (repo.hasSubmodule) hideSourceTarballDownloads(), then, well, I don't know what to say, but I'm not going to bother working around this issue. Besides, for most purposes, using git clone is probably better than downloading a tarball, anyway.