| From: Matthew Wilcox <matthew@wil.cx> |
| To: 383219@bugs.debian.org |
| Cc: Roland Mas <lolando@debian.org> |
| Subject: index.aux generation |
| Date: Thu, 24 Aug 2006 08:55:10 -0600 |
| |
| Alioth needs to generate an index.aux file. It'd be helpful if we had |
| an example script for doing this. Here's the script used for |
| git.infradead.org (MIT licence, says its author): |
| |
| --- cut --- |
| #!/bin/sh |
| |
| cd /home |
| for a in * ; do [ -r $a/public_git ] && [ ! -d /home/git/users/$a ] && ln -s /home/$a/public_git /home/git/users/$a ; done |
| |
| cd /home/git |
| find . -name 'HEAD' | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do |
| TREEUID=`stat -c %U $DIR` |
| TREEUSERNAME=`grep ^$TREEUID: /etc/passwd | cut -f5 -d: | sed s/\ /+/` |
| if [ "$TREEUSERNAME" = "" ]; then |
| TREEUSERNAME=$TREEUID |
| fi |
| echo $DIR $TREEUSERNAME | sed s:/:%2F:g |
| done > /home/git/.index.aux.$$ |
| |
| mv /home/git/.index.aux.$$ /home/git/.index.aux |
| |
| --- cut --- |
| |
| I suspect Alioth wants something like (untested ...) |
| |
| cd /srv/git.debian.org/git |
| ls */*/HEAD | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do |
| TREEUID=`stat -c %U $DIR` |
| TREEUSERNAME=`XXX` |
| if [ "$TREEUSERNAME" = "" ]; then |
| TREEUSERNAME=$TREEUID |
| fi |
| echo $DIR $TREEUSERNAME | sed s:/:%2F:g |
| done > /srv/git.debian.org/.index.aux.$$ |
| |
| mv /srv/git.debian.org/.index.aux.$$ /srv/git.debian.org/.index.aux |
| |
| where XXX would be how to turn a username into the name of a user. |
| I dunno how Alioth works; ldap or postgres db seem plausible answers. |