[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