RE : Failed dependencies on /usr

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

 



 

 

-----Message d'origine-----
De : rpm-list-bounces@xxxxxxxxxx [mailto:rpm-list-bounces@xxxxxxxxxx] De la part de Jeff Johnson
Envoyé : mardi 8 janvier 2008 15:01
À : RPM Package Manager
Objet : Re: Failed dependencies on /usr

 

 

On Jan 8, 2008 8:26 AM, ELASRI Patrice SOFRECOM <patrice.elasri@xxxxxxxxxxxx> wrote:

Hi,

I have built a package located by default under /usr/local.
When I try to install it, I'm returned the following error :

$ rpm -U sof-u-2.1.2-1.noarch.rpm
error: Failed dependencies:
        /usr is needed by sof-u-2.1.2-1.noarch

If I relocate the package, I'm returned the following error, with dependencies on original paths :

$ rpm -U --define "_autorelocate_path %{nil}" --prefix /usr/local/sofrecom sof-u-2.1.2-1.noarch.rpm
error: Failed dependencies:
        /usr is needed by sof-u-2.1.2-1.noarch
        /usr/local is needed by sof-u-2.1.2-1.noarch
        /usr/local/etc is needed by sof-u-2.1.2-1.noarch
        ...

 

In rpm-4.4.7 and later, every file depends on its parent directory.

 

All of the dependency failures you are seeing are parent directories

that aren't packaged.

 

There is a --noparentdirs that disables the dependencies on parent

directories.

 

Another easy persistent fix for your specific problem(s) is

    mkdir -p /etc/rpm/sysinfo

    echo "/usr" >> /etc/rpm/sysinfoDirnames

    echo "/usr/local" >> /etc/rpm/sysinfo/Dirnames

    echo "/usr/local/etc" >> /etc/rpm/sysinfo/Dirnames

    ...

 

Thanks for these information. Is there a document which talks about it ?
I tried the
–noparentdirs option and it works fine.

 

There is also ( in 4.4.7+?, I fergit) a --orphandirs popt alias that will

display all directories that are not packaged:

    rpm -Va --nofiles --orphandirs

that should generate a sort'd uniq'd list of directories that are not packaged.

The _autorelocate_path macro setting is necessary. Otherwise, the package is installed under /emul/noarch-hpux11.23 !!!

I'm using rpm 4.4.7 which I have built on HPUX 11.23 / ia64. The RPM database was initialised with a pseudo package providing usual interpreters ( /bin/sh, /bin/ksh, /bin/perl, … ).

 

Ah ia64 multilib.

 

Expect some problems is all that I can say. The implementation of multilib on ia64

in rpm was done in like 8 hours on a borrowed ia64 developer's box and has never been

properly QA'd to my knowledge.

 

I’m not so aware about the rpm developments ; I’m just an rpm user. What do you means by multilib ?
About the _autorelocate_path macro setting, I noticed that this one is mandatory when the –prefix option is used, what ever the package architecture. Otherwise, the package is installed under /emul/noarch-hpux11.23, or even under /emul/ia64-hpux11.23 for the architecture dependents packages built on ia64.

 

SELinux, in particular, is likely to be extremely weird on a multilib/ia64 box

because of the /emul/noarch-hpux11.23 prefix breaking the lookup of

file contexts from SELinux configuration.

 

I'll be happy to help you sort out any/all multilib/ia64.

 

Likely <rpm-devel@xxxxxxxx> is a better place to report issues, as only the few & the brave are attempting HP-UX multilib/ia64 relocated installs with rpm-4.4.7+.

 

If you are interested on, I can report you what I did for building and installing RPM on HP-UX.

 

73 de Jeff

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux