From 5855d12d75740b52ee1c00c84a3db8b70b52e87c Mon Sep 17 00:00:00 2001 From: mudler Date: Tue, 17 May 2016 19:15:00 +0200 Subject: [PATCH] [builder] allow to pass to remote overlay the name and the sync-type --- builder | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/builder b/builder index 12cc8e1..637764f 100755 --- a/builder +++ b/builder @@ -83,14 +83,23 @@ sub append_to_file { sub add_portage_repository { my $repo = $_[0]; - my $sync_type = ( split( /\:/, $repo ) )[0]; - $sync_type = "git" - if $repo =~ /github|bitbucket/ - or $sync_type eq "https" - or $sync_type eq "http"; - $sync_type = "svn" if $repo =~ /\/svn\//; - my $reponame = ( split( /\//, $repo ) )[-1]; - $reponame =~ s/\.|//g; + my $reponame; + my $sync_type; + my @repodef = split( /\|/, $repo ); + ( $reponame, $repo ) = @repodef if ( @repodef == 2 ); + ( $reponame, $sync_type, $repo ) = @repodef if ( @repodef == 3 ); + + # try to detect sync-type + if ( !$sync_type ) { + $sync_type = ( split( /\:/, $repo ) )[0]; + $sync_type = "git" + if $repo =~ /github|bitbucket/ + or $sync_type eq "https" + or $sync_type eq "http"; + $sync_type = "svn" if $repo =~ /\/svn\//; + } + $reponame = ( split( /\//, $repo ) )[-1] if !$reponame; + $reponame =~ s/\.|//g; #clean system("mkdir -p /etc/portage/repos.conf/") if ( !-d "/etc/portage/repos.conf/" ); @@ -101,7 +110,7 @@ location = /usr/local/overlay/$reponame sync-type = $sync_type sync-uri = $repo auto-sync = yes' > /etc/portage/repos.conf/$reponame.conf -}; # Declaring the repo and giving priority +}; # Declaring the repo and giving priority system("emaint sync -r $reponame"); }