[X2Go-Dev] [X2Go-Commits] [buildscripts] 01/01: Initial (untested) code for Raspbian support
Michael DePaulo
mikedep333 at gmail.com
Thu Apr 9 14:48:25 CEST 2015
Sorry for not getting back to you earlier,
On Sat, Apr 4, 2015 at 4:24 PM, Mihai Moldovan <ionic at ionic.de> wrote:
> On 04.04.2015 05:20 PM, git-admin at x2go.org wrote:
>> 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}"
>> [...]
>> +if [[ -e "/etc/dpkg/origins/raspbian" ]]; then
>> + DEB_DISTS_SUPPORTED="raspbian"
>> + DEB_ARCHS_SUPPORTED="armhf"
>> + DEB_ARCHS_SUPPORTED_COMMA="armhf"
>
> Better use:
> typeset -a DEB_ARCHS_SUPPORTED
> DEB_ARCHS_SUPPORTED+=("armhf")
> (no need for DEB_ARCHS_SUPPORTED_COMMA, it won't work anyway.)
Ack
>> + DEB_PRIMARY_ARCH="armhf"
>> +else
>> + DEB_DISTS_SUPPORTED="debian ubuntu"
>> + DEB_ARCHS_SUPPORTED="amd64 i386"
>> + DEB_ARCHS_SUPPORTED_COMMA="amd64,i386"
>
> Same here:
> typeset -a DEB_ARCHS_SUPPORTED
> DEB_ARCHS_SUPPORTED+=("amd64" "i386")
Ack
>> + DEB_PRIMARY_ARCH="amd64"
>> +fi
>> +
>> [...]
>> @@ -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
>
> This will always return true.
> Better: if [ "${DEB_DISTS_SUPPORTED}" = "debian ubuntu" ]; then
Ack
>
> And even better:
> leave : ${DEB_BUILD_FOR:="debian:${DEBIAN_DISTROS}
> ubuntu:${UBUNTU_DISTROS}"} in place, override via
> if [ "${DEB_DISTS_SUPPORTED}" = "raspbian" ]; then
>> + : ${DEB_BUILD_FOR:="debian:${DEBIAN_DISTROS} ubuntu:${UBUNTU_DISTROS}"}
> remove
>> +elif [[ $DEB_DISTS_SUPPORTED=="raspbian" ]]; then
> remove
>> + : ${DEB_BUILD_FOR:="raspbian:${RASPBIAN_DISTROS}"}
> DEB_BUILD_FOR="raspbian:${RASPBIAN_DISTROS}"
>> +fi
This is the coding style that Mike#1 used when he wrote the script. I
would rather remain consistent.
>> +fi
>> [...]
>> @@ -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 [ "${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
> else
>> + 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
>
> Remember the DEB_ARCHS_SUPPORTED change from above? Now we need:
> for l_ARCH in "${DEB_ARCHS_SUPPORTED[@]}"; do
Ack
>> [ "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}}
>
> That won't work.
> typeset tmp_arch=""
> for tmp_arch in "${DEB_ARCHS_SUPPORTED[@]}"; do
> mkdir -p -- "${PKGDIST}/${l_DIST}/${l_CODENAME}/${tmp_arch}"
> done
Ack. Thank you for pointing this out.
>> 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
> 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
> See change above.
>> + 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
> See change above.
Ack
>> [ "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"
>
>
>
> Mihai
Thanks, I will make these changes within the next few days.
-Mike
More information about the x2go-dev
mailing list