Overview
| Comment: | Added the ability to specify a PLATFORM (defaults to auto-detect) Disabled building of binary packages when PLATFORM is "tcl" Added building Tcllib if PLATFORM is "tcl" |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
c0fd75de7eec861f7fc9a5eba5c47ab4 |
| User & Date: | rkeene on 2010-02-11 13:49:41 |
| Other Links: | manifest | tags |
Context
|
2010-02-11
| ||
| 15:48 | teaparty 0.9.5.x Updated to remove ActivevState repository cache before packaging check-in: 10b77fbc91 user: rkeene tags: trunk | |
| 13:49 | Added the ability to specify a PLATFORM (defaults to auto-detect) Disabled building of binary packages when PLATFORM is "tcl" Added building Tcllib if PLATFORM is "tcl" check-in: c0fd75de7e user: rkeene tags: trunk | |
|
2010-02-10
| ||
| 03:36 | Updated to create all possible combination of parameters (still requires strict order) check-in: 37af467773 user: rkeene tags: trunk | |
Changes
Modified .fossil-settings/ignore-glob from [9051d2d91e] to [e3e4fac2e6].
| ︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | server/buildpkgs/sqlite3/build/* server/buildpkgs/sqlite3/out server/buildpkgs/sqlite3/out/* server/buildpkgs/sqlite3/src server/buildpkgs/sqlite3/src/* server/buildpkgs/tcl server/buildpkgs/tcl/* server/buildpkgs/tclpkgs-*.tar.* server/buildpkgs/tclpkgs-*.tar.*/* server/buildpkgs/tls/build server/buildpkgs/tls/build/* server/buildpkgs/tls/out server/buildpkgs/tls/out/* server/buildpkgs/tls/src | > > > > > > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | server/buildpkgs/sqlite3/build/* server/buildpkgs/sqlite3/out server/buildpkgs/sqlite3/out/* server/buildpkgs/sqlite3/src server/buildpkgs/sqlite3/src/* server/buildpkgs/tcl server/buildpkgs/tcl/* server/buildpkgs/tcllib/build server/buildpkgs/tcllib/build/* server/buildpkgs/tcllib/out server/buildpkgs/tcllib/out/* server/buildpkgs/tcllib/src server/buildpkgs/tcllib/src/* server/buildpkgs/tclpkgs-*.tar.* server/buildpkgs/tclpkgs-*.tar.*/* server/buildpkgs/tls/build server/buildpkgs/tls/build/* server/buildpkgs/tls/out server/buildpkgs/tls/out/* server/buildpkgs/tls/src |
| ︙ | ︙ |
Modified server/buildpkgs/Tclx/build.sh from [e6281d406a] to [d5a82463ec].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
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}"
WORKDIR="${TMPDIR:-/tmp}/tclx-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
| > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
if [ "${PLATFORM}" = "tcl" ]; then
rm -rf out
exit 0
fi
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}"
WORKDIR="${TMPDIR:-/tmp}/tclx-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
|
| ︙ | ︙ |
Modified server/buildpkgs/build_all.sh from [3c49d360c7] to [62bff14932].
| ︙ | ︙ | |||
110 111 112 113 114 115 116 | unset TCLVERS unset ADDFLAGS unset TCLBUILDDIR export TCLCONFIGDIR TCLPRIVATE CFLAGS CPPFLAGS fi # Determine platform | > | | > > > | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
unset TCLVERS
unset ADDFLAGS
unset TCLBUILDDIR
export TCLCONFIGDIR TCLPRIVATE CFLAGS CPPFLAGS
fi
# Determine platform
if [ -z "${FORCE_PLATFORM}" ]; then
PLATFORM="$(./platform)"
export PLATFORM
else
PLATFORM="${FORCE_PLATFORM}"
fi
# Build all appropriate directories
faileddirs=""
for dir in */; do
export dir
if [ ! -f "${dir}/build.sh" ]; then
|
| ︙ | ︙ | |||
164 165 166 167 168 169 170 |
# Let the user know what failed to build
if [ -n "${faileddirs}" ]; then
echo "The following failed to build:${faileddirs}"
fi
# Create tarfile of built packages
| < | 168 169 170 171 172 173 174 175 176 177 178 179 |
# Let the user know what failed to build
if [ -n "${faileddirs}" ]; then
echo "The following failed to build:${faileddirs}"
fi
# Create tarfile of built packages
DATECODE="$(date +%Y%m%d%H%M)"
OUTFILEBASE="tclpkgs-${PLATFORM}-${DATECODE}"
tar -cf - */out | bzip2 -9c > "${OUTFILEBASE}.tar.bz2"
exit 0
|
Modified server/buildpkgs/dict/build.sh from [a8c213b541] to [06accdf118].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
VERS=8.5.2
SRC="src/tclDict-${VERS}.tar.gz"
SRCURL="http://pascal.scheffers.net/software/tclDict-${VERS}.tar.gz"
BUILDDIR="tclDict-${VERS}"
WORKDIR="${TMPDIR:-/tmp}/dict-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
| > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
if [ "${PLATFORM}" = "tcl" ]; then
rm -rf out
exit 0
fi
VERS=8.5.2
SRC="src/tclDict-${VERS}.tar.gz"
SRCURL="http://pascal.scheffers.net/software/tclDict-${VERS}.tar.gz"
BUILDDIR="tclDict-${VERS}"
WORKDIR="${TMPDIR:-/tmp}/dict-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
|
| ︙ | ︙ |
Modified server/buildpkgs/sqlite3/build.sh from [c9cd8f667d] to [ca2074f1e1].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
VERS=3.6.22
VERSUNDER="$(echo "${VERS}" | sed 's@\.@_@g')"
SRC="src/sqlite-${VERSUNDER}.tar.gz"
SRCURL="http://www.sqlite.org/sqlite-${VERSUNDER}-tea.tar.gz"
BUILDDIR="sqlite-${VERSUNDER}-tea"
WORKDIR="${TMPDIR:-/tmp}/sqlite-$$${RANDOM}${RANDOM}${RANDOM}"
| > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
if [ "${PLATFORM}" = "tcl" ]; then
rm -rf out
exit 0
fi
VERS=3.6.22
VERSUNDER="$(echo "${VERS}" | sed 's@\.@_@g')"
SRC="src/sqlite-${VERSUNDER}.tar.gz"
SRCURL="http://www.sqlite.org/sqlite-${VERSUNDER}-tea.tar.gz"
BUILDDIR="sqlite-${VERSUNDER}-tea"
WORKDIR="${TMPDIR:-/tmp}/sqlite-$$${RANDOM}${RANDOM}${RANDOM}"
|
| ︙ | ︙ |
Added server/buildpkgs/tcllib/build.sh version [55397ed974].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 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 154 155 156 157 158 159 160 161 162 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
if [ "${PLATFORM}" != "tcl" ]; then
rm -rf out
exit 0
fi
VERS=1.12
SRC="src/tcllib-${VERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tcllib/files/tcllib/${VERS}/tcllib-${VERS}.tar.gz/download"
BUILDDIR="tcllib-${VERS}"
WORKDIR="${TMPDIR:-/tmp}/tcllib-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
export VERS SRC SRCURL BUILDDIR WORKDIR PLATFORM PLATDIR
if [ ! -f "${SRC}" ]; then
mkdir src >/dev/null 2>/dev/null
wget -O "${SRC}" "${SRCURL}" || exit 1
fi
rm -rf "${WORKDIR}" >/dev/null 2>/dev/null
mkdir -p "${WORKDIR}" || exit 1
retval=0
(
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
find modules -type f -name '*.test' -o -name 'ChangeLog' -o -name '*.man' -o -name '*.txt' | xargs rm -f
workfile="${WORKDIR}/file"
worksubfile="${WORKDIR}/subfile"
pkgfiles=""
for file in modules/*/*.tcl; do
cat "${file}" | tr ';[]{}' "\n\n\n\n\n" | sed 's@^[ ]*#.*$@@' "${file}" > "${workfile}"
if grep '^ *package *provide *' "${workfile}" >/dev/null; then
pkgfiles="${pkgfiles}
${file}"
fi
done
for file in modules/*/*.tcl; do
filetail="$(basename "${file}")"
if [ "${filetail}" = "pkgIndex.tcl" ]; then
continue
fi
pkgdir="$(dirname "${file}")"
cat "${file}" | tr ';[]{} ' "\n\n\n\n\n " | sed 's@^ *#.*$@@' > "${workfile}"
# Some packages try to require a package, if that doesn't work they implement it and say they provide it (lies)
# We remove any "package provide blah" in a file also containing "package require blah"
# TODO: We should add "blah" to the recommended packages if we ended up removing anything
grep '^ *package *require *' "${workfile}" | while read blah blah reqpkg remain; do
grep -v "^ *package *provide *${reqpkg} *" "${workfile}" > "${workfile}.new"
mv "${workfile}.new" "${workfile}"
done
if ! grep '^ *package *provide *[^ ][^ ]* *[^ ][^ ]*' "${workfile}" >/dev/null; then
continue
fi
# Determine package name and version
pkg="$(grep '^ *package *provide *[^ ][^ ]* *[^ ][^ ]*' "${workfile}" | head -1 | sed 's@^ *package *provide *\([^ ][^ ]*\) .*$@\1@' | sed 's@^ *@@;s@ *$@@')"
pkgver="$(grep '^ *package *provide *[^ ][^ ]* *[^ ][^ ]*' "${workfile}" | head -1 | sed 's@^ *package *provide *[^ ][^ ]* *\([^ ][^ ]*\)*$@\1@;s@^[^0-9\.].*@@g')"
if echo "${pkg}" | grep '^ *\[' >/dev/null || [ -z "${pkg}" ]; then
pkg="$(grep "package *ifneeded *" "${pkgdir}/pkgIndex.tcl" | sed 's@^.*package *ifneeded *\([^ ][^ ]*\) .*$@\1@' | sed 's@^ *@@;s@ *$@@')"
if [ "$(echo "${pkg}" | wc -l | awk '{ print $1 }')" != "1" ]; then
pkg="$(basename "${file}" .tcl)"
echo "Unable to determine name of package: $file, assuming it is $pkg"
fi
fi
if [ -z "${pkgver}" ]; then
pkgver="$(grep "package *ifneeded *.*source *.* ${filetail}" "${pkgdir}/pkgIndex.tcl" 2>/dev/null | sed 's@^.*package *ifneeded *[^ ][^ ]* *\([^ ][^ ]*\) .*$@\1@' | head -1)"
fi
if [ -z "${pkgver}" ]; then
pkgver="$(grep "package *ifneeded *${pkg} *" "${pkgdir}/pkgIndex.tcl" 2>/dev/null | sed 's@^.*package *ifneeded *[^ ][^ ]* *\([^ ][^ ]*\) .*$@\1@' | head -1)"
fi
if [ -z "${pkgver}" ]; then
echo "Unable to determine version of ${pkg}: $(grep '^ *package *provide *' "${workfile}" | head -1), skipping."
continue
fi
# Skip marker package names
if [ "${pkg}" = "@@" ]; then
continue
fi
# Create output directory
outdir="${PLATDIR}/${pkg}-${pkgver}"
if [ -d "${outdir}" ]; then
echo "ERROR: $outdir already exists, skipping ${file} which provides ${pkg} v${pkgver}"
continue
fi
mkdir -p "${outdir}" || continue
# Put relevant files into the directory
if grep '^ *source *' "${workfile}" >/dev/null; then
# Include all the files in the directory that do not contain packages
cp "${file}" "${outdir}"
for subfile in "${pkgdir}"/*; do
if ! echo "${pkgfiles}" | grep "^${subfile}$" >/dev/null; then
cp "${subfile}" "${outdir}" >/dev/null 2>/dev/null
fi
done
grep -v "package *ifneeded *" "${pkgdir}/pkgIndex.tcl" > "${outdir}/pkgIndex.tcl"
grep "package *ifneeded *${pkg} *" "${pkgdir}/pkgIndex.tcl" >> "${outdir}/pkgIndex.tcl"
# Create Teapot info
pkgdesc="Part of the Tclib $(basename $(dirname ${file})) module"
pkgteapotfile="${outdir}/teapot.txt"
else
# Make a tclModule
cp "${file}" "${outdir}/"
outfile="${outdir}/${filetail}"
# Create Teapot info
pkgdesc="Part of the Tclib $(basename $(dirname ${file})) module"
pkgteapotfile="${outfile}"
fi
pkgdeps=$( ( for subfile in "${outdir}"/*.tcl; do
cat "${subfile}" | grep -v 'catch ' | tr ';[]{} ' "\n\n\n\n\n " | sed 's@^ *#.*$@@' > "${worksubfile}"
grep '^ *package *require *' "${worksubfile}" | while read blah blah reqpkg reqpkgver extra; do
reqpkgver="$(echo "${reqpkgver}" | sed 's@ *\$.*$@@')"
if [ -n "${reqpkgver}" ]; then
reqpkgver=$(echo "${reqpkgver}" | sed 's@[+=-]*$@@g')
echo "${reqpkg} ${reqpkgver}"
else
echo "${reqpkg}"
fi
done | sort -u | grep -v '__undefined__' | grep -v '__does_not_exist__'
done | tr "\n" ','; echo ) | sed 's@,,*$@@')
../../../create_teapot "${pkgteapotfile}" "$pkg" "$pkgver" "http://tcllib.sourceforge.net/" "tcl" "${pkgdeps}" "${pkgdesc}"
done
) || retval=1
rm -rf "${WORKDIR}"
exit $retval
|
Modified server/buildpkgs/tls/build.sh from [3a852f9bb4] to [780cdf7280].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
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}"
WORKDIR="${TMPDIR:-/tmp}/tls-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
| > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#! /bin/bash
if [ ! -x "../platform" ]; then
echo "No platform script found, aborting." >&2
exit 1
fi
if [ "${PLATFORM}" = "tcl" ]; then
rm -rf out
exit 0
fi
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}"
WORKDIR="${TMPDIR:-/tmp}/tls-$$${RANDOM}${RANDOM}${RANDOM}"
PLATDIR="$(pwd)/out/${PLATFORM}"
|
| ︙ | ︙ |