diff --git a/.gitignore b/.gitignore
index a5b9a52..07ef744 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ git/
build.*
*.sw?
downloads/
+jenkins/*.xml
diff --git a/Makefile b/Makefile
index bd9e12c..71aa12c 100644
--- a/Makefile
+++ b/Makefile
@@ -38,6 +38,10 @@ BUILD_TARGET_sysmocom-alix = "core-image-minimal-initramfs meta-toolchain-osmo t
# approiate here or not.
BUILD_TARGETS="$(BUILD_TARGET_$(CUR_MACHINE))"
+# Jenkins jobs...
+JOB_FILES=merge_diff.xml nightly.xml show_diff.xml test_upgrade_alix.xml test_upgrade_apu2.xml testbranch.xml testing.xml
+SED=sed
+
#
usage:
@echo "Pick a target like help, update or sysmocom-alix-setup"
@@ -168,6 +172,16 @@ endif
@echo " Port = $(SSH_PORT)" >> $(HOME)/.ssh/config
@echo " AddressFamily = inet" >> $(HOME)/.ssh/config
@echo " User = $(SSH_USER)" >> $(HOME)/.ssh/config
+
+# Create jenkin job xmls
+create-jenkins-jobs:
+ $(Q)$(foreach file, $(JOB_FILES), \
+ cat jenkins/job_templates/$(file) | \
+ $(SED) \
+ -e s,PLACEHOLDER_SYSMOCOM_RELEASE,$(SYSMOCOM_RELEASE),g \
+ -e s,PLACEHOLDER_POKY_RELEASE,$(POKY_RELEASE),g > jenkins/$(file); \
+ )
+
# Target classification
-.PHONY: update setup-all install-ssh-config
+.PHONY: update setup-all install-ssh-config create-jenkins-jobs
.SECONDARY: $(foreach repo, $(REPOS), git/$(repo)) $(foreach machine, $(MACHINES), build.$(machine))
diff --git a/jenkins/job_templates/merge_diff.xml b/jenkins/job_templates/merge_diff.xml
new file mode 100644
index 0000000..6a267d4
--- /dev/null
+++ b/jenkins/job_templates/merge_diff.xml
@@ -0,0 +1,32 @@
+
+
+
+ Show the files diff between PLACEHOLDER_SYSMOCOM_RELEASE-testing and PLACEHOLDER_SYSMOCOM_RELEASE
+
+ -1
+ 90
+ -1
+ -1
+
+ false
+
+
+ true
+ false
+ false
+ false
+
+ false
+
+
+
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "merge-testing sysmobts PLACEHOLDER_SYSMOCOM_RELEASE"
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "merge-testing sysmobts2100 PLACEHOLDER_SYSMOCOM_RELEASE"
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "merge-testing sysmocom-alix PLACEHOLDER_SYSMOCOM_RELEASE"
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "merge-testing sysmocom-apu2 PLACEHOLDER_SYSMOCOM_RELEASE"
+
+
+
+
+
+
diff --git a/jenkins/job_templates/nightly.xml b/jenkins/job_templates/nightly.xml
new file mode 100644
index 0000000..618f39c
--- /dev/null
+++ b/jenkins/job_templates/nightly.xml
@@ -0,0 +1,303 @@
+
+
+
+ <div><b>Creates official PLACEHOLDER_SYSMOCOM_RELEASE-nightly packages/images on downlaods.sysmocom.de</b></div>
+<div>
+ Does this by using
+ <ul>
+ <li>latest <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=PLACEHOLDER_POKY_RELEASE"><i>PLACEHOLDER_POKY_RELEASE</i> of upstream poky (2.3)</a></li>
+ <li>latest <a href="http://git.sysmocom.de/poky/meta-sysmocom-bsp/log/?h=laforge/nightly"><i>laforge/nightly</i> of meta-sysmocom-bsp</a></li>
+ <li>latest <a href="https://github.com/sysmocom/meta-telephony/tree/laforge/nightly"><i>laforge/nightly</i> of meta-telephony</a></li>
+ <li>latest <a href="https://github.com/sysmocom/meta-smalltalk"><i>master</i> of meta-smalltalk</a></li>
+ </ul>
+</div>
+
+ 90
+ 90
+ -1
+ -1
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://git.yoctoproject.org/poky.git
+
+
+
+
+ */PLACEHOLDER_POKY_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ poky
+
+
+
+
+
+ false
+
+ poky
+
+
+ 2
+
+
+
+
+ git://git.sysmocom.de/poky/meta-sysmocom-bsp
+
+
+
+
+ */laforge/nightly
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ meta-sysmocom-bsp
+
+
+
+
+
+ false
+
+ meta-sysmocom-bsp
+
+
+ 2
+
+
+
+
+ git://git.osmocom.org/meta-telephony.git
+
+
+
+
+ */laforge/nightly
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ meta-telephony
+
+
+
+
+
+ false
+
+ meta-telephony
+
+
+ 2
+
+
+
+
+ git://github.com/sysmocom/meta-smalltalk.git
+
+
+
+
+ */master
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ meta-smalltalk
+
+
+
+
+
+ false
+
+ meta-smalltalk
+
+
+
+ OE-Slave
+ false
+ false
+ false
+ false
+
+
+ 0 3 * * *
+
+
+ false
+
+
+ label
+
+ Debian8-AMD64
+
+
+
+ machine
+
+ sysmobts-v2
+ sysmobts2100
+
+
+
+
+
+ if [ $machine == "sysmobts-v2" ]; then
+ CONF_PACKAGE_FEED_URIS="https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/PLACEHOLDER_SYSMOCOM_RELEASE-nightly/ipk/"
+else
+ CONF_PACKAGE_FEED_URIS="https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/${machine}/PLACEHOLDER_SYSMOCOM_RELEASE-nightly/ipk/"
+fi
+
+
+CREATE=0
+if [ ! -e build ]; then
+ mkdir -p build/conf
+ CREATE=1
+ cat > build/conf/bblayers.conf <<EOF
+LCONF_VERSION = "6"
+
+BBPATH = "\${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ $PWD/poky/meta \
+ $PWD/poky/meta-poky \
+ $PWD/poky/meta-yocto-bsp \
+ $PWD/meta-telephony \
+ $PWD/meta-sysmocom-bsp \
+ $PWD/meta-smalltalk \
+ "
+BBLAYERS_NON_REMOVABLE ?= " \
+ $PWD/poky/meta \
+ $PWD/poky/meta-poky \
+ "
+EOF
+
+fi
+
+# Switch to poky and prepare things
+cd poky
+
+
+# apply some hacks... due us supporting older versions
+sed -i s,'bb.error("Use of PRINC %s was d','bb.warn("Use of PRINC %s was d', meta/classes/base.bbclass
+
+
+. ./oe-init-build-env ../build
+
+if [ $CREATE -eq 1 ]; then
+ cat >> conf/local.conf <<EOF
+PATCHRESOLVE = "noop"
+PACKAGE_CLASSES = "package_ipk"
+DISTRO_FEATURES_append = " systemd "
+VIRTUAL-RUNTIME_init_manager = "systemd"
+MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
+DEBUGFILEDIRECTORY-dbg = "/usr/lib/debug"
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+PRSERV_HOST = "localhost:0"
+BBMASK="recipes-bsp/linux/linux-sysmocom_3.10.bb"
+INHERIT += " rm_work "
+ROOTFS_PKGMANAGE_BOOTSTRAP = ""
+PACKAGE_FEED_URIS = "${CONF_PACKAGE_FEED_URIS}"
+require conf/distro/include/sysmocom-defaults.conf
+EOF
+
+ if [ $machine == "sysmobts-v2" ]; then
+ cat >> conf/local.conf <<EOF
+SRC_URI_pn-sysmobts-firmware = "https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sysmobts-firmware-superfemto_v\${PV}.tar.bz2"
+SRC_URI_pn-sbts2050-util = "https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sbts2050-util-\${PV}.tar.bz2"
+EOF
+ fi
+fi
+
+rm -f bitbake.lock
+rm -rf tmp
+rm -rf downloads
+
+if [ $machine == "sysmobts2100" ]; then
+ MACHINE=$machine bitbake u-boot-litecell15
+fi
+
+# first build the non-rauc targets common to all machines
+MACHINE=$machine bitbake sysmocom-core-image smalltalk meta-toolchain-osmo task-sysmocom-feed
+
+# then build RAUC only for sysmobts-v2
+if [ $machine == "sysmobts-v2" ]; then
+ MACHINE=$machine bitbake image-rauc-slot-initramfs image-rauc-ubi rauc-native sysmocom-nitb-rauc-image
+fi
+
+
+../meta-sysmocom-bsp/upload_nightly.sh $machine
+../poky/scripts/sstate-cache-management.sh -d -y --cache-dir=./sstate-cache/
+rm -rf tmp downloads
+
+
+
+
+ intern@lists.sysmocom.de
+ false
+ false
+
+
+
+
+ false
+
+
\ No newline at end of file
diff --git a/jenkins/job_templates/show_diff.xml b/jenkins/job_templates/show_diff.xml
new file mode 100644
index 0000000..9307288
--- /dev/null
+++ b/jenkins/job_templates/show_diff.xml
@@ -0,0 +1,32 @@
+
+
+
+ Show the files diff between PLACEHOLDER_SYSMOCOM_RELEASE-testing and PLACEHOLDER_SYSMOCOM_RELEASE
+
+ -1
+ 90
+ -1
+ -1
+
+ false
+
+
+ true
+ false
+ false
+ false
+
+ false
+
+
+
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "diff-testing sysmobts PLACEHOLDER_SYSMOCOM_RELEASE"
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "diff-testing sysmobts2100 PLACEHOLDER_SYSMOCOM_RELEASE"
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "diff-testing sysmocom-alix PLACEHOLDER_SYSMOCOM_RELEASE"
+ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de "diff-testing sysmocom-apu2 PLACEHOLDER_SYSMOCOM_RELEASE"
+
+
+
+
+
+
diff --git a/jenkins/job_templates/test_upgrade_alix.xml b/jenkins/job_templates/test_upgrade_alix.xml
new file mode 100644
index 0000000..b25d58f
--- /dev/null
+++ b/jenkins/job_templates/test_upgrade_alix.xml
@@ -0,0 +1,81 @@
+
+
+
+ Test upgrading from current to the next image!
+
+ 30
+ 90
+ -1
+ -1
+
+ false
+
+
+ 2
+
+
+
+
+ ssh://git@git.admin.sysmocom.de/sysmocom/poky-qa
+
+
+
+
+ */master
+
+
+ false
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+
+
+
+
+
+
+ false
+
+
+
+ true
+ false
+ false
+ false
+
+
+ H H * * *
+
+
+ false
+
+
+ export SYSTEM_RELEASE=PLACEHOLDER_SYSMOCOM_RELEASE
+rm -f bzImage sysmocom-nitb-image-sysmocom-bsc.ext4
+
+wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-alix/PLACEHOLDER_SYSMOCOM_RELEASE-testing/images/sysmocom-alix/bzImage
+wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-alix/PLACEHOLDER_SYSMOCOM_RELEASE/images/sysmocom-alix/sysmocom-core-image-sysmocom-alix.ext4
+
+mv sysmocom-core-image-sysmocom-alix.ext4 sysmocom-nitb-image-sysmocom-bsc.ext4
+
+python2 test-bsc.py
+
+
+
+
+ TEST-TestBSC-res.xml
+ false
+
+
+
+
+
\ No newline at end of file
diff --git a/jenkins/job_templates/test_upgrade_apu2.xml b/jenkins/job_templates/test_upgrade_apu2.xml
new file mode 100644
index 0000000..495d17a
--- /dev/null
+++ b/jenkins/job_templates/test_upgrade_apu2.xml
@@ -0,0 +1,81 @@
+
+
+
+ Test upgrading from current to the next image!
+
+ 30
+ 90
+ -1
+ -1
+
+ false
+
+
+ 2
+
+
+
+
+ ssh://git@git.admin.sysmocom.de/sysmocom/poky-qa
+
+
+
+
+ */master
+
+
+ false
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+
+
+
+
+
+
+ false
+
+
+
+ true
+ false
+ false
+ false
+
+
+ H H * * *
+
+
+ false
+
+
+ export SYSTEM_RELEASE=PLACEHOLDER_SYSMOCOM_RELEASE
+rm -f bzImage sysmocom-nitb-image-sysmocom-bsc.ext4
+
+wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-apu2/PLACEHOLDER_SYSMOCOM_RELEASE-testing/images/sysmocom-apu2/bzImage
+wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-apu2/PLACEHOLDER_SYSMOCOM_RELEASE/images/sysmocom-apu2/sysmocom-core-image-sysmocom-apu2.ext4
+
+mv sysmocom-core-image-sysmocom-apu2.ext4 sysmocom-nitb-image-sysmocom-bsc.ext4
+
+python2 test-bsc.py
+
+
+
+
+ TEST-TestBSC-res.xml
+ false
+
+
+
+
+
\ No newline at end of file
diff --git a/jenkins/job_templates/testbranch.xml b/jenkins/job_templates/testbranch.xml
new file mode 100644
index 0000000..8bcd139
--- /dev/null
+++ b/jenkins/job_templates/testbranch.xml
@@ -0,0 +1,330 @@
+
+
+
+ Test a branch for a given machine on the CI environment.
+
+ 30
+ 100
+ -1
+ -1
+
+ false
+
+
+
+
+ Machine
+
+
+
+ sysmobts
+ sysmobts2100
+ sysmocom-apu2
+ sysmocom-alix2
+
+
+
+
+ poky
+
+ PLACEHOLDER_POKY_RELEASE
+
+
+ telephony
+
+ PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ bsp
+
+ PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ smalltalk
+
+ PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ qt5
+
+ PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ systemimages
+
+ PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+
+
+
+
+
+ 2
+
+
+
+
+ git://git.yoctoproject.org/poky
+
+
+
+
+ */PLACEHOLDER_POKY_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ poky
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://github.com/sysmocom/meta-smalltalk.git
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ meta-smalltalk
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://github.com/sysmocom/meta-qt5.git
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ meta-qt5
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://git.sysmocom.de/poky/meta-sysmocom-bsp
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ meta-sysmocom-bsp
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://git.osmocom.org/meta-telephony
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ meta-telephony
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://git.sysmocom.de/poky/system-images
+
+
+
+
+ **
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+ system-images
+
+
+
+
+
+ false
+
+
+
+
+
+ Debian8-AMD64
+ false
+ false
+ false
+ false
+
+ false
+
+
+ env
+
+
+cd system-images
+rm -rf git/
+mkdir -p git/
+cd git
+
+git clone -l --branch=${poky} --reference=../../poky `cd ../../poky && git config --get remote.origin.url`
+git clone -l --branch=${smalltalk} --reference=../../meta-smalltalk `cd ../../meta-smalltalk && git config --get remote.origin.url`
+git clone -l --branch=${qt5} --reference=../../meta-qt5 `cd ../../meta-qt5 && git config --get remote.origin.url`
+git clone -l --branch=${bsp} --reference=../../meta-sysmocom-bsp `cd ../../meta-sysmocom-bsp && git config --get remote.origin.url`
+git clone -l --branch=${telephony} --reference=../../meta-telephony `cd ../../meta-telephony && git config --get remote.origin.url`
+
+cd ../
+pwd
+cat Makefile
+git reset --hard origin/${systemimages}
+echo 'SRC_URI_pn-sysmobts-firmware = "https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sysmobts-firmware-superfemto_v${PV}.tar.bz2"
+SRC_URI_pn-sbts2050-util = "https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sbts2050-util-${PV}.tar.bz2"' > cfg/sysmobts/99_do_not_commit
+# keep sstate-cache
+rm -rf sstate-cache
+mv build.${Machine}/sstate-cache . || true
+rm -rf build.*
+make ${Machine}-setup
+mv sstate-cache build.${Machine}/ || true
+
+
+make ${Machine}-build
+make ${Machine}-clean
+rm -rf build.${Machine}/tmp
+
+
+
+
+
\ No newline at end of file
diff --git a/jenkins/job_templates/testing.xml b/jenkins/job_templates/testing.xml
new file mode 100644
index 0000000..9b044e1
--- /dev/null
+++ b/jenkins/job_templates/testing.xml
@@ -0,0 +1,243 @@
+
+
+
+ <div><b>Creates official PLACEHOLDER_SYSMOCOM_RELEASE-testing packages/images on downlaods.sysmocom.de</b></div>
+<div>
+ Does this by using <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=PLACEHOLDER_POKY_RELEASE"><i>PLACEHOLDER_POKY_RELEASE</i> branch</a>,
+ with the PLACEHOLDER_SYSMOCOM_RELEASE branch of the various meta-* layers.
+</div>
+
+ 30
+ 100
+ -1
+ -1
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://git.yoctoproject.org/poky
+
+
+
+
+ */PLACEHOLDER_POKY_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://github.com/sysmocom/meta-smalltalk.git
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://github.com/sysmocom/meta-qt5.git
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://git.sysmocom.de/poky/meta-sysmocom-bsp
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+
+
+
+
+
+
+ false
+
+
+
+
+ 2
+
+
+
+
+ git://git.osmocom.org/meta-telephony
+
+
+
+
+ */PLACEHOLDER_SYSMOCOM_RELEASE
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ Default
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+ true
+ false
+ false
+ false
+
+
+ H/5 * * * *
+ false
+
+
+ false
+
+
+ ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 "cd system-images && git pull --rebase"
+ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images update
+ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images build-all
+ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images upload-all
+ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images clean-all
+
+
+
+
+ PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-alix, PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-apu2
+
+ SUCCESS
+ 0
+ BLUE
+ true
+
+
+
+ intern@lists.sysmocom.de
+ false
+ false
+
+
+
+
\ No newline at end of file