all: move "shared/nm-keyfile" to "libnm-core/nm-keyfile"

Originally, these files were part of libnm-core and linked together.
However, that is a licensing violation, because the code is GPL-2.0+
licensed, while libnm-core also gets linked with libnm (it must thus
be LGPL-2.1+). The original intent behind moving the code to "shared/"
was to avoid the licensing issue, but also to prepare when we would add
a separate, GPL licensed libnm-keyfile. However, currently we hope to
be able to relicense the code, so that it actually could be exposed as
part of libnm. This is work in progress at ([1]).

[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/ ## 517

Anyway, the current directory layout is problematic. libnm-keyfile
depends on libnm-core, while libnm-core depends on code under shared.
That means, there is a circular dependency and meson's subdir() does
not work well.

Move the code.
This commit is contained in:
Thomas Haller 2020-06-09 17:20:40 +02:00
parent 98f3d68cbe
commit b760dee8c8
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
10 changed files with 36 additions and 32 deletions

View file

@ -528,9 +528,9 @@ $(shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_OBJECTS): $(libnm_core_lib_h_
###############################################################################
noinst_LTLIBRARIES += shared/nm-keyfile/libnm-keyfile.la
noinst_LTLIBRARIES += libnm-core/nm-keyfile/libnm-keyfile.la
shared_nm_keyfile_libnm_keyfile_la_CPPFLAGS = \
libnm_core_nm_keyfile_libnm_keyfile_la_CPPFLAGS = \
$(dflt_cppflags) \
-I$(srcdir)/shared \
-I$(builddir)/shared \
@ -543,23 +543,23 @@ shared_nm_keyfile_libnm_keyfile_la_CPPFLAGS = \
-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_WITH_LIBNM_CORE_INTERNAL|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)' \
$(NULL)
shared_nm_keyfile_libnm_keyfile_la_SOURCES = \
shared/nm-keyfile/nm-keyfile-internal.h \
shared/nm-keyfile/nm-keyfile-utils.c \
shared/nm-keyfile/nm-keyfile-utils.h \
shared/nm-keyfile/nm-keyfile.c \
libnm_core_nm_keyfile_libnm_keyfile_la_SOURCES = \
libnm-core/nm-keyfile/nm-keyfile-internal.h \
libnm-core/nm-keyfile/nm-keyfile-utils.c \
libnm-core/nm-keyfile/nm-keyfile-utils.h \
libnm-core/nm-keyfile/nm-keyfile.c \
$(NULL)
shared_nm_keyfile_libnm_keyfile_la_LDFLAGS = \
libnm_core_nm_keyfile_libnm_keyfile_la_LDFLAGS = \
$(CODE_COVERAGE_LDFLAGS) \
$(SANITIZER_LIB_LDFLAGS) \
$(NULL)
shared_nm_keyfile_libnm_keyfile_la_LIBADD = \
libnm_core_nm_keyfile_libnm_keyfile_la_LIBADD = \
$(GLIB_LIBS) \
$(NULL)
$(shared_nm_keyfile_libnm_keyfile_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
$(libnm_core_nm_keyfile_libnm_keyfile_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
###############################################################################
@ -1221,7 +1221,7 @@ nodist_libnm_core_tests_test_general_SOURCES = \
libnm_core_tests_ldadd = \
shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
shared/nm-keyfile/libnm-keyfile.la \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
@ -2305,7 +2305,7 @@ src_libNetworkManager_la_SOURCES = \
src_libNetworkManager_la_LIBADD = \
src/libNetworkManagerBase.la \
shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
shared/nm-keyfile/libnm-keyfile.la \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
@ -2396,7 +2396,7 @@ src_nm_iface_helper_SOURCES = \
src_nm_iface_helper_LDADD = \
src/libNetworkManagerBase.la \
shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
shared/nm-keyfile/libnm-keyfile.la \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
@ -2445,7 +2445,7 @@ src_initrd_nm_initrd_generator_LDADD = \
src/initrd/libnmi-core.la \
src/libNetworkManagerBase.la \
shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
shared/nm-keyfile/libnm-keyfile.la \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \

View file

@ -34,11 +34,12 @@ CFILE_GLOB=$(top_srcdir)/libnm-core/*.c $(top_srcdir)/libnm/*.c
# Header files to ignore when scanning.
IGNORE_HFILES= \
common.h \
nm-crypto.h \
nm-crypto-impl.h \
nm-dbus-helpers.h \
nm-core-internal.h \
nm-core-tests-enum-types.h \
nm-core-types-internal.h \
nm-crypto-impl.h \
nm-crypto.h \
nm-dbus-helpers.h \
nm-device-private.h \
nm-dhcp4-config.h \
nm-dhcp6-config.h \
@ -51,10 +52,13 @@ IGNORE_HFILES= \
nm-remote-connection-private.h \
nm-setting-private.h \
nm-utils-private.h \
nm-core-tests-enum-types.h \
\
test-general-enums.h \
\
nm-keyfile-internal.h \
nm-keyfile-utils.h \
test-general-enums.h
\
$(NULL)
# Images to copy into HTML directory.
HTML_IMAGES = libnm.png

View file

@ -7,11 +7,12 @@ src_dirs = [
private_headers = [
'common.h',
'nm-crypto.h',
'nm-crypto-impl.h',
'nm-dbus-helpers.h',
'nm-core-internal.h',
'nm-core-tests-enum-types.h',
'nm-core-types-internal.h',
'nm-crypto-impl.h',
'nm-crypto.h',
'nm-dbus-helpers.h',
'nm-device-private.h',
'nm-dhcp4-config.h',
'nm-dhcp6-config.h',
@ -24,10 +25,11 @@ private_headers = [
'nm-remote-connection-private.h',
'nm-setting-private.h',
'nm-utils-private.h',
'nm-core-tests-enum-types.h',
'test-general-enums.h',
'nm-keyfile-internal.h',
'nm-keyfile-utils.h',
'test-general-enums.h',
]
scan_args = [

View file

@ -236,7 +236,10 @@ libnm_libnm_core_aux_dep = declare_dependency(
libnm_keyfile = static_library(
'nm-keyfile',
sources: nm_keyfile_source + [libnm_core_enum_sources[1]],
sources: files(
'nm-keyfile/nm-keyfile-utils.c',
'nm-keyfile/nm-keyfile.c',
) + [libnm_core_enum_sources[1]],
dependencies: libnm_utils_base_dep,
c_args: [
'-DG_LOG_DOMAIN="@0@"'.format(libnm_name),

View file

@ -56,6 +56,8 @@ libnm-core/nm-crypto-gnutls.c
libnm-core/nm-crypto-nss.c
libnm-core/nm-connection.c
libnm-core/nm-dbus-utils.c
libnm-core/nm-keyfile/nm-keyfile-utils.c
libnm-core/nm-keyfile/nm-keyfile.c
libnm-core/nm-setting-6lowpan.c
libnm-core/nm-setting-8021x.c
libnm-core/nm-setting-adsl.c
@ -140,8 +142,6 @@ libnm/nm-vpn-plugin-old.c
libnm/nm-vpn-service-plugin.c
data/org.freedesktop.NetworkManager.policy.in.in
shared/nm-glib-aux/nm-shared-utils.c
shared/nm-keyfile/nm-keyfile-utils.c
shared/nm-keyfile/nm-keyfile.c
shared/nm-libnm-core-aux/nm-libnm-core-aux.c
src/NetworkManagerUtils.c
src/main.c

View file

@ -113,11 +113,6 @@ nm_libnm_core_aux_source = files('nm-libnm-core-aux/nm-libnm-core-aux.c')
nm_libnm_core_utils_source = files('nm-libnm-core-intern/nm-libnm-core-utils.c')
nm_keyfile_source = files(
'nm-keyfile/nm-keyfile-utils.c',
'nm-keyfile/nm-keyfile.c',
)
nm_libnm_aux_source = files('nm-libnm-aux/nm-libnm-aux.c')
nm_meta_setting_source = files('nm-meta-setting.c')