pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/42907: REQUIRES/PROVIDES variable in pkg_summary(5) is sometimes set incorrectly
>Number: 42907
>Category: pkg
>Synopsis: Errors in REQUIRES/PROVIDES variables in pkg_summary(5)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Mar 01 19:35:00 +0000 2010
>Originator: Aleksey Cheusov
>Release: NetBSD 5.0_STABLE
>Organization:
>Environment:
System: NetBSD asrock.chizhovka.net 5.0_STABLE NetBSD 5.0_STABLE (GENERIC) #0:
Sat Feb 20 12:33:43 EET 2010
cheusov%asrock.chizhovka.net@localhost:/srv/obj/sys/arch/amd64/compile/GENERIC
amd64
Architecture: x86_64
Machine: amd64
>Description:
pkg_summary(5) describes PROVIDES and REQUIRES variables in the
following way.
PROVIDES
(optional) A list of shared libraries provided by the package,
including major version number, one per line. If missing, this
package does not provide shared libraries.
REQUIRES
(optional) A list of shared libraries needed by the package,
including major version number, one per line. If missing, this
package does not require shared libraries.
If present REQUIRES variable *usually* means that the package requires
the specified library which is provided (listed in PROVIDES) by some
other package or by the base system (e.g. in /lib or /usr/lib).
But there are packages that list a library in REQUIRES not provided by
any other package. Actually the package itself provides it but it is
not listed in PROVIDES.
For example, 'pkg_info -X perl' shows the following
...
REQUIRES=/usr/pkg/lib/perl5/5.10.0/x86_64-netbsd-thread-multi/CORE/libperl.so
This file is provided by perl package itself but it is not listed in
PROVIDES.
Some package management tools may check PROVIDES/REQUIRES consistency
just before installing the package. Therefore the problem described
above may make some packages uninstallable with such tools.
This problem was shortly discussed here
http://mail-index.netbsd.org/tech-pkg/2010/03/01/msg005067.html
>How-To-Repeat:
There are more affected packages than just perl.
Have a look at wip/pkg_summary-utils. There you'll find
pkg_lint_summary utility. With a help of it you can find other examples of
PROVIDES/REQUIRES inconsistencies. Typescript is below
$ ftp
ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0.1_2009Q4/All/pkg_summary.bz2
$ bzcat pkg_summary.bz2 | pkg_lint_summary -l
>Fix:
Home |
Main Index |
Thread Index |
Old Index