Summary: | [NEW PORT] net-p2p/bazarr: Automatic subtitle downloader for Sonarr and Radarr | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Michiel van Baak Jansen <michiel> | ||||||||||||||||||||||||
Component: | Individual Port(s) | Assignee: | Tobias C. Berner <tcberner> | ||||||||||||||||||||||||
Status: | Closed FIXED | ||||||||||||||||||||||||||
Severity: | Affects Only Me | CC: | andrej, diizzy, koobs, michiel, python, tcberner, ygy | ||||||||||||||||||||||||
Priority: | --- | Keywords: | feature, needs-qa | ||||||||||||||||||||||||
Version: | Latest | Flags: | koobs:
maintainer-feedback+
|
||||||||||||||||||||||||
Hardware: | Any | ||||||||||||||||||||||||||
OS: | Any | ||||||||||||||||||||||||||
Attachments: |
|
Review items: - Upstream supports [1][2] Python 3.6+ (testing up to 3.8). USES=python:<version-spec> should be 3.6+ or 3.6-3.8 - lxml RUN_DEPENDS version specifier should match the version specified in upstream requirements.txt (>=4.3.0) - All importable .py files need to be optimized/processed (pyc/pyo files). Ports using distutils (setuptools) and autoplist handle this automatically. This packages doesnt use setuptools (ask them to package and ship this via PyPI please). Not doing so means that the pyc/pyo files will be created at run time, thereby leaving pyc/pyo orphaned files leftover after pkg removal (since they're not referenced in the pkg-plist) Use a post-install: Python "compileall" script (provided examples/references via IRC) to process all .py files and include them in the pkg-plist. Note: the net-p2p/couchpotato port, which this port was based on, is also affected by this (only packaging .py files) [1] "bazarr require Python 3.6 or greater and can be run from source." [2] "Install Python 3.6 or greater (latest is good)" Comment on attachment 211458 [details]
bazarr-0.8.4.1.diff
Upstream needs some work first.
Created attachment 212077 [details]
bazarr-0.8.4.2.diff
Added new port bazarr.
portlint: OK
Tested and works on 12.1-RELEASE amd64
Setting up poudriere now to run testport on it.
Created attachment 212117 [details]
bazarr-0.8.4.2.diff
Removed unusable binaries and header files from source, cleaning up the installed files list a bit.
testport: 12.1-RELEASE amd64: OK
portlint: OK
Running 'in production' on my home setup (12.1-RELEASE-p2)
(In reply to Michiel van Baak from comment #4) Works on my home server too, without any problems. Was looking into making a port myself, when I found this PR. Thanks! Created attachment 215356 [details]
bazanrr-0.8.4.4.diff
Created attachment 217536 [details]
bazarr-0.9.0.2.diff
Created attachment 219056 [details]
bazarr-0.9.0.5.diff
Is it possible to unbundle libraries? https://www.freebsd.org/doc/en/books/porters-handbook/book.html#bundled-libs (In reply to daniel.engberg.lists from comment #9) Yeah, that's probably better. I'll give it a shot later. Created attachment 219594 [details]
bazarr-0.9.0.6.diff
Updated to latest bazarr release that fixes an issue with IMDB now prepending a 0 on id's
Couple of things on the unbundling: I talked this over with the owner of the project. They are not going to unbundle anytime soon. The main reason being (copied from chat on their public discord): morpheus65535: TBH, I totally agree that this would be the best to do it in a perfect world :wink: morpheus65535: Unfortunately, this is not the way we've done thing and I won't jeopardize the stability of Bazarr to make it that way morpheus65535: There's not enough man power to maintain and support Bazarr to take that risk morpheus65535: It's up to you bu keep in mind that it will stay an unsupported pkg. So yeah, I can give it a shot, but the patches will be less than simple. Some bundled libraries have local patches, which makes it a bit harder to unbundle. I'll try to get some basic setup.py and unbundling work done in a fork of the project, but I dont know when I'll have enough time to focus on that. Going from here, I dont know if this is ok and the current port can be added even with bundled libs, or if this really is a showstopper. Up to the committers to decide. Created attachment 225523 [details]
bazarr 0.9.5 and bazarr-devel 0.9.6-beta.17
Added bazarr and bazarr-devel
Updated the plist files to not be python version specific
The bundled dependencies are not unbundled. It will be a LOT of work, and there are local changes to some of them to make the software work.
I know the porters handbook states it should be unbundled, but that is not really an option here.
Both versions run-tested and build for amd64 FreeBSD 11.4, 12.2 and 13.0
Could you please upload the patch file here directly? (In reply to Guangyuan Yang from comment #14) No, it's 1.2MB (the plist files are big, a lot of python libraries and all .py files have their compiled .pyc file listed as well) and bugzilla doesn't let me. I got an error message from bugzilla, stating I had to upload the patch to some place and link it here. Created attachment 225530 [details]
xz compressed archive of the patch to add bazarr 0.9.5 and bazarr-devel 0.9.6.beta-17
The 'patch' contains a link to my nginx server where I put the 'git format-patch' output since it's 1.2MB uncompressed, and I cannot upload it.
fuz and skered on libera.chat #freebsd-bugs IRC channel suggested I upload the patch after compressing it with xz. This file is that.
Created attachment 225641 [details]
0001-Add-ports-for-bazarr-and-bazarr-devel.patch
bazarr 0.9.5
bazarr-devel 0.9.6-beta.18
Bazarr is a companion application to Sonarr and Radarr that manages and
downloads subtitles based on your requirements.
- net-p2p/bazarr uses latest stable release
- net-p2p/bazarr-devel uses beta builds (created automatically from
development branch once a day, if there were changes to that branch)
- Ports dont have bundled dependencies unbundled (yet).
Talked this over with upstream, they are not going to unbundle
for support-workload avoidance and ease-of-install they get from the
fact they bundle all dependencies on specific versions.
- Reserve UID and GID for bazarr daemon process
- Add to net-p2p/Makefile
I did not unbundle the python dependencies (like discussed before on PR 243967) as there are many, and upstream is not going to do this as they bundled specific versions to make their support load manageble.
Moved from a static pkg-plist to a TMPPLIST like it was done for the tautulli port to make maintaining that a bit easier for me.
Created attachment 225642 [details]
0001-Add-ports-for-bazarr-and-bazarr-devel.patch
Fixed COMMENT lines. Thanks to @FUZxxl on libera.chat for spotting it
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=22d8cccfd08f6f06b9c9b7f6732611d572f622a0 commit 22d8cccfd08f6f06b9c9b7f6732611d572f622a0 Author: Michiel van Baak Jansen <michiel@vanbaak.eu> AuthorDate: 2021-04-28 13:20:58 +0000 Commit: Tobias C. Berner <tcberner@FreeBSD.org> CommitDate: 2021-07-14 13:52:51 +0000 net-p2p/bazarr*: new ports for bazarr and bazarr-devel Bazarr is a companion application to Sonarr and Radarr that manages and downloads subtitles based on your requirements. - net-p2p/bazarr uses latest stable release - net-p2p/bazarr-devel uses beta builds (created automatically from development branch once a day, if there were changes to that branch) - Ports dont have bundled dependencies unbundled (yet). Talked this over with upstream, they are not going to unbundle for support-workload avoidance and ease-of-install they get from the fact they bundle all dependencies on specific versions. - Reserve UID and GID for bazarr daemon process - Add to net-p2p/Makefile - The plists are auto-generated as in multimedia/tautulli. Website: https://www.bazarr.media Changelog: https://github.com/morpheus65535/bazarr/releases Bugtracker: https://github.com/morpheus65535/bazarr/issues PR: 243967 GIDs | 2 +- UIDs | 2 +- net-p2p/Makefile | 2 ++ net-p2p/bazarr-devel/Makefile (new) | 47 ++++++++++++++++++++++++++++++ net-p2p/bazarr-devel/distinfo (new) | 3 ++ net-p2p/bazarr-devel/files/bazarr.in (new) | 42 ++++++++++++++++++++++++++ net-p2p/bazarr-devel/pkg-descr (new) | 4 +++ net-p2p/bazarr/Makefile (new) | 46 +++++++++++++++++++++++++++++ net-p2p/bazarr/distinfo (new) | 3 ++ net-p2p/bazarr/files/bazarr.in (new) | 42 ++++++++++++++++++++++++++ net-p2p/bazarr/pkg-descr (new) | 4 +++ 11 files changed, 195 insertions(+), 2 deletions(-) Committed. Thanks :) |
Created attachment 211458 [details] bazarr-0.8.4.1.diff Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you. * portlint ok Tested and running correctly on FreeBSD 12.1-RELEASE amd64