diff options
Diffstat (limited to 'contrib')
| -rwxr-xr-x | contrib/alpine/REQUIRED_PACKAGES | 1 | ||||
| -rwxr-xr-x | contrib/debian/REQUIRED_PACKAGES | 2 | ||||
| -rw-r--r-- | contrib/fedora/rpm/NetworkManager.spec | 236 | ||||
| -rwxr-xr-x | contrib/fedora/rpm/build_clean.sh | 2 | ||||
| -rwxr-xr-x | contrib/fedora/rpm/configure-for-system.sh | 41 | ||||
| -rwxr-xr-x | contrib/fedora/rpm/release.sh | 31 |
6 files changed, 118 insertions, 195 deletions
diff --git a/contrib/alpine/REQUIRED_PACKAGES b/contrib/alpine/REQUIRED_PACKAGES index 1b299b2e..f05147eb 100755 --- a/contrib/alpine/REQUIRED_PACKAGES +++ b/contrib/alpine/REQUIRED_PACKAGES @@ -12,7 +12,6 @@ apk add \ 'clang' \ 'curl-dev' \ 'dbus' \ - 'dbus-glib-dev' \ 'elogind-dev' \ 'eudev-dev' \ 'gcc' \ diff --git a/contrib/debian/REQUIRED_PACKAGES b/contrib/debian/REQUIRED_PACKAGES index 7b9df123..1c7186d7 100755 --- a/contrib/debian/REQUIRED_PACKAGES +++ b/contrib/debian/REQUIRED_PACKAGES @@ -86,8 +86,8 @@ install \ install_ignore_missing \ python-setuptools \ - polkitd \ policykit-1 \ + polkitd \ \ #end diff --git a/contrib/fedora/rpm/NetworkManager.spec b/contrib/fedora/rpm/NetworkManager.spec index 9e17053a..3c44d7f9 100644 --- a/contrib/fedora/rpm/NetworkManager.spec +++ b/contrib/fedora/rpm/NetworkManager.spec @@ -1,5 +1,5 @@ # SPEC file to build NetworkManager for testing. It aims for a similar -# configuration as rhel-7.0 and Fedora rawhide +# configuration as RHEL and Fedora Rawhide # # This spec file is not used as is to create official packages for RHEL, Fedora or any # other distribution. @@ -48,10 +48,12 @@ %global systemd_units_cloud_setup nm-cloud-setup.service nm-cloud-setup.timer ############################################################################### -%if 0%{?fedora} > 40 +%if 0%{?fedora} > 40 || 0%{?rhel} >= 10 %bcond_without meson +%bcond_with dhclient %else %bcond_with meson +%bcond_without dhclient %endif %bcond_without adsl %bcond_without bluetooth @@ -78,7 +80,7 @@ %bcond_with test %endif %if "%{?bcond_default_lto}" == "" -%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 +%if 0%{?fedora} || 0%{?rhel} >= 9 %bcond_without lto %else %bcond_with lto @@ -96,44 +98,21 @@ %else %bcond_with connectivity_fedora %endif -%if 0%{?rhel} && 0%{?rhel} >= 8 +%if 0%{?rhel} %bcond_without connectivity_redhat %else %bcond_with connectivity_redhat %endif -%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8 -%bcond_without crypto_gnutls -%else -%bcond_with crypto_gnutls -%endif %if 0%{?rhel} %bcond_with iwd %else %bcond_without iwd %endif -%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8 -%bcond_without firewalld_zone -%else -%bcond_with firewalld_zone -%endif ############################################################################### -%if 0%{?fedora} || 0%{?rhel} >= 8 %global dbus_version 1.9.18 %global dbus_sys_dir %{_datadir}/dbus-1/system.d -%else -%global dbus_version 1.1 -%global dbus_sys_dir %{_sysconfdir}/dbus-1/system.d -%endif - -# Older libndp versions use select() (rh#1933041). On well known distros, -# choose a version that has the necessary fix. -%if 0%{?rhel} && 0%{?rhel} == 8 -%global libndp_version 1.7-4 -%else -%global libndp_version %{nil} -%endif %if %{with bluetooth} || %{with wwan} %global with_modem_manager_1 1 @@ -141,51 +120,39 @@ %global with_modem_manager_1 0 %endif -%if 0%{?fedora} >= 31 || 0%{?rhel} >= 8 -%global dhcp_default internal -%else -%global dhcp_default dhclient -%endif - -%if 0%{?fedora} || 0%{?rhel} >= 8 -%global logging_backend_default journal %if 0%{?fedora} || 0%{?rhel} >= 9 %global dns_rc_manager_default auto %else %global dns_rc_manager_default symlink %endif -%else -%global logging_backend_default syslog -%global dns_rc_manager_default file -%endif %if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 -%global config_plugins_default_ifcfg_rh 0 +%bcond_with default_ifcfg_rh %else -%global config_plugins_default_ifcfg_rh 1 +%bcond_without default_ifcfg_rh %endif -%if 0%{?rhel} >= 10 -%global with_ifcfg_rh 0 -%global split_ifcfg_rh 0 +%if 0%{?rhel} >= 10 || 0%{?fedora} >= 41 +%bcond_with ifcfg_rh +%bcond_with split_ifcfg_rh %elif 0%{?fedora} >= 36 -%global with_ifcfg_rh 1 -%global split_ifcfg_rh 1 +%bcond_without ifcfg_rh +%bcond_without split_ifcfg_rh %else -%global with_ifcfg_rh 1 -%global split_ifcfg_rh 0 +%bcond_without ifcfg_rh +%bcond_with split_ifcfg_rh %endif %if (0%{?fedora} >= 36 && 0%{?fedora} < 39) || 0%{?rhel} == 9 -%global ifcfg_warning 1 +%bcond_without ifcfg_warning %else -%global ifcfg_warning 0 +%bcond_with ifcfg_warning %endif -%if 0%{?fedora} >= 39 -%global ifcfg_migrate 1 +%if %{with ifcfg_rh} && 0%{?fedora} >= 39 +%bcond_without ifcfg_migrate %else -%global ifcfg_migrate 0 +%bcond_with ifcfg_migrate %endif %if 0%{?fedora} @@ -229,9 +196,7 @@ Source9: readme-ifcfg-rh-migrated.txt #Patch1: 0001-some.patch Requires(post): systemd -%if 0%{?fedora} || 0%{?rhel} >= 8 Requires(post): systemd-udev -%endif Requires(post): /usr/sbin/update-alternatives Requires(preun): systemd Requires(preun): /usr/sbin/update-alternatives @@ -240,23 +205,38 @@ Requires(postun): systemd Requires: dbus >= %{dbus_version} Requires: glib2 >= %{glib2_version} Requires: %{name}-libnm%{?_isa} = %{epoch}:%{version}-%{release} -%if "%{libndp_version}" != "" -Requires: libndp >= %{libndp_version} + +%if 0%{?rhel} == 8 +# Older libndp versions use select() (rh#1933041). On well known distros, +# choose a version that has the necessary fix. +Requires: libndp >= 1.7-4 %endif + Obsoletes: NetworkManager < %{obsoletes_device_plugins} Obsoletes: NetworkManager < %{obsoletes_ppp_plugin} Obsoletes: NetworkManager-wimax < 1:1.2 -%if 0%{?rhel} && 0%{?rhel} == 8 +%if 0%{?rhel} == 8 Suggests: NetworkManager-initscripts-updown %endif Obsoletes: NetworkManager < %{obsoletes_initscripts_updown} -%if 0%{?split_ifcfg_rh} +%if %{with split_ifcfg_rh} Obsoletes: NetworkManager < %{obsoletes_ifcfg_rh} %endif -%if 0%{?rhel} && 0%{?rhel} <= 7 -# Kept for RHEL to ensure that wired 802.1x works out of the box -Requires: wpa_supplicant >= 1:1.1 +%if 0%{?rhel} >= 10 +%if 0%{without team} +Obsoletes: NetworkManager-team < 1:1.47.5-3 +%endif +Obsoletes: NetworkManager-initscripts-ifcfg-rh < 1:1.47.5-3 +Obsoletes: NetworkManager-dispatcher-routing-rules < 1:1.47.5-3 +%endif + +%if 0%{?fedora} >= 41 +%if %{without ifcfg_rh} +Obsoletes: NetworkManager-initscripts-ifcfg-rh < 1:1.49-3.1 +Obsoletes: NetworkManager-dispatcher-routing-rules < 1:1.49.3-1 +Obsoletes: NetworkManager-initscripts-updown < 1:1.49.3-1 +%endif %endif Conflicts: NetworkManager-vpnc < 1:0.7.0.99-1 @@ -264,6 +244,13 @@ Conflicts: NetworkManager-openvpn < 1:0.7.0.99-1 Conflicts: NetworkManager-pptp < 1:0.7.0.99-1 Conflicts: NetworkManager-openconnect < 0:0.7.0.99-1 Conflicts: kde-plasma-networkmanagement < 1:0.9-0.49.20110527git.nm09 +%if 0%{?rhel} >= 10 +%if 0%{without team} +Conflicts: NetworkManager-team <= 1:1.47.5-3 +%endif +Conflicts: NetworkManager-initscripts-ifcfg-rh <= 1:1.47.5-3 +Conflicts: NetworkManager-dispatcher-routing-rules <= 1:1.47.5-3 +%endif BuildRequires: make BuildRequires: gcc @@ -283,11 +270,7 @@ BuildRequires: gobject-introspection-devel >= 0.10.3 %if %{with ppp} BuildRequires: ppp-devel >= 2.4.5 %endif -%if %{with crypto_gnutls} BuildRequires: gnutls-devel >= 2.12 -%else -BuildRequires: nss-devel >= 3.11.7 -%endif BuildRequires: readline-devel BuildRequires: audit-libs-devel %if %{with regen_docs} @@ -325,17 +308,11 @@ BuildRequires: polkit-devel BuildRequires: jansson-devel %if %{with sanitizer} BuildRequires: libasan -%if 0%{?fedora} || 0%{?rhel} >= 8 BuildRequires: libubsan %endif -%endif -%if %{with firewalld_zone} BuildRequires: firewalld-filesystem -%endif BuildRequires: iproute -%if 0%{?fedora} || 0%{?rhel} >= 8 BuildRequires: iproute-tc -%endif Provides: %{name}-dispatcher%{?_isa} = %{epoch}:%{version}-%{release} @@ -378,12 +355,7 @@ Summary: Bluetooth device plugin for NetworkManager Group: System Environment/Base Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: NetworkManager-wwan = %{epoch}:%{version}-%{release} -%if 0%{?rhel} && 0%{?rhel} <= 7 -# No Requires:bluez to prevent it being installed when updating -# to the split NM package -%else Requires: bluez >= 4.101-5 -%endif Obsoletes: NetworkManager < %{obsoletes_device_plugins} %description bluetooth @@ -398,12 +370,10 @@ Group: System Environment/Base BuildRequires: teamd-devel Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: NetworkManager < %{obsoletes_device_plugins} -%if 0%{?fedora} || 0%{?rhel} >= 8 # Team was split from main NM binary between 0.9.10 and 1.0 # We need this Obsoletes in addition to the one above # (git:3aede801521ef7bff039e6e3f1b3c7b566b4338d). Obsoletes: NetworkManager < 1:1.0.0 -%endif %description team This package contains NetworkManager support for team devices. @@ -422,13 +392,10 @@ Requires: wireless-regdb Requires: crda %endif -%if %{with iwd} && (0%{?fedora} >= 25 || 0%{?rhel} >= 8) +%if %{with iwd} Requires: (wpa_supplicant >= %{wpa_supplicant_version} or iwd) Suggests: wpa_supplicant %else -# Just require wpa_supplicant on platforms that don't support boolean -# dependencies even though the plugin supports both supplicant and -# iwd backend. Requires: wpa_supplicant >= %{wpa_supplicant_version} %endif @@ -444,12 +411,7 @@ This package contains NetworkManager support for Wifi and OLPC devices. Summary: Mobile broadband device plugin for NetworkManager Group: System Environment/Base Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%{?rhel} && 0%{?rhel} <= 7 -# No Requires:ModemManager to prevent it being installed when updating -# to the split NM package -%else Requires: ModemManager -%endif Obsoletes: NetworkManager < %{obsoletes_device_plugins} %description wwan @@ -552,11 +514,11 @@ This package is intended to be installed by default for server deployments. -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} %package dispatcher-routing-rules Summary: NetworkManager dispatcher file for advanced routing rules Group: System Environment/Base -%if 0%{?split_ifcfg_rh} +%if %{with split_ifcfg_rh} Requires: %{name}-initscripts-ifcfg-rh %endif BuildArch: noarch @@ -584,7 +546,7 @@ by nm-connection-editor and nm-applet in a non-graphical environment. %endif -%if 0%{?split_ifcfg_rh} +%if %{with split_ifcfg_rh} %package initscripts-ifcfg-rh Summary: NetworkManager plugin for reading and writing connections in ifcfg-rh format Group: System Environment/Base @@ -611,7 +573,7 @@ like Aliyun, Azure, EC2, GCP are supported. %endif -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} %package initscripts-updown Summary: Legacy ifup/ifdown scripts for NetworkManager that replace initscripts (network-scripts) Group: System Environment/Base @@ -626,6 +588,7 @@ This is only for backward compatibility with initscripts (network-scripts). Preferably use nmcli instead. %endif + %prep %autosetup -p1 -n NetworkManager-%{real_version} @@ -640,15 +603,14 @@ Preferably use nmcli instead. %endif -Dnft=%{_sbindir}/nft \ -Diptables=%{_sbindir}/iptables \ +%if %{with dhclient} -Ddhclient=%{_sbindir}/dhclient \ +%else + -Ddhclient=no \ +%endif -Ddhcpcanon=no \ -Ddhcpcd=no \ - -Dconfig_dhcp_default=%{dhcp_default} \ -%if %{with crypto_gnutls} -Dcrypto=gnutls \ -%else - -Dcrypto=nss \ -%endif %if %{with debug} -Dmore_logging=true \ -Dmore_asserts=10000 \ @@ -738,7 +700,7 @@ Preferably use nmcli instead. -Ddbus_conf_dir=%{dbus_sys_dir} \ -Dtests=yes \ -Dvalgrind=no \ -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} -Difcfg_rh=true \ %else -Difcfg_rh=false \ @@ -751,22 +713,17 @@ Preferably use nmcli instead. %else -Dppp=false \ %endif -%if %{with firewalld_zone} - -Dfirewalld_zone=true \ -%else - -Dfirewalld_zone=false \ -%endif -Ddist_version=%{version}-%{release} \ -%if %{?config_plugins_default_ifcfg_rh} +%if %{with default_ifcfg_rh} -Dconfig_plugins_default=ifcfg-rh \ %endif -%if %{?ifcfg_migrate} +%if %{with ifcfg_migrate} -Dconfig_migrate_ifcfg_rh_default=true \ %endif -Dresolvconf=no \ -Dnetconfig=no \ -Dconfig_dns_rc_manager_default=%{dns_rc_manager_default} \ - -Dconfig_logging_backend_default=%{logging_backend_default} + -Dconfig_logging_backend_default=journal %meson_build @@ -782,23 +739,18 @@ autoreconf --install --force --enable-static=no \ --with-nft=%{_sbindir}/nft \ --with-iptables=%{_sbindir}/iptables \ +%if %{with dhclient} --with-dhclient=%{_sbindir}/dhclient \ +%else + --with-dhclient=no \ +%endif --with-dhcpcd=no \ --with-dhcpcanon=no \ - --with-config-dhcp-default=%{dhcp_default} \ -%if %{with crypto_gnutls} --with-crypto=gnutls \ -%else - --with-crypto=nss \ -%endif %if %{with sanitizer} --with-address-sanitizer=exec \ -%if 0%{?fedora} || 0%{?rhel} >= 8 --enable-undefined-sanitizer=yes \ %else - --enable-undefined-sanitizer=no \ -%endif -%else --with-address-sanitizer=no \ --enable-undefined-sanitizer=no \ %endif @@ -890,10 +842,10 @@ autoreconf --install --force --enable-more-warnings=yes \ %endif --with-valgrind=no \ -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} --enable-ifcfg-rh=yes \ %else - --enable-ifcfg-rh=no \ + --enable-ifcfg-rh=no \ %endif --enable-ifupdown=no \ %if %{with ppp} @@ -903,22 +855,18 @@ autoreconf --install --force %else --enable-ppp=no \ %endif -%if %{with firewalld_zone} --enable-firewalld-zone=yes \ -%else - --enable-firewalld-zone=no \ -%endif --with-dist-version=%{version}-%{release} \ -%if %{?config_plugins_default_ifcfg_rh} +%if %{with default_ifcfg_rh} --with-config-plugins-default=ifcfg-rh \ %endif -%if %{?ifcfg_migrate} +%if %{with ifcfg_migrate} --with-config-migrate-ifcfg-rh-default=yes \ %endif --with-resolvconf=no \ --with-netconfig=no \ --with-config-dns-rc-manager-default=%{dns_rc_manager_default} \ - --with-config-logging-backend-default=%{logging_backend_default} \ + --with-config-logging-backend-default=journal \ --disable-autotools-deprecation %make_build @@ -950,14 +898,14 @@ cp %{SOURCE7} %{buildroot}%{_sysctldir} cp %{SOURCE6} %{buildroot}%{nmlibdir}/conf.d/ %endif -%if 0%{?ifcfg_warning} +%if %{with ifcfg_warning} cp %{SOURCE8} %{buildroot}%{_sysconfdir}/sysconfig/network-scripts %endif -%if 0%{?ifcfg_migrate} +%if %{with ifcfg_migrate} cp %{SOURCE9} %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/readme-ifcfg-rh.txt %endif -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} cp examples/dispatcher/10-ifcfg-rh-routes.sh %{buildroot}%{nmlibdir}/dispatcher.d/ ln -s ../no-wait.d/10-ifcfg-rh-routes.sh %{buildroot}%{nmlibdir}/dispatcher.d/pre-up.d/ ln -s ../10-ifcfg-rh-routes.sh %{buildroot}%{nmlibdir}/dispatcher.d/no-wait.d/ @@ -977,11 +925,12 @@ mkdir -p %{buildroot}%{_prefix}/src/debug/NetworkManager-%{real_version} cp valgrind.suppressions %{buildroot}%{_prefix}/src/debug/NetworkManager-%{real_version} %endif -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} touch %{buildroot}%{_sbindir}/ifup touch %{buildroot}%{_sbindir}/ifdown %endif + %check %if %{with meson} %if %{with test} @@ -1016,14 +965,12 @@ if [ -S /run/udev/control ]; then /usr/bin/udevadm control --reload-rules || : /usr/bin/udevadm trigger --subsystem-match=net || : fi -%if %{with firewalld_zone} %firewalld_reload -%endif %systemd_post %{systemd_units} -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} %post initscripts-updown if [ -f %{_sbindir}/ifup -a ! -L %{_sbindir}/ifup ]; then # initscripts package too old, won't let us set an alternative @@ -1052,7 +999,7 @@ fi %systemd_preun NetworkManager-wait-online.service NetworkManager-dispatcher.service nm-priv-helper.service -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} %preun initscripts-updown if [ $1 -eq 0 ]; then /usr/sbin/update-alternatives --remove ifup %{_libexecdir}/nm-ifup >/dev/null 2>&1 || : @@ -1069,19 +1016,11 @@ fi %postun /usr/bin/udevadm control --reload-rules || : /usr/bin/udevadm trigger --subsystem-match=net || : -%if %{with firewalld_zone} %firewalld_reload -%endif %systemd_postun %{systemd_units} -%if (0%{?fedora} && 0%{?fedora} < 28) || 0%{?rhel} -%post libnm -p /sbin/ldconfig -%postun libnm -p /sbin/ldconfig -%endif - - %if %{with nm_cloud_setup} %postun cloud-setup %systemd_postun %{systemd_units_cloud_setup} @@ -1092,7 +1031,7 @@ fi %{dbus_sys_dir}/org.freedesktop.NetworkManager.conf %{dbus_sys_dir}/nm-dispatcher.conf %{dbus_sys_dir}/nm-priv-helper.conf -%if %{?with_ifcfg_rh} && 0%{?split_ifcfg_rh} == 0 +%if %{with ifcfg_rh} && %{without split_ifcfg_rh} %{dbus_sys_dir}/nm-ifcfg-rh.conf %endif %{_sbindir}/%{name} @@ -1120,7 +1059,7 @@ fi %{_libexecdir}/nm-priv-helper %dir %{_libdir}/%{name} %dir %{nmplugindir} -%if %{?with_ifcfg_rh} && 0%{?split_ifcfg_rh} == 0 +%if %{with ifcfg_rh} && %{without split_ifcfg_rh} %{nmplugindir}/libnm-settings-plugin-ifcfg-rh.so %endif %if %{with nmtui} @@ -1142,16 +1081,14 @@ fi %{_mandir}/man8/NetworkManager-dispatcher.8* %{_mandir}/man8/NetworkManager-wait-online.service.8* %dir %{_localstatedir}/lib/NetworkManager -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} %dir %{_sysconfdir}/sysconfig/network-scripts %endif %{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service %{_datadir}/dbus-1/system-services/org.freedesktop.nm_priv_helper.service %{_datadir}/polkit-1/actions/*.policy %{_prefix}/lib/udev/rules.d/*.rules -%if %{with firewalld_zone} %{_prefix}/lib/firewalld/zones/nm-shared.xml -%endif # systemd stuff %{_unitdir}/NetworkManager.service %{_unitdir}/NetworkManager-wait-online.service @@ -1159,7 +1096,7 @@ fi %{_unitdir}/nm-priv-helper.service %dir %{_datadir}/doc/NetworkManager/examples %{_datadir}/doc/NetworkManager/examples/server.conf -%if 0%{?ifcfg_warning} || 0%{?ifcfg_migrate} +%if %{with ifcfg_warning} || %{with ifcfg_migrate} %{_sysconfdir}/sysconfig/network-scripts/readme-ifcfg-rh.txt %endif %doc NEWS AUTHORS README.md CONTRIBUTING.md @@ -1259,13 +1196,14 @@ fi %{nmlibdir}/conf.d/00-server.conf -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} %files dispatcher-routing-rules %{nmlibdir}/dispatcher.d/10-ifcfg-rh-routes.sh %{nmlibdir}/dispatcher.d/no-wait.d/10-ifcfg-rh-routes.sh %{nmlibdir}/dispatcher.d/pre-up.d/10-ifcfg-rh-routes.sh %endif + %if %{with nmtui} %files tui %{_bindir}/nmtui @@ -1276,7 +1214,7 @@ fi %endif -%if 0%{?split_ifcfg_rh} +%if %{with split_ifcfg_rh} %files initscripts-ifcfg-rh %{nmplugindir}/libnm-settings-plugin-ifcfg-rh.so %{dbus_sys_dir}/nm-ifcfg-rh.conf @@ -1295,7 +1233,7 @@ fi %endif -%if %{?with_ifcfg_rh} +%if %{with ifcfg_rh} %files initscripts-updown %{_libexecdir}/nm-ifup %ghost %attr(755, root, root) %{_sbindir}/ifup diff --git a/contrib/fedora/rpm/build_clean.sh b/contrib/fedora/rpm/build_clean.sh index c1b0f408..37436c1b 100755 --- a/contrib/fedora/rpm/build_clean.sh +++ b/contrib/fedora/rpm/build_clean.sh @@ -226,6 +226,7 @@ if [[ $NO_DIST != 1 ]]; then -Dlibaudit=yes-disabled-by-default \ -Dpolkit=true \ -Dnm_cloud_setup=true \ + -Ddhclient=/usr/sbin/dhclient \ -Dconfig_dhcp_default=internal \ -Dconfig_dns_rc_manager_default=auto \ -Diptables=/usr/sbin/iptables \ @@ -267,6 +268,7 @@ if [[ $NO_DIST != 1 ]]; then --with-libaudit=yes-disabled-by-default \ --enable-polkit=yes \ --with-nm-cloud-setup=yes \ + --with-dhclient=yes \ --with-config-dhcp-default=internal \ --with-config-dns-rc-manager-default=auto \ \ diff --git a/contrib/fedora/rpm/configure-for-system.sh b/contrib/fedora/rpm/configure-for-system.sh index 1af647d5..37966ae4 100755 --- a/contrib/fedora/rpm/configure-for-system.sh +++ b/contrib/fedora/rpm/configure-for-system.sh @@ -30,7 +30,7 @@ vars_with_vals() { } usage() { - echo "$ $0 [-m|--meson] [-a|--autotools] [-s|--show] [-B|--no-build] [-h|--help]" + echo "$ $0 [-m|--meson <builddir>] [-a|--autotools] [-s|--show] [-B|--no-build] [-h|--help]" echo "" echo "Configure NetworkManager in a way that is similar to when building" echo "RPMs of NetworkManager for Fedora/RHEL. The effect is that \`make install\`" @@ -149,7 +149,9 @@ P_NOBUILD="${NOBUILD-0}" P_DEBUG="${DEBUG-1}" -P_BUILD_TYPE="${BUILD_TYPE-}" +P_BUILD_TYPE="${BUILD_TYPE-meson}" +P_MESON_BUILDDIR="${MESON_BUILDDIR-./build}" +[ -n "$MESON_BUILDDIR" ] && P_MESON_BUILDDIR_FORCE=1 P_CFLAGS="${CFLAGS-}" P_CC="${CC-$((! command -v gcc && command -v clang) &>/dev/null && echo clang || echo gcc)}" @@ -306,22 +308,15 @@ else P_CFLAGS="-g -O2 -fexceptions${P_CFLAGS:+ }$P_CFLAGS" fi -if [ -z "$P_BUILD_TYPE" ] ; then - if [ -d ./build -a ! -f ./configure ] ; then - P_BUILD_TYPE=meson - elif [ ! -d ./build -a -f ./configure ] ; then - P_BUILD_TYPE=autotools - else - P_BUILD_TYPE=autotools - fi -fi - while [[ $# -gt 0 ]] ; do A="$1" shift case "$A" in --meson|-m) P_BUILD_TYPE=meson + P_MESON_BUILDDIR="$1" + P_MESON_BUILDDIR_FORCE=1 + shift ;; --autotools|-a) P_BUILD_TYPE=autotools @@ -343,11 +338,19 @@ while [[ $# -gt 0 ]] ; do esac done +if [ "$P_BUILD_TYPE" = meson -a "$P_MESON_BUILDDIR_FORCE" != 1 ]; then + if [ -d "$P_MESON_BUILDDIR" ]; then + echo "Build directory '$P_MESON_BUILDDIR' chosen by default, but it exists and will be overwritten." \ + "If you really want that, pass '--meson \"$P_MESON_BUILDDIR\"'." >&2 + exit 1 + fi +fi + vars_with_vals if [ "$P_BUILD_TYPE" == meson ] ; then MESON_RECONFIGURE= - if test -d "./build/" ; then + if test -d "$P_MESON_BUILDDIR" ; then MESON_RECONFIGURE="--reconfigure" fi @@ -355,7 +358,8 @@ if [ "$P_BUILD_TYPE" == meson ] ; then env \ CC="$P_CC" \ CFLAGS="$P_CFLAGS" \ - meson \ + meson setup\ + $MESON_RECONFIGURE \ --buildtype=plain \ --prefix="$D_PREFIX" \ --libdir="$D_LIBDIR" \ @@ -372,11 +376,6 @@ if [ "$P_BUILD_TYPE" == meson ] ; then --sharedstatedir="$D_SHAREDSTATEDIR" \ --wrap-mode=nodownload \ --auto-features=enabled \ - \ - build \ - \ - $MESON_RECONFIGURE \ - \ -Db_ndebug=false \ --warnlevel 2 \ $(args_enable "$P_TEST" --werror) \ @@ -429,6 +428,8 @@ if [ "$P_BUILD_TYPE" == meson ] ; then -Dnetconfig=no \ -Dconfig_dns_rc_manager_default="$P_DNS_RC_MANAGER_DEFAULT" \ -Dconfig_logging_backend_default="$P_LOGGING_BACKEND_DEFAULT" \ + \ + "$P_MESON_BUILDDIR" \ ; else if ! test -x ./configure ; then @@ -520,7 +521,7 @@ fi if ! bool "$P_NOBUILD" ; then if [ "$P_BUILD_TYPE" == meson ] ; then - $SHOW_CMD ninja -C build + $SHOW_CMD ninja -C "$P_MESON_BUILDDIR" else $SHOW_CMD make -j 10 fi diff --git a/contrib/fedora/rpm/release.sh b/contrib/fedora/rpm/release.sh index e7997168..fd48f487 100755 --- a/contrib/fedora/rpm/release.sh +++ b/contrib/fedora/rpm/release.sh @@ -14,12 +14,11 @@ # - "rc" : further release candidates on RC branch (e.g. from "nm-1-26" branch # tag "1.26-rc2" with version number 1.25.91). # - "major" : on stable branch do a major release (e.g. on "nm-1-26" branch -# release "1.26.0", followed by "1.26.1-dev"). +# release "1.26.0"). # You should do a "major-post" release right a "major" release. # - "major-post": after a "major" release, merge the release branch with main and # do another devel snapshot on main (e.g. do "1.27.1-dev" release). -# - "minor" : on a stable branch do a minor release (e.g. "1.26.4" on "nm-1-26" -# branch and bump to "1.26.5-dev"). +# - "minor" : on a stable branch do a minor release (e.g. "1.26.4" on "nm-1-26"). # # Requisites: # @@ -296,8 +295,7 @@ RC_VERSION= RELEASE_BRANCH= case "$RELEASE_MODE" in minor) - number_is_even "${VERSION_ARR[1]}" && - number_is_odd "${VERSION_ARR[2]}" || die "cannot do minor release on top of version $VERSION_STR" + number_is_even "${VERSION_ARR[1]}" || die "cannot do minor release on top of version $VERSION_STR" [ "$CUR_BRANCH" != main ] || die "cannot do a minor release on main" ;; devel) @@ -368,8 +366,7 @@ if [ -n "$RELEASE_BRANCH" ]; then fi if [ "$ALLOW_LOCAL_BRANCHES" != 1 ]; then - # The release process changed a bit in nm-1-50, so previous versions has to be compared to nm-1-48, not to main - cmp <(git show "$ORIGIN/nm-1-48:contrib/fedora/rpm/release.sh") "$BASH_SOURCE_ABSOLUTE" || die "$BASH_SOURCE is not identical to \`git show \"$ORIGIN/nm-1-48:contrib/fedora/rpm/release.sh\"\`" + cmp <(git show "$ORIGIN/main:contrib/fedora/rpm/release.sh") "$BASH_SOURCE_ABSOLUTE" || die "$BASH_SOURCE is not identical to \`git show \"$ORIGIN/main:contrib/fedora/rpm/release.sh\"\`" fi if ! check_news "$RELEASE_MODE" "@{VERSION_ARR[@]}" ; then @@ -432,19 +429,13 @@ case "$RELEASE_MODE" in minor) set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 1)) git commit -m "release: bump version to ${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 1))" -a || die "failed to commit release" - set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 2)) - git commit -m "release: bump version to ${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 2)) (development)" -a || die "failed to commit devel version bump" b="${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 1))" - git tag -s -a -m "Tag $b" "$b" HEAD~ || die "failed to tag release" + git tag -s -a -m "Tag $b" "$b" HEAD || die "failed to tag release" BRANCHES+=("$b") CLEANUP_REFS+=("refs/tags/$b") BUILD_TAG="$b" - b="${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 2))" - git tag -s -a -m "Tag $b (development)" "$b-dev" HEAD || die "failed to tag devel version" - BRANCHES+=("$b-dev") - CLEANUP_REFS+=("refs/tags/$b-dev") - TAR_VERSION="$BUILD_TAG" + TAR_VERSION="$b" ;; devel) set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 1)) @@ -483,20 +474,12 @@ case "$RELEASE_MODE" in ;; major) b="${VERSION_ARR[0]}.$((${VERSION_ARR[1]} + 1)).0" - b2="${VERSION_ARR[0]}.$((${VERSION_ARR[1]} + 1)).1" - set_version_number "${VERSION_ARR[0]}" "$((${VERSION_ARR[1]} + 1))" 0 git commit -m "release: bump version to $b" -a || die "failed to commit major version bump" + git tag -s -a -m "Tag $b" "$b" HEAD || die "failed to tag release" BRANCHES+=("$b") CLEANUP_REFS+=("refs/tags/$b") - - set_version_number "${VERSION_ARR[0]}" "$((${VERSION_ARR[1]} + 1))" 1 - git commit -m "release: bump version to $b2 (development)" -a || die "failed to commit another bump after major version bump" - git tag -s -a -m "Tag $b (development)" "$b2-dev" HEAD || die "failed to tag release" - BRANCHES+=("$b2-dev") - CLEANUP_REFS+=("refs/tags/$b2-dev") - BUILD_TAG="$b" TAR_VERSION="$b" ;; |