On Fri, Feb 21, 2003 at 07:50:44PM +0100, Ralf S. Engelschall wrote:
>On Fri, Feb 21, 2003, Bill Campbell wrote:
>
>> I've encountered a problem with the openpkg/shtool script when running the
>> mysql daily program, openpkg-20030203-20030203. Around line 1816,
>> ``optionally take logfile size into account'', it's using what seems to me
>> to be a fairly comples combination of ``set, ls, and sed'' to compute the
>> file size which actually is returning the user or group name on a SuSE 8.1
>> Linux system.
>>
>> It seems to me that this would be much simpler using something like this:
>> size=`ls -l $ldir/$file | awk '{printf "%d\n", $5}'`
>>
>> I'm attaching a diff for shtool that does this.
>
>Be careful. The reason for the current "complex" combination of set, ls
>and sed is to take the "last - 4"th argument while are taking just the
>5th argument from the front. Unfortunately the "ls -l" output contains
>+1/-1 number of columns in front of the size column. For instance, as
>far as I can remember most Unix platforms output user and group fields,
>some other strange ones just the user column. So your change might break
>other platforms. Can you provide me the output of..
>
>$ ls -l <prefix>/var/mysql/mysqld.err
>$ ls -l <prefix>/var/mysql/common.log
>$ ls -l <prefix>/var/mysql/update.log
>
>...on your SuSE platform? There seem to be some additional columns
>at the end, I think.
Here's the output for mysqld.err on my development machine. The date part
looks different than most I've seen.
-rw-r--r-- 1 csoftdev csoftdev 0 2003-02-21 09:37 /csoft/var/mysql/mysqld.err
Assuming perl's available on the machines (not necessarily valid,
but certainly it is on any we work on);
size=`perl -e "printf (qq(%d\n), -s qq($ldir/$file));"`
Another awk'ish way to do this might be:
size=`ls -l $ldir/$file | awk '{printf ("%s\n", $5 ~ /^[0-9]$/ ? $5 : $4)}'`
>> The patch also includes ``id'' calls to fix problems that occur when
>> running on a Linux system using nss_ldap and nss_ldap where the openpkg
>> users aren't in the /etc/{passwd,group} files or found with ypcat.
>
>This part of your patch is fine and reasonable. I'll include this for
>the forthcoming GNU shtool 2.0.0.
Sounds good to me.
Bill
--
INTERNET: [EMAIL PROTECTED] Bill Campbell; Celestial Software LLC
UUCP: camco!bill PO Box 820; 6641 E. Mercer Way
FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676
URL: http://www.celestial.com/
``Rights'' is a fictional abstraction. No one has ``Rights'', neither
machines nor flesh-and-blood. Persons... have opportunities, not rights,
which they use or do not use.
-- Lazarus Long
______________________________________________________________________
The OpenPKG Project www.openpkg.org
Developer Communication List [EMAIL PROTECTED]