[Mageia-dev] [changelog] [RPM] cauldron core/release coreutils-8.17-2.mga3

Pascal Terjan pterjan at gmail.com
Mon Aug 13 14:17:02 CEST 2012


On Mon, Aug 13, 2012 at 1:00 PM, Olivier Blin <mageia at blino.org> wrote:
> Guillaume Rousse <guillomovitch at gmail.com> 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
>>>> <buildsystem-daemon at mageia.org> 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 at mktemp[== 8.15]@stat[==
> 8.15]@/usr/bin/env@/bin/env at libstdbuf.so()(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 at tetex[< 1.0.7-49]
> @obsoletes at mktemp[< 8.15]@base64
> @requires at 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 at The GNU core utilities: a set of tools commonly used in shell
> scripts
> @filesize at 1803563
> @info at coreutils-8.15-1.mga2.x86_64@0 at 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

Yes rpm uses the list of files to satisfy provides, urpmi does not
when using synthesis as synthesis does not contain the list of files


More information about the Mageia-dev mailing list