#!/bin/bash # # (c) 2011 by J. Daniel Schmidt # if [ -z $1 ] then echo echo "Usage: $0 []" echo " svn-repo-name: The name of the svn repository." echo " user-name: The user name if different from current user name." echo exit 1 fi SVNREPO=$1 NNAME=${2:-$USER} SVNADMIN=jdsn@suse.de REALM="Authorization needed to access the ${SVNREPO} subversion repository" echo echo "Creating a password hash for user \"$NNAME\" and repo \"$SVNREPO\"" # create the hash and auth_file TEMPFILE=`mktemp ${SVNREPO}_svn_auth.temp.XXXXX` read -s -p "Please enter your password: " NEWPASSWD echo echo case ${SVNREPO} in opensuse-i18n | \ opensuse-doc ) (echo -n "${SVNREPO}: $NNAME:" ; echo -n $NEWPASSWD | perl -ne 'chomp; print crypt("$_", "\$1\$")."\n"') > ${TEMPFILE} ;; * ) (echo -n "$NNAME:$REALM:" && echo -n "$NNAME:$REALM:$NEWPASSWD" | md5sum | sed "s/ \+-$//" ) > ${TEMPFILE} ;; esac unset NEWPASSWD # send auth_file to svn-admin read -p "Do you have a local mailserver and should I send the svn_auth file to the SVN-admin? (y/N)" if [[ $REPLY = [yY] ]] then echo '' | mail -a ${TEMPFILE} -s "svn.opensuse.org auth for ${SVNREPO} for ${NNAME}" ${SVNADMIN} rm -v ${TEMPFILE} else echo echo "Ok, not sending." echo "--> Please write an eMail to ${SVNADMIN} and attach the file ${TEMPFILE}" fi