[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: current directory during rpm post install phase



On Fri, 2008-06-20 at 13:15 +0200, Gianluca Cecchi wrote:
> I'm trying to install an rpm that has a post-install action.
> During this phase I notice with ps that a temporary script
> named /var/tmp/rpm-tmp.67318 is created and executed. 
> And its contents are the same as what stored inside the rpm (query
> done with rpm -qp --scripts package.rpm)
> Inside the postinstall script there is a call to another script
> (something.sh).
> In this latest script there is a test such as :
> 
>      if [ -f $file ]; then
>         cp -vf $file /some/dir
>         if [ $? -eq 0 ]; then
>           echo "$file copied sucessfully!!!"
>         fi
>      else
>         .....
>      fi
> 
> I want the script to find the $file so that it skips the "else"
> section.
> 
> $file is a filename without any path or prefix.
> 
> I have no source rpm.
> 
> So the question is: supposed that in /var/tmp/rpm-tmp.67318 and in
> something.sh there isn't any CD command, in which dir would happen the
> check about the presence of $file?

In the rpm process' current directory.

> it seems that if I place the file in the same directory where I run
> the "rpm -ivh package.rpm" command doesn't work...

Very likely rpm changes to a working directory when it starts up. You
could either look at the source of rpm, or run it under 'ltrace' and
look for calls to 'chdir'.

poc


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]