Author: pebender
Date: Wed May  6 08:31:02 2009
New Revision: 4718

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_DHCP.pm
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/dhcp.pm
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_firmware_wait

Log:
- Added an init state directory (/var/cache/minimyth/init/state) for
   conveying the state of init between running programs.
- Changed init/dhcp.pm and init/conf/MM_DHCP so that the use the init
   state directoy.



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 08:31:02 2009
@@ -19,10 +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.
-    unlink('/etc/conf.d/dhcp.override')                 if  
(-e '/etc/conf.d/dhcp.override');
-    unlink('/etc/conf.d/minimyth')                      if  
(-e '/etc/conf.d/minimyth');
-    File::Path::rmtree('/var/cache/minimyth/init/conf') if  
(-d '/var/cache/minimyth/init/conf');
-    File::Path::rmtree('/var/cache/minimyth/detect')    if  
(-d '/var/cache/minimyth/detect');
+    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 })

      # Read core and dhcp configuration files, which are included  
in '/etc/conf'.
      $minimyth->var_clear();
@@ -148,6 +150,8 @@
      # 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; }
+
      # Enable configuration auto-detection udev rules for everything else.
      if (opendir(DIR, '/lib/udev/rules.d'))
      {
@@ -168,6 +172,8 @@
      $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; }
+
      # Start the DHCP client now that we have created the DHCP override  
variables file.
      $minimyth->package_require(q(init::dhcp));
      if ($minimyth->package_member_require(q(init::dhcp), q(start)))
@@ -183,6 +189,8 @@
          }
      }

+    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();
      $minimyth->var_load({ 'file' => '/etc/minimyth.d/minimyth.conf' });
@@ -590,18 +598,6 @@
      }

      $var->{'complete'} = 1;
-
-    # Create a file with the variable value.
-    {
-        my $var_file = q(/var/cache/minimyth/init/conf/) . $var_name;
-        File::Path::mkpath(File::Basename::dirname("$var_file"), {mode =>  
0755});
-        unlink("$var_file");
-        if (open(FILE, '>', "$var_file"))
-        {
-            print FILE $minimyth->var_get("$var_name");
-            close(FILE);
-        }
-    }

      return $success;
  }

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_DHCP.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_DHCP.pm
        
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_DHCP.pm
        
Wed May  6 08:31:02 2009
@@ -21,8 +21,7 @@
          my $name     = shift;

          my $success = 1;
-        # If the DCHP override file exists, then DHCP should be completely  
configured.
-        if (-e '/etc/conf.d/dhcp.override')
+        if (-e '/var/cache/minimyth/init/state/conf/done-dhcp')
          {
              my $hostname = $minimyth->hostname();
              if (! $hostname)
@@ -45,8 +44,7 @@
          my $name     = shift;

          my $success = 1;
-        # If the DCHP override file exists, then DHCP should be completely  
configured.
-        if (-e '/etc/conf.d/dhcp.override')
+        if (-e '/var/cache/minimyth/init/state/conf/done-dhcp')
          {
              if (! -e '/etc/localtime')
              {
@@ -65,8 +63,7 @@
          my $name     = shift;

          my $success = 1;
-        # If the DCHP override file exists, then DHCP should be completely  
configured.
-        if (-e '/etc/conf.d/dhcp.override')
+        if (-e '/var/cache/minimyth/init/state/conf/done-dhcp')
          {
              my $valid = 0;
              if (open(FILE, '<', '/etc/resolv.conf'))
@@ -95,8 +92,7 @@
          my $name     = shift;

          my $success = 1;
-        # If the DCHP override file exists, then DHCP should be completely  
configured.
-        if (-e '/etc/conf.d/dhcp.override')
+        if (-e '/var/cache/minimyth/init/state/conf/done-dhcp')
          {
              my $valid = 0;
              if (open(FILE, '<', '/etc/ntp.conf'))

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/dhcp.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/dhcp.pm
        
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/dhcp.pm
        
Wed May  6 08:31:02 2009
@@ -8,10 +8,10 @@

  use MiniMyth ();

-# If there is no DHCP override variables file (/etc/conf.d/dhcp.override)  
then
-# this routine will cause the DHCP client to run once and quit. Whereas, if
-# there is a DHCP override variables file, then this routine will cause  
the DHCP
-# client to run continuously.
+# If conf.pm indicates that the DHCP override file is valid (i.e. the file
+# '/var/cache/minimyth/init/state/conf/done_dhcp_override_file'), then this
+# routine will cause the DHCP client to run continuously. Otherwise, this
+# routine will cause the DHCP client to run once and quit.
  sub start
  {
      my $self     = shift;
@@ -75,7 +75,7 @@
          }

          # Decide whether or not to run once.
-        if (! -e '/etc/conf.d/dhcp.override')
+        if (! -e '/var/cache/init/state/conf/done-dhcp_override_file')
          {
              $command = $command . ' ' . qq(-q);
          }

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_firmware_wait
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_firmware_wait
    
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_firmware_wait
    
Wed May  6 08:31:02 2009
@@ -1,6 +1,6 @@
  #!/bin/sh

-if /usr/bin/test ! -e  
/var/cache/minimyth/init/conf/MM_FIRMWARE_FILE_LIST ; then
+if /usr/bin/test ! -e  
/var/cache/minimyth/init/state/conf/done-firmware_fetch ; then
      if /sbin/modprobe --show-depends $MODALIAS | /bin/grep  
-q '/firmware_class.ko' 2> /dev/null ; then
          exit 0
      fi

--~--~---------~--~----~------------~-------~--~----~
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