Overview
Comment: | Updated ignores Renamed "work" directory something more meaningful Created teapot_index script to create client-compliant (but bare) repository |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
b12f77291f8164742353d6af581270de |
User & Date: | rkeene on 2010-02-05 03:55:55 |
Other Links: | manifest | tags |
Context
2010-02-05
| ||
03:57 | Updated build script to avoid releasing package binary data check-in: 3b36c0ccca user: rkeene tags: trunk | |
03:55 | Updated ignores Renamed "work" directory something more meaningful Created teapot_index script to create client-compliant (but bare) repository check-in: b12f77291f user: rkeene tags: trunk | |
02:22 | Added catchall for platform check-in: 7a3272e8a7 user: rkeene tags: trunk | |
Changes
Modified .fossil-settings/ignore-glob from [5feb604148] to [f012362875].
1 2 | client/teapot-client.kit client/teapot-client.kit/* | | | | | | | | | > > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | client/teapot-client.kit client/teapot-client.kit/* server/buildpkgs/tclpkgs-*.tar.* server/buildpkgs/tclpkgs-*.tar.*/* server/buildpkgs/tls/build server/buildpkgs/tls/build.log server/buildpkgs/tls/build.log/* server/buildpkgs/tls/build/* server/buildpkgs/tls/out server/buildpkgs/tls/out/* server/buildpkgs/tls/src server/buildpkgs/tls/src/* server/pkgs server/pkgs/* |
Added server/buildpkgs/Makefile version [f2ece7f06f].
> > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | all: tclpkgs-src-current.tar.gz tclpkgs-src-current.tar.gz: tclpkgs-src-current tar -zcf tclpkgs-src-current.tar.gz tclpkgs-src-current rm -rf tclpkgs-src-current tclpkgs-src-current: platform build_all.sh create_teapot */build.sh rm -rf tclpkgs-src-current mkdir tclpkgs-src-current cp -rp platform build_all.sh create_teapot tclpkgs-src-current/ for dir in */; do \ if test ! -f "$$dir/build.sh"; then continue; fi; \ mkdir "tclpkgs-src-current/$$dir"; \ cp "$$dir/build.sh" "tclpkgs-src-current/$$dir"; \ done clean: rm -f tclpkgs-*.tar.* rm -rf tclpkgs-src-current ./build_all.sh clean .PHONY: all clean |
Added server/buildpkgs/build_all.sh version [4f07bb6e7e].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | #! /bin/bash if [ ! -x "./platform" ]; then echo 'ERROR: Platform script not found: ./platform' >&2 exit 1 fi CLEANONLY=0 DISTCLEAN=0 if [ "$1" = "clean" ]; then CLEANONLY=1 fi if [ "$1" = "distclean" ]; then CLEANONLY=1 DISTCLEAN=1 fi export CLEANONLY DISTCLEAN # Determine path to "tclConfig.sh" TCLCONFIGDIR=$( ( echo "${LD_LIBRARY_PATH}" | tr ':' "\n" cat /etc/ld.so.conf 2>/dev/null crle 2>/dev/null | grep '^ *Default Library Path' | sed 's@^ *Default Library Path[^:]*:[^:]*/@/@' | tr ':' "\n" ) | grep '^/' | while read chklibdir; do if [ -f "${chklibdir}/tclConfig.sh" ]; then echo "${chklibdir}" break fi done ) if [ -z "${TCLCONFIGDIR}" ]; then TCLCONFIGDIR="/usr/lib" fi export TCLCONFIGDIR # Determine platform PLATFORM="$(./platform)" export PLATFORM # Build all appropriate directories faileddirs="" for dir in */; do export dir if [ ! -f "${dir}/build.sh" ]; then continue fi failed=0 ( cd "${dir}" || exit 1 rm -rf "build" "out" if [ "${DISTCLEAN}" = "1" ]; then rm -rf "src" fi if [ "${CLEANONLY}" = "1" ]; then exit 0 fi mkdir -p "out/${PLATFORM}" >/dev/null 2>/dev/null ./build.sh 2>&1 | tee "out/${PLATFORM}/build.log" || exit 1 ) || failed=1 if [ "${failed}" = "1" ]; then rm -rf "${dir}/out" faileddirs="${faileddirs} ${dir}" fi done # Cleanup is done at this point if [ "${CLEANONLY}" = "1" ]; then exit 0 fi # Let the user know what failed to build if [ -n "${faileddirs}" ]; then echo "The following failed to build:${failddirs}" fi # Create tarfile of built packages PLATFORM="$(./platform)" DATECODE="$(date +%Y%m%d%H%M)" OUTFILEBASE="tclpkgs-${PLATFORM}-${DATECODE}" tar -cf - */out | bzip2 -9c > "${OUTFILEBASE}.tar.bz2" exit 0 |
Added server/buildpkgs/create_teapot version [7fbee19e66].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | #! /bin/bash OUTFILE="$1" PKG="$2" PKGVER="$3" SRCURL="$4" PLATFORM="$5" REQS="$6" DESC="$7" TMPFILE="${TMPDIR:-/tmp}/reqfile-$$${RANDOM}${RANDOM}${RANDOM}" export OUTFILE PKG PKGVER SRCURL PLATFORM REQS DESC TMPFILE VALIDSYNTAX=1 if [ -z "${OUTFILE}" ]; then echo 'ERROR: Output not specified' >&2 VALIDSYNTAX=0 fi if [ -z "${PKG}" ]; then echo 'ERROR: Package not specified' >&2 VALIDSYNTAX=0 fi if [ -z "${PKGVER}" ]; then echo 'ERROR: Package version not specified' >&2 VALIDSYNTAX=0 fi if [ -z "${PLATFORM}" ]; then echo 'ERROR: Platform not specified' >&2 VALIDSYNTAX=0 fi if [ -z "${DESC}" ]; then echo 'ERROR: Description not specified' >&2 VALIDSYNTAX=0 fi if [ "${VALIDSYNTAX}" = "0" ]; then echo 'Usage: create_teapot <output> <pkg> <pkgver> <srcurl> <platform> <reqs> <desc>' >&2 exit 1 fi OUTSHORT=$(echo "${OUTFILE}" | sed 's@^.*/@@') TEXTFILE=0 if [ "${OUTSHORT}" = "teapot.txt" ]; then TEXTFILE=1 fi if [ ! -e "${OUTFILE}" ]; then TEXTFILE=1 fi rm -f "${TMPFILE}" cat << __EOF__ > "${TMPFILE}" Package ${PKG} ${PKGVER} Meta platform ${PLATFORM} Meta rsk::build::date $(date +%Y-%m-%d) Meta description ${DESC} __EOF__ echo "${REQS}" | tr ',' "\n" | while read req; do req="$(echo "${req}" | sed 's@^ *@@;s@ *$@@')" if [ -z "${req}" ]; then continue fi if echo "${req}" | grep ' ' >/dev/null; then req="{${req}}" fi echo "Meta require ${req}" >> "${TMPFILE}" done if [ "${TEXTFILE}" = "1" ]; then cat "${TMPFILE}" > "${OUTFILE}" else ( head -1 "${OUTFILE}" echo '' echo '# @@ Meta Begin' sed 's@^@# @' "${TMPFILE}" echo '# @@ Meta End' echo '' tail +2 "${OUTFILE}" ) > "${OUTFILE}.new" cat "${OUTFILE}.new" > "${OUTFILE}" rm -f "${OUTFILE}.new" fi rm -f "${TMPFILE}" |
Added server/buildpkgs/platform version [828b4fc7e9].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | #! /bin/bash case "`uname -s`" in 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 "`uname -m`" in i?86) CPUPLAT="ix86" ;; sun4?) CPUPLAT="sparc" ;; *) CPUPLAT="`uname -m`" ;; 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}" case "`uname -m`" in sun4?) CPUPLAT="sparc" ;; *) CPUPLAT="ix86" ;; esac echo "solaris${SOLVER}-${CPUPLAT}" ;; *) echo "`uname -s | dd conv=lcase 2>/dev/null`-`uname -m | dd conv=lcase 2>/dev/null`" ;; esac |
Added server/buildpkgs/tls/build.sh version [d44be617e2].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | #! /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}" PLATFORM="$(../platform)" PLATDIR="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 build mkdir build cd build/ || exit 1 gzip -dc "../${SRC}" | tar -xf - cd "${BUILDDIR}" || exit 1 for chkssldir in $(pkg-config openssl --cflags | sed 's@ *-I *@|@g' | tr '|' "\n" | grep '^/'); do if [ -f "${chkssldir}/openssl/opensslv.h" -o -f "${chkssldir}/opensslv.h" ]; then SSLDIR=$(echo "${chkssldir}" | sed 's@/[^/]*/*$@@') fi done if [ -z "${SSLDIR}" ]; then SSLDIR="/usr" fi ./configure --enable-shared --with-tcl="${TCLCONFIGDIR}" --with-ssl-dir="${SSLDIR}" gmake || exit 1 ) || exit 1 ( mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null cp "build/${BUILDDIR}/libtls1.6.so" "${PLATDIR}/" cp "build/${BUILDDIR}/pkgIndex.tcl" "${PLATDIR}/" cp "build/${BUILDDIR}/tls.tcl" "${PLATDIR}/" ../create_teapot "${PLATDIR}/teapot.txt" "tls" "${VERS}" "${SRCURL}" "${PLATFORM}" "Tcl 8.4" "SSL TLS Secure Sockets" ) || exit 1 exit 0 |
Added server/teapot_index version [07d237bd6c].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | #! /usr/bin/env tclsh if {[llength $argv] != "2"} { puts stderr "Usage: teapot_index <srcdir> <destdir>" exit 1 } set srcdir [file normalize [lindex $argv 0]] set dstdir [file normalize [lindex $argv 1]] # Index all packages proc teapot_index {srcdir} { array set pkginfo [list] foreach pkgdir [glob -directory $srcdir -type d */out/*] { unset -nocomplain currpkginfo set currpkginfo(pkgdir) $pkgdir set teapot [file join $pkgdir teapot.txt] set multifile 1 if {![file exists $teapot]} { set files [glob -directory $pkgdir *] if {[llength $files] == 1} { set teapot [lindex $files 0] set multifile 0 } else { continue } } set currpkginfo(multifile) $multifile if {$multifile} { set currpkginfo(extfile) file.zip } else { set currpkginfo(extfile) file.tm } set fd [open $teapot r] set data [read $fd] close $fd set processline $multifile foreach line [split $data \n] { set line [string trim $line] if {!$multifile} { if {$line == "# @@ Meta Begin"} { set processline 1 continue } if {$line == "# @@ Meta End"} { break } set line [regsub {^ *# *} $line {}] } if {!$processline} { continue } set cmd "INVALID" catch { set cmd [string toupper [lindex $line 0]] } switch -- $cmd { "PACKAGE" { set name [lindex $line 1] set vers [lindex $line 2] set currpkginfo(name) $name set currpkginfo(vers) $vers } "META" { set var [string tolower [lindex $line 1]] set val [lrange $line 2 end] set currpkginfo($var) $val } } } set pkginfo([list $currpkginfo(name) $currpkginfo(vers) $currpkginfo(platform)]) [array get currpkginfo] } return [array get pkginfo] } proc generate_tpm {entlist} { set ret {<!-- [[TPM[[} append ret $entlist append ret {]]MPT]] -->} return $ret } proc generate_table {fields numitems} { set ret "" foreach field $fields { append ret " <tr>\n" foreach part [lrange $field 0 [expr $numitems - 1]] { append ret " <td>$part</td>\n" } append ret " </tr>\n" } return [string range $ret 0 end-1] } # Create "index.html" proc create_output_index {dstdir pkginfo_arrlist} { array set pkginfo $pkginfo_arrlist set indexfile [file join $dstdir index.html] set pkglist [list] foreach ent [array names pkginfo] { set pkg [lindex $ent 0] if {[lsearch -exact $pkglist $pkg] != -1} { continue } lappend pkglist $pkg } set fd [open $indexfile w] puts $fd "<html>" puts $fd " <head>" puts $fd " <title>List of all entities</title>" puts $fd " </head>" puts $fd " <body>" puts $fd [generate_tpm $pkglist] puts $fd " <h1>List of all entities</h1>" puts $fd " <table>" puts $fd [generate_table $pkglist 1] puts $fd " </table>" puts $fd " </body>" puts $fd "</html>" close $fd } # Create "package/list" proc create_output_pkglist {dstdir pkginfo_arrlist} { array set pkginfo $pkginfo_arrlist set pkgdir [file join $dstdir package] catch { file mkdir $pkgdir } set indexfile [file join $pkgdir list.html] set altindexfile [file join $pkgdir list] set pkglist [list] foreach ent [array names pkginfo] { set pkg [lindex $ent 0] set ver [lindex $ent 1] set arch [lindex $ent 2] lappend pkglist [list package $pkg $ver $arch 0] } set fd [open $indexfile w] puts $fd "<html>" puts $fd " <head>" puts $fd " <title>List of all packages</title>" puts $fd " </head>" puts $fd " <body>" puts $fd [generate_tpm $pkglist] puts $fd " <h1>List of all packages</h1>" puts $fd " <table>" puts $fd " <tr>" puts $fd " <th>What</th>" puts $fd " <th>Name</th>" puts $fd " <th>Version</th>" puts $fd " <th>Platform</th>" puts $fd " </tr>" puts $fd [generate_table $pkglist 4] puts $fd " </table>" puts $fd " </body>" puts $fd "</html>" close $fd file delete $altindexfile file link -hard $altindexfile $indexfile } # Create "package/name/<pkg>/ver/<ver>/arch/<arch>/file" proc create_output_files {dstdir pkginfo_arrlist} { array set pkginfo $pkginfo_arrlist foreach ent [array names pkginfo] { set pkg [lindex $ent 0] set ver [lindex $ent 1] set arch [lindex $ent 2] array set currpkginfo $pkginfo($ent) set pkgdir $currpkginfo(pkgdir) set multifile $currpkginfo(multifile) set extfiletail $currpkginfo(extfile) set workdir [file join $dstdir package name $pkg ver $ver arch $arch] set regfile [file join $workdir file] set extfile [file join $workdir $extfiletail] catch { file mkdir $workdir } if {$multifile} { catch { cd $pkgdir exec zip -r $extfile . } } else { set origfile [lindex [glob $pkgdir *] 0] file copy -force -- $origfile $extfile } file delete $regfile file link -hard $regfile $extfile } } set pkginfo [teapot_index $srcdir] create_output_index $dstdir $pkginfo create_output_pkglist $dstdir $pkginfo create_output_files $dstdir $pkginfo |
Deleted server/work/Makefile version [f2ece7f06f].
|
| < < < < < < < < < < < < < < < < < < < < < < |
Deleted server/work/build_all.sh version [4f07bb6e7e].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted server/work/create_teapot version [7fbee19e66].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted server/work/platform version [828b4fc7e9].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted server/work/tls/build.sh version [d44be617e2].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |