Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Move headers Part 2 #4940

Merged
merged 25 commits into from
Jun 2, 2023

Conversation

kodebach
Copy link
Member

@kodebach kodebach commented May 22, 2023

What happens in this PR?

Continuing from #4920, this PR includes further progress on the decisions mentioned in #4920. The goal for this PR is to finish all the header changes, i.e. src/include should (basically) have it's new contents completed with this PR.

  • 38b7e17 splits the old_helper.h header into more modular units
  • 5fe5bc1 is the only automated commit in this PR, it updates the files that used old_helper.h
  • 807a51f and 2e97bea are the formatting fixes and manual updates necessary after the automated commit
  • b455e37 until b03b163 were done manually. They split kdbprivate.h into more modular units. I did this manually, because I wanted to verify where kdbprivate.h is used and why. Partly to ensure there isn't some place that shouldn't use it and partly to inform how kdbprivate.h should be split up.
  • All following commits are additional fixes required to make things actually work

Hints for reviewers

As with #4920 this PR has a large number of changed files. Most of them once again are only updated #includes.

  • src/include/** split up, moved, rearranged headers according to decisions (the thing that causes all the other changes)
  • src/libs/elektra/CMakeLists.txt CMake update, not sure if it's needed here, may have slipped into the wrong commit and may only required by Move headers Part 3 #4941, but doesn't break anything
  • src/libs/elektra/backends.h new header extracted from kdbprivate.h
  • src/libs/elektra/hooks.h new header extracted from kdbprivate.h
  • src/libs/elektra/internal.c moved elektraMemcpy and elektraMemmove to keyset.c
  • src/libs/elektra/keyset.c adds a new DEFAULT_KEYSET_SIZE because the old KEYSET_SIZE is no longer in a header AND moved elektraMemcpy and elektraMemmove from internal.c
  • src/libs/elektra/keytest.c removal of keyIs* functions which are now static inline aliases
  • src/libs/elektra/symbols.map now exports elektraReadNamespace as private (no idea how it worked before)
  • src/libs/highlevel/elektra.h new header extracted from kdbprivate.h
  • src/plugins/xmltool/xmltool.h removal of unnecessary redeclaration of elektraStrLen
  • src/tools/kdb/gen/templates/collect.sh adds a mkdir -p (no idea what it is needed now)
  • tests/ctest/test_keyset_cow.c adds a new DEFAULT_KEYSET_SIZE because the old KEYSET_SIZE is no longer in a header

All other changed files are only changes in #includes.

Those are the main changes of this PR, below are some extra fixes to please the CI:

  • doc/man/** not sure why those changes were needed, but the CI complained
  • scripts/docker/openwrt/sdk/Dockerfile update OpenWrt image (should happen on master at some point too)
  • tests/linkchecker.whitelist add https://opensesame.libelektra.org and https://pull.libelektra.org because of certificate issues

Basics

  • Short descriptions of your changes are in the release notes
    (added as entry in doc/news/_preparation_next_release.md which contains _(my name)_)
    Please always add them to the release notes.
  • Details of what you changed are in commit messages
    (first line should have module: short statement syntax)
  • References to issues, e.g. close #X, are in the commit messages.
  • The buildservers are happy. If not, fix in this order:
    • add a line in doc/news/_preparation_next_release.md
    • reformat the code with scripts/dev/reformat-all
    • make all unit tests pass
    • fix all memleaks
    • fix the CI itself (or rebase if already fixed)
  • The PR is rebased with current master.

Checklist

  • I added unit tests for my code
  • I fully described what my PR does in the documentation
    (not in the PR description)
  • I fixed all affected documentation (see Documentation Guidelines)
  • I fixed all affected decisions (see Decision Process)
  • I added code comments, logging, and assertions as appropriate (see Coding Guidelines)
  • I updated all meta data (e.g. README.md of plugins and METADATA.ini)
  • I mentioned every code not directly written by me in reuse syntax

Review

Labels

  • Add the "work in progress" label if you do not want the PR to be reviewed yet.
  • Add the "ready to merge" label if everything is done and no further pushes are planned by you.

@kodebach kodebach mentioned this pull request May 22, 2023
19 tasks
@kodebach

This comment was marked as outdated.

@kodebach kodebach mentioned this pull request May 22, 2023
19 tasks
@kodebach kodebach changed the base branch from master to new-repo-layout June 1, 2023 10:39
@kodebach kodebach mentioned this pull request Jun 1, 2023
@kodebach kodebach marked this pull request as ready for review June 1, 2023 12:37
@kodebach
Copy link
Member Author

kodebach commented Jun 1, 2023

@lawli3t @atmaxinger @hannes99 @flo91 @lukashartl If you review, please read the PR description it explains what's happening in this PR and which files have interesting changes.

@kodebach
Copy link
Member Author

kodebach commented Jun 1, 2023

jenkins build libelektra please

tests/linkchecker.whitelist Outdated Show resolved Hide resolved
Copy link
Contributor

@hannes99 hannes99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and matches what was decided in the decision.

@kodebach
Copy link
Member Author

kodebach commented Jun 2, 2023

jenkins build libelektra please

@kodebach kodebach merged commit 5d4cd4a into ElektraInitiative:new-repo-layout Jun 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants