aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsrc/gitjoe/addsshkey.pl3
-rwxr-xr-xsrc/gitjoe/adduser.pl3
-rwxr-xr-xsrc/gitjoe/chdesc.pl3
-rwxr-xr-xsrc/gitjoe/chowner.pl5
-rwxr-xr-xsrc/gitjoe/chpublic.pl43
-rwxr-xr-xsrc/gitjoe/newrepo.pl3
-rwxr-xr-xsrc/gitjoe/rmrepo.pl3
-rwxr-xr-xsrc/gitjoe/rmuser.pl3
-rwxr-xr-xvps-do.pl2
9 files changed, 60 insertions, 8 deletions
diff --git a/src/gitjoe/addsshkey.pl b/src/gitjoe/addsshkey.pl
index c25c879..3340d64 100755
--- a/src/gitjoe/addsshkey.pl
+++ b/src/gitjoe/addsshkey.pl
@@ -4,7 +4,8 @@ use strict;
use warnings;
use Term::ANSIColor;
-sub main {
+sub main
+{
my $argc = $#ARGV + 1;
if ($argc < 2) {
print colored("Failed!\n", 'bold red')
diff --git a/src/gitjoe/adduser.pl b/src/gitjoe/adduser.pl
index 8107155..23c7a56 100755
--- a/src/gitjoe/adduser.pl
+++ b/src/gitjoe/adduser.pl
@@ -8,7 +8,8 @@ use constant {
ADDUSER_PATH => '/usr/sbin/adduser',
};
-sub main {
+sub main
+{
my $argc = $#ARGV + 1;
if ($argc < 2) {
print colored("Failed!\n", 'bold red')
diff --git a/src/gitjoe/chdesc.pl b/src/gitjoe/chdesc.pl
index 0a3f22f..e15ca4e 100755
--- a/src/gitjoe/chdesc.pl
+++ b/src/gitjoe/chdesc.pl
@@ -4,7 +4,8 @@ use strict;
use warnings;
use Term::ANSIColor;
-sub main {
+sub main
+{
my $argc = $#ARGV + 1;
if ($argc < 3) {
print colored("Failed!\n", 'bold red')
diff --git a/src/gitjoe/chowner.pl b/src/gitjoe/chowner.pl
index fa8ca47..203e4ba 100755
--- a/src/gitjoe/chowner.pl
+++ b/src/gitjoe/chowner.pl
@@ -4,7 +4,8 @@ use strict;
use warnings;
use Term::ANSIColor;
-sub main {
+sub main
+{
my $argc = $#ARGV + 1;
if ($argc < 3) {
print colored("Failed!\n", 'bold red')
@@ -25,7 +26,7 @@ sub main {
print $owner_fh $owner;
close($owner_fh);
substr($repo, -1) = "";
- print "Changed git repository " . colored($repo, 'bold green') . " owner for user " . colored($usr, 'bold') . ".\n"
+ print "Changed git repository " . colored($repo, 'bold green') . colored(" owner", 'bold') . " for user " . colored($usr, 'bold green') . ".\n"
. "New owner: ". colored($owner, 'bold green') . ".\n";
exit;
}
diff --git a/src/gitjoe/chpublic.pl b/src/gitjoe/chpublic.pl
new file mode 100755
index 0000000..e05f024
--- /dev/null
+++ b/src/gitjoe/chpublic.pl
@@ -0,0 +1,43 @@
+#!/usr/local/bin/perl
+
+use strict;
+use warnings;
+use Term::ANSIColor;
+
+sub main
+{
+ my $argc = $#ARGV + 1;
+ if ($argc < 2) {
+ print colored("Failed!\n", 'bold red')
+ . "Missing argument, 2 needed "
+ . colored("[user - reponame]", 'bold')
+ . "\n";
+ exit 1;
+ }
+ my $usr = $ARGV[0];
+ my $repo = $ARGV[1];
+ my $home_dir = '/usr/home/' . $usr . '/';
+ if (substr($repo, -4) ne '.git') {
+ $repo = $repo . '.git';
+ }
+ my $state;
+ if (-e $home_dir . $repo . '/git-daemon-export-ok') {
+ unlink($home_dir . $repo . '/git-daemon-export-ok');
+ $state = 'private';
+ }
+ else {
+ open(my $fh, '>', $home_dir . $repo . '/git-daemon-export-ok');
+ close($fh);
+ $state = 'public';
+ my (undef, undef, $uid, $gid) = getpwnam($usr);
+ chown $uid, $gid, $home_dir . $repo . '/git-daemon-export-ok';
+ }
+ print "Changed git repository " . colored($repo, 'bold green')
+ . " for user " . colored($usr, 'bold green')
+ . colored(' visibility state to ', 'bold') . colored($state, 'bold green') . ".\n";
+ exit;
+}
+
+main();
+
+__END__
diff --git a/src/gitjoe/newrepo.pl b/src/gitjoe/newrepo.pl
index c7bdc6b..109b69e 100755
--- a/src/gitjoe/newrepo.pl
+++ b/src/gitjoe/newrepo.pl
@@ -5,7 +5,8 @@ use warnings;
use Term::ANSIColor;
use File::Find;
-sub main {
+sub main
+{
my $argc = $#ARGV + 1;
if ($argc < 2) {
print colored("Failed!\n", 'bold red')
diff --git a/src/gitjoe/rmrepo.pl b/src/gitjoe/rmrepo.pl
index d56da96..9c82b14 100755
--- a/src/gitjoe/rmrepo.pl
+++ b/src/gitjoe/rmrepo.pl
@@ -4,7 +4,8 @@ use strict;
use warnings;
use Term::ANSIColor;
-sub main {
+sub main
+{
my $argc = $#ARGV + 1;
if ($argc < 2) {
print colored("Failed!\n", 'bold red')
diff --git a/src/gitjoe/rmuser.pl b/src/gitjoe/rmuser.pl
index 2840c65..e88ddfa 100755
--- a/src/gitjoe/rmuser.pl
+++ b/src/gitjoe/rmuser.pl
@@ -8,7 +8,8 @@ use constant {
RMUSER_PATH => '/usr/sbin/rmuser',
};
-sub main {
+sub main
+{
my $argc = $#ARGV + 1;
if ($argc < 1) {
print colored("Failed!\n", 'bold red')
diff --git a/vps-do.pl b/vps-do.pl
index 0c7410a..0053f35 100755
--- a/vps-do.pl
+++ b/vps-do.pl
@@ -21,6 +21,7 @@ sub main {
$ARGV[0] eq 'adduser' ||
$ARGV[0] eq 'chdesc' ||
$ARGV[0] eq 'chowner' ||
+ $ARGV[0] eq 'chpublic' ||
$ARGV[0] eq 'newrepo' ||
$ARGV[0] eq 'rmrepo' ||
$ARGV[0] eq 'rmuser'
@@ -43,6 +44,7 @@ sub main {
. colored("adduser\n", 'bold green')
. colored("chdesc\n", 'bold green')
. colored("chowner\n", 'bold green')
+ . colored("chpublic\n", 'bold green')
. colored("newrepo\n", 'bold green')
. colored("rmrepo\n", 'bold green')
. colored("rmuser\n", 'bold green')