Merge commit 'fdad12c5475421b225bc0580848e1414577479dd' as 'software/osmo/system-images'

This commit is contained in:
Omar Ramadan
2018-10-01 18:37:32 -07:00
27 changed files with 1604 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
cfg/*/99_do_not_commit
git/
build.*
*.sw?
downloads/
jenkins/*.xml
jenkins-cli.jar

View File

@@ -0,0 +1,234 @@
# makefile to set-up the environment for building...
# This is probably only working with GNU make. The file is structured
# to have variables in the beginning, some helper functions, then so
# implicit rules and in the end targets that invoke them all.
#
# If you need to change sysmocom release or poky base branch then the
# two variables need to be changed.
# If you add a machine then MACHINES need to be adjusted and a new config
# in cfg/NAME/10_NAME needs to be created.
#
# Implicit rules: I used WILDCARD-action for the rules and then get the
# name of the rule from $@ in the rule itself or % when still being in
# the dependency list.
# Make everything more verbose by V=1. Taken from kbuild
ifeq ("$(origin V)", "command line")
Q =
else
Q = @
endif
# Variables
SYSMOCOM_RELEASE=201705
POKY_RELEASE=pyro
REPOS=poky meta-telephony meta-sysmocom-bsp meta-qt5 meta-sysmocom-bsp meta-smalltalk
MACHINES=sysmobts sysmobts2100 sysmocom-apu2 sysmocom-alix
FEED_NAME=$(SYSMOCOM_RELEASE)-testing
# The default targets to pick depending on machine
BUILD_TARGET_sysmobts = "meta-toolchain-osmo task-sysmocom-feed sysmocom-core-image sysmocom-nitb-rauc-image image-rauc-rescue-initramfs image-rauc-slot-initramfs image-rauc-ubi"
BUILD_TARGET_sysmobts2100 = "meta-toolchain-osmo task-sysmocom-feed sysmocom-core-image"
BUILD_TARGET_sysmocom-apu2 = "core-image-minimal-initramfs meta-toolchain-osmo task-sysmocom-feed sysmocom-core-image core-image-minimal-initramfs"
BUILD_TARGET_sysmocom-alix = "core-image-minimal-initramfs meta-toolchain-osmo task-sysmocom-feed sysmocom-core-image core-image-minimal-initramfs"
# Pick the one depending on $@. Not sure if .SECONDEXPANSION is more
# approiate here or not.
BUILD_TARGETS="$(BUILD_TARGET_$(CUR_MACHINE))"
# Jenkins jobs...
JOB_FILES=merge_diff.xml nightly.xml show_diff.xml testing.xml test_upgrade_alix.xml test_upgrade_apu2.xml testbranch.xml
JOB_NAME_merge_diff.xml=$(SYSMOCOM_RELEASE)-merge-diff
JOB_NAME_nightly.xml=$(SYSMOCOM_RELEASE)-nightly
JOB_NAME_show_diff.xml=$(SYSMOCOM_RELEASE)-show-diff
JOB_NAME_testing.xml=$(SYSMOCOM_RELEASE)-testing
JOB_NAME_test_upgrade_alix.xml=$(SYSMOCOM_RELEASE)-test-upgrade-alix
JOB_NAME_test_upgrade_apu2.xml=$(SYSMOCOM_RELEASE)-test-upgrade-apu2
JOB_NAME_testbranch.xml=$(SYSMOCOM_RELEASE)-testbranch
JOB_NAME="$(JOB_NAME_$(job))"
VIEW_FILES=view.xml
ALL_JENKINS_FILES=$(JOB_FILES) $(VIEW_FILES)
SED=sed
#
usage:
@echo "Pick a target like help, update or sysmocom-alix-setup"
help:
@echo "Set-up build environment and execute builds. This is intended"
@echo "for customers and employees."
@echo ""
@echo "Available targets:"
@echo " usage - Default target and print usage"
@echo " help - This output"
@echo " update - git pull --rebase and initial git clone"
@echo " setup-all - Set-up all build directories"
@echo " build-all - Build all targets"
@echo " clean-all - Clean all targets after build"
@echo " upload-all - Upload all targets"
@echo ' install-ssh-config - Install Host to $$HOME/.ssh/config'
@echo "Board specific targets:"
@$(foreach machine, $(MACHINES), \
printf " %-16s - Configure build directory\\n" $(machine)-setup;)
@$(foreach machine, $(MACHINES), \
printf " %-16s - Configure build directory\\n" $(machine)-build;)
@$(foreach machine, $(MACHINES), \
printf " %-16s - Configure build directory\\n" $(machine)-upload;)
@echo "Server targets:"
@echo " make-server-structure - Create directories for machine/release"
@echo "Jenkins targets:"
@echo " create-jenkins-jobs-xml - Create XML files from the templates"
@echo " create-jenkins-jobs - Create the Jobs using jenkins-cli.jar"
@echo "Available variables:"
@echo " V=1 - Enable verbose command output"
@echo " SYSMOCOM_RELEASE=name - Pick branch during clone"
@echo " POKY_RELEASE=name - Pick branch during clone"
@echo " JENKINS_HOST=name - Hostname of Jenkins"
@echo " JENKINS_USER=user - Username for Jenkins"
@echo " JENKINS_PASS=pass - Password for Jenkins"
@echo " WEB_FILES=dir - Directory name for make-server-structure"
@echo " SSH_HOST=host - Hostname for ssh config"
@echo " SSH_PORT=port - Port for ssh config"
@echo " SSH_USER=username - Username for ssh config"
# Fetch/update all repos... Expand REPOS and append -update to the rule
# e.g. poky-update meta-telephony-update
update: $(foreach repo, $(REPOS), $(repo)-update)
# helper rules
# crazy as I don't know a split()[0]
CUR_MACHINE=$(subst build.,,$(subst -upload,,$(subst -clean,,$(subst -build,,$@))))
## Create a new directory
git:
$(V)mkdir $@
## Clone repositories. The other option is by variable something like BRNACH_poky, REPO_poky
git/poky: | git
$(V)cd git && git clone --branch=$(POKY_RELEASE) --depth=1 git://git.yoctoproject.org/poky
git/meta-sysmocom-bsp: | git
cd git && git clone --branch=$(SYSMOCOM_RELEASE) git://git.sysmocom.de/poky/meta-sysmocom-bsp
git/meta-telephony: | git
cd git && git clone --branch=$(SYSMOCOM_RELEASE) git://git.osmocom.org/meta-telephony
git/meta-smalltalk: | git
cd git && git clone --branch=$(SYSMOCOM_RELEASE) git://github.com/sysmocom/meta-smalltalk
git/meta-qt5: | git
cd git && git clone --branch=$(SYSMOCOM_RELEASE) git://github.com/sysmocom/meta-qt5
## Create a build directory, e.g. build.sysmobts
## Use Poky to set-up the directory and then customize it. Copy files
## around and append to the local.conf and layers.conf
CFG_FILES = $(sort $(wildcard cfg/common/*)) $(sort $(wildcard cfg/$(CUR_MACHINE)/*))
build.%: | git/poky
@echo "Creating build directory for $(CUR_MACHINE)"
$(Q)/bin/bash -c "source git/poky/oe-init-build-env $@"
# Append entries to conf/local.conf. Common first, machine second... filter
$(Q)$(foreach file,$(CFG_FILES), \
cat $(file) | sed s,BASE_DIR,$(PWD), >> $@/conf/local.conf;)
@echo "require conf/distro/include/sysmocom-defaults.conf" >> $@/conf/local.conf
$(Q)cat cfg/bblayers.conf | sed s,BASE_DIR,$(PWD), > $@/conf/bblayers.conf
# generic git pull --rebase rule. Let's assume this is matching poky-update
# then the dependency will be "git/poky" and a clone rule will be built.
%-update: | git/$(subst -update,,%)
@echo "Updating $(subst -update,,$@) ..."
$(Q)cd git/$(subst -update,,$@) && git pull --rebase
# Setup a build directory
%-setup: | build.$(subst -setup,,%) git/poky
@echo "Please place proprietary firmware into the downloads directory."
# Start a build..
%-build: | build.$(subst -build,,%) git/poky
$(Q)/bin/bash -c "source git/poky/oe-init-build-env build.$(CUR_MACHINE) && bitbake $(BUILD_TARGETS)"
%-upload: | build.$(subst -upload,,%) git/poky
$(Q)cd build.$(CUR_MACHINE) && ../scripts/upload-build.sh $(CUR_MACHINE) $(FEED_NAME)
%-clean: | build.$(subst -clean,,%) git/poky
$(Q)cd build.$(CUR_MACHINE) && ../git/poky/scripts/sstate-cache-management.sh --cache-dir=sstate-cache -y -L --stamps-dir=tmp/stamps/
$(Q)cd build.$(CUR_MACHINE) && rm -rf tmp
# Create all build directories, build everything, upload everything, clean everything
setup-all: | $(foreach machine, $(MACHINES), $(machine)-setup)
build-all: | $(foreach machine, $(MACHINES), $(machine)-build)
upload-all: | $(foreach machine, $(MACHINES), $(machine)-upload)
clean-all: | $(foreach machine, $(MACHINES), $(machine)-clean)
make-server-structure:
ifndef WEB_FILES
$(error "Please call with make make-server-structure WEB_FILES=...")
endif
$(Q)$(foreach machine, $(MACHINES), \
mkdir $(WEB_FILES)/$(machine); \
mkdir $(WEB_FILES)/$(machine)/$(SYSMOCOM_RELEASE); \
mkdir $(WEB_FILES)/$(machine)/$(SYSMOCOM_RELEASE)-testing; \
mkdir $(WEB_FILES)/$(machine)/$(SYSMOCOM_RELEASE)-nightly; \
)
install-ssh-config: | $(HOME)/.ssh
ifndef SSH_HOST
$(error "Please call with make $@ SSH_HOST=xyz...")
endif
ifndef SSH_PORT
$(error "Please call with make $@ SSH_PORT=abc...")
endif
ifndef SSH_USER
$(error "Please call with make $@ SSH_USER=def...")
endif
@echo "Host = sysmocom-downloads" >> $(HOME)/.ssh/config
@echo " HostName = $(SSH_HOST)" >> $(HOME)/.ssh/config
@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-xml:
$(Q)$(foreach file, $(ALL_JENKINS_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); \
)
create-jenkins-jobs: create-jenkins-jobs-xml jenkins-cli.jar
ifndef JENKINS_HOST
$(error "Please call with make $@ JENKINS_HOST=xyz...")
endif
ifndef JENKINS_USER
$(error "Please call with make $@ JENKINS_USER=xyz...")
endif
ifndef JENKINS_PASS
$(error "Please call with make $@ JENKINS_PASS=xyz...")
endif
$(Q)$(foreach view, $(VIEW_FILES), \
cat jenkins/$(view) | java -jar jenkins-cli.jar -s http://$(JENKINS_HOST) \
create-view --username $(JENKINS_USER) --password $(JENKINS_PASS); \
)
$(Q)$(foreach job, $(JOB_FILES), \
cat jenkins/$(job) | java -jar jenkins-cli.jar -s http://$(JENKINS_HOST) \
create-job --username $(JENKINS_USER) --password $(JENKINS_PASS) $(JOB_NAME); \
)
jenkins-cli.jar:
ifndef JENKINS_HOST
$(error "Please call with make $@ JENKINS_HOST=xyz...")
endif
wget http://$(JENKINS_HOST)/jnlpJars/jenkins-cli.jar
# Target classification
.PHONY: update setup-all install-ssh-config create-jenkins-jobs-xml create-jenkins-jobs
.SECONDARY: $(foreach repo, $(REPOS), git/$(repo)) $(foreach machine, $(MACHINES), build.$(machine))

View File

@@ -0,0 +1,66 @@
Scripts and documentation for building system images for our target platforms. The
goal is to help anyone checking out the right repositories, configuring a target
and build the images that are built by CI (in fact CI will use these scripts).
The central piece is a Makefile that helps to:
* Git clone the necessary layers
* Update/git pull --rebase all of them
* Set-up the build as used by sysmocom
* Configure .ssh/config for uploading to sysmocom
* Do the upload
* Clean after a build
The bblayers.conf is created from a template located in cfg/ and the local.conf
will be created by using Poky's oe-init-build-env and then files from cfg/common/*
and cfg/BOARD/*. Files will be sorted in their alphabetically sort order and first
come from the common directory and then the board specific one. At the end an include
directive will be issued.
Using the Makefile:
$ make help
...
Example of building everything
# make install-ssh-config SSH_HOST=build-upload.foo.bar SSH_PORT=2342
$ make setup-all V=1
... git clone
... git pull --rebase
... creating build directories
For the sysmobts firmware needs to be copied to the downloads directory.
As a customer you should have received instructions for doing it and as
an employee it should be mentioned in the wiki
$ make build-all # Build for all boards the default targets
...
$ make upload-all # Make an upload to testing for all boards
...
$ make clean-all # Clean the tmp directory for all boards
...
Server side set-up:
On the server we need scripts to copy from -testing to -stable. It is a simple
script and it is the easiest if we bind it to ssh keys. It should be a self
service for the developers.
....
command="/home/user/system-images/scripts/dispatch.sh" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7ZJ339MQh1ctTP3UyRQSpdjcJmG8tafd+akq6cmplSuG6j8BZH38u38Zvf7+WLvMBsluujfj7lkuPA/vzP5c6YHBBWOoT+5moRxpEdLXzUPzxA2l+1Nfgd+pd4mvmV9WI22dY6mtDXtOZxXoG8sAXZe/RoUN9MTzayJVkUtp76SW5eiVT519kQGRRaHEFvEqis9t9K5wJN/CVD7uDudpel0ljtkRh4K0KFTUJLVG7bXu5CAOc61JGoeoAb0z/0DL5Nnlxe9P9eMHKqFSqC97xovtRGy1U+2EAVuWY2N32G0VuXpIisBrx/FGxChWp3V5q5KurlkrnV/Rq3dBmKwykAYTQRMrx6mMatiAxFnVnkXYnjFwGC5AdEO2iw865TJ1riv6uZsDviVxFK79BQnkLkFBNLWdfIiYP2j4mMSGsK4xpDXUFAP7xDoVzLO1ZyaJcqF/DCyS4sZ/cYcj0lW2pKxSkFE4Mv2zO4Zwgu7t1EmKjR6SDfzZ+wfSfcjAytwA9l6NfMlLvMy1bL+b5I4UHvZJD1nxpdzByKuTZ11/6o/BN+anrj+SqsXUrD7k9q3LhdMMAJf3lxG0ZVV81FZm6jh/XsO9FwoAzXwqezeJpnaNSqb4alYl/P/7xoFuNQjxZmomROIFMdOAOL8ius+Bz28k1va93tSgkPpr6YUJBaQ== .ssh/id_rsa-new
....
Jenkins:
Use jenkins-cli.jar (which requires java) to create new jobs and views from
the templates in jenkins/job_templates/*.xml.
....
make create-jenkins-jobs SYSMOCOM_RELEASE=XXXX JENKINS_HOST=8.8.8.8 JENKINS_USER=user JENKINS_PASS=pass V=1
....

View File

@@ -0,0 +1,16 @@
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
BASE_DIR/git/poky/meta \
BASE_DIR/git/poky/meta-poky \
BASE_DIR/git/poky/meta-yocto-bsp \
BASE_DIR/git/meta-telephony \
BASE_DIR/git/meta-sysmocom-bsp \
BASE_DIR/git/meta-smalltalk \
BASE_DIR/git/meta-qt5 \
"

View File

@@ -0,0 +1,2 @@
# Do not put the sourcecode into the debug packages
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"

View File

@@ -0,0 +1 @@
DISTRO_FEATURES_remove = " ptest "

View File

@@ -0,0 +1,2 @@
SOURCE_ARCHIVE_PACKAGE_TYPE = "tar"
INHERIT += "sysmocom-archive-patched-source"

View File

@@ -0,0 +1,5 @@
# Enable the prserver host
PRSERV_HOST = "localhost:0"
# legacy and remove it in the future
ROOTFS_PKGMANAGE_BOOTSTRAP = ""

View File

@@ -0,0 +1 @@
PACKAGE_CLASSES = "package_ipk"

View File

@@ -0,0 +1,2 @@
# SDK parts
BB_GENERATE_MIRROR_TARBALLS="1"

View File

@@ -0,0 +1 @@
DL_DIR = "BASE_DIR/downloads"

View File

@@ -0,0 +1,3 @@
# Default to systemd
DISTRO_FEATURES_append = " systemd "
VIRTUAL-RUNTIME_init_manager = "systemd"

View File

@@ -0,0 +1,11 @@
MACHINE = "sysmobts-v2"
# feed
PACKAGE_FEED_URIS="https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/201705/ipk/"
# HW doesn't have rtc
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
# Ignore old kernels
BBMASK="recipes-bsp/linux/linux_2.6.39.bb recipes-bsp/linux/linux-sysmocom_3.10.bb"
PREFERRED_VERSION_linux-sysmocom = "4.9.14+git%"

View File

@@ -0,0 +1,8 @@
MACHINE = "sysmobts2100"
# feed
PACKAGE_FEED_URIS = "https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts2100/201705/ipk/"
# HW doesn't have rtc
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"

View File

@@ -0,0 +1,6 @@
MACHINE = "sysmocom-alix"
PACKAGE_FEED_URIS="https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-alix/201705/ipk/"
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
BBMASK="recipes-bsp/linux/linux_2.6.39.bb recipes-bsp/linux/linux-sysmocom_3.10.bb"

View File

@@ -0,0 +1,4 @@
MACHINE = "sysmocom-apu2"
PACKAGE_FEED_URIS="https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-apu2/201705/ipk/"
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
BBMASK="recipes-bsp/linux/linux_2.6.39.bb recipes-bsp/linux/linux-sysmocom_3.10.bb"

View File

@@ -0,0 +1,32 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Show the files diff between PLACEHOLDER_SYSMOCOM_RELEASE-testing and PLACEHOLDER_SYSMOCOM_RELEASE</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmobts PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmobts2100 PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmocom-alix PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmocom-apu2 PLACEHOLDER_SYSMOCOM_RELEASE&quot;
</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>

View File

@@ -0,0 +1,303 @@
<?xml version='1.0' encoding='UTF-8'?>
<matrix-project plugin="matrix-project@1.2">
<actions/>
<description>&lt;div&gt;&lt;b&gt;Creates official PLACEHOLDER_SYSMOCOM_RELEASE-nightly packages/images on downlaods.sysmocom.de&lt;/b&gt;&lt;/div&gt;&#xd;
&lt;div&gt;&#xd;
Does this by using&#xd;
&lt;ul&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=PLACEHOLDER_POKY_RELEASE&quot;&gt;&lt;i&gt;PLACEHOLDER_POKY_RELEASE&lt;/i&gt; of upstream poky (2.3)&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;http://git.sysmocom.de/poky/meta-sysmocom-bsp/log/?h=laforge/nightly&quot;&gt;&lt;i&gt;laforge/nightly&lt;/i&gt; of meta-sysmocom-bsp&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;https://github.com/sysmocom/meta-telephony/tree/laforge/nightly&quot;&gt;&lt;i&gt;laforge/nightly&lt;/i&gt; of meta-telephony&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;https://github.com/sysmocom/meta-smalltalk&quot;&gt;&lt;i&gt;master&lt;/i&gt; of meta-smalltalk&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;/ul&gt;&#xd;
&lt;/div&gt;</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>90</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
<scms>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.yoctoproject.org/poky.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_POKY_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>poky</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>poky</scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/meta-sysmocom-bsp</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/laforge/nightly</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-sysmocom-bsp</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>meta-sysmocom-bsp</scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.osmocom.org/meta-telephony.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/laforge/nightly</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-telephony</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>meta-telephony</scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-smalltalk.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-smalltalk</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>meta-smalltalk</scmName>
</hudson.plugins.git.GitSCM>
</scms>
</scm>
<assignedNode>OE-Slave</assignedNode>
<canRoam>false</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.TimerTrigger>
<spec>0 3 * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<axes>
<hudson.matrix.LabelAxis>
<name>label</name>
<values>
<string>Debian8-AMD64</string>
</values>
</hudson.matrix.LabelAxis>
<hudson.matrix.TextAxis>
<name>machine</name>
<values>
<string>sysmobts-v2</string>
<string>sysmobts2100</string>
</values>
</hudson.matrix.TextAxis>
</axes>
<builders>
<hudson.tasks.Shell>
<command>if [ $machine == &quot;sysmobts-v2&quot; ]; then
CONF_PACKAGE_FEED_URIS=&quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/PLACEHOLDER_SYSMOCOM_RELEASE-nightly/ipk/&quot;
else
CONF_PACKAGE_FEED_URIS=&quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/${machine}/PLACEHOLDER_SYSMOCOM_RELEASE-nightly/ipk/&quot;
fi
CREATE=0
if [ ! -e build ]; then
mkdir -p build/conf
CREATE=1
cat &gt; build/conf/bblayers.conf &lt;&lt;EOF
LCONF_VERSION = &quot;6&quot;
BBPATH = &quot;\${TOPDIR}&quot;
BBFILES ?= &quot;&quot;
BBLAYERS ?= &quot; \
$PWD/poky/meta \
$PWD/poky/meta-poky \
$PWD/poky/meta-yocto-bsp \
$PWD/meta-telephony \
$PWD/meta-sysmocom-bsp \
$PWD/meta-smalltalk \
&quot;
BBLAYERS_NON_REMOVABLE ?= &quot; \
$PWD/poky/meta \
$PWD/poky/meta-poky \
&quot;
EOF
fi
# Switch to poky and prepare things
cd poky
# apply some hacks... due us supporting older versions
sed -i s,&apos;bb.error(&quot;Use of PRINC %s was d&apos;,&apos;bb.warn(&quot;Use of PRINC %s was d&apos;, meta/classes/base.bbclass
. ./oe-init-build-env ../build
if [ $CREATE -eq 1 ]; then
cat &gt;&gt; conf/local.conf &lt;&lt;EOF
PATCHRESOLVE = &quot;noop&quot;
PACKAGE_CLASSES = &quot;package_ipk&quot;
DISTRO_FEATURES_append = &quot; systemd &quot;
VIRTUAL-RUNTIME_init_manager = &quot;systemd&quot;
MACHINE_FEATURES_BACKFILL_CONSIDERED = &quot;rtc&quot;
DEBUGFILEDIRECTORY-dbg = &quot;/usr/lib/debug&quot;
PACKAGE_DEBUG_SPLIT_STYLE = &quot;debug-without-src&quot;
PRSERV_HOST = &quot;localhost:0&quot;
BBMASK=&quot;recipes-bsp/linux/linux-sysmocom_3.10.bb&quot;
INHERIT += &quot; rm_work &quot;
ROOTFS_PKGMANAGE_BOOTSTRAP = &quot;&quot;
PACKAGE_FEED_URIS = &quot;${CONF_PACKAGE_FEED_URIS}&quot;
require conf/distro/include/sysmocom-defaults.conf
EOF
if [ $machine == &quot;sysmobts-v2&quot; ]; then
cat &gt;&gt; conf/local.conf &lt;&lt;EOF
SRC_URI_pn-sysmobts-firmware = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sysmobts-firmware-superfemto_v\${PV}.tar.bz2&quot;
SRC_URI_pn-sbts2050-util = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sbts2050-util-\${PV}.tar.bz2&quot;
EOF
fi
fi
rm -f bitbake.lock
rm -rf tmp
rm -rf downloads
if [ $machine == &quot;sysmobts2100&quot; ]; 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 == &quot;sysmobts-v2&quot; ]; 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</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.Mailer plugin="mailer@1.8">
<recipients>intern@lists.sysmocom.de</recipients>
<dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
<sendToIndividuals>false</sendToIndividuals>
</hudson.tasks.Mailer>
</publishers>
<buildWrappers/>
<executionStrategy class="hudson.matrix.DefaultMatrixExecutionStrategyImpl">
<runSequentially>false</runSequentially>
</executionStrategy>
</matrix-project>

View File

@@ -0,0 +1,32 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Show the files diff between PLACEHOLDER_SYSMOCOM_RELEASE-testing and PLACEHOLDER_SYSMOCOM_RELEASE</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmobts PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmobts2100 PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmocom-alix PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmocom-apu2 PLACEHOLDER_SYSMOCOM_RELEASE&quot;</command>
</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>

View File

@@ -0,0 +1,81 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Test upgrading from current to the next image!</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.plugins.git.GitSCM" plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>ssh://git@git.admin.sysmocom.de/sysmocom/poky-qa</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>true</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.TimerTrigger>
<spec>H H * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>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</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.junit.JUnitResultArchiver>
<testResults>TEST-TestBSC-res.xml</testResults>
<keepLongStdio>false</keepLongStdio>
<testDataPublishers/>
</hudson.tasks.junit.JUnitResultArchiver>
</publishers>
<buildWrappers/>
</project>

View File

@@ -0,0 +1,81 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Test upgrading from current to the next image!</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.plugins.git.GitSCM" plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>ssh://git@git.admin.sysmocom.de/sysmocom/poky-qa</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>true</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.TimerTrigger>
<spec>H H * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>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</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.junit.JUnitResultArchiver>
<testResults>TEST-TestBSC-res.xml</testResults>
<keepLongStdio>false</keepLongStdio>
<testDataPublishers/>
</hudson.tasks.junit.JUnitResultArchiver>
</publishers>
<buildWrappers/>
</project>

View File

@@ -0,0 +1,330 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Test a branch for a given machine on the CI environment.</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>100</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<hudson.model.ChoiceParameterDefinition>
<name>Machine</name>
<description></description>
<choices class="java.util.Arrays$ArrayList">
<a class="string-array">
<string>sysmobts</string>
<string>sysmobts2100</string>
<string>sysmocom-apu2</string>
<string>sysmocom-alix2</string>
</a>
</choices>
</hudson.model.ChoiceParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>poky</name>
<description></description>
<defaultValue>PLACEHOLDER_POKY_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>telephony</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>bsp</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>smalltalk</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>qt5</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>systemimages</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
</properties>
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
<scms>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.yoctoproject.org/poky</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_POKY_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>poky</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-smalltalk.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-smalltalk</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-qt5.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-qt5</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/meta-sysmocom-bsp</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-sysmocom-bsp</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.osmocom.org/meta-telephony</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-telephony</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/system-images</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>**</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>system-images</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
</scms>
</scm>
<assignedNode>Debian8-AMD64</assignedNode>
<canRoam>false</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>env
cd system-images
rm -rf git/
mkdir -p git/
cd git
git clone -l --branch=${poky} --reference=../../poky `cd ../../poky &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${smalltalk} --reference=../../meta-smalltalk `cd ../../meta-smalltalk &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${qt5} --reference=../../meta-qt5 `cd ../../meta-qt5 &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${bsp} --reference=../../meta-sysmocom-bsp `cd ../../meta-sysmocom-bsp &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${telephony} --reference=../../meta-telephony `cd ../../meta-telephony &amp;&amp; git config --get remote.origin.url`
cd ../
pwd
cat Makefile
git reset --hard origin/${systemimages}
echo &apos;SRC_URI_pn-sysmobts-firmware = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sysmobts-firmware-superfemto_v${PV}.tar.bz2&quot;
SRC_URI_pn-sbts2050-util = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sbts2050-util-${PV}.tar.bz2&quot;&apos; &gt; 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</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>

View File

@@ -0,0 +1,244 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>&lt;div&gt;&lt;b&gt;Creates official PLACEHOLDER_SYSMOCOM_RELEASE-testing packages/images on downlaods.sysmocom.de&lt;/b&gt;&lt;/div&gt;&#xd;
&lt;div&gt;&#xd;
Does this by using &lt;a href=&quot;http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=PLACEHOLDER_POKY_RELEASE&quot;&gt;&lt;i&gt;PLACEHOLDER_POKY_RELEASE&lt;/i&gt; branch&lt;/a&gt;,&#xd;
with the PLACEHOLDER_SYSMOCOM_RELEASE branch of the various meta-* layers.&#xd;
&lt;/div&gt;</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>100</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
<scms>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.yoctoproject.org/poky</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_POKY_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-smalltalk.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-qt5.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/meta-sysmocom-bsp</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.osmocom.org/meta-telephony</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
</scms>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.SCMTrigger>
<spec>H/5 * * * *</spec>
<ignorePostCommitHooks>false</ignorePostCommitHooks>
</hudson.triggers.SCMTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 &quot;cd system-images &amp;&amp; git pull --rebase&quot;
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 clean-all || true
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</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.BuildTrigger>
<childProjects>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-alix, PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-apu2</childProjects>
<threshold>
<name>SUCCESS</name>
<ordinal>0</ordinal>
<color>BLUE</color>
<completeBuild>true</completeBuild>
</threshold>
</hudson.tasks.BuildTrigger>
<hudson.tasks.Mailer plugin="mailer@1.8">
<recipients>intern@lists.sysmocom.de</recipients>
<dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
<sendToIndividuals>false</sendToIndividuals>
</hudson.tasks.Mailer>
</publishers>
<buildWrappers/>
</project>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<hudson.model.ListView>
<name>System Images PLACEHOLDER_SYSMOCOM_RELEASE</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
<jobNames>
<comparator class="hudson.util.CaseInsensitiveComparator"/>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-merge-diff</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-nightly</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-show-diff</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-alix</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-apu2</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-testbranch</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-testing</string>
<string>Yocto-Master</string>
</jobNames>
<jobFilters/>
<columns>
<hudson.views.StatusColumn/>
<hudson.views.WeatherColumn/>
<hudson.views.JobColumn/>
<hudson.views.LastSuccessColumn/>
<hudson.views.LastFailureColumn/>
<hudson.views.LastDurationColumn/>
<hudson.views.BuildButtonColumn/>
</columns>
<recurse>false</recurse>
</hudson.model.ListView>

View File

@@ -0,0 +1,40 @@
#!/bin/sh
# Dispatch based on SSH_ORIGINAL_COMMAND. rsync, diff and merge.
# TODO: Make this interactive and show the diff before and then
# do the merge?
set -e
# Extract first part...
item=1
for i in $SSH_ORIGINAL_COMMAND;
do
if [ $item = "1" ]; then
CMD=$i
elif [ $item = "11" ]; then
MACHINE=$i
elif [ $item = "111" ]; then
RELEASE=$i
else
break
fi
item="1$item"
done
case "$CMD" in
"rsync")
exec /usr/local/bin/rrsync $1
;;
"diff-testing")
cd $1
cd ../
exec `dirname $0`/make-stable.sh $MACHINE $RELEASE dry-run
;;
"merge-testing")
cd $1
cd ../
exec `dirname $0`/make-stable.sh $MACHINE $RELEASE
;;
esac

View File

@@ -0,0 +1,41 @@
#!/bin/sh
# Merge -testing into -stable by using hard links so we don't
# double the space requirement.
if [ $# -lt 2 ]; then
echo "Need to pass MACHINE RELEASE as argument for upload"
exit 1
fi
MACHINE=$1
RELEASE=$2
DRYRUN=$3
if [ "x$DRYRUN" != "x" ]; then
BASE_ARGS="--recursive --delete --links --verbose --dry-run "
else
BASE_ARGS="--delete -avH"
fi
DIRS="images ipk sdk tools cache-state sources cache conf"
for i in $DIRS;
do
if [ ! -e $PWD/web-files/$MACHINE/$RELEASE-testing/$i ]; then
echo "Skipping $i, directory doesn't exist"
echo ""
continue
fi
if [ "x$DRYRUN" != "x" ]; then
ARGS="$BASE_ARGS"
else
ARGS="$BASE_ARGS --link-dest=$PWD/web-files/$MACHINE/$RELEASE-testing/$i"
fi
echo "Checking $i"
rsync $ARGS \
web-files/$MACHINE/$RELEASE-testing/$i/ \
web-files/$MACHINE/$RELEASE/$i/ | egrep -v "sending incre|sent |total"
done

View File

@@ -0,0 +1,22 @@
#!/bin/sh
# Upload build results, config and cache to the downloads server. Use
# make install-ssh-config SSH_PORT=XYZ SSH_HOST=abc SSH_USER=foo to
# install the right entry for the .ssh/config.
if [ $# -ne 2 ]; then
echo "Need to pass MACHINE RELEASE as argument for upload"
exit 1
fi
set -ex
rsync --delete -avz tmp/deploy/ipk/ sysmocom-downloads:$1/$2/ipk
rsync --delete -avz tmp/deploy/images/ sysmocom-downloads:$1/$2/images
rsync --delete -avz tmp/deploy/tools/ sysmocom-downloads:$1/$2/tools
rsync --delete -avz tmp/deploy/sdk/ sysmocom-downloads:$1/$2/sdk
rsync --delete -avz tmp/cache/ sysmocom-downloads:$1/$2/cache-state
rsync --delete -avz cache/ sysmocom-downloads:$1/$2/cache
rsync --delete -avz conf/ sysmocom-downloads:$1/$2/conf
rsync -avz tmp/deploy/sources/ sysmocom-downloads:$1/$2/sources