Hi,
i'm building osmocom-related packages for openSUSE since a few years on OBS. https://build.opensuse.org/project/show/home:mnhauke:osmocom https://build.opensuse.org/project/show/home:mnhauke:osmocom-iuh
Now i'd like to add support for RPM-based distributions to the osmocom-nightly packages. My current plan is to first add support for (open)SUSE based distributions and if there's interest then find out all the subtle changes that are needed for the spec-file to also add support for Redhat/Fedora/CentOS.
# Phase1 - openSUSE_Leap_42.2 (x86_64) - openSUSE_Tumbleweed (i586, x86_64) - openSUSE_Factory_ARM (armv7l, aarch64) - SLE_12_SP2 (x86_64)
# Phase2 - CentOS_7 (x86_64) - Fedora_25 (i586, x86_64) - RHEL_7 (x86_64)
How does the current workflow for the daily check-in of the nightly debian/ubuntu packages look like?
There's probably a bunch of scripts that do - git checkout from all relevant repositories - update changelog based on git commit messages - change the package version - create the new tarball - maybe osc local build - upload the tarball and the dsc to OBS - monitor if all the OBS-packages are successfully built and in state published
Thanks in advance, Martin
Hi Martin,
On Fri, Mar 03, 2017 at 09:13:58PM +0100, Martin Hauke wrote:
i'm building osmocom-related packages for openSUSE since a few years on OBS. https://build.opensuse.org/project/show/home:mnhauke:osmocom https://build.opensuse.org/project/show/home:mnhauke:osmocom-iuh
Thanks a lot for that!
I think it would be best to merge your efforts with the "official" osmocom nightly packages at https://build.opensuse.org/project/show/network:osmocom:nightly
The users likely want one well-maintained set of nightly packages, not multiple sets from multiple sources, which is likely to cause confusion.
I've added you to the osmocom:nightly project so you have full access to all related OBS configuration.
How does the current workflow for the daily check-in of the nightly debian/ubuntu packages look like?
There's probably a bunch of scripts that do
There's one script on jenkins.osmocom.org, in the http://jenkins.osmocom.org/jenkins/job/Osmocom_nightly_packages build job:
==== rm -rf * git clone git://git.osmocom.org/osmo-sip-connector git clone git://git.osmocom.org/libosmocore git clone git://git.osmocom.org/libosmo-sccp git clone git://git.osmocom.org/libosmo-abis git clone git://git.osmocom.org/libosmo-netif git clone git://git.osmocom.org/libsmpp34 git clone git://git.osmocom.org/openggsn git clone git://git.osmocom.org/openbsc git clone git://git.osmocom.org/osmo-pcap git clone git://git.osmocom.org/cellmgr-ng osmo-stp git clone git://git.osmocom.org/osmo-trx git clone git://git.osmocom.org/osmo-bts git clone git://git.osmocom.org/osmo-pcu
PROJ=network:osmocom:nightly osc co $PROJ
DT=`date +%Y%m%d`
build() { rm -rf data cd $1 VER=`head -1 debian/changelog | cut -d ' ' -f 2 | sed s,"(","", | sed s,")","",` dch -v $VER.$DT -m "Snapshot build" git commit -m "$DT snapshot" debian/ gbp buildpackage -S -uc -us --git-export-dir=$PWD/../data cd ../$PROJ/$1 osc rm * || true mv ../../data/*.dsc . mv ../../data/*.tar* . osc add * cd ../../ }
build libosmocore build libosmo-sccp build libosmo-abis build libosmo-netif build libsmpp34 build openggsn build openbsc build osmo-pcap build osmo-stp build osmo-trx build osmo-sip-connector
cp openbsc/openbsc/include/openbsc/gsm_data_shared.h osmo-bts/include/openbsc/ cp openbsc/openbsc/src/libcommon/gsm_data_shared.c osmo-bts/src/common/gsm_data_shared.c cd osmo-bts git add include/openbsc/gsm_data_shared.h git add src/common/gsm_data_shared.c git commit -m "Copy OpenBSC files needed for the build" cd ../ build osmo-bts build osmo-pcu
cd $PROJ osc ci -m "Snapshot $DT" ====
If you sign up to jenkins.osmocom.org, I can give you permissions to access the configuration.
I think the general strategy should be to * merge whatever useful bits you may have in your OBS jobs into osmocom-nightly. They would be treated like any other patch via gerrit * introduce support for more distributions in a next step, maintaining the related spec files also in the regular osmocom git repositories alongside with the code
Regards, Harald