Author: pebender
Date: Wed May  6 11:39:07 2009
New Revision: 4720

Modified:
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_FIRMWARE.pm

Log:
- Fixed bugs in init/conf.pm introduced by the new init state.



Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
        
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
        
Wed May  6 11:39:07 2009
@@ -19,12 +19,12 @@
      my $dir = Cwd::abs_path(File::Basename::dirname(__FILE__));

      # This is a hack for testing that should never get invoked during  
normal boot.
-    File::Path::rmtree('/var/cache/minimyth/init/state/conf') if  
(-e '/var/cache/minimyth/init/state/conf')
+    File::Path::rmtree('/var/cache/minimyth/init/state/conf') if  
(-e '/var/cache/minimyth/init/state/conf');
      unlink('/etc/conf.d/dhcp.override')                       if  
(-e '/etc/conf.d/dhcp.override');
      unlink('/etc/conf.d/minimyth')                            if  
(-e '/etc/conf.d/minimyth');

      # Create conf state directory.
-    File::Path::mkpath('/var/cache/minimyth/init/state/conf', { mode =>  
0755 })
+    File::Path::mkpath('/var/cache/minimyth/init/state/conf', { mode =>  
0755 });

      # Read core and dhcp configuration files, which are included  
in '/etc/conf'.
      $minimyth->var_clear();
@@ -150,7 +150,14 @@
      # Fetch firmware files.
      $self->_run($minimyth, 'MM_FIRMWARE_FILE_LIST') || ($success = 0);

-     
open(FILE, '>', '/var/cache/minimyth/init/state/conf/done-firmware_fetch'))  
{ close(FILE); } else { $success = 0; }
+    if  
(open(FILE, '>', '/var/cache/minimyth/init/state/conf/done-firmware_fetch'))
+    {
+        close(FILE);
+    }
+    else
+    {
+        $success = 0;
+    }

      # Enable configuration auto-detection udev rules for everything else.
      if (opendir(DIR, '/lib/udev/rules.d'))
@@ -172,7 +179,14 @@
      $self->_run($minimyth, 'MM_DHCP_.*') || ($success = 0);
      $minimyth->var_save({ 'file' => '/etc/conf.d/dhcp.override', 'filter'  
=> 'MM_DHCP_.*' });

-     
open(FILE, '>', '/var/cache/minimyth/init/state/conf/done-dhcp_override_file')) 
 
{ close(FILE); } else { $success = 0; }
+    if  
(open(FILE, '>', '/var/cache/minimyth/init/state/conf/done-dhcp_override_file'))
+    {
+        close(FILE);
+    }
+    else
+    {
+        $success = 0;
+    }

      # Start the DHCP client now that we have created the DHCP override  
variables file.
      $minimyth->package_require(q(init::dhcp));
@@ -189,7 +203,14 @@
          }
      }

-    open(FILE, '>', '/var/cache/minimyth/init/state/conf/done-dhcp')) {  
close(FILE); } else { $success = 0; }
+    if (open(FILE, '>', '/var/cache/minimyth/init/state/conf/done-dhcp'))
+    {
+        close(FILE);
+    }
+    else
+    {
+        $success = 0;
+    }

      $minimyth->message_output('info', "processing configuration file ...");
      $minimyth->var_clear();
@@ -573,6 +594,7 @@
                  my $name_remote = $_->{'name_remote'};
                  my $name_local  = $_->{'name_local'};
                  my $mode_local  = $_->{'mode_local'}  || '0644' ;
+
                  unlink($name_local);
                  my $result = $minimyth->confro_get($name_remote,  
$name_local);
                  if (! -e $name_local)

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_FIRMWARE.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_FIRMWARE.pm
    
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_FIRMWARE.pm
    
Wed May  6 11:39:07 2009
@@ -49,14 +49,19 @@

          my @file = ();

-        foreach (split(/ /, $minimyth->var_get($name)))
+        foreach my $name_remote (split(/ /, $minimyth->var_get($name)))
          {
-            my $item;
-            $item->{'name_remote'} = "$_";
-            $item->{'name_local'}  = '/lib/firmware/' .  
File::Basename::basename($_);
-            $item->{'mode_local'}  = '0644';
+            my $name_local = '/lib/firmware/' .  
File::Basename::basename($name_remote);
+            # Fetch firmware files that are not already present.
+            if (! -e $name_local)
+            {
+                my $item;
+                $item->{'name_remote'} = $name_remote;
+                $item->{'name_local'}  = $name_local;
+                $item->{'mode_local'}  = '0644';

-            push(@file, $item);
+                push(@file, $item);
+            }
          }

          return \...@file;

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"minimyth-commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/minimyth-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to