summaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
2020-10-19contrib/release: fix parsing version in "release.sh" scriptThomas Haller1-1/+1
2020-10-19contrib/release: improve help text for "release.sh" scriptThomas Haller1-13/+16
2020-10-19contrib/release: use "find-backport" scripts from release.shThomas Haller1-2/+2
2020-10-19contrib: add "find-backports" scriptThomas Haller1-0/+334
This script was previously on the "automation" branch. Add it to "master".
2020-10-09contrib/checkpatch: complain about patch format with "Reverts:" tagThomas Haller1-1/+1
2020-10-06build/release: before release check that all gitlab-ci tests ran successfullyThomas Haller1-1/+37
2020-10-05build/travis: remove travis integrationThomas Haller1-12/+0
We already build a large variety of configurations in gitlab-ci, we don't need yet another configuration to run tests on travis-ci. Also, because the travis-ci setup is outdated and we don't look at it. Let's focus on gitlab-ci instead.
2020-10-05contrib/release: restore original branch in dry-run modeThomas Haller1-1/+7
In dry-run mode, reset the branch to the state where it was before. Also, in real mode delete the temporary "release-branch" branch on success.
2020-09-29contrib: add "nm-code-format-container.sh" to reformat working directory in ↵Thomas Haller1-0/+45
container We use clang-format to format our code, and the exact format depends on the clang version. Currently we use clang-11, as packaged in Fedora 33. Add a script that runs a Fedora 33 container with podman and reformats the current working directory. Usage: ./contrib/scripts/nm-code-format-container.sh
2020-09-28contrib: let "nm-code-format.sh" handle files under ./{shared,src}/systemd/Thomas Haller1-2/+2
Only the files under ./{shared,src}/systemd/src are copied from systemd. The other files should be reformatted too.
2020-09-28checkpatch.pl: adjust checking for indentation/tabsThomas Haller1-14/+2
Our new format gets enforced by clang-format, and we now only use four space indentation, instead of tabs. Adjust the checkpatch script to account for that. Also, now there are probably no cases left where we want to see any tabs in our sources. Complain about any tabs we find.
2020-09-23contrib/release: implement "rc1" release modeThomas Haller1-19/+71
2020-09-14contrib/build: reword howto for "release.sh" scriptThomas Haller1-3/+4
2020-09-02contrib: add git-hook to verify code-styleAntonio Cardace1-0/+21
Signed-off-by: Antonio Cardace <acardace@redhat.com>
2020-09-02scripts: better error message for nm-code-format.shAntonio Cardace1-1/+1
Signed-off-by: Antonio Cardace <acardace@redhat.com>
2020-09-02scripts: add script to format codebase using clang-formatAntonio Cardace1-0/+72
Signed-off-by: Antonio Cardace <acardace@redhat.com>
2020-08-31contrib: accept missing .sig file for older releases in "release.sh"Thomas Haller1-2/+5
On older branches, the build script does not create a GPG signature of the release tarball. Let the release script be graceful against that.
2020-08-28gitlab-ci: fix workarounds for Ubuntu 16.04 in testsThomas Haller1-1/+1
The detection for Ubuntu 16.04 was broken. By now /etc/os-release contains VERSION="16.04.7 LTS (Xenial Xerus)"
2020-08-24dns: add new "rc-manager=auto" modeThomas Haller2-1/+9
Add a new `main.rc-manager=auto` setting, that favours to use systemd-resolved (and not touch "/etc/resolv.conf" but configure it via D-Bus), or falls back to `resolvconf`/`netconfig` binaries if they are installed and enabled at compile time. As final fallback use "symlink", like before. Note that on Fedora there is no "openresolv" package ([1]). Instead, "systemd" package provides "/usr/sbin/resolvconf" as a wrapper for systemd-resolved's "resolvectl". On such a system the fallback to resolvconf is always wrong, because NetworkManager should either talk to systemd-resolved directly or not but never call "/usr/sbin/resolvconf". So, the special handling for resolvconf and netconfig is only done if NetworkManager was build with these applications explicitly enabled. Note that SUSE builds NetworkManager with --with-netconfig=yes --with-config-dns-rc-manager-default=netconfig and the new option won't be used there either. But of course, netconfig already does all the right things on SUSE. [1] https://bugzilla.redhat.com/show_bug.cgi?id=668153 Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-08-18contrib/rpm: enable LTO by default on RHEL-9 and newerThomas Haller1-1/+1
2020-08-17contrib/rpm: enable LTO by default on Fedora 33Thomas Haller1-0/+9
With Fedora 33, LTO will be enabled by default via CFLAGS in redhat-rpm-config ([1]). That basically sets "CFLAGS=-flto -ffat-lto-objects". Note that we have our own configure/meson option to enable LTO. With "--with-lto" we set CFLAGS="-flto -flto-partition=none". This is necessary due ([2], [3]). So, disable Fedora's automatism, but turn on the suitable configure option to get working LTO. [1] https://src.fedoraproject.org/rpms/redhat-rpm-config/c/5baaf4a99cc77572d3496a7000674098bef7ed68?branch=master [2] e6cf4213a774 ('build: fix building with LTO') [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200#c28
2020-08-17scripts: use "/bin/cat" in NM-logThomas Haller1-2/+2
Ubuntu 16.04 doesn't have merged /usr directories and cat is in /bin/cat.
2020-08-05contrib: use new "find-backports" script in "release.sh"Thomas Haller1-5/+5
2020-07-16contrib/rpm: prefer keyfile settings plugin from Fedora 33 and newerThomas Haller1-0/+4
This change is for Fedora 33 and newer. For now, also enable it for RHEL 9 and newer, but it must still be decided whether that will be done there as well. https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00002.html https://fedoraproject.org/wiki/Changes/NetworkManager_keyfile_instead_of_ifcfg_rh https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/OLOU27DAON2TYGTAVZ35GZE2BEIN42U3/ https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/OLOU27DAON2TYGTAVZ35GZE2BEIN42U3/ https://pagure.io/fesco/issue/2432 https://bugzilla.redhat.com/show_bug.cgi?id=1857391
2020-07-13contrib: improve code comments to release.sh scriptsThomas Haller1-1/+6
2020-07-13contrib: add "major-post" step for release.sh scriptThomas Haller1-1/+23
2020-07-13contrib: support "major" release in release.sh scriptThomas Haller1-21/+42
2020-06-30contrib: consistency check meson.build in release scriptThomas Haller1-6/+10
2020-06-30contrib: improve release script with howto comments and help optionThomas Haller1-29/+73
2020-06-29build: for signing use key from git's user.signingkeyThomas Haller1-1/+5
2020-06-28release: cleanup temporary release-branch and avoid prompt for ftpadmin installThomas Haller1-1/+3
2020-06-28release: fix "rc" release build and add option to suppress check for local ↵Thomas Haller1-8/+24
branches
2020-06-28release: fix RC_VERSION for release scriptThomas Haller1-1/+1
The release candidate -rc1 has version "1.y.90", -rc2 has "1.y.91", and so on. Fix the script.
2020-06-28release: fix release script for "rc"Thomas Haller1-1/+2
2020-06-04build: print deleted references in release.sh scriptThomas Haller1-3/+10
2020-06-04build: print commands in color for release.sh scriptThomas Haller1-17/+27
2020-06-04build: implement release mode "rc" in release.sh scriptThomas Haller1-4/+23
Still not implemented are the first release candidate (rc1) and the major release.
2020-06-04build: optionally sign source tarball in build.sh scriptThomas Haller1-0/+14
This defaults to $DO_RELEASE. In that case, the script will also GPG sign the source tarball. The purpose is that when we do a release we want to ensure that the published tarball is really the one that we generated. In that case, the SHA sum would suffice, however that requires you to manually note it down and compare the result. With the gpg signature, that verification can be better automated.
2020-06-04build: add "release.sh" scriptThomas Haller1-0/+275
Currently only "minor" and "devel" releases are implement. It's also not yet tested with --no-dry-run, because that would actually create a release. Test it when using it the next time.
2020-05-29contrib/rpm: remove trailing whitespaces from spec fileThomas Haller1-2/+2
2020-05-28platform: add tc testsBeniamino Galvani2-0/+5
2020-05-15contrib/rpm: enable the firewalld zone in F32 and RHEL8Beniamino Galvani2-0/+28
2020-05-14contrib/rpm: no longer mention that libnm is "new API"Thomas Haller1-6/+4
libnm was introduced in version 1.0, December 2014. It's no longer new, and libnm-glib is forgotten.
2020-05-14contrib/rpm: enable undefined-sanitizer libubsan on RHEL-8Thomas Haller1-2/+4
2020-05-14gitlab-ci: optionally install libasan,libubsan via REQUIRED_PACKAGES scriptThomas Haller1-0/+2
2020-05-14gitlab-ci: accept failure in REQUIRED_PACKAGES script for non-existing qt-develThomas Haller1-3/+3
On CentOS 8, many devel packages are not available. Even after # dnf config-manager --set-enabled PowerTools certain devel packages are missing. Some of these (libndp-devel, mobile-broadband-provider-info-devel, teamd-devel) we build in copr ([1]), but libpsl-devel and qt-devel are still missing. Only install them optionally and allow failure for them not being present. [1] https://copr.fedorainfracloud.org/coprs/nmstate/nm-build-deps/repo/epel-8/nmstate-nm-build-deps-epel-8.repo
2020-05-08contrib/rpm: log MD5/SHA sums of release tarball during build_clean.shThomas Haller2-0/+10
When doing a release, we should care about the checksum of the tarball. Log all of them... also, because fedpkg uses sha512, ftpadmin@gnome uses sha256, etc.
2020-04-18contrib/rpm: fix spec file using bare wordsThomas Haller1-2/+2
error: bare words are no longer supported, please use "...": no != "yes" error: ^ error: /builds/NetworkManager/NetworkManager/contrib/fedora/rpm/NetworkManager.20200418-170120.dp5cp5/SPECS/NetworkManager.spec:596: bad %if condition: no != "yes"
2020-04-18contrib/rpm: fix spec file using bare wordsThomas Haller1-1/+1
error: bare words are no longer supported, please use "...": no != yes error: /builds/NetworkManager/NetworkManager/contrib/fedora/rpm/NetworkManager.20200418-163008.VM582H/SPECS/NetworkManager.spec:596: bad %if condition: no != yes
2020-04-02contrib/rpm: avoid bare words in spec fileThomas Haller1-2/+2
error: bare words are no longer supported, please use "...": "x" != x error: ^ error: /root/nm-build/NetworkManager/contrib/fedora/rpm/NetworkManager.20200402-030113.Hk7EGs/SPECS/NetworkManager.spec:32: bad %if condition: "x" != x ERROR: rpmbuild FAILED