# Copyright (c) 2007..2011 - OpenSLX GmbH # # This program is free software distributed under the GPL version 2. # See http://openslx.org/COPYING # # If you have any feedback please consult http://openslx.org/feedback and # send your suggestions, praise, or complaints to feedback@openslx.org # # General information about OpenSLX can be found at http://openslx.org/ # ----------------------------------------------------------------------------- # eduroam.pm # ----------------------------------------------------------------------------- package OpenSLX::OSPlugin::eduroam; use strict; use warnings; use base qw(OpenSLX::OSPlugin::Base); use File::Path; use OpenSLX::Basics; use OpenSLX::Utils; use OpenSLX::DistroUtils; sub new { my $class = shift; my $self = { name => 'eduroam', }; return bless $self, $class; } sub getInfo { my $self = shift; return { description => unshiftHereDoc(<<' End-of-Here'), Splashscreen for the boot process using eduroam. End-of-Here precedence => 30, }; } sub getAttrInfo { my $self = shift; return { 'eduroam::active' => { applies_to_systems => 1, applies_to_clients => 1, description => unshiftHereDoc(<<' End-of-Here'), should the eduroam-plugin be executed during boot? End-of-Here content_regex => qr{^(0|1)$}, content_descr => '1 means active - 0 means inactive', default => '1', }, }; } sub suggestAdditionalKernelParams { my $self = shift; my $makeInitRamFSEngine = shift; my @suggestedParams; return @suggestedParams; } sub suggestAdditionalKernelModules { my $self = shift; my $makeInitRamFSEngine = shift; my @suggestedModules; return @suggestedModules; } sub installationPhase { my $self = shift; my $info = shift; my $engine = $self->{'os-plugin-engine'}; my @installedPackages = $engine->getInstalledPackages(); my $found = 0; foreach (@installedPackages) { if ($_ eq "libpam-radius-auth") { $found = 1; } } # if not found, install it if ($found == 0) { vlog(0, _tr("Missing package 'libpam-radius-auth', installing...\n")); $engine->installPackages('libpam-radius-auth'); } $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'}; $self->{openslxBasePath} = $info->{'openslx-base-path'}; my $eduroamFilesPath = "$self->{openslxBasePath}/lib/plugins/eduroam/files"; my $pluginRepoPath = "$self->{pluginRepositoryPath}"; copyDir("$eduroamFilesPath", "$pluginRepoPath"); #copyDir("$eduroamFilesPath/lib", "$pluginRepoPath"); #copyDir("$eduroamFilesPath/etc", "$pluginRepoPath"); return; } sub removalPhase { my $self = shift; my $info = shift; return; } sub copyRequiredFilesIntoInitramfs { my $self = shift; my $targetPath = shift; my $attrs = shift; my $makeInitRamFSEngine = shift; return; } 1;