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

Mihai Moldovan ionic at ionic.de
Sat Apr 4 22:24:59 CEST 2015


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.)


> +	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")


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

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
> [...]
> @@ -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
>  						[ "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

>  				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.
>  					[ "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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 884 bytes
Desc: OpenPGP digital signature
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20150404/b8056c44/attachment-0001.pgp>


More information about the x2go-dev mailing list