[plug] rpm problems

Paul Dean paul at thecave.cantech.net.au
Wed May 8 09:54:32 WST 2002


Hya Rob,

I don't think it is rpm-4.0.2 but more the intel-mkl_p-5.1-2.i386.rpm
package.

It appears that it must be installed into /local/local/intel maybe
because the is more than one directory path in the package.

Quotes from 'man rpm'

--badreloc
	Used  with  --relocate,  permit  relocations on all
	file paths, not just those  OLDPATH's  included  in
	the binary package relocation hint(s).

--relocate OLDPATH=NEWPATH
	For relocatable binary packages, translate all file
	paths  that start with OLDPATH in the package relo­
	cation hint(s) to NEWPATH.  This option can be used
	repeatedly  if several OLDPATH's in the package are
	to be relocated.

Found this also in "/usr/share/doc/rpm-4.0.4/CHANGES"
fixed in 4.0.2 -> 4.0.3
 - fix: --relocate missing trailing slash (#28874,#25876).

fixed in 4.0 -> 4.0.2
 - fix: don't headerCopy() relocateable packages if not relocating.
On Wed, 8 May 2002, Rob Dunne wrote:

Also do `less /usr/share/doc/rpm-4.0.2/relocatable` some info on
relocation within packages.

To find this out with intel-mkl_p-5.1-2.i386.rpm I suggest this command
`rpm -qpil /path/to/package/intel-mkl_p-5.1-2.i386.rpm` or `less
/path/to/package/intel-mkl_p-5.1-2.i386.rpm`.

This will list all the info and files in the package.
It will tell you if you can relocate the files.

You can just choose any old dir to relocate package files unless you
untar the rpm and rebuild the spec file then rebuild the rpm.

Hope this helps...


> Hi Paul,
>          neither "--badreloc --relocate" nor "--badreloc --prefix"
> seem to help.
> 
> The accompanying install script (whihc just calls rpm) asks for
> a installation directory. This suggests that the package is 
> relocatable. However, when I read the install script more carefully 
> I see that it says
> 
> "RPM 4.0.2 prevents installation into a non-default directory."
> 
> This is the rpm that I am using. I guess the only remaining questionis
> why does rpm  4.0.2 prevent this? is it a bug or a feature?
> 
> Anyway -- I can just install it in /opt/intel and then move it with no
> problems
>  
>                                 thanks and bye
> 				       rob
> 
> anville% sudo rpm -i --badreloc --relocate=/opt/intel=/local/local/intel 
>                                             intel-mkl_p-5.1-2.i386.rpm
> error: can't unlink /local/localintel-RPMDELETE: Is a directory
> error: can't rename /local/localintel to /local/localintel-RPMDELETE: 
>                                            Is a directory
> error: unpacking of archive failed on file /local/localintel: cpio: 
>                                unlink failed - Is a directory
> 
> anville% sudo rpm -i --badreloc --prefix /local/local/intel 
>                                              intel-mkl_p-5.1-2.i386.rpm
> error: can't unlink /local/localintel-RPMDELETE: Is a directory
> error: can't rename /local/localintel to /local/localintel-RPMDELETE: 
>                                              Is a directory
> error: unpacking of archive failed on file /local/localintel: 
>                             cpio: unlink failed - Is a directory
> 
> 
> Paul Dean writes:
>  > Hya,
>  > 
>  > As rpm --help defines;
>  > 
>  >  --prefix=<dir>                   relocate the package to <dir>, if
>  >                                     relocatable
>  >  --relocate=<old>=<new>
>  > 				      relocate files from path <old> to
>  > 				      <new>
>  > 
>  > "prefix" says it will work "IF" it is possible and "relocate" will also
>  > depend on the "IF" fator too. But you may try;
>  > 
>  >  --badreloc[|=0x8]                relocate files in non-relocateable
>  >  package
>  > 
>  > I think this is the switch you are looking for.
>  > 
>  > Hope this helps..
>  > 
>  > 
>  > On Tue, 7 May 2002, Rob Dunne wrote:
>  > 
>  > > Thanks -- moving /usr/share/doc made enough room and it installed.
>  > > 
>  > > Can you see why the --relocate and --prefix options did not work?
>  > > 	
>  > > 						bye
>  > > 						rob
>  > > 
>  > > Paul Dean writes:
>  > >  > Hya,
>  > >  > 
>  > >  > Ok you need 14 mb for the program, but rpm may require alot more than
>  > >  > that, as in "tmp" space to install the package.
>  > >  > 
>  > >  > Maybe `rm /usr/share/doc/*` to give you some space, or try `rpm -ivh
>  > >  > intel-mkl_p-5.1-2.i386.rpm --excludedocs` , this may help too.
>  > >  > 
>  > >  > Hope this helps.
>  > >  > 
>  > >  > 
>  > >  > On Tue, 7 May 2002, Rob Dunne wrote:
>  > >  > 
>  > >  > > Hi pluggers,
>  > >  > >              I'm having a problem with rpm.
>  > >  > > It wont install a package because it needs 14Mb on the / filesystem.
>  > >  > > However there is plenty of room on /
>  > >  > > 
>  > >  > > Also --relocate and --prefix give strange errors. If I want
>  > >  > > a prefix of /home/robd/intel2 it complains that it cant 
>  > >  > > make /home/robdintel2 
>  > >  > > 
>  > >  > > any ideas welcome
>  > >  > > 						bye
>  > >  > > 						rob
>  > >  > > 
>  > >  > >                                         
>  > >  > > 
>  > >  > > 1146 anville% rpm --install intel-mkl_p-5.1-2.i386.rpm
>  > >  > > installing package intel-mkl_p-5.1-2 needs 14Mb on the / filesystem
>  > >  > > 
>  > >  > > 1147 anville% df
>  > >  > > Filesystem           1k-blocks      Used Available Use% Mounted on
>  > >  > > /dev/sda1              2016016   1821628     91976  96% /
>  > >  > > 
>  > >  > > 
>  > >  > > 1154 anville% sudo rpm --install --relocate /opt/intel=/local/local/intel intel-mkl_p-5.1-2.i386.rpm
>  > >  > > error: can't unlink /local/localintel-RPMDELETE: Is a directory
>  > >  > > error: can't rename /local/localintel to /local/localintel-RPMDELETE: Is a directory
>  > >  > > error: unpacking of archive failed on file /local/localintel: cpio: unlink failed - Is a directory
>  > >  > > 
>  > >  > > 
>  > >  > > 1157 anville% sudo rpm --install --prefix /home/robd/intel2 intel-mkl_p-5.1-2.i386.rpm
>  > >  > > error: unpacking of archive failed on file /home/robdintel2: cpio: mkdir failed - Permission denied
>  > >  > > 
>  > >  > > 
>  > >  > 
>  > >  > -- 
>  > >  > Paul...
>  > >  > 
>  > >  > /***** Experience is that marvelous thing that enables you to 
>  > >  > 	recognize a mistake when you make it again. 
>  > >  > 	-- Franklin P. Jones *****/
>  > >  > 
>  > >  > /*****All programmers are playwrights and all computers are lousy actors.
>  > >  >             -- Unknown*****/
>  > >  > 
>  > >  > /* How smart are Computers? They seem to need instructions all the time... 
>  > >  > 	-- Me */
>  > > 
>  > > 
>  > 
>  > -- 
>  > Paul...
>  > 
>  > /***** Experience is that marvelous thing that enables you to 
>  > 	recognize a mistake when you make it again. 
>  > 	-- Franklin P. Jones *****/
>  > 
>  > /*****All programmers are playwrights and all computers are lousy actors.
>  >             -- Unknown*****/
>  > 
>  > /* How smart are Computers? They seem to need instructions all the time... 
>  > 	-- Me */
> 

-- 
Paul...

/***** Experience is that marvelous thing that enables you to 
	recognize a mistake when you make it again. 
	-- Franklin P. Jones *****/

/*****All programmers are playwrights and all computers are lousy actors.
            -- Unknown*****/

/* How smart are Computers? They seem to need instructions all the time... 
	-- Me */



More information about the plug mailing list