|
|
@@ -57,6 +57,22 @@ sub safe_call {
|
|
|
|
exit($return) if ($rt);
|
|
|
|
exit($return) if ($rt);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sub append_to_file {
|
|
|
|
|
|
|
|
my ( $file_name, $package ) = @_;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Check that the package was not already there
|
|
|
|
|
|
|
|
open my $fh_ro, '<:encoding(UTF-8)', $file_name or die;
|
|
|
|
|
|
|
|
while ( my $line = <$fh_ro> ) {
|
|
|
|
|
|
|
|
return if $line eq $package . "\n";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
close $fh_ro;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
open( my $fh_a, '>>', $file_name )
|
|
|
|
|
|
|
|
or die "Could not open file '$filename' $!";
|
|
|
|
|
|
|
|
print $fh_a $package . "\n";
|
|
|
|
|
|
|
|
close $fh_a;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Input: package, depth, and atom. Package: sys-fs/foobarfs, Depth: 1 (depth of the package tree) , Atom: 1/0 (enable disable atom output)
|
|
|
|
# Input: package, depth, and atom. Package: sys-fs/foobarfs, Depth: 1 (depth of the package tree) , Atom: 1/0 (enable disable atom output)
|
|
|
|
sub package_deps {
|
|
|
|
sub package_deps {
|
|
|
|
my $package = shift;
|
|
|
|
my $package = shift;
|
|
|
@@ -194,11 +210,14 @@ system("echo 'y' | layman -f -a $_") for @overlays;
|
|
|
|
my $reponame = "LocalOverlay";
|
|
|
|
my $reponame = "LocalOverlay";
|
|
|
|
|
|
|
|
|
|
|
|
# Setting up a local overlay if doesn't exists
|
|
|
|
# Setting up a local overlay if doesn't exists
|
|
|
|
|
|
|
|
system(
|
|
|
|
|
|
|
|
"rm -rf /usr/local/portage;cp -rf /usr/local/local_portage /usr/local/portage"
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
if ( !-f "/usr/local/portage/profiles/repo_name" ) {
|
|
|
|
if ( !-f "/usr/local/portage/profiles/repo_name" ) {
|
|
|
|
system("mkdir -p /usr/local/portage/{metadata,profiles}");
|
|
|
|
system("mkdir -p /usr/local/portage/{metadata,profiles}");
|
|
|
|
system("echo 'LocalOverlay' > /usr/local/portage/profiles/repo_name");
|
|
|
|
system("echo 'LocalOverlay' > /usr/local/portage/profiles/repo_name");
|
|
|
|
system("echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf");
|
|
|
|
system("echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf");
|
|
|
|
system("chown -R portage:portage /usr/local/portage");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
open FILE, "</usr/local/portage/profiles/repo_name";
|
|
|
|
open FILE, "</usr/local/portage/profiles/repo_name";
|
|
|
@@ -207,6 +226,8 @@ else {
|
|
|
|
chomp(@FILE);
|
|
|
|
chomp(@FILE);
|
|
|
|
$reponame = $FILE[0];
|
|
|
|
$reponame = $FILE[0];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
system("chown -R portage:portage /usr/local/portage");
|
|
|
|
|
|
|
|
system("chmod -R 755 /usr/local/portage");
|
|
|
|
|
|
|
|
|
|
|
|
qx{
|
|
|
|
qx{
|
|
|
|
echo '[$reponame]
|
|
|
|
echo '[$reponame]
|
|
|
@@ -267,12 +288,14 @@ if ($use_equo) {
|
|
|
|
|
|
|
|
|
|
|
|
# best effort mask
|
|
|
|
# best effort mask
|
|
|
|
if ($equo_masks) {
|
|
|
|
if ($equo_masks) {
|
|
|
|
system("equo mask $_") for ( split( / /, $equo_masks ) );
|
|
|
|
append_to_file( "/etc/entropy/packages/package.mask", $_ )
|
|
|
|
|
|
|
|
for ( split( / /, $equo_masks ) );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# best effort unmask
|
|
|
|
# best effort unmask
|
|
|
|
if ($equo_unmasks) {
|
|
|
|
if ($equo_unmasks) {
|
|
|
|
system("equo unmask $_") for ( split( / /, $equo_unmasks ) );
|
|
|
|
append_to_file( "/etc/entropy/packages/package.unmask", $_ )
|
|
|
|
|
|
|
|
for ( split( / /, $equo_unmasks ) );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
my @packages_deps;
|
|
|
|
my @packages_deps;
|
|
|
|