mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
60 lines
1.4 KiB
Perl
60 lines
1.4 KiB
Perl
#!/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;
|
|
}
|
|
|
|
if( ! -x "/usr/sbin/pw" ) {
|
|
print "\nYou require the pw command, which was included in FreeBSD v2.2 builds\n";
|
|
print "as of Dec 9th 1996. If you don't have it, try looking in\n";
|
|
print "/usr/src/usr.sbin/pw and building it\n\n";
|
|
exit 1;
|
|
}
|
|
|
|
if( getpwnam( "majordom" ) ) {
|
|
$have_user = 1;
|
|
( $null, $null, $mjUID ) = getpwnam( "majordom" );
|
|
} else {
|
|
$mjUID = 54;
|
|
while( getpwuid( $mjUID ) ) {
|
|
$mjUID++;
|
|
}
|
|
}
|
|
|
|
if( getgrnam( "majordom" ) ) {
|
|
$have_group = 1;
|
|
( $null, $null, $mjGID ) = getgrnam( "majordom" );
|
|
} else {
|
|
$mjGID = 54;
|
|
while( getgrgid( $mjGID ) ) {
|
|
$mjGID++;
|
|
}
|
|
}
|
|
|
|
print "majordom user using uid $mjUID\n";
|
|
print "majordom user using gid $mjGID\n";
|
|
|
|
if( ! $have_group ) {
|
|
$result = system( "/usr/sbin/pw groupadd majordom -g $mjGID" );
|
|
if( $result ) {
|
|
print "Failed to add group majordom!\n";
|
|
exit 1;
|
|
}
|
|
}
|
|
|
|
if( ! $have_user ) {
|
|
$result = system( "pw useradd majordom -u $mjUID -g $mjGID -d \"$ENV{PREFIX}/majordomo\" -c \"Majordomo Pseudo User\" -p \"*\" -s \"/nonexistent\"" );
|
|
} else {
|
|
$result = system( "pw usermod majordom -u $mjUID -g $mjGID -d \"$ENV{PREFIX}/majordomo\" -c \"Majordomo Pseudo User\" -p \"*\" -s \"/nonexistent\"" );
|
|
}
|
|
if( $result ) {
|
|
print "Failed to add/modify user majordom!\n";
|
|
exit 1;
|
|
}
|