[X2Go-Commits] [buildscripts] 01/01: Initial (untested) code for Raspbian support

git-admin at x2go.org git-admin at x2go.org
Sat Apr 4 17:20:09 CEST 2015


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch feature/raspbian
in repository buildscripts.

commit e13114a13588afca0a3acdfba9b28191274609c8
Author: Mike DePaulo <mikedep333 at gmail.com>
Date:   Sat Apr 4 11:19:23 2015 -0400

    Initial (untested) code for Raspbian support
---
 bin/build-deb-package   |   86 +++++++++++++++++++++++++++++++++++------------
 home/.dupload.conf.x2go |   16 +++++++++
 2 files changed, 80 insertions(+), 22 deletions(-)

diff --git a/bin/build-deb-package b/bin/build-deb-package
index 30e0609..88d731d 100755
--- a/bin/build-deb-package
+++ b/bin/build-deb-package
@@ -22,11 +22,33 @@ export PATH="${HOME}/bin:${PATH}"
 GIT_USER="gituser"
 GIT_HOSTNAME="git.mydomain.org"
 
+
 DEBEMAIL="firstname.lastname at mydomain.org"
 DEBFULLNAME="Firstname Lastname"
 GPG_KEY=""
-DEB_DISTS_SUPPORTED="debian ubuntu"
+
+# Test if we are doing a build on a Raspberry Pi (1 or 2) for Raspbian
+# Remember that Raspbian says it is armhf like Debian does, but
+# Raspbian armhf is ARMV6 rather than ARMv7.
+#
+# We cannot use $(lsb_release) because it says "Debian"
+#
+# The DEB_PRIMARY_ARCH is the architecture that we will build for the "all" architecture.
+if [[ -e "/etc/dpkg/origins/raspbian" ]]; then
+	DEB_DISTS_SUPPORTED="raspbian"
+	DEB_ARCHS_SUPPORTED="armhf"
+	DEB_ARCHS_SUPPORTED_COMMA="armhf"
+	DEB_PRIMARY_ARCH="armhf"
+else
+	DEB_DISTS_SUPPORTED="debian ubuntu"
+	DEB_ARCHS_SUPPORTED="amd64 i386"
+	DEB_ARCHS_SUPPORTED_COMMA="amd64,i386"
+	DEB_PRIMARY_ARCH="amd64"
+fi
+
 DEBIAN_DISTROS="lenny,squeeze,wheezy,jessie,sid"
+# See http://archive.raspbian.org/raspbian/dists/
+RASPBIAN_DISTROS="wheezy,jessie"
 UBUNTU_DISTROS="lucid,precise"
 
 COMPONENT_MAIN="main"
@@ -43,7 +65,11 @@ test -f "${HOME}/.buildscripts/${PREFIX}.conf" && . "${HOME}/.buildscripts/${PRE
 
 : ${NO_DELAY:="no"}
 : ${FORCE_BUILD:="no"}
-: ${DEB_BUILD_FOR:="debian:${DEBIAN_DISTROS} ubuntu:${UBUNTU_DISTROS}"}
+if   [[ $DEB_DISTS_SUPPORTED=="debian ubuntu" ]]; then
+	: ${DEB_BUILD_FOR:="debian:${DEBIAN_DISTROS} ubuntu:${UBUNTU_DISTROS}"}
+elif [[ $DEB_DISTS_SUPPORTED=="raspbian" ]]; then
+	: ${DEB_BUILD_FOR:="raspbian:${RASPBIAN_DISTROS}"}
+fi
 
 # These parts are not user-serviceable.
 typeset -ag temp_cleanup=""
@@ -103,7 +129,7 @@ set_vars() {
 	PROJECT_DIR="${HOME}/build/${COMPONENT}/${PROJECT}"
 	PKGDIST="${HOME}/pkg-dist/${COMPONENT}/${PROJECT}"
 
-	# build for other architectures than amd64/i386
+	# build for other architectures than amd64/i386 or armhf
 	: ${EXTRA_ARCHS:=""}
 	: ${EXTRA_ARCHS_ONLY:=""}
 
@@ -144,10 +170,16 @@ prepare_workspace() {
 
 	# by default we build for all current debian versions
 	if [ "x${ARGV2_CODENAME}" != "x" ]; then
-		if grep -qs "${ARGV2_CODENAME}" <<< "${DEBIAN_DISTROS}"; then
-			DEB_BUILD_FOR="debian:${ARGV2_CODENAME}"
-		elif grep -qs "${ARGV2_CODENAME}" <<< "${UBUNTU_DISTROS}"; then
-			DEB_BUILD_FOR="ubuntu:${ARGV2_CODENAME}"
+		if [[ "$DEB_DISTS_SUPPORTED"=="raspbian" ]]; then
+			if grep -qs "${ARGV2_CODENAME}" <<< "${RASPBIAN_DISTROS}"; then
+				DEB_BUILD_FOR="raspbian:${ARGV2_CODENAME}"
+			fi
+		elif [[ "$DEB_DISTS_SUPPORTED"=="debian ubuntu" ]]; then
+			if grep -qs "${ARGV2_CODENAME}" <<< "${DEBIAN_DISTROS}"; then
+				DEB_BUILD_FOR="debian:${ARGV2_CODENAME}"
+			elif grep -qs "${ARGV2_CODENAME}" <<< "${UBUNTU_DISTROS}"; then
+				DEB_BUILD_FOR="ubuntu:${ARGV2_CODENAME}"
+			fi
 		fi
 	fi
 	return 0
@@ -176,7 +208,7 @@ clear_pkgdist() {
 				test -z "${CODENAMES}" || grep "${CODENAMES}" <<< "${line}" || break
 
 				if [ "x${EXTRA_ARCHS_ONLY}" = "x" ]; then
-					for l_ARCH in amd64 i386; do
+					for l_ARCH in ${DEB_ARCHS_SUPPORTED}; do
 						[ "x${SKIP_ARCH}" != "x${l_ARCH}" ] && {
 							mkdir -p -- "${PKGDIST}/${l_DIST}/${l_CODENAME}/${l_ARCH}"
 							rm -f -- "${PKGDIST}/${l_DIST}/${l_CODENAME}/${l_ARCH}/dupload.conf"
@@ -271,7 +303,7 @@ build_packages() {
 				else
 					dch --distribution "${VERSION}" --force-distribution -l "~git${DATE}.${GITREV}+${l_CODENAME}.${COMPONENT}." "Development-Snapshot!!! Auto-built ${l_DIST} ${l_CODENAME} package for ${REPOS_SERVER} repository (Git commit: ${GIT_OBJECT_ID})."
 				fi
-				mkdir -p -- "${PKGDIST}/${l_DIST}/${l_CODENAME}/"{amd64,i386}
+				mkdir -p -- "${PKGDIST}/${l_DIST}/${l_CODENAME}/"{${DEB_ARCHS_SUPPORTED_COMMA}}
 				OTHERMIRROR=""
 				if [ "x${COMPONENT}" = "x${COMPONENT_NIGHTLY}" ]; then
 					grep -qs "${PROJECT}" <<< "${PACKAGE_WITHOUT_OTHERMIRROR}" || OTHERMIRROR="deb http://${REPOS_SERVER}/${l_DIST} ${l_CODENAME} ${COMPONENT_MAIN} ${COMPONENT}"
@@ -287,12 +319,17 @@ build_packages() {
 
 				[ "x${USE_SUDO}" != "xyes" ] && {
 					[ "x${EXTRA_ARCHS_ONLY}" = "x" ] && {
-						[ "x${SKIP_ARCH}" != "xamd64" ] && grep -Eqs 'Architecture.*(all|any|amd64)' "debian/control" && {
-							DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="amd64" nice ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/amd64" -- --allow-untrusted ${SA_OPTION} 0<&-
-						}
-						[ "x${SKIP_ARCH}" != "xi386" ] && grep -Eqs 'Architecture.*(any|i386)' "debian/control" && {
-							DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="i386" nice ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/i386" -- --binary-arch --allow-untrusted ${SA_OPTION} 0<&-
-						}
+						for arch in ${DEB_ARCHS_SUPPORTED}; do
+							if [[ "$arch" == "$DEB_PRIMARY_ARCH" ]]; then
+								[ "x${SKIP_ARCH}" != "x${arch}" ] && grep -Eqs "Architecture.*(all|any|${arch})" "debian/control" && {
+									DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="${arch}" nice ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/${arch}" -- --allow-untrusted ${SA_OPTION} 0<&-
+								}
+							else
+								[ "x${SKIP_ARCH}" != "x${arch}" ] && grep -Eqs "Architecture.*(any|${arch})" "debian/control" && {
+									DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="${arch}" nice ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/${arch}" -- --binary-arch --allow-untrusted ${SA_OPTION} 0<&-
+								}
+							fi
+						done
 					}
 					for extra_arch in ${EXTRA_ARCHS}; do
 						mkdir -p -- "${PKGDIST}/${l_DIST}/${l_CODENAME}/${extra_arch}"
@@ -303,12 +340,17 @@ build_packages() {
 				}
 				[ "x${USE_SUDO}" = "xyes" ] && {
 					[ "x${EXTRA_ARCHS_ONLY}" = "x" ] && {
-						[ "x${SKIP_ARCH}" != "xamd64" ] && grep -Eqs 'Architecture.*(all|any|amd64)' "debian/control" && {
-							nice sudo GNUPGHOME="${GNUPGHOME}" DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="amd64" OTHERMIRROR="${OTHERMIRROR}" ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/amd64" -- --allow-untrusted ${SA_OPTION} 0<&-
-						}
-						[ "x${SKIP_ARCH}" != "xi386" ] && grep -Eqs 'Architecture.*(any|i386)' "debian/control" && {
-							nice sudo GNUPGHOME="${GNUPGHOME}" DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="i386" OTHERMIRROR="${OTHERMIRROR}" ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/i386" -- --binary-arch --allow-untrusted ${SA_OPTION} 0<&-
-						}
+						for arch in ${DEB_ARCHS_SUPPORTED}; do
+							if [[ "$arch" == "$DEB_PRIMARY_ARCH" ]]; then
+								[ "x${SKIP_ARCH}" != "x${arch}" ] && grep -Eqs "Architecture.*(all|any|${arch})" "debian/control" && {
+									nice sudo GNUPGHOME="${GNUPGHOME}" DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="${arch}" OTHERMIRROR="${OTHERMIRROR}" ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/${arch}" -- --allow-untrusted ${SA_OPTION} 0<&-
+								}
+							else
+								[ "x${SKIP_ARCH}" != "x${arch}" ] && grep -Eqs "Architecture.*(any|${arch})" "debian/control" && {
+									nice sudo GNUPGHOME="${GNUPGHOME}" DIST="${l_DIST}" CODENAME="${l_CODENAME}" ARCH="${arch}" OTHERMIRROR="${OTHERMIRROR}" ${PDEBUILD} --auto-debsign --debsign-k "${GPG_KEY}" --buildresult "${PKGDIST}/${l_DIST}/${l_CODENAME}/${arch}" -- --binary-arch --allow-untrusted ${SA_OPTION} 0<&-
+								}
+							fi
+						done
 					}
 					for extra_arch in ${EXTRA_ARCHS}; do
 						mkdir -p -- "${PKGDIST}/${l_DIST}/${l_CODENAME}/${extra_arch}"
@@ -345,7 +387,7 @@ upload_packages() {
 			test -z "${CODENAMES}" || grep "${CODENAMES}" <<< "${line}" || break
 
 			if [ "x${EXTRA_ARCHS_ONLY}" = "x" ]; then
-				for l_ARCH in amd64 i386; do
+				for l_ARCH in ${DEB_ARCHS_SUPPORTED}; do
 					[ "x${SKIP_ARCH}" != "x${l_ARCH}" ] && {
 						cd "${PKGDIST}/${l_DIST}/${l_CODENAME}/${l_ARCH}"
 						test -f "./dupload.conf" || ln -s -- "${HOME}/.dupload.conf.${PREFIX}" "./dupload.conf"
diff --git a/home/.dupload.conf.x2go b/home/.dupload.conf.x2go
index 5e1db65..9689830 100644
--- a/home/.dupload.conf.x2go
+++ b/home/.dupload.conf.x2go
@@ -41,5 +41,21 @@ $cfg{"x2go-debian-lenny"} = {
         queuedir => "/srv/sites/x2go.org/packages/debian/upload/lenny",
         dinstall_runs => 1,
 };
+$cfg{"x2go-raspbian-jessie"} = {
+        fqdn => "code.x2go.org",
+        login => "x2go-admin",
+        method => "scpb",
+        incoming => "/srv/sites/x2go.org/packages/raspbian/incoming/jessie",
+        queuedir => "/srv/sites/x2go.org/packages/raspbian/upload/jessie",
+        dinstall_runs => 1,
+};
+$cfg{"x2go-raspbian-wheezy"} = {
+        fqdn => "code.x2go.org",
+        login => "x2go-admin",
+        method => "scpb",
+        incoming => "/srv/sites/x2go.org/packages/raspbian/incoming/wheezy",
+        queuedir => "/srv/sites/x2go.org/packages/raspbian/upload/wheezy",
+        dinstall_runs => 1,
+};
 
 1;

--
Alioth's /srv/git/code.x2go.org/buildscripts.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/buildscripts.git


More information about the x2go-commits mailing list