mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-10-14 20:18:39 +00:00
contrib: add "contrib/scripts/nm-copr-build.sh" script
This will be the script used by our copr repositories ([1]) for building the SRPM of NetworkManger from git. [1] https://copr.fedorainfracloud.org/coprs/networkmanager/
This commit is contained in:
parent
55e4b0ea9c
commit
1277e4c882
65
contrib/scripts/nm-copr-build.sh
Executable file
65
contrib/scripts/nm-copr-build.sh
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/bin/bash
|
||||
|
||||
# environment variables:
|
||||
# - GIT_REF: the ref that should be build. Can be "master" or a git sha.
|
||||
# - DEBUG: set to 1 to build "--with debug".
|
||||
# - NM_GIT_BUNDLE: set to a HTTP url where to fetch the nm-git-bundle-*.noarch.rpm
|
||||
# from. Set to empty to skip it. By default, it fetches the bundle from copr.
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ "$DEBUG" == 1 ]]; then
|
||||
DEBUG="--with debug"
|
||||
else
|
||||
DEBUG="--without debug"
|
||||
fi
|
||||
|
||||
if [[ -z "$GIT_REF" ]]; then
|
||||
echo "\$GIT_REF is not set!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir NetworkManager
|
||||
pushd NetworkManager
|
||||
git init .
|
||||
|
||||
git remote add origin https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
|
||||
git remote add github https://github.com/NetworkManager/NetworkManager
|
||||
|
||||
get_nm_git_bundle() {
|
||||
# try to fetch the refs from nm-git-bundle.
|
||||
#
|
||||
# This script runs in copr infrastructure to create the SRPM.
|
||||
# The idea is that this URL is close and downloading it is cheaper
|
||||
# than fetching everything from upstream git.
|
||||
if [ -z "$NM_GIT_BUNDLE" ]; then
|
||||
if [ -n "${NM_GIT_BUNDLE+x}" ]; then
|
||||
return 0
|
||||
fi
|
||||
NM_GIT_BUNDLE='https://download.copr.fedorainfracloud.org/results/networkmanager/NetworkManager-master/fedora-33-x86_64/01877051-nm-git-bundle/nm-git-bundle-20210112-123248.noarch.rpm'
|
||||
fi
|
||||
mkdir nm-git-bundle
|
||||
pushd nm-git-bundle
|
||||
curl "$NM_GIT_BUNDLE" \
|
||||
| rpm2cpio - \
|
||||
| cpio -idmv
|
||||
popd
|
||||
git remote add nm-git-bundle "$PWD/nm-git-bundle/usr/share/NetworkManager/nm-git-bundle.git"
|
||||
git fetch nm-git-bundle
|
||||
}
|
||||
|
||||
get_nm_git_bundle
|
||||
git fetch github
|
||||
git fetch origin
|
||||
git remote remove nm-git-bundle || true
|
||||
|
||||
GIT_SHA="$(git show-ref --verify --hash "$GIT_REF" 2>/dev/null ||
|
||||
git show-ref --verify --hash "refs/remotes/origin/$GIT_REF" 2>/dev/null ||
|
||||
git rev-parse --verify "$GIT_REF^{commit}" 2>/dev/null)"
|
||||
|
||||
git checkout -b tmp "$GIT_SHA"
|
||||
|
||||
./contrib/fedora/rpm/build_clean.sh -g -S -w test $DEBUG -s copr
|
||||
popd
|
||||
|
||||
mv ./NetworkManager/contrib/fedora/rpm/latest/SRPMS/* .
|
Loading…
Reference in a new issue