-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sickchill dsm7 #4743
Sickchill dsm7 #4743
Conversation
@hgy59 do I need to include the depends that are also included in my build_depends via cross/python38? I couldnt get it to build locally regardless. I followed some of the example of your changes to homeassistant. |
Signed-off-by: miigotu <[email protected]> Do not override arch, so that dependancies are cross compiled Signed-off-by: miigotu <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO you need a requirements file too, to install all dependencies that are not included as wheels (related to #4589)
spk/sickchill/Makefile
Outdated
PIP=pip3 | ||
|
||
WHEELS = src/requirements.txt | ||
WHEELS = sickchill==2021.7.14.post8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please always use requirements.txt
even with only one dependency.
|
||
set_unix_permissions "${SYNOPKG_PKGHOME}" | ||
set_unix_permissions "${SYNOPKG_PKGVAR}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If needed, this is for DSM<7 only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the venv is in SYNO_PKGHOME and needs to be writable by sc-sickchill. On dsm7 this will just be ignored, but I'd like to make the package work for both dsm6 and 7.
Is syno_pkghome defined for dsm6 in the new toolchain?
@miigotu you can remove the upgrade wizard files as the provided information is for DSM5->DSM6 upgrade. This package was never published for DSM5 (and we do not provide DSM5 -> DSM6 upgrade anymore). |
@miigotu the cross compilation of sickchill fails. I have no idea, what's wrong with newer versions.
|
It requires a prerelease version of poetry x.X, that's why the key error, that isn't the issue I was having locally, but I think I can pip install in the Makefile for that |
The problem I had with the requirements file was because of that other issue also, because we rely on some packages that only a bdist_wheel is available and not an sadist, and also because I have some things pinned to a newer version than is compiled on the syno, namely cryptography and pynacl |
PyNaCl builds find with We first need a build environment to cross compile cryptograpy with rust instead of gcc. Maybe @th0ma7 can help with this. EDIT: |
@miigotu I cannot find a newer PyNaCl than 1.4.0 (current cross/PyNaCl) neither on github nor pypi.org. |
I'll see if it works to add them when I get up later. It all totally booked out on me when I tried to build it, because it builds them from source and maybe I had my build/build_depends wrong. The bigger ones were beekeeper and kodipydent that had no source archive on pypi, which I forked and pushed up sdist as beeleeper-alt and kodipydent-alt for now which solved those two. Honestly the way it is SC could probably work without any extra wheels because sc currently is installing any missing packages (I hate it, but it's leaving even more people out in the cold if I don't since I removed libs that should never have been bundled in the first place.) The only problem with the existing dsm6 package is the permissions on the venv. |
I certainly can but that will have to wait for a bit as I'll be disconnected for a little while. |
I know how to build cryptography, I'll give a go at updating cross/cryptography a bit later (it will benefit a lot of people even outside of sc) |
…ngs for wizard. Signed-off-by: miigotu <[email protected]>
Signed-off-by: miigotu <[email protected]>
Signed-off-by: miigotu <[email protected]>
Signed-off-by: miigotu <[email protected]>
@@ -20,8 +20,5 @@ | |||
"allowBlank": true | |||
} | |||
}] | |||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, this should be kept, to inform the user about the permission handling.
Only the upgrade wizard is obsolete, as it was ment to inform on upgrades when the original install wizard was without such an information or without the group sc-download (as with DSM5).
I created sickchill (2021.5.6.post1) that successfully installed beekeeper and kodipydent by packing the manually downloaded wheels into the spk. |
Having
In this order it errors out with
for above
If I switch around BUILD_DEPENDS to be
If i make
Then a different error where setup.py is being looked but not found. The directory
Any guidance on this issue would be good. I also read is other issues that a
|
You'll have to get rust installed in the crossenv before any of it will work. |
Btw, the build does not depend on poetry unless you are going to use poetry export in the makefile to eliminate src/requirements.txt. |
Clean install Debian 10 WSL2.
Not sure on installing rust in crossenv as very new to this building spk thing. Some help. |
It's never going to build on wsl. You need to use the docker image, see the spksrc readme. |
@miigotu I know what I'm going to say isn't a fix for DSM7 but I took the master branch of spksrc and added in This fixes the ownership issues with the current first release, and no other changes. Edit: Probably have to edit the |
WSL2 debian - I built the original 20210329-1 from master no problem. No errors. It's a VM under Hyper-V. |
Thanks everyone! 5ace92b is merged now, so I think this can be closed. |
I was trying to rework this package last night and this is as far as I got. sickchill version needs pinned in the WHEELS line to the latest version once we get it to build.
Sickchill itself does not need cross compiled, just the dependencies. It would be cool if the framework did not require every wheel to be built from source, only build the ones that are not pure python and do not have a valid release that would work for the target arch.
build_depends and depends dont seem right, just need pynacl, poetry, and mediainfo on top of what is included with python38
Checklist
all-supported
completed successfully