Commit graph

884 commits

Author SHA1 Message Date
Jan Vaclav
28ada2f0b6 build/specfile: remove autotools configuration 2024-09-11 12:18:15 +00:00
Jan Vaclav
12b5b8317b build: remove autotools configuration from scripts 2024-09-11 12:18:15 +00:00
Jan Vaclav
1b0bd9b9b6 build/release: stop trying to bump version in autotools 2024-09-11 12:18:15 +00:00
Jan Vaclav
6707ce0754 build: use meson for version info 2024-09-11 12:18:15 +00:00
Íñigo Huguet
d5a7d859a5 debian: install policykit-1 or polkitd depending on the version
Old Debian and Ubuntu versions didn't have a separate polkitd yet. Make
both optional so it's installed the one that is available.
2024-08-21 10:37:42 +02:00
Íñigo Huguet
66636370f9 debian: install polkitd instead of policykit-1
Commit c19b5d76c2 ('contrib: install "policykit-1" package on Debian')
added policykit-1 because it was needed to get a translation file.

In recent Debian versions it has been removed. It was only a
transitional package to install polkitd and pkexec. Install polkitd
directly instead.
2024-08-21 08:56:06 +02:00
Sertonix
3dfc846beb contrib/alpine: remove dbus-glib-dev from required packages
The dependency has been removed in 1cf35cb26b
2024-08-01 12:28:47 +02:00
Beniamino Galvani
a367f8770b rpm: add "Obsoletes" for removed ifcfg packages in F41
Add the "Obsoletes" to the removed ifcfg packages, so that they are
properly removed on upgrade. Otherwise, the upgrade to the new NM
fails due to failed dependencies.

Fixes: 777418dfd7 ('rpm: disable ifcfg support in Fedora 41')

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2001
2024-07-26 11:32:19 +02:00
Beniamino Galvani
777418dfd7 rpm: disable ifcfg support in Fedora 41
https://fedoraproject.org/wiki/Changes/RemoveIfcfgSupportInNM
https://bugzilla.redhat.com/show_bug.cgi?id=2296272
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1985
2024-07-16 14:35:31 +02:00
Lubomir Rintel
3d82b9b318 merge: branch 'lr/deprecate-dhclient'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1988
2024-07-11 15:46:31 +02:00
Lubomir Rintel
d246d9df88 merge branch 'lr/simpler-rpm'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1990
2024-07-11 12:29:26 +02:00
Lubomir Rintel
037450df45 contrib/rpm: remove conditionals for RHEL 7 and older
There's just too much clutter in the SPEC file. Drop some totally
obsolete stuff.
2024-07-11 12:13:33 +02:00
Lubomir Rintel
1ccc1e0041 contrib/rpm: install firewall zone unconditionally
It's the same on all systems we care about.
2024-07-11 12:13:33 +02:00
Lubomir Rintel
954e8c8d64 contrib/rpm: stop conditionalizing default DHCP client
It's the same on all systems we care about.
2024-07-11 12:13:33 +02:00
Lubomir Rintel
811ef6952d contrib/rpm: remove extra 0%{?rhel} from some conditionals
"0%{?rhel} && 0%{?rhel} >= 8" just says 0%{?rhel} twice, redundantly.
Let's not do that.
2024-07-11 12:13:33 +02:00
Lubomir Rintel
c639387071 contrib/rpm: remove ldconfig scriptlets
The file triggers replaced this aeons ago. RHEL 8 definitely has them:

  [root@el8 ~]# rpm -q --filetriggers glibc-common
  transfiletriggerin scriptlet (using /bin/sh) -- /lib, /lib64, /usr/lib, /usr/lib64
  /sbin/ldconfig
  transfiletriggerpostun scriptlet (using /bin/sh) -- /lib, /lib64, /usr/lib, /usr/lib64
  /sbin/ldconfig
  [root@el8 ~]#
2024-07-11 12:13:33 +02:00
Lubomir Rintel
a2914f1d0a rpm: disable dhclient on Fedora 41 and RHEL 10
They're off by default, but SPEC file turns them on. Don't do that in
future distros.

https://issues.redhat.com/browse/RHEL-24622
2024-07-11 11:09:32 +02:00
Lubomir Rintel
001b3e9494 build/meson: deprecate dhclient
Make it off by default. Point out it's deprecated in a config summary.

It's not maintained upstream. There's probably not much justification for
using it any more and we'd like to remove it at some point.

https://issues.redhat.com/browse/RHEL-24622
2024-07-11 11:09:31 +02:00
Lubomir Rintel
49f872e6b5 build/autoconf: deprecate dhclient
Make it off by default. Point out it's deprecated in a config summary.

It's not maintained upstream. There's probably not much justification for
using it any more and we'd like to remove it at some point.

https://issues.redhat.com/browse/RHEL-24622
2024-07-11 11:09:31 +02:00
Lubomir Rintel
51a43fb301 contrib/rpm: pull in formatting fixes from Fedora 2024-07-10 14:21:19 +02:00
Lubomir Rintel
3d0ddfd6be contrib/rpm: turn %ifcfg_migrate into a bcond 2024-07-10 14:21:19 +02:00
Lubomir Rintel
151decd333 contrib/rpm: turn %ifcfg_warning into a bcond 2024-07-10 14:21:19 +02:00
Lubomir Rintel
cfc6cd7a74 contrib/rpm: turn %split_ifcfg_rh into a bcond 2024-07-10 14:21:19 +02:00
Lubomir Rintel
2066e1743e contrib/rpm: turn %with_ifcfg_rh into a bcond 2024-07-10 14:21:19 +02:00
Lubomir Rintel
e4660336e7 contrib/rpm: turn %config_plugins_default_ifcfg_rh into a bcond 2024-07-10 14:21:19 +02:00
Thomas Haller
439ddc5101 contrib/rpm: rename section in "22-wifi-mac-addr.conf"
For [connection*] and [device*] sections, any suffix is allowed in
the group.

However (at least for configuration snippets we ship upstream), we
want to give a suffix that matches the name of the configuration
snippet.

It seems more common to use [connection-*] instead of [connection.].
See also "examples/nm-conf.d/*.conf" and "15-carrier-timeout.conf" file
which contains a [device-15-carrier-timeout] section.

Note that this file (in Fedora) is not configuration (installed in
/usr/lib). It is thus not problematic to modify.

Fixes: ea8dbd7a6d ('contrib/rpm: add "22-wifi-mac-addr.conf" to F40+')
2024-06-19 11:02:55 +00:00
Stanislas FAYE
10d4557720 Make team obsoletes in rhel-10 only if NM-team is not enabled in the rpm 2024-05-31 11:33:58 +00:00
Stanislas FAYE
3f3472c971 Use the versions number from which packages are obsoleted directly instead of using global variables 2024-05-31 11:33:58 +00:00
Stanislas FAYE
613f16de51 rpm: Disable team and ifcfg-rh only in rhel distros and rhel-10+
Resolves: https://issues.redhat.com/browse/RHEL-32948
2024-05-31 11:33:58 +00:00
Íñigo Huguet
714d02697f contrib: configure-for-system: use meson by default
With the deprecation of autotools, use meson by default. For the moment,
it's still possible to build with autotools passing -a/--autotools.

Additionally, as we allow to specify different build directories other
than './build', let's not asume that the user wants to overwrite it
by default. Instead, the script will asume ./build if the user doesn't
specify the build directory, but only if it doesn't exist. If it does,
the user will have to force overwritting it with `--meson ./build`.
2024-05-31 07:08:22 +00:00
Íñigo Huguet
a07627fdcc contrib: configure-for-system: specify meson build dir
Instead of forcing to use ./build directory, let's make the the user
specify what directory he wants to use. This will allow to have multiple
build directories with different configurations as meson is designed to
allow, without having to overwrite the existing build one.
2024-05-31 07:08:22 +00:00
Íñigo Huguet
8eb00c0991 release.sh: stop doing "-dev" releases on stable branches
Note: here I refer to the numbers in a version as MAJOR.MINOR.MICRO.

Having stable and development releases do make sense for the MINOR
version, because we maintain separate branches for them and they
evolve separately. We have 1.47.z where we put all the changes so
anyone can pick the latest development release and test it. At the
same time, we have 1.46.z with the latest stable released version.

However, it does not make sense to have 1.46.2 and 1.46.3-dev because
the latter is not a development version. It is identical to 1.46.2,
only the version number has been bumped, there are no changes to test.
When we add commits, we will be actually testing 1.46.3-dev + some
commits, which is exactly the same as testing 1.46.2 + some commits.

So, basically, someone can use the releases of a development BRANCH,
like 1.47.4, to test the development version of NM. But using a
development MICRO version is exactly the same as using a
non-development one.

From now on, we will just increment the MICRO version each time we do a
release on a stable branch and won't create the '-dev' tag. Update
release.sh to do it this way.
2024-05-29 08:44:02 +02:00
Jan Vaclav
5f72b251b1 gitlab-ci: ignore autotools deprecation
We still need the tests to run on autotools builds too, so we must pass the argument.
2024-05-06 17:22:20 +02:00
Jan Vaclav
7b4acf938c contrib/fedora: update scripts to expect autotools deprecation 2024-05-06 16:39:08 +02:00
Jan Vaclav
d115dcec50 build: break autotools configuration to warn about deprecation
We are planning on completely dropping Autotools in the future.
This breaks the build process with an argument to ignore the deprecation,
so that anyone building NM is warned of this change.
2024-05-06 15:25:50 +02:00
Jan Vaclav
5fae0403b8 contrib/rpm: use meson by default for builds on RHEL10
As part of our plan to deprecate autotools, we will now be using meson
by default to build NM releases on RHEL 10.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1929
2024-05-06 08:13:44 +00:00
Fernando Fernandez Mancera
e1a0323fdd release.sh: adjust build path to meson-dist 2024-05-03 18:05:54 +02:00
Jan Vaclav
069d854f8c merge: branch 'jv/meson-build-default'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1912
2024-04-24 15:12:44 +02:00
Beniamino Galvani
e79e1d637e rpm: disable ifcfg-rh in future versions of RHEL 2024-04-24 09:52:55 +02:00
Beniamino Galvani
bc73478a49 rpm: disable team support in future versions of RHEL 2024-04-24 09:52:55 +02:00
Jan Vaclav
38c799d883 contrib/rpm: use meson by default for builds on rawhide
As part of our plan to deprecate autotools, we will now be using meson
by default to build NM releases on Rawhide.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1905
2024-04-18 13:31:50 +00:00
Jan Vaclav
095e2ab573 contrib/fedora: use meson to build by default from build_clean.sh 2024-04-03 16:02:06 +02:00
Jan Vaclav
61f0531509 gitlab-ci: test re-buildability of distribution tarballs
Adds tests for making a distribution tarball, and then attempting to build NM from its contents.
Files have been left out from the distribution in the past by accident (e.g. 75027879, b2931c96)
and hopefully this test will catch this type of errors.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1862
2024-03-01 07:51:21 +00:00
Thomas Haller
06e039b18a
contrib: pass "--noclean" to rpmbuild in "makerepo.sh"
Recent rpmbuild will delete the source directory on successful build.
With `makerepo.sh` that is bad, because we want that directory with the
git history. Pass "--noclean" to avoid that.
2024-02-20 08:41:47 +01:00
Thomas Haller
cc7295698e
contrib: add "ulogd" to makerepo.sh script 2024-02-19 17:38:30 +01:00
Thomas Haller
70ced147b1
contrib: add "libnetfilter_log" to makerepo.sh script 2024-02-19 11:47:09 +01:00
Jan Vaclav
43c3409081 contrib: add jq to REQUIRED_PACKAGES
jq is used in contrib/fedora/rpm/release.sh and now
also build_clean.sh, so it should probably be added
to REQUIRED_PACKAGES.
2024-01-29 13:21:16 +00:00
Jan Vaclav
95f7c8e128 contrib/fedora: add --meson option to build_clean
This allows the script user to complete the entire build only using meson instead of autotools.
2024-01-29 13:21:16 +00:00
Íñigo Huguet
69ceee1a0b contrib: new script to anonymize logs
Script to do some anonymization to NetworkManager logs. It does
very basic stuff so it shouldn't be trusted without manually
reviewing the logs, but it can still be useful to replace lot
of potentially sensitive data.

What it masks by default:
- MAC addresses
- Public IP addresses
- Hostnames detected from `hostname` command and some known
  log messages from NM.
- Hostnames ending in some common domains such as .com or .org
- Hostnames specified via --hostname argument

What it can mask but it doesn't by default:
- Private IPs

Options like --show-macs and --hide-private-ips can override the default
behaviour.

Note that masking IP addresses can make difficult to analyze routing
problems, and trying to be smart analyzing the defined routes from the
logs or from `ip route` can lead to even worse results. Because of this,
if routing problems need to be analyzed, --show-public-ips need to be
passed.
2023-11-24 07:40:08 +00:00
Thomas Haller
a6e085b3e8
clang-format: rework "nm-code-format-container.sh" script
Instead of doing the broken `podman run` and `podman start` approach,
build an image ("nm-code-format:f38"), cache it, and use it to run
"nm-code-format.sh" via `podman run`. We should build and keep a
container image, not a container.

The benefit is that this allows to hand over the command line arguments
to "nm-code-format.sh". In particular the "-u" and "-F" options, which
are life savers.

This means,

  $ contrib/scripts/nm-code-format-container.sh -u

works.

Try also

  $ contrib/scripts/nm-code-format-container.sh -h

which tells you that you are running inside the container, and how to
delete/renew the container image.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1798
2023-11-22 13:25:04 +01:00