Skip to content

ABI: Refactoring for libnetplan.so.1#434

Merged
slyon merged 7 commits intocanonical:mainfrom
slyon:pre-1.0
Jan 22, 2024
Merged

ABI: Refactoring for libnetplan.so.1#434
slyon merged 7 commits intocanonical:mainfrom
slyon:pre-1.0

Conversation

@slyon
Copy link
Contributor

@slyon slyon commented Jan 18, 2024

Description

Please review commit-by-commit.

Bumping libnetplan's SOVERSION to 1, indicating breaking changes. Also, bumping Netplan's version to "1.0" already, in preparation for the next release.

I've dropped some more legacy code and cleaned up the existing public & internal APIs, making sure we do not export anything that is either prefixed with _netplan_ (internal API) or netplan_ (public API).

Note

Feel free to ignore the last (big) commit in "abi-compat", as that is auto-generated (e6b3c7d)

Known issues

One thing I noticed already is, that it is building against noble-release using systemd v253 (instead of v255 from -proposed), therefore getting the wrong systemd-generator path from pkgconf.

FR-3760

Checklist

  • Runs make check successfully.
  • Retains 100% code coverage (make check-coverage).
  • New/changed keys in YAML format are documented.
  • (Optional) Adds example YAML for new feature.
  • (Optional) Closes an open bug in Launchpad.

@slyon slyon changed the title Refactoring for libnetplan1 SOVER Refactoring for libnetplan.so.1 Jan 18, 2024
@slyon slyon force-pushed the pre-1.0 branch 2 times, most recently from fd4f857 to 89ebac9 Compare January 18, 2024 11:31
The new systemd-dev build-dependency is not available on Jammy.
But it is part of the 'systemd' B-D itself.
@slyon slyon force-pushed the pre-1.0 branch 2 times, most recently from 79baf2b to e6b3c7d Compare January 18, 2024 11:55
@slyon slyon marked this pull request as ready for review January 18, 2024 13:04
@slyon slyon requested a review from daniloegea January 18, 2024 13:04
Copy link
Contributor

@daniloegea daniloegea left a comment

Choose a reason for hiding this comment

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

lgtm! I just left 2 non-blocking comments.

@daniloegea
Copy link
Contributor

Oh, about the Network Manager tests. I'm not sure why they are failing :( I tried it locally with netplan.io from -proposed and systemd from release (253) they just work... not sure if it's related to the usrmerge stuff...

@daniloegea
Copy link
Contributor

wait... we got rid of the old .0 shared library, Network Manager needs to be rebuilt on Noble to work properly.

@slyon
Copy link
Contributor Author

slyon commented Jan 18, 2024

wait... we got rid of the old .0 shared library, Network Manager needs to be rebuilt on Noble to work properly.

Ahh, yes! That might be it. On the distro side this will be enforced by changing the libnetplan1 package name. Inside the CI I need some way to work around it... maybe rebuilding NM.

@slyon slyon force-pushed the pre-1.0 branch 5 times, most recently from 1e8a30b to 13b067c Compare January 22, 2024 13:06
slyon added 6 commits January 22, 2024 14:53
Also re-build the NetworkManager package during test, to account for the
new libnetplan.so.1 shared object.
They are now all encapsulated inside the netplan_state struct, to be used through the API.

Also, restructure the generator's includes for better separation of public vs internal headers.
@slyon slyon changed the title Refactoring for libnetplan.so.1 ABI: Refactoring for libnetplan.so.1 Jan 22, 2024
@slyon slyon merged commit 6072142 into canonical:main Jan 22, 2024
@slyon slyon mentioned this pull request Jan 22, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants