On Mon, 2012-01-30 at 15:47 -0500, Bill Nottingham wrote: > Martin Langhoff (martin.langhoff@xxxxxxxxx) said: > > On Fri, Jan 27, 2012 at 8:10 AM, Harald Hoyer <harald@xxxxxxxxxx> wrote: > > > Fedora 17 will locate the entire base operating system in /usr. The directories > > > /bin, /sbin, /lib, /lib64 will only be symlinks: > > > /bin → /usr/bin > > > > Interesting! > > > > Do we need to teach rpm / yum about the equivalence, when resolving > > dependencies? > > > > For a trivial example -- if package A depends on /bin/foo, will yum & > > rpm be satisfied with /usr/bin/foo? > > Assuming /bin -> /usr/bin link is packaged, yes. No, not in any meaningful way, although I assume all of the problems have been worked out in the testing done already. Yum just uses text matching. Yum doesn't even know if something is a symlink in the repodata, and I'd assume it would be a massive depsolving expense to resolve those even if we had that data. rpm _kind of_ knows about it, Eg.: % rpm -qf /etc/init.d/httpd httpd-0:2.2.21-1.fc15.x86_64 % rpm -qf /etc/rc.d/init.d/httpd httpd-0:2.2.21-1.fc15.x86_64 % repoquery -qf /etc/init.d/httpd % repoquery -qf /etc/rc.d/init.d/httpd httpd-0:2.2.17-10.fc15.1.x86_64 httpd-0:2.2.21-1.fc15.x86_64 ...but I assume rpm uses realpath() to "cheat" because if you create two packages where one provides "/etc/rc.d/init.d/sym2" and the other requires "/etc/init.d/sym2" ... rpm _doesn't_ let you install them, like yum. But you can add: Provides: /bin/foo ...to your packages, and you can pretend they are installed into /bin (keeping compat. with everything) ... at which point rpm/yum won't care that the /bin => /usr/bin symlink has actually moved where they are installed from build time (but note that Requires: /usr/bin/foo won't work, in the later case). -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel