From 06adabffe759eafcd3932e98b0395dcbd95bc16c Mon Sep 17 00:00:00 2001 From: Hayden Hamilton Date: Mon, 14 Sep 2026 19:59:11 +0100 Subject: Switched to cgit -> remove stagit scripts --- README | 8 +++---- repo/hooks/post-receive | 2 +- www/generate-gomod | 35 +++++++++++++++++++++++++++++ www/generate/breadcrumb | 46 -------------------------------------- www/generate/src/all | 9 -------- www/generate/src/gomod | 35 ----------------------------- www/generate/src/stagit | 29 ------------------------ www/generate/src/stagit-breadcrumb | 42 ---------------------------------- 8 files changed, 39 insertions(+), 167 deletions(-) create mode 100755 www/generate-gomod delete mode 100755 www/generate/breadcrumb delete mode 100755 www/generate/src/all delete mode 100755 www/generate/src/gomod delete mode 100755 www/generate/src/stagit delete mode 100755 www/generate/src/stagit-breadcrumb diff --git a/README b/README index e5b255a..4e248b3 100644 --- a/README +++ b/README @@ -29,11 +29,9 @@ www/chroot: - mkchroot: copies binaries + libraries to /var/www - git-wrapper: wraps around git for CGI access -www/generate/src: - These scripts generate content in /var/www/htdocs/src.hhvn.uk - - gomod: generates go.mod glue code - - stagit: calls stagit - - stagit-breadcrumb: rewrites all stagit files to use www/generate/breadcrumb +www: + These scripts generate html files + - generate-gomod: generates go.mod glue code in go.hhvn.uk (virtual) repo: These scrips manage /var/git diff --git a/repo/hooks/post-receive b/repo/hooks/post-receive index 858ae4e..5e2c70e 100755 --- a/repo/hooks/post-receive +++ b/repo/hooks/post-receive @@ -1,3 +1,3 @@ #!/bin/rc -www/generate/src/all +www/generate-gomod diff --git a/www/generate-gomod b/www/generate-gomod new file mode 100755 index 0000000..596c49b --- /dev/null +++ b/www/generate-gomod @@ -0,0 +1,35 @@ +#!/bin/rc + +domain = $1 +gitdir = /var/git +if (~ $domain ()) { + domain = `hostname +} +wwwdir = /var/www/htdocs/go.$domain + + +tmpdir = `{mktemp -d} +if (!cd $tmpdir) { + exit 1 +} + +fn sigexit { + rm -rf $tmpdir +} + +for (repo in $gitdir/*) { + name = `{basename $repo} + dest = $wwwdir/$name + + if (test -e go.mod) { + rm go.mod + } + + if (git archive --remote=$repo HEAD go.mod >[2]/dev/null | tar -xf - >[2]/dev/null) { + echo GEN go.$domain $name + mkdir -p $dest + modname = `{head -1 go.mod | sed 's/^module //'} + printf '' \ + $modname https://src.$domain/$name > $dest/index.html + } +} diff --git a/www/generate/breadcrumb b/www/generate/breadcrumb deleted file mode 100755 index 0f7e1f8..0000000 --- a/www/generate/breadcrumb +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/rc - -uri = $1 # eg, '/hbspbar/log.html' -domain = $2 # eg, hhvn.uk -subdomain = $3 # eg, src -elems = `('/' $nl){echo $uri} - -if (~ $domain ()) { - domain = `hostname -} - -fn plink { - printf '%s' $1 $2 -} - -fn text { - printf '%s' $1 -} - -if (! ~ $subdomain ()) { - plink '/' $subdomain - text '.' - plink 'https://'^$domain $domain -} else { - plink '/' $domain -} - -curi = '' -for (e in $elems) { - if (!~ $e '.') { - # special case for stagit - if (~ $subdomain src && ~ $e log.html) { - exit 0 - } - - # we're done - if (~ $e index.html) { - exit 0 - } - - curi = $curi ^ '/' ^ $e - - text ' > ' - plink $curi `$nl{echo $e | sed 's/\.html$//'} - } -} diff --git a/www/generate/src/all b/www/generate/src/all deleted file mode 100755 index 595b3f5..0000000 --- a/www/generate/src/all +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/rc - -wwwdir = /var/www/htdocs/src.hhvn.uk -newer = $wwwdir/.newer - -touch $newer -www/generate/src/stagit -www/generate/src/stagit-breadcrumb $newer -www/generate/src/gomod diff --git a/www/generate/src/gomod b/www/generate/src/gomod deleted file mode 100755 index 596c49b..0000000 --- a/www/generate/src/gomod +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/rc - -domain = $1 -gitdir = /var/git -if (~ $domain ()) { - domain = `hostname -} -wwwdir = /var/www/htdocs/go.$domain - - -tmpdir = `{mktemp -d} -if (!cd $tmpdir) { - exit 1 -} - -fn sigexit { - rm -rf $tmpdir -} - -for (repo in $gitdir/*) { - name = `{basename $repo} - dest = $wwwdir/$name - - if (test -e go.mod) { - rm go.mod - } - - if (git archive --remote=$repo HEAD go.mod >[2]/dev/null | tar -xf - >[2]/dev/null) { - echo GEN go.$domain $name - mkdir -p $dest - modname = `{head -1 go.mod | sed 's/^module //'} - printf '' \ - $modname https://src.$domain/$name > $dest/index.html - } -} diff --git a/www/generate/src/stagit b/www/generate/src/stagit deleted file mode 100755 index b884816..0000000 --- a/www/generate/src/stagit +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/rc - -domain = $1 -if (~ $domain ()) { - domain = `hostname -} - -gitdir = /var/git -wwwdir = /var/www/htdocs/src.$domain - -stagit-index $gitdir/* | \ - sed 's/Owner<\/b><\/td>//' | \ - sed 's/<\/td>//' \ - > $wwwdir/index.html - -for (repo in $gitdir/*) { - base = `{basename $repo} - echo GEN src.$domain $base - - mkdir -p $wwwdir/$base - cd $wwwdir/$base - stagit -c .cache -u 'https://src.$domain/'$base $repo - if (!test -e index.html) { - ln -s log.html index.html - } - if (!test -e style.css) { - ln -s ../style.css style.css - } -} diff --git a/www/generate/src/stagit-breadcrumb b/www/generate/src/stagit-breadcrumb deleted file mode 100755 index 8dabc2d..0000000 --- a/www/generate/src/stagit-breadcrumb +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/rc -# -# This script is very slow. -# Hence the option to use find's -newer. -# A file can be created before stagit runs, -# and this script will only modify files created after. -# -# stagit will not modify files in the commit/ dir once created -# It does however recreate everything at HEAD. -# This isn't ideal. -# -# Most of the time taken in this script is most likely NOT cpu time. -# It may be a good idea to run the main loop portion of this script in parallel. - -wwwdir = /var/www/htdocs/src.hhvn.uk -newer = $1 -cd $wwwdir - -if (!~ $newer ()) { - fargs = (-newer $1) -} - -fn breadcrumb { - printf %s '

' - www/generate/breadcrumb $* | sed 's~&~\\\\\&~g' - printf %s '

' -} - -files = `$nl{find . $fargs -type f -name '*.html'} -estatus = 0 -for (f in $files) { - printf %s 'BREADCRUMB ' ^ $f ^ '... ' - breadcrumb = `''{breadcrumb $f hhvn.uk src} - awk -v breadcrumb=$breadcrumb '{ sub(/

.*<\/h1>/, breadcrumb); sub(/Repositories<\/span>/, breadcrumb) }1' < $f > $f.awk - if (~ $status 0) { - echo success - mv $f.awk $f - } else { - rm $f.awk - estatus = $status - } -} -- cgit v1.2.3