[csw-devel] SF.net SVN: gar:[11451] csw/mgar/pkg/curl/trunk/Makefile

Maciej (Matchek) Blizinski maciej at opencsw.org
Tue Nov 2 13:34:14 CET 2010


No dia 31 de Outubro de 2010 07:05,  <rthurner at users.sourceforge.net> escreveu:
> +# recompile curl to link to new ldap, and temporarily include
> +# the following block to make checkpkg happy. nothing in the curl
> +# package changed, so it should be ok, no?

It depends; there are times when checkpkg detects actual problems in
already released packages, quite a few of them.  You cannot reason
from "The package was previously released" to "the package is
therefore done correctly".  There are also policy changes: what was
fine in January, might not be fine in October.

Let's talks about the specific errors.  I'll group the overrides so
it's easier to comment on them together.

> +CHECKPKG_OVERRIDES_CSWcurl += surplus-dependency|CSWlibssh2
> +CHECKPKG_OVERRIDES_CSWcurl += surplus-dependency|CSWoldaprt
> +CHECKPKG_OVERRIDES_CSWcurl += surplus-dependency|CSWsasl
> +CHECKPKG_OVERRIDES_CSWcurl += surplus-dependency|CSWlibcares
> +CHECKPKG_OVERRIDES_CSWcurl += surplus-dependency|CSWlibnet
> +CHECKPKG_OVERRIDES_CSWcurlrt += missing-dependency|CSWlibcares
> +CHECKPKG_OVERRIDES_CSWcurlrt += missing-dependency|CSWlibssh2
> +CHECKPKG_OVERRIDES_CSWcurlrt += missing-dependency|CSWlibfbopenssl
> +CHECKPKG_OVERRIDES_CSWcurlrt += missing-dependency|CSWoldaprt

Here, checkpkg tells you that, for example, CSWcurlrt should depend on
libcares, and that CSWcurl has no reason to do so.  I think that the
way dependencies are setup right now, the declared deps are:

CSWcurl -> CSWcurlrt
CSWcurl -> CSWlibcares

If you install CSWcurl, it pulls both CSWcurlrt and CSWlibcares.  The
libraries in CSWcurlrt can, in effect, open the libraries from
CSWlibcares and everything works. But if you installed just CSWcurlrt,
you might see that the required libraries aren't actually installed,
and CSWcurlrt doesn't work.  Therefore I think it's a real problem
caught by checkpkg.

> +CHECKPKG_OVERRIDES_CSWcurldevel += surplus-dependency|CSWcurl

This one is typical, I think I'll remove the surplus-dependency check
on the dev packages.

> +CHECKPKG_OVERRIDES_CSWcurlrt += soname-not-part-of-filename|soname=libcurl.so.4|filename=libcurl-full.so.4.2.0
> +CHECKPKG_OVERRIDES_CSWcurlrt += soname-not-part-of-filename|soname=libcurl.so.4|filename=libcurl-minimal.so.4.2.0
> +CHECKPKG_OVERRIDES_CSWcurlrt += soname-not-part-of-filename|soname=libcurl.so.4|filename=libcurl-full.so.4.2.0
> +CHECKPKG_OVERRIDES_CSWcurlrt += soname-not-part-of-filename|soname=libcurl.so.4|filename=libcurl-minimal.so.4.2.0
> +CHECKPKG_OVERRIDES_CSWcurlrtfull += soname-not-part-of-filename|soname=libcurl.so.4|filename=libcurl-full.so.4.2.0
> +CHECKPKG_OVERRIDES_CSWcurlrtfull += soname-not-part-of-filename|soname=libcurl.so.4|filename=libcurl-full.so.4.2.0

This is a sanity check, but there can be legitimate exceptions.  I
know from Dago that there are works on the way to implement AUX
library linking.

> +CHECKPKG_OVERRIDES_CSWcurlrt += non-uniform-lib-versions-in-package|sonames=['libcurl.so.2',|'libcurl.so.3',|'libcurl.so.4']
> +CHECKPKG_OVERRIDES_CSWcurlrtfull += shared-lib-pkgname-mismatch|sonames=['libcurl.so.4']|pkgname=CSWcurlrtfull|expected=['CSWlibcurl4']|

I believe libcurl is a perfect candidate for soname splitoffs, so we'd
have CSWlibcurl2, CSWlibcurl3 and CSWlibcurl4.  I think checkpkg
suggests the right thing and we should fix rather than override.
Dagobert, can you comment?

> +CHECKPKG_OVERRIDES_CSWcurlrt += file-conflict|/opt/csw/lib/sparcv9/libcurl-full.so.4.2.0|CSWcurlrt|CSWcurlrtfull
> +CHECKPKG_OVERRIDES_CSWcurlrt += file-conflict|/opt/csw/lib/libcurl-full.so.4.2.0|CSWcurlrt|CSWcurlrtfull
> +CHECKPKG_OVERRIDES_CSWcurlrtfull += file-conflict|/opt/csw/lib/sparcv9/libcurl-full.so.4.2.0|CSWcurlrt|CSWcurlrtfull
> +CHECKPKG_OVERRIDES_CSWcurlrtfull += file-conflict|/opt/csw/lib/libcurl-full.so.4.2.0|CSWcurlrt|CSWcurlrtfull

This is a real problem and will most likely be a showstopper if you
try to release.

> +CHECKPKG_OVERRIDES_CSWcurlrt += surplus-dependency|CSWalternatives
> +CHECKPKG_OVERRIDES_CSWcurlrtfull += surplus-dependency|CSWalternatives

Probably a false positive since checkpkg can't currently detect the
need of CSWalternatives.  Dago, can you comment how checkpkg could
detect this dependency requirement?


More information about the devel mailing list