[csw-maintainers] libserf, checkpkg errors, e.g. use ssl-0.9.8 instead of ssl-1.0.0
Maciej (Matchek) Bliziński
maciej at opencsw.org
Fri Aug 17 08:09:22 CEST 2012
2012/8/17 rupert THURNER <rupert at opencsw.org>
>
> On Fri, Aug 17, 2012 at 12:52 AM, Maciej (Matchek) Bliziński
> <maciej at opencsw.org> wrote:
> > 2012/8/16 rupert THURNER <rupert at opencsw.org>
> >>
> >> you are right. subverison is only for solaris 10, and its fine for
> >> serf as well. on unstable10s it gives:
> >>
> >> # Checkpkg suggests adding the following lines to the GAR recipe:
> >> # This is a summary; see above for details.
> >
> >
> > This line right here ↑
> >
> > You need to scroll up and read.
>
> |^M 63%
> |#####################################################
> |^M 65%
> |######################################################
> |^M 66%
> |#######################################################
> |^M 67%
> |########################################################
> |^M 68%
> |#########################################################
> |^M 69%
> |#######################################################
> ### |^M 70%
> |#####################################################
> ###### |^M 72%
> |###################################################
> ######### |^M 73%
> |#################################################
> ############ |^M 74%
> |###############################################
> ############### |^M 75%
> |#############################################
> ################## |^M 76%
> |###########################################
> ##################### |^M 77%
> |#########################################
> ######################## |^M 79%
> |#######################################
> ########################### |^M 80%
> |#####################################
> ############################## |^M 81%
> |###################################
> ################################# |^M 82%
> |#################################
> #################################### |^M 83%
> |###############################
> ####################################### |^M 84%
> |#############################
> ########################################## |^M 86%
> |###########################
> ############################################# |^M 87%
> |#########################
> ################################################ |^M 88%
> |#######################
> ################################################### |^M 89%
> |#####################
> ###################################################### |^M 90%
> |###################
> ######################################################### |^M
> 91% |#################
> ############################################################ |^M
> 93% |###############
> ###############################################################
> |^M 94% |#############
> ##################################################################
> |^M 95% |###########
> #####################################################################
> |^M 96% |#########
> ########################################################################
> |^M 97% |#######
>
>
> ###########################################################################
> |^M 98%
> |###################################################################################
> |^M100%
> |####################################################################################|
Haha, nice ascii art!
> INFO:root:Tasting them all at once...
> INFO:root:Stuffing the candies under the pillow...
> 0% |
> |^M 33% |############################
> |^MWARNING:root:Not saving an
> error for CSWlibserf1-0.
> WARNING:root:Not saving an error for CSWlibserf1-0.
> 66% |########################################################
> |^M100%
>
> |####################################################################################|
> CSWlibserf1-1:
> CSWlibserf1-0:
> * This shared library (opt/csw/lib/libserf-1.so.0.0.0) is in a directory
> indicating that it is likely to be linked to by other programs. If
> this is
> the case, the library is best packaged separately, in a package with a
> library-specific name. Examples of such names include:
> ['CSWlibserf1-0'].
> If this library is not meant to be linked to by other packages, it's
> best
> moved to a 'private' directory. For example, instead of
> /opt/csw/lib/foo.so, try /opt/csw/lib/projectname/foo.so. More
> information:
> http://wiki.opencsw.org/checkpkg-error-tags
>
> # Checkpkg suggests adding the following lines to the GAR recipe:
> # This is a summary; see above for details.
> # The following lines define a new package: CSWlibserf1-0
> PACKAGES += CSWlibserf1-0
> CATALOGNAME_CSWlibserf1-0 = libserf1_0
I think this report above is missing something. I re-ran checkpkg
myself, and this is the complete output:
maciej at login [login]:~/src/opencsw/pkg/libserf/trunk >
~/src/opencsw-git/gar/v2/bin/checkpkg --os-releases SunOS5.10
--architecture sparc --catalog-release unstable
2416e1115e2cd3d721419458dbfd0d18 f5a59f7569fbb18edb717beeb1adc9fd
INFO:root:Unwrapping candies...
100% |################################################################################################################################################|
INFO:root:Tasting candies one by one...
100% |################################################################################################################################################|
INFO:root:Tasting them all at once...
INFO:root:Stuffing the candies under the pillow...
WARNING:root:Not saving an error for CSWlibserf1-0.###
|
WARNING:root:Not saving an error for CSWlibserf1-0.
100% |################################################################################################################################################|
CSWlibserf1-1:
CSWlibserf1-0:
* This shared library (opt/csw/lib/libserf-1.so.0.0.0) is in a directory
indicating that it is likely to be linked to by other programs. If this is
the case, the library is best packaged separately, in a package with a
library-specific name. Examples of such names include: ['CSWlibserf1-0'].
If this library is not meant to be linked to by other packages, it's best
moved to a 'private' directory. For example, instead of
/opt/csw/lib/foo.so, try /opt/csw/lib/projectname/foo.so. More information:
http://wiki.opencsw.org/checkpkg-error-tags
# Checkpkg suggests adding the following lines to the GAR recipe:
# This is a summary; see above for details.
# The following lines define a new package: CSWlibserf1-0
PACKAGES += CSWlibserf1-0
CATALOGNAME_CSWlibserf1-0 = libserf1_0
PKGFILES_CSWlibserf1-0 += $(call baseisadirs,$(libdir),libserf-1\.so\.0\.0\.0)
PKGFILES_CSWlibserf1-0 += $(call baseisadirs,$(libdir),libserf-1\.so\.0(\.\d+)*)
SPKG_DESC_CSWlibserf1-0 += $(DESCRIPTION), libserf-1.so.0
RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibserf1-0
# The end of CSWlibserf1-0 definition
If any of the reported errors were false positives, you can override them
pasting the lines below to the GAR recipe.
CHECKPKG_OVERRIDES_CSWlibserf1-1 +=
file-collision|/opt/csw/lib/libserf-1.so.0|CSWlibserf1-0|CSWlibserf1-1
CHECKPKG_OVERRIDES_CSWlibserf1-1 +=
file-collision|/opt/csw/lib/libserf-1.so.0.0.0|CSWlibserf1-0|CSWlibserf1-1
CHECKPKG_OVERRIDES_CSWlibserf1-1 +=
shared-lib-pkgname-mismatch|file=opt/csw/lib/libserf-1.so.0.0.0|soname=libserf-1.so.0|pkgname=CSWlibserf1-1|expected=CSWlibserf1-0
Please note that checkpkg isn't suggesting you should simply add these overrides
to the Makefile. It only informs what the overrides could look like. You need
to understand what are the reported issues about and use your best judgement to
decide whether to fix the underlying problems or override them. For more
information, scroll up and read the detailed messages. To easily inspect
packages you've just built, visit: http://buildfarm.opencsw.org/pkgdb/srv4/
So what are we seeing here? There are two error tags: file-collision
and shared-lib-pkgname-mismatch. There are two collisions, one is that
file /opt/csw/lib/libserf-1.so.0 is present in two packages:
CSWlibserf1-0 and CSWlibserf1-1. The second one is similar, involving
the /opt/csw/lib/libserf-1.so.0.0.0 file. The CSWlibserf1-0 pkgname
should, in a deterministic fashion (as much as possible), depend on
the file inside the package. If the file is named libserf-1.so.0, the
corresponding package name should be CSWlibserf1-0. If we check the
catalog content, this is what's in the catalog right now. The other
package, CSWlibserf1-1 is the new package being built. CSWlibserf1-1
would suggest that the soname has changed to something like
libserf-1.so.1. But if we look at the file, we see that the soname
stayed the same, so there's a mismatch between the package name and
the soname. And this is what the second error tag tells us:
shared-lib-pkgname-mismatch
file=opt/csw/lib/libserf-1.so.0.0.0
soname=libserf-1.so.0
pkgname=CSWlibserf1-1
expected=CSWlibserf1-0
The /opt/csw/lib/libserf-1.so.0.0.0 file has the soname of
libserf-1.so.0 and it's expected to be in CSWlibserf1-0, but it's
currently in CSWlibserf1-1. Above that we also see the suggested lines
to create the CSWlibserf1-0 package.
Is the situation more clear now?
Maciej
More information about the maintainers
mailing list