Ubic

 view release on metacpan or  search on metacpan

lib/Ubic/Admin/Setup.pm  view on Meta::CPAN


    my $default_user;
    if ($is_root) {
        print_tty "\nUbic services can be started from any user.\n";
        print_tty "Some services don't specify the user from which they must be started.\n";
        print_tty "Default user will be used in this case.\n";
        $default_user = prompt_str("Default user?", $opt_default_user);
    }
    else {
        print_tty "\n";
        $default_user = getpwuid($>);
        unless (defined $default_user) {
            die "Can't get login (uid '$>')";
        }
        print_tty "You're using local installation, so default service user will be set to '$default_user'.\n";
    }

    my $enable_1777;
    if ($is_root) {
        print_tty "\nSystem-wide installations usually need to store service-related data\n";
        print_tty "into data dir for different users. For non-root services to work\n";

lib/Ubic/Cmd.pm  view on Meta::CPAN

    }
}

sub print_status($$;$$) {
    my $self = _obj(shift);
    my $service = shift;
    my $force_cached = shift;
    my $results = shift || Ubic::Cmd::Results->new;

    # TODO - use Credentials instead
    my $user = getpwuid($>);
    unless (defined $user) {
        die "Can't detect user by uid $>";
    }

    my $max_offset = 0;
    $self->traverse($service, sub {
        my ($service, $indent) = @_;
        my $name = $service->full_name;
        print $name;

lib/Ubic/Credentials/OS/MacOSX.pm  view on Meta::CPAN

        ($self->{effective_group_id}) = $) =~ /^(\d+)/;
        # TODO - derive user from real_user_id when user is not specified (or from effective_user_id?!)
    }

    return bless $self => $class;
}

sub user {
    my $self = shift;
    unless (defined $self->{user}) {
        $self->{user} = getpwuid($>);
    }
    return $self->{user};
}

sub group {
    my $self = shift;
    unless (defined $self->{group}) {
        $self->_user2group;
    }
    return $self->{group};

lib/Ubic/Credentials/OS/MacOSX.pm  view on Meta::CPAN

}

sub set_effective {
    my $self = shift;

    my $current_creds = Ubic::Credentials->new;
    my $euid = $current_creds->effective_user_id();
    my ($egid) = $current_creds->effective_group_id();
    $egid =~ s/^(\d+).*/$1/;

    my $current_user = getpwuid($euid);
    my $current_group = getgrgid($egid);

    my $user = $self->user;
    my ($group) = $self->group;

    if ($group ne $current_group) {
        $self->{old_egid} = $);
        my $new_gid = getgrnam($group);
        unless (defined $new_gid) {
            die "group $group not found";

lib/Ubic/Credentials/OS/POSIX.pm  view on Meta::CPAN

        $self->{effective_group_id} = [ split / /, $) ];
        # TODO - derive user from real_user_id when user is not specified (or from effective_user_id?!)
    }

    return bless $self => $class;
}

sub user {
    my $self = shift;
    unless (defined $self->{user}) {
        my $user = getpwuid($>);
        unless (defined $user) {
            die "failed to get user name by uid $>";
        }
        $self->{user} = $user;
    }
    return $self->{user};
}

sub group {
    my $self = shift;

lib/Ubic/Credentials/OS/POSIX.pm  view on Meta::CPAN

}

sub set_effective {
    my $self = shift;

    my $current_creds = Ubic::Credentials->new;
    my $euid = $current_creds->effective_user_id();
    my ($egid) = $current_creds->effective_group_id();
    $egid =~ s/^(\d+).*/$1/;

    my $current_user = getpwuid($euid);
    unless (defined $current_user) {
        die "failed to get current user name by euid $euid";
    }
    my $current_group = getgrgid($egid);
    unless (defined $current_group) {
        die "failed to get current group name by egid $egid";
    }

    my $user = $self->user;
    my ($group) = $self->group;

t/Utils.pm  view on Meta::CPAN

    open my $fh, '<', $file or die "Can't open $file: $!";
    return do { local $/; <$fh> };
}

our $local_ubic;
sub local_ubic {
    my $params = validate(@_, {
        service_dirs => { type => ARRAYREF, default => ['t/service/common', 'etc/ubic/service'] },
        default_user => {
            type => SCALAR,
            default => $ENV{LOGNAME} || $ENV{USERNAME} || scalar getpwuid($>),
        },
    });

    xsystem('mkdir tfiles/service');
    for my $dir (@{ $params->{service_dirs} }) {
        xsystem('cp', '-r', '--', glob("$dir/*"), 'tfiles/service/');
    }

    require Ubic;
    Ubic->set_data_dir('tfiles/ubic');



( run in 0.277 second using v1.01-cache-2.11-cpan-8d75d55dd25 )