-
-
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
Redesign dependency-list creation for github prepare action #6255
Conversation
- add script to evaluate the dependencies - use new script in global Makefile for the dependency-list target - use global Makefile to create dependency-list in prepare.sh - avoid variables in DEPENDS definitions - make dependency-list.sh executable
@th0ma7 I want to remove some obsolete dependencies. Can't we remove The same applies to Another one is native/cmake-legacy. This one is used with |
yes certainly. although a fair bit of testing may be needed along with adapting the framework. Just to manage expectations, I can certainly review code but my next focus really needs to be python...
That's probably an oversight as I updated our debian image during the time I was workding on intel opencl and this may have be there while using the older image. I'll check if that can be removed.
Feel free to remove that altogether. I've been trying to keep Although my 2 cents are, cmake native and legacy have proved to be quite useful. I'd be tempted to keep the code for newer cmake as i'm sure we'll hit this again later in a year or two. Also, I believe it would be time to start stripping off broken packages that never received any love since pre-DSM6, along with deleting them from our repository online. As well, I would remove all the older toolchains as no longer needed and clean-up the code related to tc and tk accordingly. This would reduce the framework weight for a bit and accelerated archs evaluation. |
@th0ma7 thank you for the feedback. I think I will hold back this PR for prior creating some smaller PRs for:
Then, later on, in this PR:
Finally, to remove OPTIONAL_DEPENDS, I would prefer separated PRs again. |
…n_dependency_list
- incr. package revision - avoid variable in DEPENDS (for SynoCommunity#6255) - restore ownership of package directories for SRM/DSM < 7
…n_dependency_list
* tvheadend: fix path to ffmpeg(7) * tvheadend: minor adjustments - incr. package revision - avoid variable in DEPENDS (for #6255) - restore ownership of package directories for SRM/DSM < 7 * update changelog
Co-authored-by: hgy59 <[email protected]>
…n_dependency_list
- libicu 74 is the latest version that builds for DSM 6 - remove make variable in DEPENDS for SynoCommunity#6255
- avoid make variables in DEPENDS for SynoCommunity#6255
- libicu 74 is the latest version that builds for DSM 6 - remove make variable in DEPENDS for #6255
…n_dependency_list
…n_dependency_list
- some changes taken from PR SynoCommunity#6255 to reduce number of dependent packages - changes that trigger ffmpeg* - changes that trigger python311 (except vim, separated in PR SynoCommunity#6398)
…n_dependency_list
- follow up to SynoCommunity#6004 - PLIST must contain own files only - update revision.h patching - remove variable in DEPENDS for SynoCommunity#6255
…n_dependency_list
- avoid conflicting changes with SynoCommunity#6366
- avoid conflicting changes with SynoCommunity#6398
- avoid conflicting changes with SynoCommunity#6394
@hgy59, no objections from me (but I haven't reviewed it in great detail). With regard to the failures for |
It successfully builds for hi3535 and evansport for DSM 6.2.4.
|
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.
Lgtm, script code is nice and clean, well done. Maybe missing in your sort is a -u
in case there are duplicates such as eventually depending on both ffmpeg and python.
Also, i would suggest modifying our wiki (no clue where?) for the cross/appname to make that mandatory that they must match and no makefile variables are to be used.
Lastly, having any timing difference between run with your new script vs old method? (On my cell phone so maybe you already provided in your pr description).
Yes it is in the description |
The functions |
now added to makefile variables wiki page at https://github.com/SynoCommunity/spksrc/wiki/Makefile-variables |
- was not updated in SynoCommunity#6255
* fix dependency-list.sh - script was lacking some dependencies (not recursing into all dependent Makefiles) * cross/ntopng: avoid variable in DEPENDS - was not updated in #6255 * speedup dependency-list.sh - remove duplicates in cumulated dependencies early * optimize dependency-list script - remove obsolete unique filtering - apply python and ffmpeg dependencies on top level only
Description
This redesign speedsup the evaluation of dependent packages in github prepare action.
Instead of 3 to 5 minutes it now takes only a few seconds to create the dependency list that is required.
dependency-list.sh
script to evaluate the dependenciesDEPENDS
andBUILD_DEPENDS
definitionsThis script is designed to be used for the github build action only, to evaluate the packages to build and download sources for.
We still need the
dependency-list
target to find real dependencies for packages to build. The script uses all dependencies (it doesn't care about conditional dependencies) but when building packages we need the real dependencies and must not built dependencies not supported for specific archs or DSM versions.Mandatory framework changes
$(SPK_NAME)
are not allowed in dependency definitions anymoreChecklist
all-supported
completed successfullyType of change