Author: pebender
Date: Sat Sep  6 16:18:27 2008
New Revision: 3715

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

Log:
- Modified perl based lirc init script so that it can enable wakeup when  
the LIRC device is a symbolic link.
     - This does not work when using the sh based init scripts.



Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/lirc.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/lirc.pm
   
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/lirc.pm
   
Sat Sep  6 16:18:27 2008
@@ -9,13 +9,14 @@
  use strict;
  use warnings;

+require Cwd;
  require File::Copy;
  require MiniMyth;

  sub _remote_wakeup_enable
  {
-    my $self        = shift;
-    my $device_list = shift;
+    my $self   = shift;
+    my $device = shift;

      if ((! -r '/sys/class/lirc') ||
          (! opendir(DIR, '/sys/class/lirc')))
@@ -42,7 +43,7 @@
              }
              close(FILE);
          }
-        if (! grep(/^$name,.*$/, @{$device_list}))
+        if ($name ne $device)
          {
              next;
          }
@@ -244,7 +245,7 @@
      mkdir('/var/lock', 0755);
      mkdir('/var/run', 0755);

-    # Start an LIRC daemon for each device.
+    # Enable wakeup and start an LIRC daemon for each device.
      my $index = 0;
      foreach my $device_item (@device_list)
      {
@@ -252,6 +253,9 @@
          my $device = $device_args[0];
          my $driver = $device_args[1];

+        # Convert device to the actual device rather than the symbolic  
link.
+        $device = Cwd::abs_path($device);
+
          # Convert driver to the the lirc daemon appropriate driver.
          if (($driver) && (open(FILE, '-|', '/usr/sbin/lircd --driver=help  
2>&1')))
          {
@@ -268,6 +272,12 @@
              $driver = $driver_actual;
          }

+        # Enable wakeup on remote.
+        if ($minimyth->var_get('MM_LIRC_WAKEUP_ENABLED') eq 'yes')
+        {
+            $self->_remote_wakeup_enable($device);
+        }
+
          # Start daemon.
          my $daemon = '';
          my $instance = $device;
@@ -348,12 +358,6 @@
      if ($irexec_enabled eq 'yes')
      {
          system(qq(/usr/bin/irexec -d /etc/lircrc));
-    }
-
-    # Enable wakeup on remote.
-    if ($minimyth->var_get('MM_LIRC_WAKEUP_ENABLED') eq 'yes')
-    {
-        $self->_remote_wakeup_enable([EMAIL PROTECTED]);
      }

      return 1;

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