Overview
| Comment: | Updated build procedure to use a common handler | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | 
| Files: | files | file ages | folders | 
| SHA1: | 
6305420046e3d70154c2eb97811bb28e | 
| User & Date: | rkeene on 2011-07-06 02:03:56 | 
| Other Links: | manifest | tags | 
Context
| 
   2011-07-06 
 | ||
| 02:15 | Fixed issue with dbus-tcl putting files in weird places Updated to clean-up "out" directories up run check-in: 32e6a2e492 user: rkeene tags: trunk | |
| 02:03 | Updated build procedure to use a common handler check-in: 6305420046 user: rkeene tags: trunk | |
| 
   2011-06-30 
 | ||
| 00:29 | Corrected typo check-in: 0fb44ad541 user: rkeene tags: trunk | |
Changes
Modified server/buildpkgs/Tclx/build.sh from [d5a82463ec] to [8402b3d3d2].
1 2  | #! /bin/bash  | < < | < < < < < < < < < | | > > > > | > > < < < < < < < <  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29  | 
#! /bin/bash
# Define parameters
VERS=8.4
SRC="src/tclx${VERS}.tar.bz2"
SRCURL="http://sourceforge.net/projects/tclx/files/TclX/${VERS}.0/tclx${VERS}.tar.bz2/download"
BUILDDIR="tclx${VERS}"
export VERS SRC SRCURL BUILDDIR
# Load common functions
source ../common.sh
# Do not build if the "tcl" platform has been requested
not_platforms 'tcl'
# Download source
download_src
(
	rm -rf build
	mkdir build
	cd build/ || exit 1
	bzip2 -dc "../${SRC}" | tar -xf -
	cd "${BUILDDIR}" || exit 1
	cat << \__EOF__ | patch -p1
--- tclx8.4/configure.relid	2006-02-03 16:13:25.000000000 -0500
 | 
| ︙ | ︙ | 
Modified server/buildpkgs/build_all.sh from [4d38f54be3] to [9154479c58].
| ︙ | ︙ | |||
26 27 28 29 30 31 32  | 
rm -rf tcl/build tcl/inst
rm -f platform.magic.*
if [ "${DISTCLEAN}" = "1" ]; then
	rm -rf tcl
fi
if [ "${CLEANONLY}" = "0" ]; then
 | > > | > > | < | | | | | | | | | | | | | | | | | | | > | > > | | | | | | | | | | | | | | > > | | > | > > | | | | | | | | | < | < | < < < < < < < < < < < < < | < | | | | | | | | | | | | | > > > > > > > > |  | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153  | 
rm -rf tcl/build tcl/inst
rm -f platform.magic.*
if [ "${DISTCLEAN}" = "1" ]; then
	rm -rf tcl
fi
if [ "${CLEANONLY}" = "0" ]; then
	PROJROOTDIR="$(pwd)"
	export PROJROOTDIR
	for TCLVERS in 8.5.9 8.4.19; do
		TCLSHORTVERS="$(echo "${TCLVERS}" | cut -f 1-2 -d '.')"
		TCLPRIVATE="$(pwd)/tcl/build/tcl${TCLVERS}"
		TCLINSTDIR="$(pwd)/tcl/inst-${TCLSHORTVERS}"
		export TCLVERS TCLPRIVATE TCLINSTDIR
		mkdir tcl tcl/build >/dev/null 2>/dev/null
		if [ ! -f "tcl/src/tcl${TCLVERS}.tar.gz" ]; then
			mkdir tcl/src >/dev/null 2>/dev/null
			wget -o /dev/null -O "tcl/src/tcl${TCLVERS}.tar.gz" "http://prdownloads.sourceforge.net/tcl/tcl${TCLVERS}-src.tar.gz"
		fi
		echo "Building Tcl ${TCLVERS}"
		(
			mkdir tcl/build >/dev/null 2>/dev/null
			cd tcl/build || exit 1
			gzip -dc "../src/tcl${TCLVERS}.tar.gz" | tar -xf -
			# DDE and Reg can fail to compile, but we don't care
			echo '' > "${TCLPRIVATE}/win/tclWinDde.c"
			echo '' > "${TCLPRIVATE}/win/tclWinReg.c"
			for dir in unix win macosx; do
				cd "${TCLPRIVATE}/${dir}" || exit 1
				echo " Executing: ./configure --enable-threads ${CONFIGUREEXTRA} --prefix=\"${TCLINSTDIR}\""
				./configure --enable-threads ${CONFIGUREEXTRA} --prefix="${TCLINSTDIR}"
				echo " Executing: ${MAKE:-make}"
				${MAKE:-make} || continue
				echo " Executing: ${MAKE:-make} install"
				${MAKE:-make} install || break
				LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}"
				LD_RUN_PATH=".:${LD_RUN_PATH}"
				export LD_LIBRARY_PATH LD_RUN_PATH
				file tclsh tclsh*.exe 2>/dev/null | grep -iv 'No such file' > "${PROJROOTDIR}/platform.magic.file"
				if [ -f tclsh*.exe ]; then
					echo 'puts "$::tcl_platform(os)"' | ./tclsh*.exe > "${PROJROOTDIR}/platform.magic.os" 2>/dev/null
				else
					echo 'puts "$::tcl_platform(os)"' | ./tclsh > "${PROJROOTDIR}/platform.magic.os" 2>/dev/null
				fi
				echo "${dir}" > "${PROJROOTDIR}/platform.magic.platform"
				pwd > "${PROJROOTDIR}/platform.magic.dir"
				break
			done
			exit 0
		) > "tcl/build/build-${TCLVERS}.log" 2>&1 || (
			echo "Failed to build Tcl.  See \"./tcl/build/build-${TCLVERS}.log\"" >&2
			echo 'Aborting.' >&2
			exit 1
		) || exit 1
		(
			TCLBUILDDIR="$(cat "${PROJROOTDIR}/platform.magic.dir")"
			export TCLBUILDDIR
			if [ -d "${TCLINSTDIR}" -a -f "${TCLINSTDIR}/lib/tclConfig.sh" ]; then
				TCLCONFIGDIR="${TCLINSTDIR}/lib"
			elif [ -d "${TCLBUILDDIR}" -a -f "${TCLBUILDDIR}/tclConfig.sh" ]; then
				TCLCONFIGDIR="${TCLBUILDDIR}"
			else
				echo 'Unable to find appropriate tclConfig.sh, aborting' >&2
				exit 1
			fi
			ADDFLAGS=""
			if [ -n "${TCLPRIVATE}" ]; then
				ADDFLAGS="${ADDFLAGS} -I${TCLPRIVATE} -I${TCLPRIVATE}/generic"
			fi
			if [ -n "${TCLBUILDDIR}" ]; then
				ADDFLAGS="${ADDFLAGS} -I${TCLBUILDDIR}"
			fi
			CFLAGS="${ADDFLAGS} ${CFLAGS}"
			CPPFLAGS="${ADDFLAGS} ${CPPFLAGS}"
			unset TCLVERS
			unset ADDFLAGS
			export TCLBUILDDIR TCLCONFIGDIR TCLPRIVATE CFLAGS CPPFLAGS
			rm -f "${PROJROOTDIR}/platform.magic.env-${TCLSHORTVERS}"
			set > "${PROJROOTDIR}/platform.magic.env-${TCLSHORTVERS}"
			export >> "${PROJROOTDIR}/platform.magic.env-${TCLSHORTVERS}"
		)
	done
	rm -f "${PROJROOTDIR}/platform.magic.dir"
fi
# Determine platform
if [ -z "${FORCE_PLATFORM}" ]; then
	PLATFORM="$(./platform)"
else
	PLATFORM="${FORCE_PLATFORM}"
fi
export PLATFORM
# Build all appropriate directories
faileddirs=""
if [ -z "${DIRS}" ]; then
	DIRS="`echo */`"
	PKGHASHCODE=''
else
	PKGHASHCODE="$((echo "${DIRS}" | tr ' ' "\n" | sort | tr "\n" ' '; echo ) | sed 's@[/ ]@@g' | openssl sha1 | awk '{ print $1 }')"
fi
for dir in ${DIRS}; do
	export dir
	if [ ! -f "${dir}/build.sh" ]; then
		continue
	fi
 | 
| ︙ | ︙ | |||
175 176 177 178 179 180 181 182 183 184 185 186 187 188  | 
		cp "${dir}/out/${PLATFORM}/build.log" "${dir}/failed-${PLATFORM}-`hostname`.log"
		rm -rf "${dir}/out"
		faileddirs="${faileddirs} ${dir}"
		echo "Failed to build ${dir}"
	fi
done
# Cleanup is done at this point
if [ "${CLEANONLY}" = "1" ]; then
	exit 0
fi
# Let the user know what failed to build
 | > > >  | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194  | 
		cp "${dir}/out/${PLATFORM}/build.log" "${dir}/failed-${PLATFORM}-`hostname`.log"
		rm -rf "${dir}/out"
		faileddirs="${faileddirs} ${dir}"
		echo "Failed to build ${dir}"
	fi
done
# Clean magic-related files
rm -f platform.magic.*
# Cleanup is done at this point
if [ "${CLEANONLY}" = "1" ]; then
	exit 0
fi
# Let the user know what failed to build
 | 
| ︙ | ︙ | 
Added server/buildpkgs/common.sh version [0a6dc891a3].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66  | 
#! /bin/bash
function setup_tcl85 () {
	source "${PROJROOTDIR}/platform.magic.env-8.5" 2>/dev/null
}
function setup_tcl84 () {
	source "${PROJROOTDIR}/platform.magic.env-8.4" 2>/dev/null
}
function not_platforms () {
	local platform
	for platform in "$@"; do
		if [ "${PLATFORM}" = "${platform}" ]; then
			rm -rf out
			exit 0
		fi
	done
}
function only_platforms () {
	local platform
	for platform in "$@"; do
		if [ "${PLATFORM}" = "${platform}" ]; then
			return 0
		fi
	done
	rm -rf out
	exit 0
}
function download () {
	local url file
	file="$1"
	url="$2"
	if [ -s "${file}" ]; then
		return 0
	fi
	rm -f "${file}.tmp" "${file}"
	wget -O "${file}.tmp" "${url}" || return 1
	mv "${file}.tmp" "${file}"
}
function download_src () {
	if [ ! -f "${SRC}" -a -n "${SRC}" -a -n "${SRCURL}" ]; then
		mkdir -p "$(dirname "${SRC}")" >/dev/null 2>/dev/null
		download "${SRC}" "${SRCURL}" || exit 1
	fi
}
WORKDIR="${TMPDIR:-/tmp}/tcl-buildpkgs-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
export WORKDIR PLATDIR
setup_tcl84
 | 
Modified server/buildpkgs/dbus-tcl/build.sh from [c0964a4cb2] to [1141247fa7].
1 2  | #! /bin/bash  | < < | < < < < < < < < < < < < | > > | > > | > > < < > > > >  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45  | 
#! /bin/bash
# Define parameters
VERS=1.0
SRC="src/dbus-tcl-${VERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/dbus-tcl/files/dbus-tcl/${VERS}/dbus-tcl${VERS}.tar.gz/download"
BUILDDIR="dbus-tcl${VERS}"
export VERS SRC SRCURL BUILDDIR
# Load common functions
source ../common.sh
# Do not build if the "tcl" platform has been requested
not_platforms 'tcl'
# Require Tcl 8.5 to build
setup_tcl85
# Download source
download_src
# Build package
(
	rm -rf build
	mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null
	mkdir build
	cd build/ || exit 1
	gzip -dc "../${SRC}" | tar -xf -
	cd "${BUILDDIR}" || exit 1
	bash ./configure --enable-shared --with-tcl="${TCLCONFIGDIR}" --prefix="${PLATDIR}" --libdir="${PLATDIR}" --bindir="${PLATDIR}" ${CONFIGUREEXTRA}
	${MAKE:-make} || exit 1
	${MAKE:-make} install-binaries PKG_DIR='' || exit 1
	rm -f "${PLATDIR}"/*.a
) || exit 1
# Create metadata
../create_teapot "${PLATDIR}/teapot.txt" "dbus-tcl" "${VERS}" "${SRCURL}" "${PLATFORM}" "Tcl 8.5" "The DBus-Tcl project provides a Tcl interface to the dbus message bus system. It contains packages that allow Tcl programs to send and receive dbus signals, as well as invoke and respond to dbus method calls.  http://dbus-tcl.sourceforge.net/"
exit 0
 | 
Modified server/buildpkgs/dict/build.sh from [ee8fedb377] to [11168404cf].
1 2  | #! /bin/bash  | < < | < < < < < < < < < < < < < < < < < < < < < | > > | > > | > > < < > >  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | 
#! /bin/bash
# Define parameters
VERS=8.5.2
SRC="src/tclDict-${VERS}.tar.gz"
SRCURL="http://pascal.scheffers.net/software/tclDict-${VERS}.tar.gz"
BUILDDIR="tclDict-${VERS}"
export VERS SRC SRCURL BUILDDIR
# Load common functions
source ../common.sh
# Do not build if the "tcl" platform has been requested
not_platforms 'tcl'
# Require Tcl 8.4 to build
setup_tcl84
# Download source
download_src
(
	rm -rf build
	mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null
	mkdir build
	cd build/ || exit 1
 | 
| ︙ | ︙ | 
Modified server/buildpkgs/platform from [f9b9ccb779] to [55d33286bc].
| ︙ | ︙ | |||
58 59 60 61 62 63 64  | 
	Linux)
		GLIBCVERS=$(strings /lib/libc.so.6 | grep '^GLIBC_[0-9][0-9]*\.[0-9]*' | cut -f 2- -d _ | cut -f 1-2 -d . | sed 's@\.@ @g' |  sort -n +0 +1 | tail -1 | sed 's@ @\.@g')
		case "${CPUPLAT}" in
			i?86)
				CPUPLAT="ix86"
				;;
 | | > > < < < < < < < | > > > > > |  | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95  | 
	Linux)
		GLIBCVERS=$(strings /lib/libc.so.6 | grep '^GLIBC_[0-9][0-9]*\.[0-9]*' | cut -f 2- -d _ | cut -f 1-2 -d . | sed 's@\.@ @g' |  sort -n +0 +1 | tail -1 | sed 's@ @\.@g')
		case "${CPUPLAT}" in
			i?86)
				CPUPLAT="ix86"
				;;
			sun4m)
				CPUPLAT="sparc"
				;;
		esac
		echo "linux-glibc${GLIBCVERS}-${CPUPLAT}"
		;;
	SunOS)
		SUNMAJVER=$(uname -r | cut -f 1 -d .)
		SUNMINVER=$(uname -r | cut -f 2 -d .)
		SOLVER="$[${SUNMAJVER} - 3].${SUNMINVER}"
		if [ -z "${CPUPLAT}" ]; then
			echo 'Unable to determine platform' >&2
			exit 1
		fi
		echo "solaris${SOLVER}-${CPUPLAT}"
		;;
	HP-UX)
		echo "hpux-${CPUPLAT}"
		;;
	*)
		if [ -z "${CPUPLAT}" ]; then
			CPUPLAT="`uname -m | dd conv=lcase 2>/dev/null`"
		fi
		echo "`uname -s | dd conv=lcase 2>/dev/null`-${CPUPLAT}"
		;;
esac
 | 
Modified server/buildpkgs/sqlite3/build.sh from [09724f9222] to [2e77c6d186].
1 2  | #! /bin/bash  | < < | < < < < < < < < < < < < | > > | > | | < >  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  | 
#! /bin/bash
# Define parameters
VERS=3.7.2
VERSUNDER="$(echo "${VERS}" | sed 's@\.@_@g')"
SRC="src/sqlite-${VERSUNDER}.tar.gz"
SRCURL="http://www.sqlite.org/sqlite-${VERSUNDER}-tea.tar.gz"
BUILDDIR="sqlite${VERS}"
export VERS SRC SRCURL BUILDDIR
# Load common functions
source ../common.sh
# Do not build if the "tcl" platform has been requested
not_platforms 'tcl'
# Download source
download_src
(
	rm -rf build
	mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null
	mkdir build
	cd build/ || exit 1
 | 
| ︙ | ︙ | 
Modified server/buildpkgs/tcllib/build.sh from [9be2fc0b9c] to [55c7ca7ba6].
1 2  | #! /bin/bash  | < < < < < < < < < < < < < < < | > > | < > > < < > >  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23  | 
#! /bin/bash
VERS=1.13
SRC="src/tcllib-${VERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tcllib/files/tcllib/${VERS}/tcllib-${VERS}.tar.gz/download"
BUILDDIR="tcllib-${VERS}"
export VERS SRC SRCURL BUILDDIR
# Load common functions
source ../common.sh
# Do not build if the "tcl" platform has NOT been requested
only_platforms 'tcl'
# Download source
download_src
rm -rf "${WORKDIR}" >/dev/null 2>/dev/null
mkdir -p "${WORKDIR}" || exit 1
retval=0
(
	rm -rf build
 | 
| ︙ | ︙ | 
Modified server/buildpkgs/tclpkcs11/build.sh from [273f6727b7] to [7eb1b5631b].
1 2  | #! /bin/bash  | < < | < < < < < < < < < < < < | > > | < > > < < > >  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  | 
#! /bin/bash
# Define parameters
VERS=0.9.9
SRC="src/tclpkcs11-${VERS}.tar.gz"
SRCURL="http://www.rkeene.org/devel/tclpkcs11-${VERS}.tar.gz"
BUILDDIR="tclpkcs11-${VERS}"
export VERS SRC SRCURL BUILDDIR
# Load common functions
source ../common.sh
# Do not build if the "tcl" platform has been requested
not_platforms 'tcl'
# Download source
download_src
(
	rm -rf build
	mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null
	mkdir build
	cd build/ || exit 1
 | 
| ︙ | ︙ | 
Modified server/buildpkgs/tls/build.sh from [ce188ee01b] to [6e15606227].
1 2  | #! /bin/bash  | < < | < < < < < < < < < < < < | > > | > | | < >  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  | 
#! /bin/bash
# Define parameters
VERS=1.6
SRC="src/tls${VERS}-src.tar.gz"
SRCURL="http://sourceforge.net/projects/tls/files/tls/${VERS}/tls${VERS}-src.tar.gz/download"
BUILDDIR="tls${VERS}"
PATCHDIR="$(pwd)/patches"
export VERS SRC SRCURL BUILDDIR PATCHDIR
# Load common functions
source ../common.sh
# Do not build if the "tcl" platform has been requested
not_platforms 'tcl'
# Download source
download_src
(
	rm -rf build
	mkdir build
	cd build/ || exit 1
	gzip -dc "../${SRC}" | tar -xf -
 | 
| ︙ | ︙ |