diff options
Diffstat (limited to 'sysutils/amanda')
-rw-r--r-- | sysutils/amanda/scripts/configure | 10 | ||||
-rw-r--r-- | sysutils/amanda/scripts/createuser | 58 |
2 files changed, 58 insertions, 10 deletions
diff --git a/sysutils/amanda/scripts/configure b/sysutils/amanda/scripts/configure deleted file mode 100644 index 1b0608e7e9f..00000000000 --- a/sysutils/amanda/scripts/configure +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -echo CFLAGS=${CFLAGS} - -if [ "X`uname -s`" = X"NetBSD" ]; then - mv $WRKSRC/config/config.h-netbsd1 $WRKSRC/config/config.h -else - mv $WRKSRC/config/config.h-freebsd2 $WRKSRC/config/config.h -fi -sed "s/#define MK_CCOPTS -g/#define MK_CCOPTS $CFLAGS/" < $WRKSRC/config/options.h-vanilla > $WRKSRC/config/options.h diff --git a/sysutils/amanda/scripts/createuser b/sysutils/amanda/scripts/createuser new file mode 100644 index 00000000000..ad1534346ae --- /dev/null +++ b/sysutils/amanda/scripts/createuser @@ -0,0 +1,58 @@ +#!/usr/bin/perl +# + +eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' +& eval 'exec /usr/bin/perl -S $0 $argv:q' +if 0; + +if( $> ) { + print "\nYou must be root to run this step!\n\n"; + exit 1; +} + +@ARGV = "backup" unless @ARGV; + +$backup = $ARGV[0]; + +if( getpwnam( $backup ) ) { + ( $null, $null, $newUID ) = getpwnam( $backup ); + $addname = 0; +} else { + $newUID = 70; + while( getpwuid( $newUID ) ) { + $newUID++; + } + $addname = 1; +} + +if( getgrnam( $backup ) ) { + ( $null, $null, $newGID ) = getgrnam( $backup ); +} else { + $newGID = 70; + while( getgrgid( $newGID ) ) { + $newGID++; + } + &append_file( "/etc/group", "${backup}:*:${newGID}:" ); +} + +print "Amanda user $backup using uid $newUID\n"; +print "Amanda user $backup using gid $newGID\n"; + +if ($addname) { + system( "/usr/bin/chpass -a \"$backup:*************:${newUID}:${newGID}::0:0:Amanda backup user:$ENV{'PREFIX'}/$backup:/bin/sh\"" ); +} + +sub append_file { + local($file,@list) = @_; + local($LOCK_EX) = 2; + local($LOCK_NB) = 4; + local($LOCK_UN) = 8; + + open(F, ">> $file") || die "$file: $!\n"; + while( ! flock( F, $LOCK_EX | $LOCK_NB ) ) { + exit 1; + } + print F join( "\n", @list) . "\n"; + close F; + flock( F, $LOCK_UN ); +} |