You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2023/03/27 04:41:26 UTC
[couchdb-pkg] 01/01: Add arm64/ppc64le/s390x arches for ubuntu
This is an automated email from the ASF dual-hosted git repository.
vatamane pushed a commit to branch package-improvements
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git
commit 53a4b6a539a2d8caf4655c9e3dd10cdd2f3765fa
Author: Nick Vatamaniuc <va...@apache.org>
AuthorDate: Mon Mar 27 00:27:30 2023 -0400
Add arm64/ppc64le/s390x arches for ubuntu
Add s390x for bullseye to make everything even, so bullseye and focal
now both are our multi-arch package targets with the same 4
architectures.
One issue with ubuntu focal was lintian has a bug so we disable it
unless we're running in x86_64.
Also fix el7 and el8 "server" aliases. Previously we hand copy and
pasted el7 and el8 dirs to Server versions so turn them into automatic
upload targets.
Fix: https://github.com/apache/couchdb/issues/4375
Fix: https://github.com/apache/couchdb-pkg/issues/103
---
Makefile | 33 ++++++++++++++++++++++++++++++++-
build.sh | 31 +++++++++++++++++++++++--------
2 files changed, 55 insertions(+), 9 deletions(-)
diff --git a/Makefile b/Makefile
index 763dd49..97424f5 100644
--- a/Makefile
+++ b/Makefile
@@ -91,6 +91,14 @@ ppc64le-debian-bullseye: SPIDERMONKEY_DEV=libmozjs-78-dev
ppc64le-debian-bullseye: SM_VER=78
ppc64le-debian-bullseye: bullseye
+s390x-debian-bullseye: PLATFORM=bullseye
+s390x-debian-bullseye: DIST=debian-bullseye
+s390x-debian-bullseye: SPIDERMONKEY=libmozjs-78-0
+s390x-debian-bullseye: SPIDERMONKEY_DEV=libmozjs-78-dev
+s390x-debian-bullseye: SM_VER=78
+s390x-debian-bullseye: bullseye
+
+
bullseye: debian
@@ -109,6 +117,27 @@ ubuntu-focal: SM_VER=68
ubuntu-focal: focal
focal: debian
+arm64-ubuntu-focal: PLATFORM=focal
+arm64-ubuntu-focal: DIST=ubuntu-focal
+arm64-ubuntu-focal: SPIDERMONKEY=libmozjs-68-0
+arm64-ubuntu-focal: SPIDERMONKEY_DEV=libmozjs-68-dev
+arm64-ubuntu-focal: SM_VER=68
+arm64-ubuntu-focal: focal
+
+ppc64le-ubuntu-focal: PLATFORM=focal
+ppc64le-ubuntu-focal: DIST=ubuntu-focal
+ppc64le-ubuntu-focal: SPIDERMONKEY=libmozjs-68-0
+ppc64le-ubuntu-focal: SPIDERMONKEY_DEV=libmozjs-68-dev
+ppc64le-ubuntu-focal: SM_VER=68
+ppc64le-ubuntu-focal: focal
+
+s390x-ubuntu-focal: PLATFORM=focal
+s390x-ubuntu-focal: DIST=ubuntu-focal
+s390x-ubuntu-focal: SPIDERMONKEY=libmozjs-68-0
+s390x-ubuntu-focal: SPIDERMONKEY_DEV=libmozjs-68-dev
+s390x-ubuntu-focal: SM_VER=68
+s390x-ubuntu-focal: focal
+
# Ubuntu 22.04 (Jammy)
ubuntu-jammy: PLATFORM=jammy
ubuntu-jammy: DIST=ubuntu-jammy
@@ -190,8 +219,10 @@ update-changelog:
dpkg:
cd $(DISTDIR) && dpkg-buildpackage -b -us -uc
+# lintian happens to be stuck on arm64 builds on some ubuntu/debian versions
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=964770
lintian:
- cd $(DISTDIR)/.. && lintian --profile couchdb couch*.deb || true
+ if [ "$(shell arch)" = "x86_64" ]; then cd $(DISTDIR)/.. && lintian --profile couchdb couch*.deb || true ; fi
# ######################################
link-couch-dist:
diff --git a/build.sh b/build.sh
index 8bea4c8..a65209a 100755
--- a/build.sh
+++ b/build.sh
@@ -31,10 +31,10 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DEBIANS="debian-buster debian-bullseye"
UBUNTUS="ubuntu-bionic ubuntu-focal ubuntu-jammy"
CENTOSES="centos-7 centos-8"
-XPLAT_BASE="debian-bullseye"
-XPLAT_ARCHES="arm64 ppc64le"
+XPLAT_BASES="debian-bullseye ubuntu-focal"
+XPLAT_ARCHES="arm64 ppc64le s390x"
BINARY_API="https://apache.jfrog.io/artifactory"
-ERLANGVERSION=${ERLANGVERSION:-24.3.4.7}
+ERLANGVERSION=${ERLANGVERSION:-24.3.4.10}
split-os-ver() {
OLDIFS=$IFS
@@ -107,8 +107,10 @@ build-all-couch() {
for plat in $DEBIANS $UBUNTUS $CENTOSES; do
build-couch $plat $*
done
- for arch in $XPLAT_ARCHES; do
- CONTAINERARCH="${arch}" build-couch $XPLAT_BASE
+ for base in $XPLAT_BASES; do
+ for arch in $XPLAT_ARCHES; do
+ CONTAINERARCH="${arch}" build-couch ${base}
+ done
done
}
@@ -150,15 +152,28 @@ upload-couch() {
done
for PKG in $(ls pkgs/couch/$1/*.rpm 2>/dev/null); do
# Example filename: couchdb-2.3.0-1.el7.x86_64.rpm.asc
+ # couchdb-3.3.1.1.1-1.el7.x86_64.rpm
fname=${PKG##*/}
REPO="couchdb-rpm"
- # better not put any extra . in the filename...
- DIST=$(echo $fname | cut -d. -f 4)
- PKGARCH=$(echo $fname | cut -d. -f 5)
+ DIST=$(echo $fname | cut -d- -f 3 | cut -d. -f 2)
+ PKGARCH=$(echo $fname | cut -d- -f 3 | cut -d. -f 3)
PKGVERSION=$(echo $fname | cut -d- -f 2)
RELPATH="${DIST}/${PKGARCH}/${fname}"
SUFFIX=""
binary-upload
+ if [ ${DIST} == "el7" ]; then
+ # see https://github.com/apache/couchdb-pkg/issues/103
+ DIST="el7Server"
+ RELPATH="${DIST}/${PKGARCH}/${fname}"
+ SUFFIX=""
+ binary-upload
+ elif [ ${DIST} == "el8" ]; then
+ # see https://github.com/apache/couchdb-pkg/issues/103
+ DIST="el8Server"
+ RELPATH="${DIST}/${PKGARCH}/${fname}"
+ SUFFIX=""
+ binary-upload
+ fi
done
echo "Recalculating Debian repo metadata..."
local ret="$(curl \