Commit graph

318 commits

Author SHA1 Message Date
Thomas Haller
de39f67d72
ppp: detect the ppp version in the configure script
Previously, the ppp version was only detected (and used) at one place,
in "nm-pppd-compat.c", after including the ppp headers. That was nice
and easy.

However, with that way, we could only detect it after including ppp
headers, and given the ugliness of ppp headers, we only want to include
them in "nm-pppd-compat.c" (and nowhere else).

In particular, 'nm-pppd-compat.c" uses symbols from the ppp daemon, it
thus can only be linked into a ppp plugin, not in NetworkManager core
itself. But at some places we will need to know the ppp version, outside
of the ppp plugin and "nm-pppd-compat.c".

Additionally, detect it at configure time and place it in "config.h".
There is a static assert that we are in agreement with the two ways of
detection.

(cherry picked from commit 3e66c0bde1)
(cherry picked from commit 65756dca7f)
2023-06-28 13:25:09 +02:00
Thomas Haller
a45806f982
ppp: move ppp code to "nm-pppd-compat.c"
Using the ppp code is rather ugly.

Historically, the pppd headers don't follow a good naming convention,
and define things that cause conflicts with our headers:

  /usr/include/pppd/patchlevel.h:#define VERSION          "2.4.9"
  /usr/include/pppd/pppd.h:typedef unsigned char  bool;

Hence we had to include the pppd headers in certain order, and be
careful.

ppp 2.5 changes API and cleans that up. But since we need to support
also old versions, it does not immediately simplify anything.

Only include "pppd" headers in "nm-pppd-compat.c" and expose a wrapper
API from "nm-pppd-compat.h". The purpose is that "nm-pppd-compat.h"
exposes clean names, while all the handling of ppp is in the source
file.

(cherry picked from commit afe80171b2)
(cherry picked from commit facd2ae916)
2023-06-05 11:44:56 +02:00
Eivind Næss
cc1771cfef
ppp, adding support for compiling against pppd-2.5.0
This change does the following
* Adding in nm-pppd-compat.h to mask details regarding different
  versions of pppd.
* Fix the nm-pppd-plugin.c regarding differences in API between
  2.4.9 (current) and latet pppd 2.5.0 in master branch
* Additional fixes to the configure.ac to appropriately set defines used
  for compilation

(cherry picked from commit 8469c09a50)
(cherry picked from commit 521f936567)
2023-06-05 11:44:55 +02:00
Eivind Næss
f19c9d2097
build: detect pppd version via pkg-config for PPPD_PLUGIN_DIR
Ppp 2.5 adds a pkg-config file, so we can detect the version.
Use it.

[thaller@redhat.com: split out patch]

(cherry picked from commit 0324098afa)
(cherry picked from commit 89bde5c9ca)
2023-06-05 11:44:55 +02:00
Lubomir Rintel
03c07cc765 release: bump version to 1.40.19 (development) 2023-04-06 12:31:18 +02:00
Lubomir Rintel
2db3748ec8 release: bump version to 1.40.18 2023-04-06 12:31:18 +02:00
Beniamino Galvani
7886f945ba release: bump version to 1.40.17 (development) 2023-02-23 09:59:17 +01:00
Beniamino Galvani
a9f8a9b550 release: bump version to 1.40.16 2023-02-23 09:59:17 +01:00
Thomas Haller
06d72e9cd5
release: bump version to 1.40.15 (development) 2023-02-13 15:43:09 +01:00
Thomas Haller
31e483e8af
release: bump version to 1.40.14 2023-02-13 15:43:09 +01:00
Lubomir Rintel
46b6a03eac release: bump version to 1.40.13 (development) 2023-01-26 09:32:55 +01:00
Lubomir Rintel
4a41ba460e release: bump version to 1.40.12 2023-01-26 09:32:55 +01:00
Beniamino Galvani
285f692ac5 release: bump version to 1.40.11 (development) 2023-01-11 12:00:31 +01:00
Beniamino Galvani
5a82c14156 release: bump version to 1.40.10 2023-01-11 12:00:31 +01:00
Lubomir Rintel
220a29d9c5 release: bump version to 1.40.9 (development) 2022-12-16 15:47:43 +01:00
Lubomir Rintel
56e2966662 release: bump version to 1.40.8 2022-12-16 15:47:43 +01:00
Thomas Haller
fb6e1ec549
release: bump version to 1.40.7 (development) 2022-11-30 16:27:13 +01:00
Thomas Haller
ba35cff250
release: bump version to 1.40.6 2022-11-30 16:27:13 +01:00
Thomas Haller
25f9adb19e
release: bump version to 1.40.5 (development) 2022-11-18 10:01:06 +01:00
Thomas Haller
86b82bf358
release: bump version to 1.40.4 2022-11-18 10:01:06 +01:00
Beniamino Galvani
4a85225c2c release: bump version to 1.40.3 (development) 2022-10-18 10:10:22 +02:00
Beniamino Galvani
4704b924ad release: bump version to 1.40.2 2022-10-18 10:10:22 +02:00
Ana Cabral
8f1a30d980 release: bump version to 1.40.1 (development) 2022-08-26 16:41:43 +02:00
Ana Cabral
5d4802f7d8 release: bump version to 1.40.0 2022-08-26 16:41:39 +02:00
Ana Cabral
b2a6b9fcc7 release: bump version to 1.39.90 (1.40-rc1) 2022-08-15 18:13:18 -03:00
Lubomir Rintel
d7c82945b5 release: bump version to 1.39.12 (development) 2022-07-29 16:00:57 +02:00
Beniamino Galvani
a5e81b4eed release: bump version to 1.39.11 (development) 2022-07-27 22:20:12 +02:00
Thomas Haller
b38d180bc6
build/meson: fix autodetecting ifcfg_rh/ifupdown plugins
"-Difcfg_rh=false" did not work, we would always fallback to
autodetection. That is wrong, an explicit "false" should be honored.
It's also not what autotools does. Fix this.

While at it, drop "distro" variable. It's not a clear concept
that can be reused and it's unused otherwise.

Also, no longer let the autodetection be based on cross compilation.
When cross-compiling, it seems not entirely unreasonable that you cross
compile to a comparable distro, so let the autodetection be based on
what we detect on the host. In any case, a user can and is encouraged
to explicitly enable/disable the plugins via "-Difcfg_rh=" or
"-Difupdown=".

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1310
2022-07-25 10:32:10 +02:00
Adrian Freihofer
be0daab3e3
build/meson: cross compile fix distro
In case of cross compilation the target distro is not the same as the
distro of the build machine.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1309
2022-07-22 12:40:26 +02:00
Lubomir Rintel
34c1497ee4 release: bump version to 1.39.10 (development) 2022-07-13 15:39:16 +02:00
Lubomir Rintel
880bec0f4f release: bump version to 1.39.9 (development) 2022-07-07 14:53:15 +02:00
Lubomir Rintel
02685e990e release: bump version to 1.39.8 (development) 2022-06-30 16:18:01 +02:00
Martin Blanchard
19a6affd3a build: stop relying on intltool for i18n
Recent gettext version can extract and merge back strings from and to
various file formats, no need for intltool anymore.

https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/133

https://github.com/NetworkManager/NetworkManager/pull/303
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/96

Clarification about the use of AM_GNU_GETTEXT_REQUIRE_VERSION:

In configure.ac, specify the minimum gettext version we require, rather
than the exact one. This fixes a situation where the autoconf macros
used for gettext will be the latest available on the system (for
example, 0.20); but the copied-in Makefile.in.in will be for the exact
version specified in configure.ac (in this case, 0.19).

In that situation, the gettext build rules will error out at `make` time
with the message:
   *** error: gettext infrastructure mismatch: using a Makefile.in.in
   from gettext version 0.19 but the autoconf macros are from gettext
   version 0.20

Avoid that by specifying a minimum version dependency rather than an
exact one. This should not cause problems as we haven’t committed any
generated or external gettext files into git, so each developer will end
up regenerating the build system for their system’s version of gettext,
as expected.

See the subsection of
https://www.gnu.org/software/gettext/manual/html_node/Version-Control-Issues.html
for more information.

Note that autoreconf currently doesn’t recognise
AM_GNU_GETTEXT_REQUIRE_VERSION, so we must continue also using
AM_GNU_GETTEXT_VERSION. autopoint will ignore the latter if the former
is present. See
https://lists.gnu.org/archive/html/autoconf-patches/2015-10/msg00000.html.

[lkundrak@v3.sk: Fixed the meson build, adjusted autogen.sh:
droped "|| exit 1", dropped call to aclocal,
dropped --copy from gtkdocize.]
2022-06-27 13:40:09 +02:00
Lubomir Rintel
c861a7e1d8 release: bump version to 1.39.7 (development) 2022-06-15 17:49:23 +02:00
Beniamino Galvani
3d272d264c release: bump version to 1.39.6 (development) 2022-06-01 16:40:28 +02:00
Ana Cabral
b5829c9ac1 release: bump version to 1.39.5 (development) 2022-05-19 11:17:27 +02:00
Thomas Haller
e2476b1063
release: bump version to 1.39.4 (development) 2022-05-16 09:44:50 +02:00
Thomas Haller
d4d001c771
build/meson: honor prefix for dbus_conf_dir
Otherwise, we will try to install "src/nm-dispatcher/nm-dispatcher.conf"
to "/usr/share/dbus-1/system.d", which is not correct, when we want a separate
prefix.
2022-05-13 15:46:55 +02:00
Thomas Haller
5704730a6c
release: bump version to 1.38.0 2022-05-13 11:13:34 +02:00
Thomas Haller
1a995325d5
build/meson: workaround meson bug related to ternary expression
On Debian 10, `apt-get install meson` gives meson-0.49.2-1.
That version doesn't like certain ternary expressions (while some
that we have are OK), which leads to a crash of meson.

Avoid that.

Fixes: bddffb1731 ('build/meson: honor prefix for udev_dir and don't use pkg-config')
2022-05-11 22:34:38 +02:00
Thomas Haller
c840e56e0a
meson/build: fix using correct prefix for "systemdsystemunitdir"
We do the same with autotools.

Well, almost the same. Of course, meson's define_variable only
accepts a list of two strings, to define one variable. So we cannot
also redefine "prefix", unlike configure.ac.
2022-05-11 15:29:45 +02:00
Thomas Haller
bddffb1731
build/meson: honor prefix for udev_dir and don't use pkg-config
When building with `mesond -Dprefix=/tmp/nm`, then we would expect
that udev files are installed there (wouldn't we?).

The user can already explicitly set "-Dudev_dir=", or even disable
installing the files with "-Dudev_dir=no".

Note that meson be default pre-populates `get_option("prefix")`, so there
is always something set. So we cannot just act on whether the user set a
prefix. It seems to default to /usr/local.

Note that package builds from Fedora spec file pass "-Dprefix=/usr".

I think we should honor the prefix. However, then it seems wrong to also
honor pkg-config at the same time.
In particular, because `pkg-config --variable=udevdir udev` gives /usr/lib/udev.
That means, if we would just prepend the default prefix "/usr" or "/usr/local"
to "/usr/lib/udev" we get the wrong result.

Note that we already to the same for autotools.
2022-05-11 10:38:32 +02:00
Thomas Haller
298784aa92
release: bump version to 1.39.3 (development) 2022-05-04 14:59:31 +02:00
Thomas Haller
a845a3425f
release: bump version to 1.37.92 (1.38-rc3) (development) 2022-05-04 14:33:32 +02:00
Thomas Haller
47a46344c7
release: bump version to 1.39.2 (development) 2022-04-20 17:48:34 +02:00
Thomas Haller
5da17c689b
dns/unbound: drop deprecated "unbound" DNS plugin
The "unbound" DNS plugin was very rudimentary and is deprecated since
commit 4a2fe09853 ('man: mark [main].dns=unbound as deprecated') (Jun
2021).

It is part of dnssec-trigger tool, but the dnssec-trigger tool doesn't
actually use it. Instead it installs a dispatcher script
"/usr/lib/NetworkManager/dispatcher.d/01-dnssec-trigger".

Especially, since the plugin requires "/usr/libexec/dnssec-trigger-script",
which is provided by "dnssec-trigger" package on Fedora. At the same
time, the package provides the dispatcher script. So I don't this works
or anybody is using this.

https://mail.gnome.org/archives/networkmanager-list/2022-April/msg00002.html
2022-04-15 09:04:30 +02:00
Thomas Haller
c20e3a72e2
release: bump version to 1.39.1 (development) 2022-04-14 13:42:16 +02:00
Thomas Haller
fb5a1fa05e
release: bump version to 1.37.91 (1.38-rc2) (development) 2022-04-14 12:20:36 +02:00
Thomas Haller
5b6311ea07
release: bump version to 1.39.0 (development) 2022-04-06 18:51:55 +02:00
Thomas Haller
35f27f4511
release: bump version to 1.37.90 (1.38-rc1) 2022-04-06 18:39:01 +02:00