On 3/6/21 4:07 AM, Kristof Provost wrote:
On 5 Mar 2021, at 20:44, Mark Johnston wrote:
On Fri, Mar 05, 2021 at 02:40:29PM -0500, Ryan Moeller wrote:
On 3/5/21 1:19 PM, Konstantin Belousov wrote:
On Fri, Mar 05, 2021 at 11:23:56AM +0000, Ryan Moeller wrote:
The branch main has been updated by freqlabs:
URL:
https://cgit.FreeBSD.org/src/commit/?id=c4ba4aa547184ab401204096cdad9def4ab37964
<https://cgit.FreeBSD.org/src/commit/?id=c4ba4aa547184ab401204096cdad9def4ab37964>
commit c4ba4aa547184ab401204096cdad9def4ab37964
Author: Ryan Moeller <freql...@freebsd.org>
AuthorDate: 2021-03-02 10:29:17 +0000
Commit: Ryan Moeller <freql...@freebsd.org>
CommitDate: 2021-03-05 09:15:55 +0000
libifconfig: Overhaul ifconfig_media_* interfaces
Define an ifmedia_t type to use for ifmedia words.
Add ifconfig_media_lookup_* functions to lookup
ifmedia words by name.
Get media options as an array of option names rather
than formatting it
as a comma-delimited list into a buffer.
Sprinkle const on static the static description tables
for peace of
mind.
Don't need to zero memory allocated by calloc.
Reviewed by: kp
MFC after: 2 weeks
Differential Revision:
https://reviews.freebsd.org/D29029
<https://reviews.freebsd.org/D29029>
---
lib/libifconfig/Makefile | 2 +-
lib/libifconfig/Symbol.map | 9 +-
lib/libifconfig/libifconfig.h | 69 +++++++-
lib/libifconfig/libifconfig_media.c | 339
++++++++++++++++++++++++------------
share/examples/libifconfig/status.c | 27 ++-
5 files changed, 324 insertions(+), 122 deletions(-)
diff --git a/lib/libifconfig/Makefile
b/lib/libifconfig/Makefile
index 73dad36c1dc5..c6f006018427 100644
--- a/lib/libifconfig/Makefile
+++ b/lib/libifconfig/Makefile
@@ -7,7 +7,7 @@ INTERNALLIB= true
LIBADD= m
SHLIBDIR?= /lib
-SHLIB_MAJOR= 1
+SHLIB_MAJOR= 2
VERSION_DEF= ${LIBCSRCDIR}/Versions.def
SYMBOL_MAPS= ${.CURDIR}/Symbol.map
libifconfig is marked as internal, but we provide symbol
versioning for it,
and do it in the normal FreeBSD namespace. On one hand,
our policy is to
not bump symvered libs and to provide binary compat shims
as needed, on the
other, this is internal lib.
What is the purpose of maintaining symbol versions for it?
I have work in progress that changes libifconfig to a private
lib. I'm
not sure why markj@ added the symbol map, but I've been forced to
maintain it for my later changes to work.
I added it because there was some discussion of making it a public
library, and adding a symbol map was a step towards that. If it is
only
going to be a private library, then there's indeed no reason to
maintain
it.
Historically it’s been the aspiration (passive voice, because while
these have been my hopes I’ve not done any of the work) to make this a
public library, so e.g. appliance vendors could have a better way to
configure the system than doing |system(“ifconfig em0 10.0.0.1/24”);|.
Libifconfig is making progress thanks to Ryan’s work, but it’s not yet
ready for that sort of use.
Given that, it makes sense to keep it as an internal library for now,
and breaking the API is fine. I still hope that we’ll get it to the
point where it’ll be ready for public consumption (with stable API).
So I think the symbol map is mostly aspirational right now. If it’s a
maintenance burden I guess we can remove it, and re-add it when the
time comes.
Best regards,
Kristof
Speaking for myself, I don't find it too much of a burden to keep on top
of Symbol.map, but it does feel awkward bumping SHLIB_MAJOR if I don't
have to. If it's not necessary to do so for a private library then I
will gladly keep it at 2 or even drop it back to 1 if that is preferred
while I'm still fleshing out the API. I do have the library switched
from internal to private in my local branch so it can be shared with the
libifconfig bindings for flua that I've been keeping in sync with the
library.
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"