diff options
author | agc <agc> | 1998-05-07 17:10:49 +0000 |
---|---|---|
committer | agc <agc> | 1998-05-07 17:10:49 +0000 |
commit | 50741feef2564f46d7635276ad79b96c816f8cac (patch) | |
tree | 162b4992261e92106123aecce6a036a6b24bb985 | |
parent | 22c3d97893bbc8b226c560b25802de0ebbc80ec5 (diff) | |
download | pkgsrc-50741feef2564f46d7635276ad79b96c816f8cac.tar.gz |
Remove unnecessary configure script - 2.4.0 comes with a GNU autoconf
one. Add a createuser Perl script, based on the one in
databases/postgresql, which is used to ensure that the Amanda backup
user exists.
-rw-r--r-- | misc/amanda/scripts/configure | 10 | ||||
-rw-r--r-- | misc/amanda/scripts/createuser | 58 | ||||
-rw-r--r-- | sysutils/amanda/scripts/configure | 10 | ||||
-rw-r--r-- | sysutils/amanda/scripts/createuser | 58 |
4 files changed, 116 insertions, 20 deletions
diff --git a/misc/amanda/scripts/configure b/misc/amanda/scripts/configure deleted file mode 100644 index 1b0608e7e9f..00000000000 --- a/misc/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/misc/amanda/scripts/createuser b/misc/amanda/scripts/createuser new file mode 100644 index 00000000000..ad1534346ae --- /dev/null +++ b/misc/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 ); +} 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 ); +} |