Guillaume Rousse <[email protected]> writes: > Le 13/08/2012 13:02, Colin Guthrie a écrit : >> 'Twas brillig, and Pascal Terjan at 13/08/12 11:44 did gyre and gimble: >>> On Sun, Jul 22, 2012 at 12:00 AM, Iurt the rebuild bot >>> <[email protected]> wrote: >>>> Name : coreutils Relocations: (not relocatable) >>>> Version : 8.17 Vendor: Mageia.Org >>>> Release : 2.mga3 Build Date: Sat 21 Jul 2012 >>>> 09:49:45 PM CEST
[...] >>>> colin <colin> 8.17-2.mga3: >>>> + Revision: 273158 >>>> - Update for usrmove >>> >>> This broke a few packages requiring /bin/rm or /bin/ln which are no >>> longer provided by coreutils >>> >>> apache-portlet-1.0-api-javadoc (from apache-portlet-1.0-api) >>> esmska-javadoc (from esmska) >>> mx4j >>> regexp-javadoc (from regexp) >>> rt >>> tomcat5-admin-webapps (from tomcat5) >> >> Hmm, indeed. How are these things "Provided" anyway? I mean they are not >> in the list of the --provides, so how is this resolved? Does rpm have a >> special mode for detecting these kind of provides? If so how does it >> resolve it with urpmi? > Unless something changed, files dependencies are resolved at > hdlist-generation time as soon as another package requires them. Yes, using the file-deps file. > For instance, the following line in RT spec file will make genhdlist > map /bin/rm to coreutils in the hdlist.cz: > Requires(postun): /bin/rm IIRC, if a package contains files listed in file-deps, these files are added to its "provides" list by genhdlist. $ zcat /distrib/mageia/distrib/2/x86_64/media/core/release/media_info/synthesis.hdlist.cz | grep -A 6 '^\@provides.*\@/bin/rm' @provides@mktemp[== 8.15]@stat[== 8.15]@/usr/bin/env@/bin/[email protected]()(64bit)@coreutils[== 8.15-1.mga2]@coreutils(x86-64)[== 8.15-1.mga2]@/bin/rm@/bin/ls@/bin/stty@/usr/bin/tr@/bin/ln@/bin/cp @conflicts@tetex[< 1.0.7-49] @obsoletes@mktemp[< 8.15]@base64 @requires@pam[>= 0.66-12]@libacl.so.1()(64bit)@libattr.so.1()(64bit)@libc.so.6()(64bit)@libc.so.6(GLIBC_2.14)(64bit)@libc.so.6(GLIBC_2.2.5)(64bit)@libc.so.6(GLIBC_2.3)(64bit)@libc.so.6(GLIBC_2.3.4)(64bit)@libc.so.6(GLIBC_2.4)(64bit)@libc.so.6(GLIBC_2.6)(64bit)@libc.so.6(GLIBC_2.7)(64bit)@libcap.so.2()(64bit)@libgmp.so.10()(64bit)@libpam.so.0()(64bit)@libpam_misc.so.0()(64bit)@libpthread.so.0()(64bit)@libpthread.so.0(GLIBC_2.2.5)(64bit)@libpthread.so.0(GLIBC_2.3.2)(64bit)@librt.so.1()(64bit)@librt.so.1(GLIBC_2.2.5)(64bit)@librt.so.1(GLIBC_2.3.3)(64bit)@rtld(GNU_HASH) @summary@The GNU core utilities: a set of tools commonly used in shell scripts @filesize@1803563 @[email protected]_64@0@12798923@System/Base > I don't know how this work at rpm level, tough, in order to make 'rpm > -Uvh rt-4.0.6-1.mga3.noarch" work without urpmi support. Probably > checking in the list of files available in the target rpm. rpm is likely using the list of files from its db $ rpm -q --provides coreutils | grep /bin/rm $ rpm -q --whatprovides /bin/rm coreutils-8.17-3.mga3 -- Olivier Blin - blino
