Commit graph

170 commits

Author SHA1 Message Date
Beniamino Galvani
f2756b930e release: bump version to 1.25.0 (development) 2020-04-10 18:08:10 +02:00
Beniamino Galvani
f80826fbb2 release: bump version to 1.23.90 (1.24-rc1) 2020-04-10 17:55:22 +02:00
Thomas Haller
46dd4d0fbf meson: merge branch 'inigomartinez/meson-license'
Add SPDX license headers for meson files.

As far as I can tell, according to RELICENSE.md file, almost everybody
who contributed to the meson files agreed to the LGPL-2.1+ licensing.
This entails the vast majority of code in question.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/397
2020-03-28 12:45:19 +01:00
Thomas Haller
46bc6d93d6 release: bump version to 1.23.2-dev 2020-02-21 20:35:02 +01:00
Thomas Haller
86dfc4b099 build: disable -Wimplicit-fallthrough warning with clang
Seems clang 10 got support for -Wimplicit-fallthrough, but does
not honor the code comments to suppress the warning. What a
disaster.

Try to detect it.

See-also: https://github.com/ClangBuiltLinux/linux/issues/   #636
See-also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e2079e93f562c7f7a030eb7642017ee5eabaaa10
2020-02-21 18:27:40 +01:00
Thomas Haller
4f9f228fed libnm: disable "-Wtautological-constant-out-of-range-compare" warning with clang
Seen on Debian 9, clang-3.8 (1:3.8.1-24):

    ../libnm-core/nm-setting-bond.c:596:49: error: comparison of constant 32 with expression of type 'NMBondMode' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
            nm_assert (_NM_INT_NOT_NEGATIVE (mode) && mode < 32);
                                                      ~~~~ ^ ~~

This warning is not useful. While it may be implementation defined how enum
values outside the defined ones are handled, we commonly rely on placing
special numeric values in enums (e.g. ((NMEnumType) -1)).

An enum is (with our compilers) just a glorified integer, and there is nothing
preventing it from being outside the enum values. The warning is not helpful
and outright wrong. Disable it.

See-also: https://bugs.llvm.org//show_bug.cgi?id=16154

Fixes: 957bb2e111 ('libnm: use binary search for _nm_setting_bond_option_supported() implementation')
2020-02-21 10:43:55 +01:00
Iñigo Martínez
648155e4a1 license: Add license using SPDX identifiers to meson build files
License is missing in meson build files. This has been added using
SPDX identifiers and licensed under LGPL-2.1+.
2020-02-17 13:16:57 +01:00
Will Dietz
2b17f246f0 build/meson: fix missing slash when detecting resolvconf/netconfig binaries
Fix detection for /usr/local/sbin/{resolvconf,netconfig}.
(and no longer automatically use "/usr/local/sbinnetconfig" if present)

Fixes: 5a0cef2f36 ('build: meson: uniform handling of rc managers')

[thaller@redhat.com: commit message adjusted]

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/349
2020-01-28 16:10:27 +01:00
Antonio Cardace
df1d214b2e clients: polkit-agent: implement polkit agent without using libpolkit 2019-12-24 10:13:51 +01:00
Antonio Cardace
559893a081 meson: bump up min version to 0.46 according to minimum requirements
The following used functions:
	`compiler.has_link_argument`,
	`link_whole arg in declare_dependency`,
	`compiler.has_multi_link_argument`
are present only from meson 0.46.
2019-12-23 11:05:50 +01:00
Antonio Cardace
eaa26408f3 meson: remove pid_t redefinition
For some reason has_type() does not work correctly and causes
redefinition of the type.
2019-12-23 11:05:50 +01:00
Antonio Cardace
6dc8167588 meson: add additional debug CFLAGS to use the same ones autotools uses 2019-12-23 11:05:50 +01:00
Antonio Cardace
65572f5329 meson: use has_link_argument() to check linker flags support 2019-12-23 11:05:50 +01:00
Thomas Haller
bc2ca6e603 release: bump version to 1.23.1-dev after 1.22.0 release
After 1.22.0 is released, merge it back into master so that
1.22.0 is part of the history of master. That means,
  $ git log --first-parent master
will also traverse 1.22.0 and 1.22-rc*.

Also bump the micro version to 1.23.1-dev to indicate that this is
after 1.22.0 is out.
2019-12-17 09:58:12 +01:00
Thomas Haller
7fe734f8bc release: bump version to 1.22.0 2019-12-17 09:24:16 +01:00
Thomas Haller
9e02a67619 systemd: merge branch systemd into master 2019-12-16 10:22:09 +01:00
Thomas Haller
490c46e527 meson/build: avoid using ternary as it breaks older meson
See mesonbuild issue 5003.

Oddly, this isn't inside a method call, while we use ternaries
inside a method calls otherwise. Anyway, workaround this and
avoid the crash.

Fixes: c21c6bc0be ('build/meson: allow configuring default for main.auth-polkit setting')
(cherry picked from commit 0e3400bef7)
2019-12-13 14:58:49 +01:00
Thomas Haller
0e3400bef7 meson/build: avoid using ternary as it breaks older meson
See mesonbuild issue 5003.

Oddly, this isn't inside a method call, while we use ternaries
inside a method calls otherwise. Anyway, workaround this and
avoid the crash.

Fixes: c21c6bc0be ('build/meson: allow configuring default for main.auth-polkit setting')
2019-12-13 13:48:25 +01:00
Thomas Haller
d27fcd0754 build/meson: allow configuring default for main.auth-polkit setting
We always build PolicyKit support, because it merely depends on some
D-Bus calls. However, there are two things to configure:

 - the default value for main.auth-polkit in NetworkManager.conf. This
   is now called "-Dconfig_auth_polkit_default=$VAL".

 - whether to install the policy file. This is called "-Dpolkit=$VAL".

These settings are mostly independent, so add "config_auth_polkit_default" to
make the default explicitly configurable.

(cherry picked from commit c21c6bc0be)
2019-12-11 13:13:05 +01:00
Thomas Haller
c21c6bc0be build/meson: allow configuring default for main.auth-polkit setting
We always build PolicyKit support, because it merely depends on some
D-Bus calls. However, there are two things to configure:

 - the default value for main.auth-polkit in NetworkManager.conf. This
   is now called "-Dconfig_auth_polkit_default=$VAL".

 - whether to install the policy file. This is called "-Dpolkit=$VAL".

These settings are mostly independent, so add "config_auth_polkit_default" to
make the default explicitly configurable.
2019-12-11 11:52:05 +01:00
Thomas Haller
0c06a0f368 release: bump version to 1.23.0 (development) 2019-11-29 15:46:22 +01:00
Thomas Haller
9b8c4c1cfd release: bump version to 1.21.90 (1.22-rc1) 2019-11-29 15:43:29 +01:00
Thomas Haller
69f048bf0c cloud-setup: add tool for automatic IP configuration in cloud
This is a tool for automatically configuring networking in a cloud
environment.

Currently it only supports IPv4 on EC2, but it's intended for extending
to other cloud providers (Azure). See [1] and [2] for how to configure
secondary IP addresses on EC2. This is what the tool currently aims to
do (but in the future it might do more).

[1] https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ubuntu-secondary-network-interface/

It is inspired by SuSE's cloud-netconfig ([1], [2]) and ec2-net-utils
package on Amazon Linux ([3], [4]).

[1] https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/
[2] https://github.com/SUSE-Enceladus/cloud-netconfig
[3] https://github.com/aws/ec2-net-utils
[4] https://github.com/lorengordon/ec2-net-utils.git

It is also intended to work without configuration. The main point is
that you boot an image with NetworkManager and nm-cloud-setup enabled,
and it just works.
2019-11-28 19:52:18 +01:00
Thomas Haller
21845ae4e3 build/meson: cleanup "meson-post-install.sh"
- the variables in meson.build and in the meson-post-install.sh script
  should have the same names.

- the positional command line arguments should be assigned to variables,
  because the variable name acts like a documentation what the variable
  means (contrary to the argument number).

- the boolean flags should not map to other special values, like
  "enable_docs ? 'install_docs' : ''". The name "enable_docs" is
  good already, it shall be either passed as 1 or 0 and use the name
  consistently.
2019-11-22 16:07:02 +01:00
Thomas Haller
6d7270e222 build/meson: cleanup configuration_data() for paths
We don't need such data duplicated. The build setup should
have only one configuration_data() for patching such values.

Now we only have one global, immutable data_conf dictionary with
configuration values. Note that none of the users of data_conf uses all
entries, but as the entries are basically only dependent on the
meson/configure option and valid for the entire project, this simplifies
to handling.
2019-11-22 15:59:31 +01:00
Lubomir Rintel
4e34807a8c release: bump version to 1.21.3-dev 2019-11-03 09:01:30 +01:00
Iñigo Martínez
23b4dc5f77 meson: Rename variables related to pkg-config variables
Some variables belong to variables in their correspondent pkg-config
file.

These variables have been renamed to `dependency_variable` to
reflect the dependency and variables from pkg-config files they are
related to.

Some of these has also been fixed to use paths relative to
installation prefix.
2019-10-01 09:49:33 +02:00
Iñigo Martínez
7e1aacaef2 meson: Remove tests related to check_so_symbols
These tests are already working since 19a718bc1 so `FIXME` comments
are not needed anymore.
2019-10-01 09:49:33 +02:00
Iñigo Martínez
700f6f6b5f meson: Improve Qt examples
Qt dependencies have been moved to the main build file where the
rest of dependencies are located. This makes it easier to find them.

The included directories has also reviewed and removed the
unnecessary ones.
2019-10-01 09:49:33 +02:00
Iñigo Martínez
096748a196 meson: Rename cflags variable
The variable holding the compiler flags, `cflags`, has been renamed
to `c_flags` to be consistent with the rest of build files.

Different objects used in the `test-dispatcher-envp` target
have been grouped together.

The dependency over the `libnm` library has been removed as it is
unnecessary.
2019-10-01 09:49:33 +02:00
Iñigo Martínez
a010fcb5f7 meson: Move network-config directory creation to main install file
The `ifcfg-rh` meson build file installs a new post install script
to create the `network-config` directory.

This has been moved to the main post install file so it's easier to
find because all post install steps are together and it avoids and
extra post install script execution.
2019-10-01 09:49:33 +02:00
Iñigo Martínez
ad4834009b meson: Improve crypto support build
There are multiple conditional steps for building encryption
support. This is because the support varies from `gnutls` or `nss`.

This has been improved to reduce the number of used conditions.
2019-10-01 09:49:33 +02:00
Iñigo Martínez
31a2710f11 meson: Simplified WiFi detection when IWD is enabled 2019-10-01 09:49:33 +02:00
Iñigo Martínez
82e79e40a5 meson: Avoid the use of source_root and build_root methods
The way some directory paths are defined has also been changed to
avoid the use of the `source_root` and `build_root` functions
because they are discouraged[0]

[0] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
2019-10-01 09:49:33 +02:00
Iñigo Martínez
48bb5b68e3 meson: Define meson information early
The used meson modules, default directories and includes have been
moved to the start of the build file, just after project related
information, so they are available early.
2019-10-01 09:49:33 +02:00
Iñigo Martínez
bfbcf8f3fe meson: Use generators placeholders
Functions derived from generators as `configure_file`,
`custom_target` and `i18n.merge_file` can use placeholders like
`@BASENAME@` that removes the extension from the input filename
string.

The output string has been replaced by this placeholder that
allows in some cases the use of less variables.
2019-10-01 09:49:33 +02:00
Thomas Haller
e28460819c release: bump version to 1.21.2-dev 2019-09-26 07:56:25 +02:00
Lubomir Rintel
7c53930ceb wwan/modem-broadband: add capability to look up default APN/username/password
This allows the GSM connection to Just Work most of the time, as in:
"nmcli d connect ttyUSB0".
2019-09-11 14:32:05 +02:00
Thomas Haller
96339fa5ea release: bump version to 1.21.1-dev after 1.20.0 release
After 1.20.0 is released, merge it back into master so that
1.20.0 is part of the history of master. That means,
  $ git log --first-parent master
will also traverse 1.20.0 and 1.20-rc*.

Also bump the micro version to 1.21.1-dev to indicate that this is
after 1.20.0 is out.
2019-08-06 13:01:05 +02:00
Thomas Haller
c438f01b19 release: bump version to 1.20.0 2019-08-06 12:22:44 +02:00
Thomas Haller
0dd087e4b6 release: bump version to 1.21.0 (development) 2019-07-29 20:56:15 +02:00
Thomas Haller
e5912389c6 release: bump version to 1.19.90 (1.20-rc1) 2019-07-29 20:50:05 +02:00
Beniamino Galvani
be8f7b5a5d systemd: merge branch systemd into master 2019-07-05 09:13:53 +02:00
Lubomir Rintel
bdc57c3d70 release: bump version to 1.19.5-dev 2019-07-03 09:35:17 +02:00
Thomas Haller
74641be816 settings: drop ibft settings plugin
The functionality of the ibft settings plugin is now handled by
nm-initrd-generator. There is no need for it anymore, drop it.

Note that ibft called iscsiadm, which requires CAP_SYS_ADMIN to work
([1]). We really want to drop this capability, so the current solution
of a settings plugin (as it is implemented) is wrong. The solution
instead is nm-initrd-generator.

Also, on Fedora the ibft was disabled and probably on most other
distributions as well. This was only used on RHEL.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1371201#c7
2019-06-20 16:06:44 +02:00
Lubomir Rintel
7d3a957c98 release: bump version to 1.19.4-dev 2019-06-14 16:44:35 +02:00
Lubomir Rintel
f51548f8d7 release: bump version to 1.19.3-dev 2019-06-04 15:52:24 +02:00
Thomas Haller
a307bd6ec4 build: disable "-Wunknown-pragmas" warning
clang on CentOS 7.6 (3.4.2-9.el7) warns:

      CC       clients/tui/newt/clients_tui_newt_libnmt_newt_a-nmt-newt-button.o
    In file included from ../clients/tui/newt/nmt-newt-button.c:26:
    In file included from ../shared/nm-default.h:280:
    ../shared/nm-glib-aux/nm-macros-internal.h:1617:2: error: unknown warning group -Wstringop-truncation, ignored [-Werror,-Wunknown-pragmas]
            NM_PRAGMA_WARNING_DISABLE ("-Wstringop-truncation");
            ^
    ../shared/nm-glib-aux/nm-macros-internal.h:419:9: note: expanded from macro NM_PRAGMA_WARNING_DISABLE
            _Pragma(_NM_PRAGMA_WARNING_DO(warning))
            ^
    <scratch space>:109:25: note: expanded from here
     GCC diagnostic ignored "-Wstringop-truncation"
                            ^

This warning totally defeats the purpose of why we use the pragma in the
first place.
2019-05-29 09:42:40 +02:00
Thomas Haller
ad142e1945 build: remove duplicate and unused RUNDIR define 2019-05-17 21:24:18 +02:00
Lubomir Rintel
0777a26fc1 release: bump version to 1.19.2-dev 2019-05-03 11:04:34 +02:00