head	1.3;
access;
symbols
	pkgsrc-2013Q2:1.3.0.54
	pkgsrc-2013Q2-base:1.3
	pkgsrc-2012Q4:1.3.0.52
	pkgsrc-2012Q4-base:1.3
	pkgsrc-2011Q4:1.3.0.50
	pkgsrc-2011Q4-base:1.3
	pkgsrc-2011Q2:1.3.0.48
	pkgsrc-2011Q2-base:1.3
	pkgsrc-2009Q4:1.3.0.46
	pkgsrc-2009Q4-base:1.3
	pkgsrc-2008Q4:1.3.0.44
	pkgsrc-2008Q4-base:1.3
	pkgsrc-2008Q3:1.3.0.42
	pkgsrc-2008Q3-base:1.3
	cube-native-xorg:1.3.0.40
	cube-native-xorg-base:1.3
	pkgsrc-2008Q2:1.3.0.38
	pkgsrc-2008Q2-base:1.3
	pkgsrc-2008Q1:1.3.0.36
	pkgsrc-2008Q1-base:1.3
	pkgsrc-2007Q4:1.3.0.34
	pkgsrc-2007Q4-base:1.3
	pkgsrc-2007Q3:1.3.0.32
	pkgsrc-2007Q3-base:1.3
	pkgsrc-2007Q2:1.3.0.30
	pkgsrc-2007Q2-base:1.3
	pkgsrc-2007Q1:1.3.0.28
	pkgsrc-2007Q1-base:1.3
	pkgsrc-2006Q4:1.3.0.26
	pkgsrc-2006Q4-base:1.3
	pkgsrc-2006Q3:1.3.0.24
	pkgsrc-2006Q3-base:1.3
	pkgsrc-2006Q2:1.3.0.22
	pkgsrc-2006Q2-base:1.3
	pkgsrc-2006Q1:1.3.0.20
	pkgsrc-2006Q1-base:1.3
	pkgsrc-2005Q4:1.3.0.18
	pkgsrc-2005Q4-base:1.3
	pkgsrc-2005Q3:1.3.0.16
	pkgsrc-2005Q3-base:1.3
	pkgsrc-2005Q2:1.3.0.14
	pkgsrc-2005Q2-base:1.3
	pkgsrc-2005Q1:1.3.0.12
	pkgsrc-2005Q1-base:1.3
	pkgsrc-2004Q4:1.3.0.10
	pkgsrc-2004Q4-base:1.3
	pkgsrc-2004Q3:1.3.0.8
	pkgsrc-2004Q3-base:1.3
	pkgsrc-2004Q2:1.3.0.6
	pkgsrc-2004Q2-base:1.3
	pkgsrc-2004Q1:1.3.0.4
	pkgsrc-2004Q1-base:1.3
	pkgsrc-2003Q4:1.3.0.2
	pkgsrc-2003Q4-base:1.3
	buildlink2-base:1.3
	netbsd-1-3-PATCH002:1.2;
locks; strict;
comment	@# @;


1.3
date	98.06.05.14.09.43;	author agc;	state dead;
branches;
next	1.2;

1.2
date	98.05.08.21.56.02;	author hubertf;	state Exp;
branches;
next	1.1;

1.1
date	98.05.07.17.10.49;	author agc;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Use addnerd to add the user, rather than a custom Perl script.
@
text
@#!/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 -l -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 );
}
@


1.2
log
@use -l switch to chpass (eww, undocumented :-/), to work even when NIS is set up
@
text
@@


1.1
log
@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.
@
text
@d42 1
a42 1
	system( "/usr/bin/chpass -a \"$backup:*************:${newUID}:${newGID}::0:0:Amanda backup user:$ENV{'PREFIX'}/$backup:/bin/sh\"" );
@
