diff options
Diffstat (limited to 'scripts/osmocom-latest-packages.sh')
-rwxr-xr-x | scripts/osmocom-latest-packages.sh | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh deleted file mode 100755 index e218f1e..0000000 --- a/scripts/osmocom-latest-packages.sh +++ /dev/null @@ -1,240 +0,0 @@ -#!/bin/sh -# Generate source packages and upload them to OBS, for the latest feed. -# New packages are only uploaded if the source changed. -# Environment variables: -# * PROJ: the OBS namespace to upload to (e.g. "network:osmocom:latest") -# * FEED: -# * "latest": use latest tagged release (default) -# * other: use last commit of branch of same name, exit with error if it does -# not exist -# * PACKAGES: set to a space-separated list of packages to skip all others -. "$(dirname "$0")/common.sh" -. "$(dirname "$0")/common-obs.sh" - -# Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. -FEEDS=" - latest -" - -set -e -set -x - -DT=$(date +%Y%m%d%H%M) -TOP=$(pwd) -DEBSRCDIR="$TOP/debsrc" -FEED="${FEED:-latest}" - -### OBS build -prepare() { - # start with a checkout of the project - if [ -d $PROJ ]; then - (cd $PROJ && osc up) - else - osc co $PROJ - fi - [ -d "$DEBSRCDIR" ] && rm -rf "$DEBSRCDIR" - mkdir "$DEBSRCDIR" - - cd "$TOP" - osmo_obs_prepare_conflict -} - -get_last_tag() { - project="$1" - if [ "$project" = "limesuite" ] || [ "$project" = "open5gs" ]; then - ver_regexp="^v[0-9]*.[0-9]*.[0-9]*$" - else - ver_regexp="^[0-9]*.[0-9]*.[0-9]*$" - fi - VER=$(git -C "${TOP}/${project}" tag -l --sort=v:refname | grep "$ver_regexp" | tail -n 1) - echo "${VER}" -} - -checkout() { - project=$1 - url=$2 - gitbpargs="" - - if osmo_obs_skip_pkg "$project"; then - return - fi - - if [ -z "$url" ]; then - url="$(osmo_git_clone_url "$project")" - fi - - echo - echo "====> Checking out $project" - cd "$TOP" - [ -d "$project" ] || osmo_git_clone_date "$url" "$project" - cd "$project" - git fetch - - if [ "$FEED" = "latest" ]; then - VER=$(get_last_tag "$project") - git checkout -f -B "$VER" "refs/tags/$VER" - else - git checkout -f -B "$FEED" "origin/$FEED" - fi - - if [ "$project" = "open5gs" ]; then - meson subprojects download freeDiameter - fi -} - -# Generate a source package and upload it to OBS -# $1: package name (e.g. "libosmocore") -# $2: arguments to pass to "gbp buildpackage" -build() { - project=$1 - gitbpargs="$2" - output="$DEBSRCDIR/$project" - - if osmo_obs_skip_pkg "$project"; then - return - fi - - echo - echo "====> Building $project" - cd "$TOP/$project" - - osmo_obs_git_version_gen - - if [ "$FEED" = "latest" ]; then - debian_branch=$(get_last_tag "$project") - else - debian_branch="$FEED" - # Set new debian changelog version with commit appended. This version will - # become part of resulting filenames, and will change if commits have been - # added to the feed's branch. - VER="$(osmo_obs_get_commit_version)" - dch -b -v "$VER" -m "Snapshot build" - git commit -m "$VER snapshot" debian/ - fi - - osmo_obs_add_depend_deb "./debian/control" "$project" "osmocom-$FEED" - - if [ "$project" = "open5gs" ]; then - # we cannot control the output directory of the generated source :( - dpkg-buildpackage -S -uc -us -d - mkdir -p "$output" - mv "../$name"*.tar* "../$name"*.dsc "$output" - elif [ -x ./git-version-gen ]; then - gbp buildpackage -S -uc -us -d --git-ignore-branch "--git-export-dir=$output" \ - "--git-debian-branch=$debian_branch" --git-ignore-new $gitbpargs \ - --git-postexport='cp $GBP_GIT_DIR/../.tarball-version $GBP_TMP_DIR/' - else - gbp buildpackage -S -uc -us -d --git-ignore-branch "--git-export-dir=$output" \ - "--git-debian-branch=$debian_branch" --git-ignore-new $gitbpargs - fi - - if [ ! -d "$TOP/$PROJ/$project" ] ; then - # creating a new package is different from using old ones - mkdir "$TOP/$PROJ/$project" - mv "$output/"*.dsc "$TOP/$PROJ/$project/" - mv "$output/"*.tar* "$TOP/$PROJ/$project/" - cd "$TOP/$PROJ" - osc add "$project" - else - cd "$TOP/$PROJ/$project" - - # update OBS only if the filename doesn't match - file=$(cd "$output/" ; ls ./*.dsc) - if [ ! -e "$file" ] ; then - osc rm ./* || true - mv "$output/"*.dsc . - mv "$output/"*.tar* . - osc add ./* - fi - fi - - osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$TOP/$project" "$project" "osmocom-$FEED" - - cd "$TOP" -} - -# add those once they have tagged any versions that include the 'debian' sub-dir: -#rtl-sdr -#osmo-fl2k - -build_osmocom() { - prepare - - # NOTE: when adding a repository that is not in gerrit, adjust osmo_git_clone_url() - checkout limesuite https://github.com/myriadrf/LimeSuite - checkout osmo-gsm-manuals - checkout libosmocore - checkout libosmo-sccp - checkout libosmo-abis - checkout libosmo-netif - checkout libsmpp34 - checkout libasn1c - checkout libgtpnl - checkout libusrp - checkout osmo-iuh - checkout osmo-ggsn - checkout osmo-sgsn - checkout osmo-pcap - checkout osmo-trx - checkout osmo-sip-connector - checkout osmo-bts - checkout osmo-pcu - checkout osmo-hlr - checkout osmo-mgw - checkout osmo-msc - checkout osmo-bsc - checkout simtrace2 - checkout libosmo-dsp - checkout osmo-sysmon - checkout osmo-remsim - checkout open5gs https://github.com/open5gs/open5gs - checkout neocon https://github.com/laf0rge/neocon - checkout osmo-uecups - checkout osmo-e1d - checkout osmo-smlc - checkout osmo-cbc - checkout osmo-gbproxy - - cd "$TOP" - - build osmocom-$FEED - build limesuite --git-upstream-tree="$(get_last_tag limesuite)" - build osmo-gsm-manuals - build libosmocore - build libosmo-sccp - build libosmo-abis - build libosmo-netif - build libsmpp34 - build libasn1c - build libgtpnl - build libusrp - build osmo-iuh - build osmo-ggsn - build osmo-sgsn - build osmo-pcap - build osmo-trx - build osmo-sip-connector - build osmo-bts - build osmo-pcu - build osmo-hlr - build osmo-mgw - build osmo-msc - build osmo-bsc - build simtrace2 - build libosmo-dsp - build osmo-sysmon - build osmo-remsim - build open5gs - build neocon - build osmo-uecups - build osmo-e1d - build osmo-smlc - build osmo-cbc - build osmo-gbproxy - - cd "$TOP/$PROJ" - osc ci -m "$FEED versions of $DT" --noservice -} - -osmo_obs_verify_feed -build_osmocom |