Subject: | Schedule::At make test on Solaris 2.8 as root |
-----------------
error description
-----------------
make test failed as root. I installed anyway and ran program ok as myself but failed when sudo'd to root.
The essential problem is the 'at -l' command output format is different under root than under other accounts(disregard jobids):
as root:
bash-2.03$ sudo at -l
user = root 1069401600.a Fri Nov 21 00:00:00 2003
user = root 1070524800.a Thu Dec 4 00:00:00 2003
as myself:
bash-2.03$ at -l
1069201102.a Tue Nov 18 16:18:22 2003
1069201108.a Tue Nov 18 16:18:28 2003
program error output
--------------------
Uncaught exception from user code:
Can't open /usr/spool/cron/atjobs/user: No such file or directory
Schedule::At::_readJob('JOBID','user') called at /usr/local/lib/perl5/site_perl/5.8.0/Schedule/At.pm line 167
---------
host info
---------
perl, v5.8.0 built for sun4-solaris-thread-multi
SunOS roll 5.8 Generic_108528-20 sun4u sparc SUNW,UltraSPARC-IIi-cEngine
---
Fix
---
Here's my fix to sub AtCfg_solaris in At.pm:
## $AT{'parseJobList'} = sub { $_[0] =~ /^\s*(\S+)\s+(.*)$/ };
#
# this modified parseJobList allows for differences in root v.
# regular user 'at -l' output
$AT{'parseJobList'} = sub { $_[0] =~ /^.*(\d{10}.a)\s+(.*)$/ };