depcheck appears to be broken

Orion Poplawski orion at cora.nwra.com
Thu Aug 27 01:05:35 UTC 2015


On 08/26/2015 05:04 PM, Tim Flink wrote:
> On Wed, 26 Aug 2015 14:34:14 -0600
> Orion Poplawski <orion at cora.nwra.com> wrote:
>
>> https://bodhi.fedoraproject.org/updates/libwps-0.4.1-1.fc21
>>
>> 		depcheck	libwps-0.4.1-1.fc21(x86_64)	a
>> day ago
>>
>> shows passed:
>>
>> TAP version 13
>> 1..1
>> ok - depcheck for Koji build libwps-0.4.1-1.fc21
>>    ---
>>    arch: x86_64
>>    item: libwps-0.4.1-1.fc21
>>    outcome: PASSED
>>    type: koji_build
>>    ...
>>
>> But:
>>
>> Error: Package: 1:libreoffice-calc-4.3.7.2-9.fc21.x86_64
>> (@updates-testing) Requires: libwps-0.3.so.3()(64bit)
>>             Removing: libwps-0.3.1-1.fc21.x86_64
>> (@fedora-21-updates-x86_64) libwps-0.3.so.3()(64bit)
>>             Updated By: libwps-0.4.1-1.fc21.x86_64 (updates-testing)
>>                ~libwps-0.4.so.4()(64bit)
>>             Available: libwps-0.3.0-3.fc21.x86_64 (fedora)
>>                 libwps-0.3.so.3()(64bit)
>>
>
> After looking into this, I'm starting to think this isn't a depcheck
> failure as much as it is a difference between yum and dnf - I assume
> that you used yum to do the attempted update to libwps-0.4?
>
> On a F21 system, if I do 'repoquery --whatrequires libwps', I get the
> following:
>
> # repoquery --whatrequires libwps
> calligra-words-0:2.8.6-1.fc21.x86_64
> calligra-words-0:2.9.6-1.fc21.x86_64
> libreoffice-calc-1:4.3.2.2-5.fc21.x86_64
> libreoffice-calc-1:4.3.7.2-9.fc21.x86_64
> libreoffice-writer-1:4.3.2.2-5.fc21.x86_64
> libreoffice-writer-1:4.3.7.2-9.fc21.x86_64
> libwps-devel-0:0.3.0-3.fc21.i686
> libwps-devel-0:0.3.0-3.fc21.x86_64
> libwps-devel-0:0.3.1-1.fc21.i686
> libwps-devel-0:0.3.1-1.fc21.x86_64
> libwps-tools-0:0.3.0-3.fc21.x86_64
> libwps-tools-0:0.3.1-1.fc21.x86_64
> writerperfect-0:0.9.2-3.fc21.x86_64
> writerperfect-epub-0:0.9.2-3.fc21.x86_64
>
>
> If I do the same query using dnf on a F22 system, I get:
>
> # dnf repoquery --whatrequires libwps
> Last metadata expiration check performed 1:25:08 ago on Wed Aug 26
> 15:25:25 2015. # echo $?
> 0

I think that is because dnf's repoquery sucks - I believe it is only 
looking for specific requires of "libwps", although I believe this is 
supposed to be fixed in newer versions of dnf.  A more relevant query 
would either be:

dnf repoquery --whatrequires 'libwps-0.3.so.3()(64bit)'

or

dnf repoquery --whatrequires --alldeps libwps

(--alldeps being the default in the old yum based repoquery).

>
>
> depcheck effectively uses the same depsolver that dnf uses and that is
> not the same depsolving algorithm used by yum. If dnf is fine
> installing the update, depcheck isn't going to complain.

dnf as expected cannot update libwps either:

[root at vmf21 ~]# dnf upgrade --enablerepo=updates-testing libwps
Using metadata from Wed Aug 26 18:54:19 2015 (0:05:58 hours old)
Dependencies resolved.
Nothing to do.
Complete!
[root at vmf21 ~]# dnf upgrade --enablerepo=updates-testing libwps --best
Using metadata from Wed Aug 26 18:54:19 2015 (0:06:06 hours old)
Error: package libreoffice-writer-1:4.3.7.2-9.fc21.x86_64 requires 
libwps-0.3.so.3()(64bit), but none of the providers can be installed


> When I look into the specfile of libreoffice in the f21 branch, I don't
> actually see a Requires on libwps for fedora, just a BuildRequires:
>
> http://pkgs.fedoraproject.org/cgit/libreoffice.git/tree/libreoffice.spec?h=f21#n209
>
> If I'm reading the situation correctly, this isn't something that
> depcheck should or could have caught. Assuming that the libreoffice spec
> isn't missing a Requires on libwps, this likely means that libreoffice
> would be FTBFS for at least f21 with the new libwps in updates-testing.

library dependencies are added automatically by rpm.


-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA/CoRA Division                    FAX: 303-415-9702
3380 Mitchell Lane                  orion at cora.nwra.com
Boulder, CO 80301              http://www.cora.nwra.com


More information about the devel mailing list