-
-
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
FlexGet: Update to v3.13.16 #6403
Conversation
Hey @th0ma7, I’ve submitted a PR attempting to update FlexGet, but I encountered some challenges with the dependencies. My approach was to first build a clean package and then address issues based on the build failures. Here’s an outline of the steps I followed:
This process allowed me to submit the initial commit. However, I encountered issues with the Currently, we’re facing build failures on certain architectures due to the
Build log for evansport-7.1
Build log for x64-6.2.4
Any guidance or suggestions on resolving these issues would be greatly appreciated! |
@mreid-tt here's how I normally proceed, taking
For cross-compiled wheels that does not build, I temporarely move them to Then I try figuring out the 1-2 wheels causing issues. Once you are at that point, to help you debug:
If it is missing build dependencies then you will have to create a Otherwise it's a matter of playing with the build options. There's a few good examples you can refer to in Hopefully this helps a bit? |
eabfe53
to
7a7cc9e
Compare
@th0ma7, I've done the re-base but now there are builds that appear to succeed but if you check the detailed logs the same failures exist but they seem to now just be skipped? For example in the armv7 logs we still have this:
|
Yeah, i noticed that too. I believe it only happens on armv7 when building the crossenv. Reinvoking the build process fixes that. I think that has been there since quite a long time and it does not impact the wheel build process as sufficient depwndencies are already available by then. I'll investigate further and try to find a proper fix. |
I don't think it's only with arm7. I see the same with evansport-7.1 logs:
The example with hi3535-6.2.4 logs shows similar output as above:
This is true as well for the 88f6281-6.2.4 logs:
|
Thanks for the detailed build guidance, @th0ma7. Unfortunately, it seems these instructions require a local build environment to execute the commands. As I don’t have access to any x86 platforms, I’ve been unable to set up a development environment and typically rely on GitHub builds for testing. This limitation hasn’t been an issue with my work on the |
I'm not sure if @hgy59 can assist, but it seems the fix I initially implemented to resolve issues with building
The build worked fine for |
I guess we just have to drop support for DSM < 7 and comcerto2k here, due to outdated toolchains. |
384d376
to
e56c3db
Compare
@th0ma7, I've revisited your examples in However, the issue with Do we have the capability to patch the wheels code on the fly, or would I need to create a |
Excellent!
No we don't unless we migrate it to Although there is an alternative using requirement files. if you look in deluge crossenv requirement file you'll find a
The egg part is what tells our build system what version this actually is. So in your case I did a quick test:
|
@mreid-tt latest build failed due to wrong digests for pendulum |
@mreid-tt I guess you saw this issue? python-pendulum/pendulum#784 |
Found an official debian patch for this issue https://sources.debian.org/patches/pendulum/3.0.0-2/rust-Use-i64-for-internal-unix-timestamps.patch and it was merged into pendulum master with this commit: |
@mreid-tt cross build still does not work: the same in my local environment:
OK got it, 32-bit failed but errors were ignored... |
8039a0f
to
37a211c
Compare
@th0ma7 it fails to cross compile pendulum AFAICS it calls maturin for the target arch instead of the build arch ( any bells are ringing? |
Yeah it does, i did encountered with requirement based pip builds. I assume this is from python-wheel.mk? |
@th0ma7, I noticed that in earlier versions of the source repository, the EDIT: The pyproject.toml has this section:
|
I honestly have no clue on wetter including them or not... And still, the issue found earlier needs fixing. Will look at it later today. |
yes, cross/pendulum/Makefile includes (included) OK, found it
found similar in So the python-wheel solution for pendulum 3.0.0 (with a patch) would work too (tested armv7-7.1 so far). |
Noted. I'll leave them out for now. The last thing I wanted to check is that in earlier versions of the requirements files some wheels were commented out as follows:
I assume these are so because they overlap with what Python 3.11 installs? Do I need to do this here?
Umm, would this be reintroducing the |
Yes, theses are part of the mandatory wheels already included in the python311 package, so no need to re-include them.
Forgot you don't have a build system locally. @hgy59 can you test that out with this specific use-case? I may be including additional small fixes to that PR. |
@th0ma7, I've reintroduced the
|
Thnx for testing it out. It also means it's most probably working 🚀 I'll be including this code in my PR for testing purpose then discard it before merging. As for the error, it seems it needs support for atomic which isn't the case for armv5 if I recall (similar to openssl). @hgy59 may be able to do some magic around that? Out of curiosity, was it working using requirements with git+https url for those platforms? |
Now that I look at it more closely for the previous successful build, both platforms had errors like this:
|
578e52a
to
58dbd08
Compare
@th0ma7, I've applied the following restrictions to the
|
* python-wheel.mk: Test fix for maturin built based wheels * add pendulum-wheel - add cross/pendulum with patch for 32-bit archs - add cross/pendulum to python311-wheels * python-wheels.mk: Align method for wheel-compile and python-module * wheel.mk: Fix typo and disable main wheel cookie * python3*-wheels: pendulum reqquires atomic to build * wheel.mk: Fix type where CROSSENV_WHEEL_PATH needs using := * python311/numpy: Simplify crossenv definitions * wheel-compile.mk: Fix crossenv finding using wheel variables * cross/pendulum: synchronize between #6403 and #6409 * python312: Remove deprecated numpy crossenv definition files * python-wheel|module.mk: Fix typo in crossenv call and standardize * python312: Update all wheels to latest version * python311-wheels: Remove maturin PATH definition as no more needed * python312-wheels: Update all wheels to latest versions * wheel.mk: Numerous fixes for non-impactful warnings or errors * py311-312: Keep msgpack to 1.0.5 for it to build with gcc 4.9.x * borgbackup: Fix build of newer version * py312-wheels: Disable poetry as it fails to build * python312-wheels: Disable pydantic_core as it fails to build * pydantic-core: Migrate python-wheel.mk build as fails using pip * wheel.mk: Enforce exiting on error during while loop * python313: Update default wheels and crossenv definition * python311: Update default wheels and crossenv definitions * python313-wheels: Creation of initial package * python.mk: Only python-wheels.mk entries remove when symlinks * python-wheel.mk: Enable compile, install and plist status cookie * pillow: Migrate from pip build to cross/pillow * pillow: Handle older gcc versions * py312-313: Handle rpds-py and greenlet exceptions * py312-313: Extra requirement for rpds-py with newer gcc * Update cross/pillow/Makefile Co-authored-by: hgy59 <[email protected]> --------- Co-authored-by: hgy59 <[email protected]>
1f55c7d
to
efc2526
Compare
Fixes based on python311-wheels
efc2526
to
2c836b0
Compare
@th0ma7, I’ve removed the test code and integrated your updated implementation of |
@mreid-tt does flexget still work after merge? |
@hgy59, I performed a clean install on DSM 6 with the one published to the repo and it installed without issue on my VirtualDSM. Install Log
Service Log
|
Description
This PR includes the following:
Fixes #6395
Checklist
all-supported
completed successfullyType of change