Author: pebender
Date: Mon Sep 1 15:50:30 2008
New Revision: 3690
Modified:
trunk/gar-minimyth/script/meta/minimyth/Makefile
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/acpi.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/backend.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/conf/MM_DHCP.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/console.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cpu.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cron.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/dhcp.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/g15daemon.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/irtrans.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/lcdproc.pm
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/log.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/loopback.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/master.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/mythtv.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/ssh_server.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/telnet.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/time.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/video.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/web.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/wiimote.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/x.pm
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/rc
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/srv/www/cgi-bin/mm_webpage.pm
trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums
trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm
Log:
- Changed perl scripts so that they do not use qx.
- Added MiniMyth methods 'application_path', 'application_running'
and 'application_stop'.
- Replaced calls to which, pidof and killall with these methods.
- Replaced calls to date with Date::Manip::UnixDate.
- Added MiniMyth method 'hostname'.
- Replaced calls to Sys::Hostname::hostname with MiniMyth
method 'hostname'.
- Added redirection of stdout and stderr to either /dev/null or
/var/log/minimyth.log
depending on MM_DEBUG, when using perl init scripts.
Modified: trunk/gar-minimyth/script/meta/minimyth/Makefile
==============================================================================
--- trunk/gar-minimyth/script/meta/minimyth/Makefile (original)
+++ trunk/gar-minimyth/script/meta/minimyth/Makefile Mon Sep 1 15:50:30
2008
@@ -48,6 +48,7 @@
net/openssh \
utils/pciutils \
perl/perl \
+ perl/perl-Date-Manip \
perl/perl-MiniMyth \
utils/pmount \
net/portmap \
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/acpi.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/acpi.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/acpi.pm
Mon Sep 1 15:50:30 2008
@@ -49,11 +49,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof acpid))
- {
- $minimyth->message_output('info', "stopping ACPI ...");
- system(qq(/usr/bin/killall acpid));
- }
+ $minimyth->application_stop('acpid', "stopping ACPI ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/backend.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/backend.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/backend.pm
Mon Sep 1 15:50:30 2008
@@ -36,12 +36,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof mythbackend))
- {
- $minimyth->message_output('info', "stopping MythTV backend ...");
-
- system(qq(/usr/bin/killall mythbackend));
- }
+ $minimyth->application_stop('mythbackend', "stopping MythTV
backend ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/conf/MM_DHCP.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/conf/MM_DHCP.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/conf/MM_DHCP.pm
Mon Sep 1 15:50:30 2008
@@ -24,7 +24,7 @@
# If the DCHP override file exists, then DHCP should be completely
configured.
if (-e '/etc/conf.d/dhcp.override')
{
- my $hostname = qx(/bin/hostname);
+ my $hostname = $minimyth->hostname();
if (! $hostname)
{
$minimyth->message_output('err', qq(error: 'Host Name'
(or 'MM_DHCP_HOST_NAME') not configured.));
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/console.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/console.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/console.pm
Mon Sep 1 15:50:30 2008
@@ -17,7 +17,7 @@
# Run a virtual console on machines that have security disabled.
if ($minimyth->var_get('MM_SECURITY_ENABLED') eq 'no')
{
- if (! qx(/bin/pidof agetty))
+ if (! $minimyth->application_running('agetty'))
{
$minimyth->message_output('info', "starting virtual
console ...");
system(qq(/sbin/agetty 9600 tty1 &));
@@ -37,11 +37,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof agetty))
- {
- $minimyth->message_output('info', "stopping virtual console ...");
- system(qq(/usr/bin/killall agetty));
- }
+ $minimyth->application_stop('agetty', "stopping virtual console ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cpu.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cpu.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cpu.pm
Mon Sep 1 15:50:30 2008
@@ -136,10 +136,7 @@
$minimyth->message_output('info', "stopping CPU frequency
scaling ...");
- if (qx(/bin/pidof powernowd))
- {
- system(qq(/usr/bin/killall powernowd));
- }
+ $minimyth->application_stop('powernowd');
if ((-d '/sys/devices/system/cpu') &&
(opendir(DIR, '/sys/devices/system/cpu')))
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cron.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cron.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/cron.pm
Mon Sep 1 15:50:30 2008
@@ -18,7 +18,7 @@
# If crond is not running and there is at least one file in the
crontabs
# directory, then start crond.
- if (! qx(/bin/pidof crond))
+ if (! $minimyth->application_running('crond'))
{
if ((-d '/var/spool/cron/crontabs') &&
(opendir(DIR, '/var/spool/chron/crontabs')))
@@ -40,11 +40,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof crond))
- {
- $minimyth->message_output('info', "stopping cron ...");
- system(qq(/usr/bin/killall crond));
- }
+ $minimyth->application_stop('crond', "stopping cron ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/dhcp.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/dhcp.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/dhcp.pm
Mon Sep 1 15:50:30 2008
@@ -21,7 +21,7 @@
$self->stop($minimyth);
# Start 'udhcpc'.
- if (! qx(/bin/pidof udhcpc))
+ if (! $minimyth->application_running('udhcpc'))
{
$minimyth->message_output('info', "starting DHCP client ...");
@@ -106,14 +106,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof udhcpc))
- {
- $minimyth->message_output('info', "stopping DHCP client ...");
- while (qx(/bin/pidof udhcpc))
- {
- system(qq(/usr/bin/killall udhcpc));
- }
- }
+ $minimyth->application_stop('udhcpc', "stopping DHCP client ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/g15daemon.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/g15daemon.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/g15daemon.pm
Mon Sep 1 15:50:30 2008
@@ -51,7 +51,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof g15daemon))
+ if ($minimyth->application_running('g15daemon'))
{
$minimyth->message_output('info', "stopping G15daemon ...");
system(qq(/usr/sbin/g15daemon -k));
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/irtrans.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/irtrans.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/irtrans.pm
Mon Sep 1 15:50:30 2008
@@ -51,7 +51,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof irserver))
+ if ($minimyth->application_running('irserver'))
{
$minimyth->message_output('info', "stopping IRTrans server ...");
if (-e '/usr/sbin/irclient')
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/lcdproc.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/lcdproc.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/lcdproc.pm
Mon Sep 1 15:50:30 2008
@@ -18,7 +18,7 @@
$minimyth->message_output('info', "starting LCD/VFD ...");
# Only start the LCDd daemon when one is not running already.
- if (! qx(/bin/pidof LCDd))
+ if (! $minimyth->application_running('LCDd'))
{
my $device =
$minimyth->var_get('MM_LCDPROC_DEVICE');
my $driver =
$minimyth->var_get('MM_LCDPROC_DRIVER');
@@ -71,7 +71,7 @@
}
# Enable LCD in MythTV.
- if (qx(/bin/pidof LCDd))
+ if ($minimyth->application_running('LCDd'))
{
$minimyth->mythdb_settings_set('LCDEnable', '1');
}
@@ -88,12 +88,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof LCDd))
- {
- $minimyth->message_output('info', "stopping LCD/VFD display ...");
-
- system(qq(/usr/bin/killall LCDd));
- }
+ $minimyth->application_stop('LCDd', "stopping LCD/VFD display ...");
return 1;
}
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
Mon Sep 1 15:50:30 2008
@@ -32,7 +32,17 @@
foreach my $lirc (@lirc_list)
{
- my $name = '/dev/' . qx(/sbin/udevadm info --query=name
--path=/sys/class/lirc/$lirc);
+ my $name = '';
+ if (open(FILE, '-|', "/sbin/udevadm info --query=name
--path=/sys/class/lirc/$lirc"))
+ {
+ while (<FILE>)
+ {
+ chomp;
+ $name = "/dev/$_";
+ last;
+ }
+ close(FILE);
+ }
if (! grep(/^$name$/, @{$device_list}))
{
next;
@@ -354,19 +364,12 @@
my $self = shift;
my $minimyth = shift;
- if ((qx(/bin/pidof irexec)) || (qx(/bin/pidof lircd)))
+ if (($minimyth->application_running('irexec')) ||
($minimyth->application_running('lircd')))
{
$minimyth->message_output('info', "stopping remote control ...");
- if (qx(/bin/pidof irexec))
- {
- system(qq(/usr/bin/killall irexec));
- }
-
- if (qx(/bin/pidof lircd))
- {
- system(qq(/usr/bin/killall lircd));
- }
+ $minimyth->application_stop('irexec');
+ $minimyth->application_stop('lircd');
}
return 1;
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/log.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/log.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/log.pm
Mon Sep 1 15:50:30 2008
@@ -29,21 +29,15 @@
if (defined($log_server))
{
- if (qx(/bin/pidof klogd))
- {
- system(qq(/usr/bin/killall klogd));
- }
- if (qx(/bin/pidof syslogd))
- {
- system(qq(/usr/bin/killall syslogd));
- }
+ $minimyth->application_stop('klogd');
+ $minimyth->application_stop('syslogd');
system(qq(/sbin/syslogd -R "$log_server"));
}
- if (! qx(/bin/pidof syslogd))
+ if (! $minimyth->application_running('syslogd'))
{
system(qq(/sbin/syslogd));
}
- if (! qx(/bin/pidof klogd))
+ if (! $minimyth->application_running('klogd'))
{
system(qq(/sbin/klogd));
}
@@ -58,14 +52,8 @@
$minimyth->message_output('info', "stopping system logging ...");
- if (qx(/bin/pidof klogd))
- {
- system(qq(/usr/bin/killall klogd));
- }
- if (qx(/bin/pidof syslogd))
- {
- system(qq(/usr/bin/killall syslogd));
- }
+ $minimyth->application_stop('klogd');
+ $minimyth->application_stop('syslogd');
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/loopback.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/loopback.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/loopback.pm
Mon Sep 1 15:50:30 2008
@@ -33,10 +33,7 @@
$minimyth->message_output('info', "stopping loopback network
interface ...");
# Stop portmap on the local network interface.
- if (qx(/bin/pidof portmap))
- {
- system(qq(/usr/bin/killall portmap));
- }
+ $minimyth->application_stop('portmap');
# Bring down the loopback network interface.
system(qq(/sbin/ifconfig lo 0 down));
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/master.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/master.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/master.pm
Mon Sep 1 15:50:30 2008
@@ -8,7 +8,6 @@
use warnings;
require MiniMyth;
-require Sys::Hostname;
sub start
{
@@ -18,7 +17,7 @@
$minimyth->message_output('info', "configuring MythTV master backend
communication ...");
# Determine hostname.
- my $hostname = Sys::Hostname::hostname();
+ my $hostname = $minimyth->hostname();
# Determine broadcast address.
my $master_wol_broadcast = undef;
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/mythtv.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/mythtv.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/mythtv.pm
Mon Sep 1 15:50:30 2008
@@ -13,7 +13,6 @@
require File::Basename;
require File::Path;
require MiniMyth;
-require Sys::Hostname;
sub start
{
@@ -96,8 +95,8 @@
my $dvd_rip_mountpoint =
$minimyth->var_get('MM_MEDIA_DVD_RIP_MOUNTPOINT');
if (($dvd_rip_url) && ($dvd_rip_mountpoint))
{
- my $mtd = qx(/usr/bin/which mtd);
- my $transcode = qx(/usr/bin/which transcode);
+ my $mtd = $minimyth->application_path('mtd');
+ my $transcode = $minimyth->application_path('transcode');
if ($mtd)
{
$minimyth->message_output('err', "error: 'mtd' not found.");
@@ -262,7 +261,7 @@
}
if ($found == 0)
{
- my $hostname = Sys::Hostname::hostname();
+ my $hostname = $minimyth->hostname();
$minimyth->message_log('warn',
"warning: certain DVDs may not play.
see <http://$hostname/minimyth/document-faq.html#dvd>");
}
@@ -276,10 +275,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof mtd))
- {
- system(qq(/usr/bin/killall mtd));
- }
+ $minimyth->application_stop('mtd');
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/ssh_server.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/ssh_server.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/ssh_server.pm
Mon Sep 1 15:50:30 2008
@@ -47,7 +47,7 @@
if ($minimyth->var_get('MM_SSH_SERVER_ENABLED') eq 'yes')
{
- if (qx(/bin/pidof sshd))
+ if (! $minimyth->application_running('sshd'))
{
$minimyth->message_output('info', "starting ssh server ...");
mkdir('/var/empty', 0755);
@@ -63,11 +63,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof sshd))
- {
- $minimyth->message_output('info', "stopping ssh server ...");
- system(qq(/usr/bin/killall sshd));
- }
+ $minimyth->application_stop('sshd', "stopping ssh server ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/telnet.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/telnet.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/telnet.pm
Mon Sep 1 15:50:30 2008
@@ -17,7 +17,7 @@
# Run telnet server on machines that have security disabled.
if ($minimyth->var_get('MM_SECURITY_ENABLED') eq 'no')
{
- if (! qx(/bin/pidof telnetd))
+ if (! $minimyth->application_running('telnetd'))
{
$minimyth->message_output('info', "starting telnet
server ...");
system(qq(/usr/sbin/telnetd));
@@ -37,11 +37,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof telnetd))
- {
- $minimyth->message_output('info', "stopping telnet server ...");
- system(qq(/usr/bin/killall telnetd));
- }
+ $minimyth->application_stop('telnetd', "stopping telnet server ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/time.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/time.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/time.pm
Mon Sep 1 15:50:30 2008
@@ -52,10 +52,10 @@
my $minimyth = shift;
$minimyth->message_output('info', "saving time ...");
-
- if (qx(/bin/pidof ntpd))
+
+ if ($minimyth->application_running('ntpd'))
{
- system(qq(/usr/bin/killall ntpd));
+ $minimyth->application_stop('ntpd');
system(qq(/sbin/hwclock -w -u));
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/video.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/video.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/video.pm
Mon Sep 1 15:50:30 2008
@@ -11,7 +11,6 @@
use feature "switch";
require MiniMyth;
-require Sys::Hostname;
sub start
{
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/web.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/web.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/web.pm
Mon Sep 1 15:50:30 2008
@@ -43,12 +43,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof webfsd))
- {
- $minimyth->message_output('info', "stopping web server ...");
-
- system(qq(/usr/bin/killall webfsd));
- }
+ $minimyth->application_stop('webfsd', "stopping web server ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/wiimote.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/wiimote.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/wiimote.pm
Mon Sep 1 15:50:30 2008
@@ -56,7 +56,7 @@
$minimyth->message_output('info', "starting wminput ...");
# wminput is already running, so return.
- if (qx(/bin/pidof wminput))
+ if ($minimyth->application_running('wminput'))
{
return 1;
}
@@ -174,12 +174,7 @@
my $self = shift;
my $minimyth = shift;
- if (qx(/bin/pidof wminput))
- {
- $minimyth->message_output('info', "stopping wminput ...");
-
- system(qq(/usr/bin/killall wminput));
- }
+ $minimyth->application_stop('wminput', "stopping wminput ...");
return 1;
}
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/x.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/x.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/init/x.pm
Mon Sep 1 15:50:30 2008
@@ -314,10 +314,7 @@
my $minimyth = shift;
$minimyth->message_output('info', "stopping X ...");
- if (qx(/bin/pidof mm_sleep_on_xscreensaver))
- {
- system(qq(/usr/bin/killall mm_sleep_on_xscreensaver));
- }
+ $minimyth->application_stop('mm_sleep_on_xscreensaver');
$minimyth->x_stop();
return 1;
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/rc
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/rc
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.perl/rc
Mon Sep 1 15:50:30 2008
@@ -9,6 +9,7 @@
require Cwd;
require File::Basename;
+require File::Spec;
require MiniMyth;
my @script_list_start =
@@ -90,6 +91,33 @@
my $minimyth = new MiniMyth;
$minimyth->var_load();
+
+ # Redirect stderr and stdout to either /dev/null or
/var/log/minimyth.log,
+ # depending on the value of MM_DEBUG.
+ my $log_file = File::Spec->devnull;
+ if ((defined($minimyth->var_get('MM_DEBUG'))) &&
($minimyth->var_get('MM_DEBUG') eq 'yes'))
+ {
+ $log_file = '/var/log/minimyth.log';
+ if (! -e $log_file)
+ {
+ my $log_dir = File::Basename::dirname($log_file);
+ if (! -e $log_dir)
+ {
+ File::Path::mkpath($log_dir);
+ }
+ if (-w $log_dir)
+ {
+ open(FILE, '>', $log_file);
+ chmod(0666, $log_file);
+ close(FILE);
+ }
+ }
+ }
+ open(STDERR, '>', 'STDOUT');
+ if (-e $log_file)
+ {
+ open(STDOUT, '>>', $log_file);
+ }
my $dir = Cwd::abs_path(File::Basename::dirname(__FILE__));
Modified:
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/srv/www/cgi-bin/mm_webpage.pm
==============================================================================
---
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/srv/www/cgi-bin/mm_webpage.pm
(original)
+++
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/srv/www/cgi-bin/mm_webpage.pm
Mon Sep 1 15:50:30 2008
@@ -5,8 +5,8 @@
use warnings;
use strict;
+require Date::Manip;
require MiniMyth;
-require Sys::Hostname;
sub page
{
@@ -34,8 +34,8 @@
}
}
- my $page_host = Sys::Hostname::hostname();
- my $page_date = qx(/bin/date +'%Y-%m-%d %H:%M:%S %Z'); chomp
$page_date;
+ my $page_host = $minimyth->hostname();
+ my $page_date =
Date::Manip::UnixDate(Date::Manip::ParseDate('now'), '%Y-%m-%d %H:%M:%S %Z');
my $mm_version = $minimyth->var_get('MM_VERSION');
my @page = ();
Modified: trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums
==============================================================================
--- trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums (original)
+++ trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums Mon Sep 1
15:50:30 2008
@@ -1 +1 @@
-fd36756c4be9e97b97bfd7ff2e2fb3d8 download/MiniMyth.pm
+0faa45881dc3b5dae05bd7ecc8d4062a download/MiniMyth.pm
Modified: trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm
==============================================================================
--- trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm
(original)
+++ trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm Mon Sep
1 15:50:30 2008
@@ -43,45 +43,76 @@
#===============================================================================
# general functions.
#===============================================================================
-sub command_run()
+sub application_path()
{
- my $self = shift;
- my $command = shift;
+ my $self = shift;
+ my $application = shift;
- my $return = 1;
+ my $path = '';
+ if (open(FILE, '-|', "/usr/bin/which $application"))
+ {
+ while (<FILE>)
+ {
+ $path = $_;
+ last;
+ }
+ close(FILE);
+ }
- my $log_file = File::Spec->devnull;
- if ($self->var_get('MM_DEBUG') eq 'yes')
+ return $path;
+}
+
+sub application_running()
+{
+ my $self = shift;
+ my $application = shift;
+
+ my $running = 0;
+ if (open(FILE, '-|', "/bin/pidof $application"))
{
- $log_file = '/var/log/minimyth.log';
- if (! -e $log_file)
+ while (<FILE>)
{
- my $log_dir = File::Basename::dirname($log_file);
- if (! -e $log_dir)
- {
- File::Path::mkpath($log_dir);
- }
- if (-w $log_dir)
- {
- open(FILE, '>', $log_file);
- chmod(0666, $log_file);
- close(FILE);
- }
+ $running = 1;
+ last;
}
+ close(FILE);
}
- open(STDERR, '>', 'STDOUT');
- if (-e $log_file)
+ return $running;
+}
+
+sub application_stop()
+{
+ my $self = shift;
+ my $application = shift;
+ my $message = shift;
+
+ my $message_show = ((defined($message)) && ($message ne '')) ? 1 : 0;
+
+ if (open(FILE, '-|', "/bin/pidof $application"))
{
- open(STDOUT, '>>', $log_file);
+ if ($message_show)
+ {
+ $self->message_output('info', $message);
+ $message_show = 0;
+ }
+ while (<FILE>)
+ {
+ system(qq(/bin/kill $_));
+ }
+ close(FILE);
}
- print qq( --- execution start: $command\n);
- system(qq($command)) || ($return = 1);
- print qq( --- execution end: $command\n);
- close(STDOUT);
- close(STDERR);
- return $return;
+ return 1;
+}
+
+sub hostname()
+{
+ my $self = shift;
+
+ my $hostname = Sys::Hostname::hostname();
+
+ return $hostname;
}
#===============================================================================
@@ -383,7 +414,7 @@
my $self = shift;
my $devnull = File::Spec->devnull;
- if ((system(qq(/bin/pidof $var_splash_command_base $devnull 2>&1)) ==
0) && (-e $var_splash_fifo))
+ if (($self->application_running($var_splash_command_base)) && (-e
$var_splash_fifo))
{
return 1;
}
@@ -572,7 +603,7 @@
if ($flag_condition_hostname == 1)
{
- my $hostname = Sys::Hostname::hostname();
+ my $hostname = $self->hostname();
if (! $result) { $result .= ' ' . $prefix . ' '; }
else { $result .= ' ' . $separator . ' '; }
$result = $result . qq(hostname="$hostname");
@@ -859,7 +890,7 @@
my $playlist_name = shift;
my $scope = shift;
- my $hostname = Sys::Hostname::hostname();
+ my $hostname = $self->hostname();
my $query = '';
if ($scope eq 'local')
@@ -997,7 +1028,7 @@
$remote_file =~ s/\/$//g;
$remote_file =~ s/^\///g;
- my $hostname = Sys::Hostname::hostname();
+ my $hostname = $self->hostname();
my $remote_file_0 = undef;
my $remote_file_1 = undef;
@@ -1036,7 +1067,7 @@
$remote_file =~ s/\/$//g;
$remote_file =~ s/^\///g;
- my $hostname = Sys::Hostname::hostname();
+ my $hostname = $self->hostname();
my $remote_file_0 = undef;
if ($hostname)
@@ -1223,7 +1254,7 @@
# $curl->setopt(CURLOPT_WRITEDATA, $OUT_FILE);
# my $retcode = $curl->perform;
# close($OUT_FILE);
- my $retcode = qx(/usr/bin/tftp -g -r $remote_file -l $local_file
$remote_server ; echo $?);
+ my $retcode = system(qq(/usr/bin/tftp -g -r $remote_file -l
$local_file $remote_server));
chmod(0600, $local_file);
if ($retcode == 0)
{
@@ -1274,7 +1305,7 @@
$remote_file =~ s/\/$//g;
$remote_file =~ s/^\///g;
- my $hostname = Sys::Hostname::hostname();
+ my $hostname = $self->hostname();
my $remote_file_0 = undef;
if ($hostname)
@@ -1418,7 +1449,7 @@
# my $retcode = $curl->perform;
# close($IN_FILE);
# close($OUT_FILE);
- my $retcode = qx(/usr/bin/tftp -p -l $local_file -r $remote_file
$remote_server ; echo $?);
+ my $retcode = system(qq(/usr/bin/tftp -p -l $local_file -r
$remote_file $remote_server));
if ($retcode == 0)
{
$result = $url;
@@ -1952,10 +1983,10 @@
my $devnull = File::Spec->devnull;
# Make sure that the program is running.
- if (qx(/bin/pidof $program))
+ if ($self->application_running($program))
{
# Make sure that the X window manager is running, since we depend
on it to select the program window.
- if (qx(/bin/pidof ratpoison))
+ if ($self->application_running('ratpoison'))
{
# Set ratpoison to select window by program name.
system(qq(/usr/bin/ratpoison -d :0.0 -c "set winname class"));
@@ -2062,7 +2093,7 @@
foreach my $application (keys %{$applications})
{
- if (qx(/bin/pidof $application))
+ if ($self->application_running($application))
{
my $xmacro = '';
given ($application)
@@ -2071,7 +2102,7 @@
when (/^mythfrontend$/)
{
# If mythfrontend is running, then return it to the
Main Menu using the Network Control interface.
- if (qx(/bin/pidof mythfrontend))
+ if ($self->application_running('mythfrontend'))
{
for (my $timeout = 10 ; $timeout > 0 ; $timeout--)
{
@@ -2115,7 +2146,7 @@
if ($xmacro)
{
$self->x_xmacroplay($application, $xmacro);
- if (qx(/bin/pidof $application))
+ if ($self->application_running($application))
{
$self->message_output('error', "failed to
exit '$application'.");
}
@@ -2134,11 +2165,14 @@
foreach my $application (keys %{$applications})
{
- my @pids = split(/ +/, qx(/bin/pidof $application));
- foreach (@pids)
+ if (open(FILE, '-|', "/bin/pidof $application"))
{
- my $devnull = File::Spec->devnull;
- system(qq(/bin/kill -SIGTERM $_ > $devnull 2>&1));
+ while (<FILE>)
+ {
+ my $devnull = File::Spec->devnull;
+ system(qq(/bin/kill -SIGTERM $_ > $devnull 2>&1));
+ }
+ close(FILE);
}
}
@@ -2157,7 +2191,7 @@
$dead = 1;
foreach (keys %{$applications})
{
- if (qx(/bin/pidof $_))
+ if ($self->application_running($_))
{
my $dead = 0;
sleep 1;
@@ -2177,8 +2211,18 @@
$self->message_log('info', "starting X");
- # Only root start X.
- my $user = getpwuid(qx(/usr/bin/id -u));
+ # Only user root can start X.
+ my $user = '';
+ if (open(FILE, '-|', '/usr/bin/id -u'))
+ {
+ while (<FILE>)
+ {
+ chomp;
+ $user = getpwuid($_);
+ last;
+ }
+ close(FILE);
+ }
if ($user ne 'root')
{
$self->message_log('info', "X not started because uid=$user is
not 'root'.");
@@ -2193,7 +2237,7 @@
}
# Only start X if X is not already running.
- if (qx(/bin/pidof X))
+ if ($self->application_running('X'))
{
$self->message_log('info', "X not started because X is already
running.");
return 0;
@@ -2201,10 +2245,7 @@
system(qq(/bin/su -c '/usr/bin/nohup /usr/bin/xinit > $devnull 2>&1 &'
- minimyth));
- if (qx(/bin/pidof mm_sleep_on_ss))
- {
- system(qq(/usr/bin/killall mm_sleep_on_ss));
- }
+ $self->application_stop('mm_sleep_on_ss');
if ($self->var_get('MM_X_SCREENSAVER_HACK') eq 'sleep')
{
system(qq(/usr/bin/mm_sleep_on_ss &));
@@ -2224,21 +2265,28 @@
my $log_file = File::Spec->devnull;
- # Only users root and minimyth can stop X.
- my $user = getpwuid(qx(/usr/bin/id -u));
+ # Only user root can stop X.
+ my $user = '';
+ if (open(FILE, '-|', '/usr/bin/id -u'))
+ {
+ while (<FILE>)
+ {
+ chomp;
+ $user = getpwuid($_);
+ last;
+ }
+ close(FILE);
+ }
if ($user ne 'root')
{
$self->message_log('info', "X not stopped because uid=$user is
not 'root'.");
return 0;
}
- if (qx(/bin/pidof mm_sleep_on_ss))
- {
- system(qq(/usr/bin/killall mm_sleep_on_ss));
- }
+ $self->application_stop('mm_sleep_on_ss');
# Only stop X if X is running.
- if (! qx(/bin/pidof X))
+ if (! $self->application_running('X'))
{
$self->message_log('info', "X not stopped because X is not
running.");
return 0;
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---