gomod (663B)
1 #!/bin/rc 2 3 domain = $1 4 gitdir = /var/git 5 if (~ $domain ()) { 6 domain = `hostname 7 } 8 wwwdir = /var/www/htdocs/go.$domain 9 10 11 tmpdir = `{mktemp -d} 12 if (!cd $tmpdir) { 13 exit 1 14 } 15 16 fn sigexit { 17 rm -rf $tmpdir 18 } 19 20 for (repo in $gitdir/*) { 21 name = `{basename $repo} 22 dest = $wwwdir/$name 23 24 if (test -e go.mod) { 25 rm go.mod 26 } 27 28 if (git archive --remote=$repo HEAD go.mod >[2]/dev/null | tar -xf - >[2]/dev/null) { 29 echo GEN go.$domain $name 30 mkdir -p $dest 31 modname = `{head -1 go.mod | sed 's/^module //'} 32 printf '<!DOCTYPE html><html><head><meta name="go-import" content="%s git %s"></head></html>' \ 33 $modname https://src.$domain/$name > $dest/index.html 34 } 35 }