From f0cb40d9e4b8d3285ac7125fb40433d65fae172e Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Wed, 8 Jul 2020 16:43:14 +0200 Subject: Directory tree rework --- src/git-ro-daemon.pl | 18 --------- src/gitjoe-addsshkey.pl | 28 -------------- src/gitjoe-chdesc.pl | 36 ------------------ src/gitjoe-chowner.pl | 36 ------------------ src/gitjoe-newrepo.pl | 95 ---------------------------------------------- src/gitjoe-newuser.pl | 77 ------------------------------------- src/gitjoe-rmrepo.pl | 33 ---------------- src/gitjoe-rmuser.pl | 31 --------------- src/gitjoe/addsshkey.pl | 28 ++++++++++++++ src/gitjoe/chdesc.pl | 36 ++++++++++++++++++ src/gitjoe/chowner.pl | 36 ++++++++++++++++++ src/gitjoe/newrepo.pl | 95 ++++++++++++++++++++++++++++++++++++++++++++++ src/gitjoe/newuser.pl | 77 +++++++++++++++++++++++++++++++++++++ src/gitjoe/rmrepo.pl | 33 ++++++++++++++++ src/gitjoe/rmuser.pl | 31 +++++++++++++++ src/other/git-ro-daemon.pl | 18 +++++++++ src/update-gitjoe.pl | 86 ----------------------------------------- src/update-serv.pl | 28 -------------- src/update/gitjoe.pl | 86 +++++++++++++++++++++++++++++++++++++++++ src/update/serv.pl | 28 ++++++++++++++ 20 files changed, 468 insertions(+), 468 deletions(-) delete mode 100755 src/git-ro-daemon.pl delete mode 100755 src/gitjoe-addsshkey.pl delete mode 100755 src/gitjoe-chdesc.pl delete mode 100755 src/gitjoe-chowner.pl delete mode 100755 src/gitjoe-newrepo.pl delete mode 100755 src/gitjoe-newuser.pl delete mode 100755 src/gitjoe-rmrepo.pl delete mode 100755 src/gitjoe-rmuser.pl create mode 100755 src/gitjoe/addsshkey.pl create mode 100755 src/gitjoe/chdesc.pl create mode 100755 src/gitjoe/chowner.pl create mode 100755 src/gitjoe/newrepo.pl create mode 100755 src/gitjoe/newuser.pl create mode 100755 src/gitjoe/rmrepo.pl create mode 100755 src/gitjoe/rmuser.pl create mode 100755 src/other/git-ro-daemon.pl delete mode 100755 src/update-gitjoe.pl delete mode 100755 src/update-serv.pl create mode 100755 src/update/gitjoe.pl create mode 100755 src/update/serv.pl diff --git a/src/git-ro-daemon.pl b/src/git-ro-daemon.pl deleted file mode 100755 index 93c5339..0000000 --- a/src/git-ro-daemon.pl +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; - -sub main { - system( - '/usr/local/bin/dash', - '-c', - '/usr/local/bin/git daemon --reuseaddr --base-path=/usr/home /usr/home &' - ); - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe-addsshkey.pl b/src/gitjoe-addsshkey.pl deleted file mode 100755 index d7e0477..0000000 --- a/src/gitjoe-addsshkey.pl +++ /dev/null @@ -1,28 +0,0 @@ -#!/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 - ssh public key]", 'bold') - . "\n"; - exit 1; - } - my $usr = $ARGV[0]; - my $sshkey = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty "; - $sshkey = $sshkey . $ARGV[1]; - my $home_dir = '/usr/home/' . $usr . '/'; - open(my $fh, '>>:encoding(UTF-8)', $home_dir . '.ssh/authorized_keys'); - print $fh "$sshkey\n"; - close($fh); - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe-chdesc.pl b/src/gitjoe-chdesc.pl deleted file mode 100755 index 9a9a9e5..0000000 --- a/src/gitjoe-chdesc.pl +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; - -sub main { - my $argc = $#ARGV + 1; - if ($argc < 3) { - print colored("Failed!\n", 'bold red') - . "Missing argument, 3 needed " - . colored("[user - reponame - new description]", 'bold') - . "\n"; - exit 1; - } - my $usr = $ARGV[0]; - my $repo = $ARGV[1]; - my $desc = $ARGV[2]; - my $home_dir = '/usr/home/' . $usr . '/'; - if (substr($repo, -4) ne '.git') { - $repo = $repo . '.git'; - } - $repo = $repo . '/'; - open(my $desc_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'description'); - print $desc_fh $desc; - close($desc_fh); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'description' - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe-chowner.pl b/src/gitjoe-chowner.pl deleted file mode 100755 index 436959e..0000000 --- a/src/gitjoe-chowner.pl +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; - -sub main { - my $argc = $#ARGV + 1; - if ($argc < 3) { - print colored("Failed!\n", 'bold red') - . "Missing argument, 3 needed " - . colored("[user - reponame - new owner]", 'bold') - . "\n"; - exit 1; - } - my $usr = $ARGV[0]; - my $repo = $ARGV[1]; - my $owner = $ARGV[2]; - my $home_dir = '/usr/home/' . $usr . '/'; - if (substr($repo, -4) ne '.git') { - $repo = $repo . '.git'; - } - $repo = $repo . '/'; - open(my $owner_fh, '>:encoding(utf-8)', $home_dir . $repo . 'owner'); - print $owner_fh $owner; - close($owner_fh); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'owner' - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe-newrepo.pl b/src/gitjoe-newrepo.pl deleted file mode 100755 index 951b1b5..0000000 --- a/src/gitjoe-newrepo.pl +++ /dev/null @@ -1,95 +0,0 @@ -#!/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, at least 2 needed " - . colored("[user - reponame - (description)]", 'bold') - . "\n"; - exit 1; - } - my $usr = $ARGV[0]; - my $repo = $ARGV[1]; - my $desc = ""; - if ($argc >= 3) { - $desc = $ARGV[2]; - } - my $home_dir = '/usr/home/' . $usr . '/'; - if (substr($repo, -4) ne '.git') { - $repo = $repo . '.git'; - } - $repo = $repo . '/'; - system( - '/usr/local/bin/dash', - '-c', - '/bin/mkdir -v ' . $home_dir . $repo - ); - system( - '/usr/local/bin/dash', - '-c', - '/usr/local/bin/git -C ' . $home_dir . $repo . ' init --bare' - ); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v -R ' . $usr . ':' . $usr . ' ' . $home_dir . $repo - ); - system( - '/usr/local/bin/dash', - '-c', - '/usr/bin/touch ' . $home_dir . $repo . 'git-daemon-export-ok' - ); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'git-daemon-export-ok' - ); - open(my $owner_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'owner'); - print $owner_fh $usr; - close($owner_fh); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'owner' - ); - open(my $url_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'url'); - substr($repo, -1) = ""; - print $url_fh 'git://jozanleclerc.xyz/' . $usr . '/' . $repo; - close($url_fh); - $repo = $repo . '/'; - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'url' - ); - if ($argc >= 3) { - open(my $desc_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'description'); - print $desc_fh $desc; - close($desc_fh); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'description' - ); - } - else { - open(my $desc_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'description'); - print $desc_fh 'No description yet'; - close($desc_fh); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'description' - ); - } - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe-newuser.pl b/src/gitjoe-newuser.pl deleted file mode 100755 index a141277..0000000 --- a/src/gitjoe-newuser.pl +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; - -sub main { - my $argc = $#ARGV + 1; - if ($argc < 3) { - print colored("Failed!\n", 'bold red') - . "Missing argument, 3 needed " - . colored("[user - password - ssh public key]", 'bold') - . "\n"; - exit 1; - } - my $usr = $ARGV[0]; - my $pass = $ARGV[1]; - my $sshkey = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty "; - $sshkey = $sshkey . $ARGV[2]; - my $home_dir = '/usr/home/' . $usr . '/'; - system( - '/usr/local/bin/dash', - '-c', - "adduser << EOF -" . $usr . " - - - - - -git-shell - - - - - -" . $pass . " -" . $pass . " - -yes -no -EOF" - ); - system( - '/usr/local/bin/dash', - '-c', - '/bin/mkdir -v ' . $home_dir . '.ssh/' - ); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . '.ssh/' - ); - system( - '/usr/local/bin/dash', - '-c', - '/bin/chmod -v 700 ' . $home_dir . '.ssh/' - ); - open(my $fh, '>:encoding(UTF-8)', $home_dir . '.ssh/authorized_keys'); - print $fh $sshkey . "\n"; - close($fh); - system( - '/usr/local/bin/dash', - '-c', - '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . '.ssh/authorized_keys' - ); - system( - '/usr/local/bin/dash', - '-c', - '/bin/chmod -v 600 ' . $home_dir . '.ssh/authorized_keys' - ); - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe-rmrepo.pl b/src/gitjoe-rmrepo.pl deleted file mode 100755 index 30ce4d2..0000000 --- a/src/gitjoe-rmrepo.pl +++ /dev/null @@ -1,33 +0,0 @@ -#!/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'; - } - $repo = $repo . '/'; - system( - '/usr/local/bin/dash', - '-c', - '/bin/rm -rfv ' . $home_dir . $repo - ); - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe-rmuser.pl b/src/gitjoe-rmuser.pl deleted file mode 100755 index 944745f..0000000 --- a/src/gitjoe-rmuser.pl +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; - -sub main { - my $argc = $#ARGV + 1; - if ($argc < 1) { - print colored("Failed!\n", 'bold red') - . "Missing argument, 1 needed " - . colored("[user]", 'bold') - . "\n"; - exit 1; - } - my $usr = $ARGV[0]; - system( - '/usr/local/bin/dash', - '-c', - "rmuser << EOF -" . $usr . " -y -y -EOF" - ); - exit; -} - -main(); - -__END__ diff --git a/src/gitjoe/addsshkey.pl b/src/gitjoe/addsshkey.pl new file mode 100755 index 0000000..d7e0477 --- /dev/null +++ b/src/gitjoe/addsshkey.pl @@ -0,0 +1,28 @@ +#!/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 - ssh public key]", 'bold') + . "\n"; + exit 1; + } + my $usr = $ARGV[0]; + my $sshkey = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty "; + $sshkey = $sshkey . $ARGV[1]; + my $home_dir = '/usr/home/' . $usr . '/'; + open(my $fh, '>>:encoding(UTF-8)', $home_dir . '.ssh/authorized_keys'); + print $fh "$sshkey\n"; + close($fh); + exit; +} + +main(); + +__END__ diff --git a/src/gitjoe/chdesc.pl b/src/gitjoe/chdesc.pl new file mode 100755 index 0000000..9a9a9e5 --- /dev/null +++ b/src/gitjoe/chdesc.pl @@ -0,0 +1,36 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; + +sub main { + my $argc = $#ARGV + 1; + if ($argc < 3) { + print colored("Failed!\n", 'bold red') + . "Missing argument, 3 needed " + . colored("[user - reponame - new description]", 'bold') + . "\n"; + exit 1; + } + my $usr = $ARGV[0]; + my $repo = $ARGV[1]; + my $desc = $ARGV[2]; + my $home_dir = '/usr/home/' . $usr . '/'; + if (substr($repo, -4) ne '.git') { + $repo = $repo . '.git'; + } + $repo = $repo . '/'; + open(my $desc_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'description'); + print $desc_fh $desc; + close($desc_fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'description' + exit; +} + +main(); + +__END__ diff --git a/src/gitjoe/chowner.pl b/src/gitjoe/chowner.pl new file mode 100755 index 0000000..436959e --- /dev/null +++ b/src/gitjoe/chowner.pl @@ -0,0 +1,36 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; + +sub main { + my $argc = $#ARGV + 1; + if ($argc < 3) { + print colored("Failed!\n", 'bold red') + . "Missing argument, 3 needed " + . colored("[user - reponame - new owner]", 'bold') + . "\n"; + exit 1; + } + my $usr = $ARGV[0]; + my $repo = $ARGV[1]; + my $owner = $ARGV[2]; + my $home_dir = '/usr/home/' . $usr . '/'; + if (substr($repo, -4) ne '.git') { + $repo = $repo . '.git'; + } + $repo = $repo . '/'; + open(my $owner_fh, '>:encoding(utf-8)', $home_dir . $repo . 'owner'); + print $owner_fh $owner; + close($owner_fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'owner' + exit; +} + +main(); + +__END__ diff --git a/src/gitjoe/newrepo.pl b/src/gitjoe/newrepo.pl new file mode 100755 index 0000000..951b1b5 --- /dev/null +++ b/src/gitjoe/newrepo.pl @@ -0,0 +1,95 @@ +#!/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, at least 2 needed " + . colored("[user - reponame - (description)]", 'bold') + . "\n"; + exit 1; + } + my $usr = $ARGV[0]; + my $repo = $ARGV[1]; + my $desc = ""; + if ($argc >= 3) { + $desc = $ARGV[2]; + } + my $home_dir = '/usr/home/' . $usr . '/'; + if (substr($repo, -4) ne '.git') { + $repo = $repo . '.git'; + } + $repo = $repo . '/'; + system( + '/usr/local/bin/dash', + '-c', + '/bin/mkdir -v ' . $home_dir . $repo + ); + system( + '/usr/local/bin/dash', + '-c', + '/usr/local/bin/git -C ' . $home_dir . $repo . ' init --bare' + ); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v -R ' . $usr . ':' . $usr . ' ' . $home_dir . $repo + ); + system( + '/usr/local/bin/dash', + '-c', + '/usr/bin/touch ' . $home_dir . $repo . 'git-daemon-export-ok' + ); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'git-daemon-export-ok' + ); + open(my $owner_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'owner'); + print $owner_fh $usr; + close($owner_fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'owner' + ); + open(my $url_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'url'); + substr($repo, -1) = ""; + print $url_fh 'git://jozanleclerc.xyz/' . $usr . '/' . $repo; + close($url_fh); + $repo = $repo . '/'; + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'url' + ); + if ($argc >= 3) { + open(my $desc_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'description'); + print $desc_fh $desc; + close($desc_fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'description' + ); + } + else { + open(my $desc_fh, '>:encoding(UTF-8)', $home_dir . $repo . 'description'); + print $desc_fh 'No description yet'; + close($desc_fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'description' + ); + } + exit; +} + +main(); + +__END__ diff --git a/src/gitjoe/newuser.pl b/src/gitjoe/newuser.pl new file mode 100755 index 0000000..a141277 --- /dev/null +++ b/src/gitjoe/newuser.pl @@ -0,0 +1,77 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; + +sub main { + my $argc = $#ARGV + 1; + if ($argc < 3) { + print colored("Failed!\n", 'bold red') + . "Missing argument, 3 needed " + . colored("[user - password - ssh public key]", 'bold') + . "\n"; + exit 1; + } + my $usr = $ARGV[0]; + my $pass = $ARGV[1]; + my $sshkey = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty "; + $sshkey = $sshkey . $ARGV[2]; + my $home_dir = '/usr/home/' . $usr . '/'; + system( + '/usr/local/bin/dash', + '-c', + "adduser << EOF +" . $usr . " + + + + + +git-shell + + + + + +" . $pass . " +" . $pass . " + +yes +no +EOF" + ); + system( + '/usr/local/bin/dash', + '-c', + '/bin/mkdir -v ' . $home_dir . '.ssh/' + ); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . '.ssh/' + ); + system( + '/usr/local/bin/dash', + '-c', + '/bin/chmod -v 700 ' . $home_dir . '.ssh/' + ); + open(my $fh, '>:encoding(UTF-8)', $home_dir . '.ssh/authorized_keys'); + print $fh $sshkey . "\n"; + close($fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . '.ssh/authorized_keys' + ); + system( + '/usr/local/bin/dash', + '-c', + '/bin/chmod -v 600 ' . $home_dir . '.ssh/authorized_keys' + ); + exit; +} + +main(); + +__END__ diff --git a/src/gitjoe/rmrepo.pl b/src/gitjoe/rmrepo.pl new file mode 100755 index 0000000..30ce4d2 --- /dev/null +++ b/src/gitjoe/rmrepo.pl @@ -0,0 +1,33 @@ +#!/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'; + } + $repo = $repo . '/'; + system( + '/usr/local/bin/dash', + '-c', + '/bin/rm -rfv ' . $home_dir . $repo + ); + exit; +} + +main(); + +__END__ diff --git a/src/gitjoe/rmuser.pl b/src/gitjoe/rmuser.pl new file mode 100755 index 0000000..944745f --- /dev/null +++ b/src/gitjoe/rmuser.pl @@ -0,0 +1,31 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; + +sub main { + my $argc = $#ARGV + 1; + if ($argc < 1) { + print colored("Failed!\n", 'bold red') + . "Missing argument, 1 needed " + . colored("[user]", 'bold') + . "\n"; + exit 1; + } + my $usr = $ARGV[0]; + system( + '/usr/local/bin/dash', + '-c', + "rmuser << EOF +" . $usr . " +y +y +EOF" + ); + exit; +} + +main(); + +__END__ diff --git a/src/other/git-ro-daemon.pl b/src/other/git-ro-daemon.pl new file mode 100755 index 0000000..93c5339 --- /dev/null +++ b/src/other/git-ro-daemon.pl @@ -0,0 +1,18 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; + +sub main { + system( + '/usr/local/bin/dash', + '-c', + '/usr/local/bin/git daemon --reuseaddr --base-path=/usr/home /usr/home &' + ); + exit; +} + +main(); + +__END__ diff --git a/src/update-gitjoe.pl b/src/update-gitjoe.pl deleted file mode 100755 index fdf8a80..0000000 --- a/src/update-gitjoe.pl +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; -use File::Copy; - -sub get_repos_index { - my $user = $_[0]; - my $home_dir = '/usr/home/' . $user . '/'; - opendir(DIR, $home_dir); - my @repos; - my $i = 0; - while (my $dir = readdir(DIR)) { - next if ($dir =~ m/^\./); - next if (!(-e $home_dir . $dir . '/git-daemon-export-ok')); - $repos[$i] = $dir; - $i += 1; - } - closedir(DIR); - my @sorted_repos = sort @repos; - return @sorted_repos; -} - -sub stagit_generate { - my ($user, @repos) = @_; - my $site_dir = '/usr/local/www/git-jozan/'; - my $home_dir = '/usr/home/' . $user . '/'; - chdir($site_dir); - system( - '/usr/local/bin/dash', - '-c', - '/bin/rm -rf ' . $user . '/' - ); - mkdir($user, 0755); - my $i = 0; - my $repos_line = ""; - copy('./css/site.css', './' . $user . '/style.css'); - while ($i < @repos) { - chdir($site_dir . $user . '/'); - $repos_line = $repos_line . ' ' . $home_dir . $repos[$i] . '/'; - substr($repos[$i], -4) = ""; - mkdir($repos[$i], 0755); - chdir($site_dir . $user . '/' . $repos[$i] . '/'); - $repos[$i] = $repos[$i] . '.git'; - system( - '/usr/local/bin/dash', - '-c', - '/usr/local/bin/stagit ' . $home_dir . $repos[$i] . '/' - ); - copy('../style.css', './style.css'); - $i += 1; - } - chdir($site_dir . $user . '/'); - system( - '/usr/local/bin/dash', - '-c', - '/usr/local/bin/stagit-index ' . $repos_line . '> index.html' - ); - return; -} - -sub main { - my $home_dir = '/usr/home/'; - my @users; - opendir(DIR, $home_dir); - my $i = 0; - while (my $dir = readdir(DIR)) { - next if ($dir eq 'git-ro'); - next if ($dir =~ m/^\./); - $users[$i] = $dir; - $i += 1; - } - closedir(DIR); - $i = 0; - while ($i < @users) { - my @repos = get_repos_index($users[$i]); - stagit_generate($users[$i], @repos); - $i += 1; - } - exit; -} - -main(); - -__END__ diff --git a/src/update-serv.pl b/src/update-serv.pl deleted file mode 100755 index 77c64ff..0000000 --- a/src/update-serv.pl +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; - -sub main { - system( - '/usr/local/bin/dash', - '-c', - 'git -C /usr/local/www/jozan pull >/dev/null 2>&1' - ); - system( - '/usr/local/bin/dash', - '-c', - 'git -C /usr/local/www/git-jozan pull >/dev/null 2>&1' - ); - system( - '/usr/local/bin/dash', - '-c', - 'git -C /root/scripts pull >/dev/null 2>&1' - ); - exit; -} - -main(); - -__END__ diff --git a/src/update/gitjoe.pl b/src/update/gitjoe.pl new file mode 100755 index 0000000..fdf8a80 --- /dev/null +++ b/src/update/gitjoe.pl @@ -0,0 +1,86 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; +use File::Copy; + +sub get_repos_index { + my $user = $_[0]; + my $home_dir = '/usr/home/' . $user . '/'; + opendir(DIR, $home_dir); + my @repos; + my $i = 0; + while (my $dir = readdir(DIR)) { + next if ($dir =~ m/^\./); + next if (!(-e $home_dir . $dir . '/git-daemon-export-ok')); + $repos[$i] = $dir; + $i += 1; + } + closedir(DIR); + my @sorted_repos = sort @repos; + return @sorted_repos; +} + +sub stagit_generate { + my ($user, @repos) = @_; + my $site_dir = '/usr/local/www/git-jozan/'; + my $home_dir = '/usr/home/' . $user . '/'; + chdir($site_dir); + system( + '/usr/local/bin/dash', + '-c', + '/bin/rm -rf ' . $user . '/' + ); + mkdir($user, 0755); + my $i = 0; + my $repos_line = ""; + copy('./css/site.css', './' . $user . '/style.css'); + while ($i < @repos) { + chdir($site_dir . $user . '/'); + $repos_line = $repos_line . ' ' . $home_dir . $repos[$i] . '/'; + substr($repos[$i], -4) = ""; + mkdir($repos[$i], 0755); + chdir($site_dir . $user . '/' . $repos[$i] . '/'); + $repos[$i] = $repos[$i] . '.git'; + system( + '/usr/local/bin/dash', + '-c', + '/usr/local/bin/stagit ' . $home_dir . $repos[$i] . '/' + ); + copy('../style.css', './style.css'); + $i += 1; + } + chdir($site_dir . $user . '/'); + system( + '/usr/local/bin/dash', + '-c', + '/usr/local/bin/stagit-index ' . $repos_line . '> index.html' + ); + return; +} + +sub main { + my $home_dir = '/usr/home/'; + my @users; + opendir(DIR, $home_dir); + my $i = 0; + while (my $dir = readdir(DIR)) { + next if ($dir eq 'git-ro'); + next if ($dir =~ m/^\./); + $users[$i] = $dir; + $i += 1; + } + closedir(DIR); + $i = 0; + while ($i < @users) { + my @repos = get_repos_index($users[$i]); + stagit_generate($users[$i], @repos); + $i += 1; + } + exit; +} + +main(); + +__END__ diff --git a/src/update/serv.pl b/src/update/serv.pl new file mode 100755 index 0000000..77c64ff --- /dev/null +++ b/src/update/serv.pl @@ -0,0 +1,28 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; + +sub main { + system( + '/usr/local/bin/dash', + '-c', + 'git -C /usr/local/www/jozan pull >/dev/null 2>&1' + ); + system( + '/usr/local/bin/dash', + '-c', + 'git -C /usr/local/www/git-jozan pull >/dev/null 2>&1' + ); + system( + '/usr/local/bin/dash', + '-c', + 'git -C /root/scripts pull >/dev/null 2>&1' + ); + exit; +} + +main(); + +__END__ -- cgit v1.2.3