-
Notifications
You must be signed in to change notification settings - Fork 123
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
[FLOSS H3] simplify infos/status #4758
Conversation
But AFAICT The libelektra/src/libs/tools/src/plugin.cpp Line 157 in fda27d8
on (almost) every plugin. That also includes some checks for |
Okay, that makes sense, thank you for your help! I currently see two options to resolve the issues:
Personally I think the 2. option is more appropriate, do you agree with that? |
@markus2330 What do you say? |
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.
Small updates from changed terminology and decisions.
Changing all READMEs is needed to fix #666, which purpose is to update/simplify what is allowed in Please fix Replacing "nodep" and adding the storage features is something bigger, please start with applying the changes of |
3852936
to
a03c75e
Compare
Parsing the contract to retrieve all available tags is not working anymore, as the Here is the parsing function for reference, hopefully it gives you a better understanding of what I mean:
|
Looking at the tags which aren't available anymore (except I adjusted the For this, I removed the restraint that |
Another thing I don't fully understand is where the |
@markus2330 I would appreciate any thoughts on this, as I don’t want to make this decision on my own. Thank you very much! |
You are doing a great job here! Thanks for diving in!
This is a problem to be fixed in CMake.
For update-infos-status it actually makes sense to parse what we have in the repo. (But if you already implemented otherwise, it is fine, too)
The plan is to use it in src/plugins/*/README.md of the storage plugins. But it might be too much work for you to find out for all the storage plugins which features they have. About the replacements (unchanged lines are okay as you suggested): concept -> experimental
+ coverage -> tested/unit // can be cross-checked by looking at https://doc.libelektra.org/coverage/master/debian-bullseye-full/
+ limited -> pluginfeatures.h // this is replaced by pluginfeatures.h
+ readonly -> pluginfeatures.h
+ nodoc -> documented
+ writeonly -> pluginfeatures.h
+ tested -> tested/unit or tested/shell (?) // tested/shell can be determined by grepping for TEST_README in the plugin's CMakeLists.txt
- conformant -> ? // no replacement
+ difficult -> experimental
unfinished -> preview
final -> productive
+ memleak -> memleak // memleak is unchanged, still exists
- reviewed -> documented // reviewed can be discarded
unittest -> tested/unit
+ specific -> pluginfeatures.h limited
shelltest -> tested/shell
+ global -> hook
- libc -> ? // discard |
How should I handle the tags that are now covered by Would it be a good approach to remove them first and add them back in a new PR, as we have to check the features used by each plugin anyway? Checking it the features of all plugins is indeed too much work for me, at least until the deadline tomorrow. Edit: An alternative approach would be to to create another script that migrates the feature tags to be in infos/features, I'm currently implementing the script. |
I successfully migrated all the tags that are features using my script. For some reason, the script is completely deleting the READMEs from some of the plugins and I couldn't figure out why. I will join tomorrows consultation hour, so that hopefully we can manage to solve that issue. |
|
854a57c
to
a9beaa2
Compare
Update on how I will change the tags:
Replacing:
|
I'm currently running in to a new problem: |
@markus2330 @flo91 I am also unhappy about the way I solved one particular issue:
Removing or changing the experimental tag (maybe to Another more general problem that I noticed is that the check "FULL" is always failing, as Intel x86 builds on macOS are generally not supported anymore by the CI. |
So far, two issue still occur that I have trouble to fix: (Edit: solved now) libelektra-c.so not found``` running test commands with parent key spec:/tests/script/gen/highlevel/commands error: kdb gen failed: The command /home/jenkins/workspace/libelektra_PR-4758@3/build directory/bin/kdb gen terminated unsuccessfully with the info: Was not able to load such a plugin!Maybe you misspelled it, there is no such plugin or the loader has problems. Please report the issue at https://issues.libelektra.org/
selected default ... is not selected in PLUGINS``` CMake Error at src/plugins/CMakeLists.txt:73 (message): selected default storage (dump) is not selected in PLUGINS, please change KDB_DEFAULT_STORAGE or PLUGINSCMake Error at src/plugins/CMakeLists.txt:81 (message):
|
1cfe5aa
to
c2c213e
Compare
52e9a5e
to
558708a
Compare
Yes, I still have trouble rebasing, but now the commit history looks fine again |
There are many tests failing: https://build.libelektra.org/blue/organizations/jenkins/libelektra/detail/PR-4758/59/tests I try to retrigger the build. Did you try to reproduce it locally? |
jenkins build libelektra please |
Yes, as far as I can see they all came down to the same problem, so one fix should be able to fix them all.
I will try that now |
Testing it locally doesn't work for me.
|
@markus2330 I've been looking into this for over an hour now but I honestly have no idea where these problems come from. Especially because the problems just came up after fixing the tag parsing. |
Looks like nodep is missing in some core plugin (probably backend plugin). Probably some bug in the parsing was introduced. You could, e.g., print what CMake parses and compare with how it should be. |
I don't think
I don't know why that happens, but if An even better proof of this is that there are
I think the issue might actually be in the C++ code of the |
Also you should only focus on the |
The C++ parsing code is in src/libs/tools/src/plugin.cpp line 169-. Maybe it has problems with spaces at end or similar? It should now be impossible that the data is out-of-date, as it directly includes plugincontract.h. @kodebach is there actually some code you know that directly works with "global" and might have problems that it is now called "hook"? The code in src/libs/tools/src/backend.cpp GlobalPlugins::serialize seems to broken anyway? |
I know nearly nothing about the C++ tools code. I only did the bare minimum to make
AFAIK spaces at the end of lines in Markdown files would make the formatting check fail, so there shouldn't be any. |
I looked into this before, but couldn't see anything wrong so far. Here they are being combined:
and than the providers are being split by this macro:
While this seems to be a potential source of errors, I couldn't see why exactly it would be: The prints that I put in there might help to check that. |
The more I look at it the less I understand about this bug... It happens in both On a random guess: Have you tried undoing the changes to |
5436086
to
558708a
Compare
Co-authored-by: Klemens Böswirth <23529132+kodebach@users.noreply.github.com>
I'm glad that I'm not the only one feeling like this 🥲
Worth a try, I'll do so now. |
I just noticed one other thing in the contract:
Integers might not big enough the handle the value of the |
This is mainly for debugging
Unfortunately, the same error persists. |
I mark this stale as it did not have any activity for one year. I'll close it in two weeks if no further activity occurs. If you want it to be alive again, ping by writing a message here or create a new PR with the remainder of this PR. |
I closed this now because it has been inactive for more than one year. If I closed it by mistake, please do not hesitate to reopen it or create a new PR with the remainder of this PR. |
Reopening the pull request #3590 after rebasing to the current master.
fixes #666
fixes #3504
Basics
(added as entry in
doc/news/_preparation_next_release.md
whichcontains
_(my name)_
)Please always add something to the release notes.
(first line should have
module: short statement
syntax)close #X
, are in the commit messages.doc/news/_preparation_next_release.md
scripts/dev/reformat-all
Checklist
(not in the PR description)
Review
Labels