summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoragc <agc>1998-05-07 17:10:49 +0000
committeragc <agc>1998-05-07 17:10:49 +0000
commit50741feef2564f46d7635276ad79b96c816f8cac (patch)
tree162b4992261e92106123aecce6a036a6b24bb985
parent22c3d97893bbc8b226c560b25802de0ebbc80ec5 (diff)
downloadpkgsrc-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/configure10
-rw-r--r--misc/amanda/scripts/createuser58
-rw-r--r--sysutils/amanda/scripts/configure10
-rw-r--r--sysutils/amanda/scripts/createuser58
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 );
+}