Re: [LTP] [PATCH]mktemp command in runltp version issue

lina.zhao
2010-09-13T08:04:41Z

[-- Attachment #1: Type: text/plain, Size: 2381 bytes --]

mnt_pnt=`mktemp -d $TMP/mnt_pnt.XXXXXX` works well.

please check the patch.

> On Thu, Sep 9, 2010 at 1:08 AM, lina.zhao <lina.zhao@windriver.com> wrote:
>
>> but $TMPDIR may not be defined in the environment, so we need --tmpdir / -p
>> to specify the directory
>>
>
> export TMPDIR=$TMP
>
> Done.
>
>
>> -p is support on most of versions.
>>
>
> The key word you used there is `most'. We need to support all logical
> versions of mktemp, which means that it needs to work for about all of
> them (I don't care about package versions from back in the kernel
> 2.4.x days too terribly much, and the other earlier versions, i.e.
> 2.2, etc, are a non-issue).
>
>
>> mnt_pnt=`mktemp -d $TMP/mnt_pnt.XXXXXX` doesn't work well
>>
>> lina@lina-desktop:~$ export TMP=/home/lina/tmp/
>> lina@lina-desktop:~$ mktemp -d $TMP/mnt_pnt.XXXXXX
>> /home/lina/tmp//mnt_pnt.i12144
>> lina@lina-desktop:~$ mktemp -d -p $TMP mnt_pnt.XXXXXX
>> /home/lina/tmp/mnt_pnt.Q12146
>>
>> if $TMP include / in end, then there will be 2 // for the temp file
>>
>
> So... what's the issue if there are 2 or more slashes? FWIW that issue
> is extremely easy to work around anyhow...
>
> TMP=`dirname $TMP/GARBAGE`
>
> (GARBAGE is required so that it maintains the desired contents in $TMP)
>
>
>>> On Sep 8, 2010, at 11:22 PM, lina.zhao wrote:
>>>
>>>
>>>> Hi,
>>>>
>>>> In runltp:
>>>>
>>>> if [ -n "$DEVICE" ]; then
>>>> mnt_pnt=`mktemp -d --tmpdir=${TMP} mnt_pnt.XXXXXX`
>>>>
>>>> --tmpdir is a invalid option for mktemp version 1.5, which is used
>>>> widely. The valid option to specify a directory for version 1.5 is
>>>> -p directory.
>>>>
>>> Or just remove --tmpdir=<blah> altogether? If $TMPDIR is defined in the
>>> environment, then it is the fallback if --tmpdir / -p isn't specified
>>> (please see the manpage for more details)... OR... just do:
>>>
>>> mnt_pnt=`mktemp -d $TMP/mnt_pnt.XXXXXX`
>>>
>>> The same change will probably need to be applied to the runltp lite
>>> script.
>>>
>
> Simple universal solutions are what I seek :). See if either of the
> two suggestions I provided above meets your approval (and FWIW if we
> change TMP to TMPDIR, stuff might start working a lot better in LTP
> because TMPDIR is the standard variable used for mktemp, not $TMP, etc
> that we define in the environment).
>
> Cheers,
> -Garrett
>
>

[-- Attachment #2: 0001-mktemp-version-issue-in-runltp.patch --]
[-- Type: text/x-diff, Size: 843 bytes --]

From 08de712ef1ada48353c2c0b782e2089a3fdb7263 Mon Sep 17 00:00:00 2001
From: Lina Zhao <lina.zhao@windriver.com>
Date: Mon, 13 Sep 2010 15:59:55 +0800
Subject: [PATCH] mktemp version issue in runltp

--tmpdir is a invalid option for mktemp version 1.5, which is used
widely. mktemp with no special directory argument works well.

Signed-off-by: Lina Zhao < lina.zhao@windriver.com >
---
runltp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/runltp b/runltp
index b385984..04c16af 100755
--- a/runltp
+++ b/runltp
@@ -716,7 +716,7 @@ main()
fi

if [ -n "$DEVICE" ]; then
- mnt_pnt=`mktemp -d --tmpdir=${TMP} mnt_pnt.XXXXXX`
+ mnt_pnt=`mktemp -d $TMP/mnt_pnt.XXXXXX`
if [ -n "$DEVICE_FS_TYPE" ]; then
mount -t $DEVICE_FS_TYPE $DEVICE $mnt_pnt
else
--
1.6.3.1

[-- Attachment #3: Type: text/plain, Size: 276 bytes --]

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev

[-- Attachment #4: Type: text/plain, Size: 155 bytes --]