Commit graph

372 commits

Author SHA1 Message Date
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
Thomas Haller f64723bcad Revert "build-from-source: skip test checking for gtk-doc issue"
In the final version which was merged, the check is non-fatal and
has to be enabled explicitly to fail. See "aa8a7559a3 build: merge
branch 'th/check-gtk-doc-behavior'".

This reverts commit cd8b1cc284.
2018-09-14 10:44:18 +02:00
Thomas Haller cd8b1cc284 build-from-source: skip test checking for gtk-doc issue
For libnm, we use opaque types. gtk-doc has/had an issue parsing
this code, and generates suboptimal documentation.

There is a merge request against gtk-doc to address that [1].

However, there is also a `make check` test, which tries to determine
whether gtk-doc is suitable [2].

When building for beaker, we don't need this check. Also, because likely
beaker is not up to the task.

[1] https://gitlab.gnome.org/GNOME/gtk-doc/merge_requests/2
[2] https://github.com/NetworkManager/NetworkManager/pull/196
2018-09-08 11:44:34 +02:00
Thomas Haller ac0a1b3c72 makerepo: adjust repository paths for gnome gitlab migration 2018-09-07 14:34:58 +02:00
Thomas Haller d8f99fe901 build-from-source: fix checking-out branches by name (2)
git doesn't like to fetch into a local branch which is currently
checked out.

  $ git fetch origin --prune
  fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository

We need to first checkout a plain commit (detached HEAD).

Fixes: 2f67ac9eaf
2018-04-23 15:45:22 +02:00
Thomas Haller b7ba495aa9 build-from-source: fix checking-out branches by name
Without it, `git checkout -B nmbuild nm-1-10` will fail, because
there is no local branch refs/heads/nm-1-10. Previously, it worked
because there was (one) refs/remotes/origin/nm-1-10, so if we didn't
specify "-B" option, git would create a remote-tracking local branch.

Fix it, by fetching the remote branches as local branches.

Fixes: 2f67ac9eaf
2018-04-23 13:27:19 +02:00
Thomas Haller 2f67ac9eaf build-from-source: also fetch refs for pull requests when building
When somebody creates a pull request against NetworkManager's github
repository, the github repository itself usually doesn't have a branch
that references the pull request.

Hence, the commit will not be fetched by default and checking out
the commit will fail.

Also add and fetch the refs for the pull request.
2018-04-22 09:39:19 +02:00
Thomas Haller 01c880540b build-from-source: set $BUILD_SNAPSPOT to specify snapshot part of package version
Makes use of the new --snapshot option for build_clean.sh,
see 86a18b2df (contrib/rpm: make "snapshot" for package version
configurable via script).
2018-02-09 17:38:35 +01:00
Beniamino Galvani 16d2238316 build-from-source: install libasan and, if available, libubsan
They are needed for sanitizer builds.
2018-02-08 08:59:32 +01:00
Thomas Haller 1b2db713e9 makerepo: fix detecting base-commit for network-manager-applet 1.8.6 release
When doing the release, the commit ID inside the tarball is not the one which
released in the end. Hack around it in the script.
2017-11-08 15:22:53 +01:00