Commit graph

10872 commits

Author SHA1 Message Date
Vladimír Beneš
2e4f748e3d rh-bkr: limit build jobs for meson from cores+2 to cores
We see sometimes when we have the default cores+2 some OOM kills.
Let's use cores.
2025-09-16 13:35:51 +02:00
Vladimír Beneš
8d7dc96b5d rh-bkr: limit build jobs from 20 to cores*2
We see sometimes when we have -j20 some OOM kills. Let's use proc*2.
2025-09-16 12:34:20 +02:00
Beniamino Galvani
9c676e4e2c build-from-source: enable nbft support only if the library is available
libnvme >= 1.5 is available only since RHEL 9.4. Disable nbft support
at build time otherwise.
2025-04-30 10:14:39 +02:00
Beniamino Galvani
c7d8194f5f build-from-source: install libnvme-devel
nbft support is now enabled by default during the build
2025-04-29 09:33:05 +02:00
Beniamino Galvani
6f3c2b2cd9 build-from-source: use non-beta buildroot repo for RHEL10
Otherwise the script tries to install packages from both beta and
non-beta repositories, which causes conflicts:

 Problem: conflicting requests
  - nothing provides libndp = 1.9-1.el10 needed by libndp-devel-1.9-1.el10.x86_64 from buildroot
2025-03-05 20:45:50 +01:00
Vladimír Beneš
f82e5ccdcf rh-bkr: import CentOS specific rpm key 2024-12-13 10:51:55 +01:00
Vladimír Beneš
7db613f815 automation: skip gpg check under el10
It looks we have some incorrectly signed (or unsigned) packages
which are needed for compilation. Skip gpg check for now on el10.
2024-08-16 11:38:22 +02:00
Lubomir Rintel
cfd50acac2 build-from-source: do not install libteamdctl
No teamd in RHEL 10.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1994
2024-07-31 12:32:39 +02:00
Lubomir Rintel
0b6c3af237 build-from-source: use buildroot repo on RHEL 10
The buildroot package repositories are not present on RHEL 10 installs,
so we can't build-from-source there.

Drag in whichever latest buildroot is there. Hopefully that's good
enough, it's roughly analogous to what we do for RHEL 8.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1994
2024-07-31 12:32:35 +02:00
Beniamino Galvani
126bfa29f8 build-from-source: fix meson build arguments
Fix the following error:

  meson.build:3:0: ERROR: Unknown options: "console_kit, systemd_logind"

Fixes: a287659c5f ('automation: adapt build_from_source to use meson')
2024-05-23 09:19:13 +02:00
Fernando Fernandez Mancera
a287659c5f automation: adapt build_from_source to use meson
As autotools is deprecated, we must build with meson for
NetworkManager-1.47 or greater. As we plan to drop autotools in
NetworkManager-1.50, we must do the change as soon as possible.
2024-05-20 14:56:14 +02:00
Beniamino Galvani
271ec6dde5 build-from-source: install meson 2024-04-04 11:42:39 +02:00
Vladimír Beneš
5a55353206 automation: add vala as builddep.
We don't have vala-tools in Fedora Rawhide (not sure when it went
away) but we need vapigen which is in vala rpm in Rawhide now.
2023-01-20 17:14:07 +01:00
Vladimír Beneš
ded9381e74 automation: add dep to python3-gobject-devel in rh-bkr 2022-09-22 11:41:08 +02:00
Thomas Haller
32716d71dd
build-from-source: install pexpect which is used for unit tests of NetworkManager 2022-08-23 15:43:37 +02:00
Filip Pokryvka
af3709f9cf
build-from-source: install make as dependency in build script
Signed-off-by: Filip Pokryvka <fpokryvk@redhat.com>
2022-01-10 20:04:29 +01:00
Thomas Haller
ef73f482e7
makerepo: remove "makerepo.sh" script as it migrated to "main" branch
41937748d8
2021-08-02 14:17:50 +02:00
Thomas Haller
021df421a9
makerepo: add upstream reference for libqmi-1.24.0.tar.xz 2021-07-14 21:29:48 +02:00
Thomas Haller
ac0742c7df
makerepo: detect centpkg for CentOS Stream dist-git 2021-07-02 17:56:28 +02:00
Thomas Haller
8e8e2f5efd
build-from-source: use "main" branch by default (instead of "master") 2021-06-30 15:23:44 +02:00
Thomas Haller
0350e90303
build-from-source: fail build_clean.sh on compiler warning or unit test failure 2021-04-09 15:04:14 +02:00
Vladimír Beneš
70bad8e685 rh-bkr: make ip_gre module non fatal during build
Copr environment doesn't have ip_gre module which is in fact not
needed as if missing tests are skipped anyway.
2020-12-01 15:47:36 +01:00
Thomas Haller
6ac3431827
find-backports: fix selecting backport candidates in find-backports
Due to a bug we would wrongly skip over patches that should
be backported. Fix it.
2020-08-14 16:56:21 +02:00
Thomas Haller
eee82e0481
find-backports: add new find-backports scripts in Python
The existing find-backports.sh script seems to not work well.
For example, it does not include fixes for patches that are in
the common history of the current branch and upstream. This script is
supposed to work better.
2020-08-05 13:29:23 +02:00
Beniamino Galvani
115ad4f770 build-from-source: install iproute-tc 2020-05-26 08:59:55 +02:00
Beniamino Galvani
7f67140670 build-from-source: install firewalld-filesystem
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/498
2020-05-15 09:09:37 +02:00
Fernando Fernandez Mancera
bc0c79faeb
build-from-source: introduce INSTALL_DEPENDENCIES env variable
Environments like Copr cannot install the dependencies during the script
execution. In order to solve this, this patch introduces
"INSTALL_DEPENDENCIES" environment variable.

Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/490
2020-05-04 13:47:57 +02:00
Thomas Haller
2efe2f9e43 build-from-source: cleanup build-from-source.sh script 2020-04-21 17:10:20 +02:00
Thomas Haller
a7a0806b68 makerepo: add remote for dracut package 2020-03-12 12:10:41 +01:00
Thomas Haller
ca74acd8f9 makerepo: detect base-commit for ModemManager-1.10.8.tar.xz 2020-03-10 20:35:23 +01:00
Thomas Haller
667f3bbd18 makerepo: add upstream git repository for libnma project 2020-03-05 09:52:53 +01:00
Thomas Haller
6c122534d6 automation: fetch NetworkManager's gitlab repository and add refs from merge-requests
Fetch both from github and gitlab, and also fetch the references for the
merge-requests/pull-requests.

In practice is github just a mirror of gitlab, so seemingly it wouldn't
make sense to fetch from there. However:

  - by adding github as a remote, we can preferably fetch from there.
    I think that is faster than our gitlab at freedesktop.org. Thank
    you, Microsoft!

  - pull requests against github are indeed not found in gitlab.

We need to fetch all kinds of remote references, so that the referenced
commits are in the git repository. Also, we need to fetch them under
various name, so that these references are available to CI.

For example, when someone opens a merge-request from their fork on
gitlab/github, the commit is usually not not referenced by regular
branches on gitlab/github. Hence, we couldn't schedule CI for those
commit. Also fetch the special references for these.

Also, don't use `timeout` to fetch the repository.
2019-10-03 13:54:23 +02:00
Vladimír Beneš
34a929f96e automation: build packages in builder's home dir
When compiling on Fedora with 2GB large tmpfs there is not enough
space for it. We need to switch to some larger partition.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/294
2019-09-27 10:57:59 +02:00
Vladimír Beneš
f6f0bc0dce automation: add mobile-broadband-provider-info-devel to build script 2019-09-11 16:42:44 +02:00
Beniamino Galvani
bf7d15277f build-from-source: prefer python2 on RHEL 7
On RHEL 7.7 python3 is available but doesn't have gobject-introspection.
2019-06-07 11:22:11 +02:00
Thomas Haller
794b2ba24e build-from-source: enable randomization for unit-tests
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/125
2019-05-17 13:44:47 +02:00
Thomas Haller
01207ebcf6 makerepo: fix detection of parent commit for glib2 2019-05-15 08:18:22 +02:00
Thomas Haller
4c3d0bbffc makerepo: adjust git URL for NetworkManager 2019-03-11 18:33:04 +01:00
Thomas Haller
b6294fd600 build-from-source: avoid failures when syncing the yum/dnf repositories
Don't enable all repos. It fails with Fedora:

    + yum install 'perl(XML::Parser)' 'perl(YAML)' /usr/bin/dbus-launch ModemManager-glib-devel audit-libs-devel automake bluez-libs-devel dbus-devel dbus-glib-devel dbus-python dhclient gettext-devel git glib2-devel gnutls-devel gobject-introspection-devel gtk-doc intltool iptables jansson-devel libasan libcurl-devel libgudev1-devel libndp-devel libnl3-devel libpsl-devel libselinux-devel libsoup-devel libubsan libudev-devel libuuid-devel newt-devel nss-devel pkgconfig polkit-devel ppp-devel pygobject3-base python3 readline-devel rpm-build strace systemd teamd-devel vala-tools valgrind wireless-tools-devel '--enablerepo=*' --skip-broken -y
    Fedora 30 openh264 (From Cisco) - x86_64        195  B/s | 543  B     00:02
    Fedora 30 openh264 (From Cisco) - x86_64        228 kB/s | 1.6 kB     00:00
    Importing GPG key 0xCFC659B9:
     Userid     : "Fedora (30) <fedora-30-primary@fedoraproject.org>"
     Fingerprint: F1D8 EC98 F241 AAF2 0DF6 9420 EF3C 111F CFC6 59B9
     From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-30-x86_64
    Fedora 30 openh264 (From Cisco) - x86_64        1.7 kB/s | 5.1 kB     00:03
    Fedora 30 openh264 (From Cisco) - x86_64 - Debu 206  B/s | 543  B     00:02
    Fedora 30 openh264 (From Cisco) - x86_64 - Debu 1.6 MB/s | 1.6 kB     00:00
    Importing GPG key 0xCFC659B9:
     Userid     : "Fedora (30) <fedora-30-primary@fedoraproject.org>"
     Fingerprint: F1D8 EC98 F241 AAF2 0DF6 9420 EF3C 111F CFC6 59B9
     From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-30-x86_64
    Fedora 30 openh264 (From Cisco) - x86_64 - Debu 446  B/s | 1.7 kB     00:03
    Fedora Modular 30 - x86_64 - Debug              222 kB/s | 843 kB     00:03
    Fedora Modular 30 - Source                       44 kB/s | 145 kB     00:03
    Fedora - Modular Rawhide - Developmental packag 157 kB/s | 661 kB     00:04
    Fedora - Modular Rawhide - Debug                113 kB/s | 313 kB     00:02
    Fedora - Modular Rawhide - Source                45 kB/s | 145 kB     00:03
    Fedora - Rawhide - Developmental packages for t 211 kB/s | 1.2 MB     00:06
    Failed to synchronize cache for repo 'rawhide'
    Error: Failed to synchronize cache for repo 'rawhide'

Only enable "rhel-8-buildroot" on RHEL8.

See-also: 72191bbeb2
2019-03-02 17:54:25 +01:00
Thomas Haller
22a98cc79e rh-utils: accept version number as argument for find-backports.sh
find-backports.sh only works because we craft commit messages with
necessary information. In particular the "Fixes" and cherry-picked-from
messages. That means, it relies on our git history to maintained in
a suitable manner so that the script can gather the necessary
information.

Likewise, we have a particular scheme how we do releases, how versions
are numbered, how stable branches and release tags are called, etc.

Exploit that, to allow for simpler calling convention for
find-backports.sh script:

  $ contrib/rh-utils/find-backports.sh 1.14

will automatically complete to

  $ contrib/rh-utils/find-backports.sh 1.14.0 nm-1-14 master
2018-11-22 11:38:09 +01:00
Thomas Haller
5c51bfea86 build-from-source: select python interpretor in build script
On rhel-8, python2 is available and in the path, but it doesn't
actually work because required modules are missing.
2018-11-16 15:01:00 +01:00
Thomas Haller
582c45cd15 build-from-source: install intltool package for build 2018-11-16 10:38:58 +01:00
Thomas Haller
5fde805683 build-from-source: combine multiple calls to yum-install
- moves installing libubsan to the previous yum-install.
  Since we already pass --skip-broken, we don't need the
  "|| true".
- also, sort the packages
- also, combine "set" lines
2018-11-13 11:49:09 +01:00
Thomas Haller
e6bcd8770b build-from-source: also (re)install noarch packages
Fix installing also noarch packages. I think they were omitted wrongly
before, and installing them now might break existing assumptions during
CI (like, which packages are installed and which not).

But since the script anyway didn't ensure which RPMs are installed
prevoiusly, it was very likely that packages like NetworkManager-config-server
was already installed. CI needs to always anticipate that such packages
may be installed and act accordingly. Usually, this just means to
explicitly overwrite the configuration snippets provided by these
packages.
2018-11-13 11:44:23 +01:00
Thomas Haller
a2a9352d03 build-from-source: fix installing RPM versions with double-digit version number 1.10+ 2018-11-13 11:21:26 +01:00
Beniamino Galvani
72191bbeb2 build-from-source: enable all repos and skip broken deps
This is needed to build on RHEL8 where some packages are in the
buildroot repo and not all dependencies are available.
2018-11-09 13:15:47 +01:00
Beniamino Galvani
98f08717cd build-from-source: add gnutls-devel
It is needed on RHEL8
2018-11-09 13:15:03 +01:00
Thomas Haller
a257ae8cac rh-utils: support multiple upstream refs for find-backports.sh
$ contrib/rh-utils/find-backports.sh 1.12.0 origin/nm-1-12 origin/master origin/nm-1-14
2018-10-23 10:12:37 +02:00
Thomas Haller
4ec8a013e3 makerepo: detect base-commit for ModemManager-1.6.10.tar.xz 2018-10-01 19:45:39 +02:00
Thomas Haller
a89a129bf7 build-from-source: fix build failure due to netconfig path
During the test build we enabled "--with-netconfig=yes".

Since commit "5b36585a3d build/autotools: fail configure if
netconfig/resolveconf tool is not found", when specifying
"--with-netconfig=yes" the user is required to have netconfig
installed (so that the path can be detected). Otherwise it fails
with

    checking for netconfig... no
    configure: error: cannot find netconfig in path. Set the path explicitly via --with-netconfig=PATH.

The correct way is to explicitly specify the path. In that
case, it's OK that the file doesn't actually exist.
2018-09-14 10:49:42 +02:00