Calibreweb not working

Good day

I am enthusiastic about yunohost and would like to help to improve it’s quality.

I noticed that calibreweb is currently not working. Downloading ebooks results in an internal server error (500).
It seems that calibreweb Version 0.6, that is intended for installation, does not match the current Python modules (Werkzeug). In the calibreweb administration (not yunohost) you have to update the app. After a yunohost restart, the app then works.

Is it enough if I post this observation here?
or should I report a new issue for the gitlab installation script
or should I try to fix the issue myself?

Thanks for a hint and stay healthy!

My YunoHost server

Hardware: Raspberry Pi at home
YunoHost version: 3.6.5.3
I have access to my server : Through SSH and through the webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : no

Probably best to open an issue on the github repo of this app

And, if you can, to open a pull request with a fix for this issue.

I have now found a solution for the version of the app used by yunohost.

Although I am not familiar with the tools and workflows, I would like to try opening a pull request.

Therfore I no would create my own github fork. I would have my own copy of the project. I would make the change there and test it. Then, with a pull request, I would ask the project owner to apply my changes.
Is it correct that way? Despite goggle’s help, I didn’t quite understand the difference between “branch” “fork” and “clone”.

To fix the error a file (web.py) has to be patched. There is already a patch for this file in (/sources/patches/app-web.patch).
I would now create a new file (web_final.py) based on the original version (web_orig.py) with all necessary changes. Then I create a new patch file with “diff web_orig.py web_final.py> app-web.patch”.
The new patch file then replaces the old one (/sources/patches/app-web.patch).
And then I hope that the installation works with the yunohost script.

I found this line in the install script: ynh_setup_source “$final_path”, that should do the magic.
However, I do not understand how the function knows which patch file to execute on which file.

I hope this is correct so far and would be happy about further instructions and hints.

It’s been a long time since my last pull request on a repository on which I wasn’t admin…
But my take would be to fork the repo, on your own account.

To git clone it locally on your computer to work on it.
When it’s done, you can push on your repo (the forked one).
And then, create a pull request from your repo to the official one.

Well and for your questions.
A branch is like a sub division of the repo, a kind of parallel world of the repo. You can work on a different branch without impacting others, and then you can merge branches between them.

A fork is a copy of a repo, with all its branches. A fork stay linked to its origin so when opening a pull request (to merge branches), it will suggest to merge to its origin repository.
That’s the usual way to suggest modifications to a repository.

Finally a clone is just (as far as I know) a local copy of a repository.
When you clone a repository on which you have write permission, you can push your modifications back to the distant repo.
So, it’s better to clone your fork, on which you can write.

Indeed, ynh_setup_source “$final_path” does the job of applying patches.
The doc says

Finally, patches named sources/patches/${src_id}-*.patch and extra files in
sources/extra_files/$src_id will be applied to dest_dir

The patch itself contains (the 2 first lines) the file to modify.

Thanks for the quick help and the good explanations.
The installation now works with my private fork.

But unfortunately I found another bug in the application, which is probably also related to the fact that the yunohost installation was frozen due to an LDAP patch in version 0.6.0.

I will probably have to ask the maintainer of the package and the developer of the app for advice.