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@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@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