Overview
Comment: | Add a manual link for releases |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
2fdb28505d4bfe095b3684db717cc659 |
User & Date: | rkeene on 2018-07-11 16:47:46 |
Other Links: | manifest | tags |
Context
2018-07-11
| ||
16:49 | Updated to extract manual page correctly check-in: e607386a51 user: rkeene tags: trunk | |
16:47 | Add a manual link for releases check-in: 2fdb28505d user: rkeene tags: trunk | |
16:28 | Added a "filter" JSON command to filter out attributes which other implementations hate check-in: 3a03259f8f user: rkeene tags: trunk | |
Changes
Modified build/update-wiki from [729d2f2a65] to [13a233bee7].
︙ | ︙ | |||
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | fi echo 'Tcl Nano' echo '========' echo '' echo "Current release: **${version}**" echo '' echo ' - Downloads:' echo " - [Source](/uv/${tarball}) <small>(SHA2-256: ${sha256})</small>" echo '' echo "Older releases may be found in the [archives](/uvlist)." return 0 } # Ensure we are operating in the root of the checkout cd "$(dirname "${BASH_SOURCE[0]}")/.." # Update the repository fossil sync fossil uv sync # Determine latest release | > > > > > > > > > > > > > > | > | | | > > > > | | | > > > > > > > > | > | 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 | fi echo 'Tcl Nano' echo '========' echo '' echo "Current release: **${version}**" echo '' echo " - [Manual](/uv/manuals/tcl-nano-${version}-manual.pdf)" echo ' - Downloads:' echo " - [Source](/uv/${tarball}) <small>(SHA2-256: ${sha256})</small>" echo '' echo "Older releases may be found in the [archives](/uvlist)." return 0 } # Determine if a Fossil UV file exists function fossilUVExists() { local file file="$1" if fossil uv cat "${file}" 2>/dev/null | grep '^' >/dev/null; then return 0 fi return 1 } # Ensure we are operating in the root of the checkout cd "$(dirname "${BASH_SOURCE[0]}")/.." # Update the repository fossil sync fossil uv sync # Determine latest release tclNanoReleaseVersion="$(fossil uv ls | sed 's/^releases\/tcl-nano-\(.*\)\.tar\.gz/\1/;t;d' | sort --version-sort | tail -n 1)" tclNanoReleaseManualPDF="manuals/tcl-nano-${tclNanoReleaseVersion}.pdf" tclNanoReleaseTarball="releases/tcl-nano-${tclNanoReleaseVersion}.tar.gz" tclNanoReleaseDate="$(fossil uv cat "${tclNanoReleaseTarball}" 2>/dev/null | gzip -dc 2>/dev/null | tar -tvf - 2>/dev/null | awk '{ print $4 }')" tclNanoReleaseTarballSHA256="$(fossil uv cat "${tclNanoReleaseTarball}" 2>/dev/null | openssl dgst -sha256 | sed 's/.*= *//')" # Determine current development version tclNanoDevelopmentVersion="$(awk '/^AC_INIT\(/{ sub(/^AC_INIT\([^,]*, */, ""); sub(/[,\)].*$/, ""); print; }' < configure.ac)" tclNanoDevelopmentDate="$(date +%d-%b-%Y)" # Generate the new manual page entry for the development version developmentManPage="$(groff -mandoc -Thtml nano.man | sed -r 's@</*(body|html)( [^>]*|)>@@g;/<head>/,/<\/head>/ d' | sed "s/@@VERS@@/${tclNanoDevelopmentVersion}/g;s/@@SHORT_DATE@@/${tclNanoDevelopmentDate}/g" | sed 's/\[/\[/g;s/\]/\]/g' | tail -n +5)" updatePage "${wikiPageManual}" "${developmentManPage}" # Generate a PDF manual page for the release version, if it does not already exist if ! fossilUVExists "${tclNanoReleaseManualPDF}"; then tclNanoReleaseManualPDFTmp="$(mktemp -u)" fossil uv cat "${tclNanoReleaseTarball}" 2>/dev/null | gzip -dc 2>/dev/null | tar -xOf - '*/nano.man' | groff -mandoc -Tpdf > "${tclNanoReleaseManualPDFTmp}" fossil uv add "${tclNanoReleaseManualPDFTmp}" --as "${tclNanoReleaseManualPDF}" rm -f "${tclNanoReleaseManualPDFTmp}" fi # Generate the new download page entry downloadsPage="$(generateDownloads "${tclNanoReleaseVersion}" "${tclNanoReleaseTarball}" "${tclNanoReleaseTarballSHA256}")" updatePage "${wikiPageDownloads}" "${downloadsPage}" 'markdown' # Push changes if any have been made fossil sync fossil uv sync exit 0 |