diff --git a/contrib/rh-bkr/build-from-source.sh b/contrib/rh-bkr/build-from-source.sh
new file mode 100755
index 0000000000..d87810296e
--- /dev/null
+++ b/contrib/rh-bkr/build-from-source.sh
@@ -0,0 +1,126 @@
+#!/bin/bash
+
+set -e
+set -xv
+
+BUILD_DIR="${BUILD_DIR:-/tmp/nm-build}"
+BUILD_ID="${BUILD_ID:-master}"
+BUILD_REPO="${BUILD_REPO-git://anongit.freedesktop.org/NetworkManager/NetworkManager}"
+ARCH="${ARCH:-`arch`}"
+DO_TEST_BUILD="${DO_TEST_BUILD:-yes}"
+DO_TEST_PACKAGE="${DO_TEST_PACKAGE:-yes}"
+DO_INSTALL="${DO_INSTALL:-yes}"
+
+if [ -z "$SUDO" ]; then
+ unset SUDO
+fi
+
+$SUDO yum install \
+ git \
+ rpm-build \
+ valgrind \
+ dbus-devel \
+ dbus-glib-devel \
+ wireless-tools-devel \
+ glib2-devel \
+ gobject-introspection-devel \
+ gettext-devel \
+ pkgconfig \
+ libnl3-devel \
+ 'perl(XML::Parser)' \
+ 'perl(YAML)' \
+ automake \
+ ppp-devel \
+ nss-devel \
+ dhclient \
+ readline-devel \
+ audit-libs-devel \
+ gtk-doc \
+ libudev-devel \
+ libuuid-devel \
+ libgudev1-devel \
+ vala-tools \
+ iptables \
+ bluez-libs-devel \
+ systemd \
+ libsoup-devel \
+ libndp-devel \
+ ModemManager-glib-devel \
+ newt-devel \
+ /usr/bin/dbus-launch \
+ pygobject3-base \
+ dbus-python \
+ libselinux-devel \
+ polkit-devel \
+ teamd-devel \
+ -y
+
+# for the tests, let's pre-load some modules:
+$SUDO modprobe ip_gre
+
+mkdir -p "$BUILD_DIR"
+cd "$BUILD_DIR"
+
+rm -rf "./NetworkManager"
+git clone "$BUILD_REPO"
+cd "./NetworkManager/"
+git checkout "$BUILD_ID"
+
+
+if [[ "$DO_TEST_BUILD" == yes ]]; then
+ NOCONFIGURE=yes ./autogen.sh
+
+ ./configure \
+ --enable-maintainer-mode \
+ --enable-more-warnings=error \
+ --prefix=/opt/test \
+ --sysconfdir=/etc \
+ --enable-gtk-doc \
+ --enable-more-asserts \
+ --with-more-asserts=100 \
+ --enable-more-logging \
+ --enable-compile-warnings=yes\
+ --with-valgrind=no \
+ --enable-concheck \
+ --enable-ifcfg-rh \
+ --enable-ifcfg-suse \
+ --enable-ifupdown \
+ --enable-ifnet \
+ --enable-vala=yes \
+ --enable-polkit=yes \
+ --with-nmtui=yes \
+ --with-modem-manager-1 \
+ --with-suspend-resume=systemd \
+ --enable-teamdctl=yes \
+ --enable-tests=root \
+ --with-netconfig=yes \
+ --with-crypto=nss \
+ --with-session-tracking=systemd \
+ --with-consolekit=yes \
+ --with-systemd-logind=yes \
+ --with-consolekit=yes
+
+ make -j4
+ make check -k
+fi
+
+if [[ "$DO_TEST_PACKAGE" == yes || "$DO_INSTALL" == yes ]]; then
+ ./contrib/fedora/rpm/build_clean.sh -c
+fi
+
+if [[ "$DO_INSTALL" == yes ]]; then
+ pushd "./contrib/fedora/rpm/latest/RPMS/$ARCH/"
+ for p in $(ls -1 ./*.rpm | sed 's#.*\(NetworkManager.*\)-1\.[0-9]\..*#\1#'); do
+ $SUDO rpm -e --nodeps $p || true
+ done
+ $SUDO yum install -y ./*.rpm
+ popd
+
+ # ensure that the expected NM is installed.
+ COMMIT_ID="$(git rev-parse --verify HEAD | sed 's/^\(.\{10\}\).*/\1/')"
+ $SUDO yum list installed NetworkManager | grep -q -e "\.$COMMIT_ID\."
+
+ $SUDO systemctl restart NetworkManager
+fi
+
+echo "BUILDING $BUILD_ID COMPLETED SUCCESSFULLY"
diff --git a/contrib/rh-bkr/job01.xml b/contrib/rh-bkr/job01.xml
index ad8a36327c..088f4b0cad 100644
--- a/contrib/rh-bkr/job01.xml
+++ b/contrib/rh-bkr/job01.xml
@@ -53,79 +53,6 @@ if [[ -n "$RPM_LIST" ]]; then
yum install -y $RPM_LIST
fi
-
-if [[ -n "$BUILD_ID" ]]; then
-
- yum install -y git rpm-build valgrind dbus-devel dbus-glib-devel wireless-tools-devel glib2-devel gobject-introspection-devel gettext-devel pkgconfig libnl3-devel 'perl(XML::Parser)' 'perl(YAML)' automake ppp-devel nss-devel dhclient readline-devel audit-libs-devel gtk-doc libudev-devel libuuid-devel libgudev1-devel vala-tools iptables bluez-libs-devel systemd libsoup-devel libndp-devel ModemManager-glib-devel newt-devel /usr/bin/dbus-launch pygobject3-base dbus-python libselinux-devel polkit-devel teamd-devel
-
- mkdir /root/nm-build
- cd /root/nm-build
-
- git clone "$BUILD_REPO"
- cd "./NetworkManager/"
- git checkout "$BUILD_ID"
-
- # for the tests, let's load some modules:
- modprobe ip_gre
-
- if [[ "$BUILD_TEST" != "" ]]; then
- NOCONFIGURE=yes ./autogen.sh
-
- ./configure \
- --enable-maintainer-mode \
- --enable-more-warnings=error \
- --prefix=/opt/test \
- --sysconfdir=/etc \
- --enable-gtk-doc \
- --enable-more-asserts \
- --with-more-asserts=100 \
- --enable-more-logging \
- --enable-compile-warnings=yes\
- --with-valgrind=no \
- --enable-concheck \
- --enable-ifcfg-rh \
- --enable-ifcfg-suse \
- --enable-ifupdown \
- --enable-ifnet \
- --enable-vala=yes \
- --enable-polkit=yes \
- --with-nmtui=yes \
- --with-modem-manager-1 \
- --with-suspend-resume=systemd \
- --enable-teamdctl=yes \
- --enable-tests=root \
- --with-netconfig=yes \
- --with-crypto=nss \
- --with-session-tracking=systemd \
- --with-consolekit=yes \
- --with-systemd-logind=yes \
- --with-consolekit=yes
-
- make -j4
- if ! make check -k ; then
- find -regex '.*/tests/[^/]+.log$$' -exec sh -c 'echo ">>>> $$1"; cat "$$1"' '--' '{}' ';'
- echo ">> test failed"
- NMTST_DEBUG=TRACE,no-expect-messages make check -k || :
- find -regex '.*/tests/[^/]+.log$$' -exec sh -c 'echo ">>>> $$1"; cat "$$1"' '--' '{}' ';'
- exit 57
- fi
- fi
-
- ./contrib/fedora/rpm/build_clean.sh -c
-
- pushd "./contrib/fedora/rpm/latest/RPMS/$ARCH/"
- for p in $$(ls -1 ./*.rpm | sed 's#.*\(NetworkManager.*\)-1\.[0-9]\..*#\1#'); do
- rpm -e --nodeps $$p || true
- done
- yum install -y ./*.rpm
- popd
-
- # ensure that the expected NM is installed.
- COMMIT_ID="$$(git rev-parse --verify HEAD | sed 's/^\(.\{10\}\).*/\1/')"
- yum list installed NetworkManager | grep -q -e "\.$$COMMIT_ID\."
-
- echo "BUILD '$BUILD_ID' COMPLETE"
-fi
%end
]]>
@@ -158,6 +85,11 @@ fi
+
+
+
+
+