[bug-notifications] [pkg_get 0003021]: pkg-get says dependencies are not up to date when they really are

Mantis Bug Tracker noreply at opencsw.org
Fri Feb 27 16:43:25 CET 2009


A NOTE has been added to this issue. 
====================================================================== 
http://www.opencsw.org/bugtrack/view.php?id=3021 
====================================================================== 
Reported By:                dm26
Assigned To:                phil
====================================================================== 
Project:                    pkg_get
Issue ID:                   3021
Category:                   packaging
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
====================================================================== 
Date Submitted:             2009-01-16 15:38 CET
Last Modified:              2009-02-27 16:43 CET
====================================================================== 
Summary:                    pkg-get says dependencies are not up to date when
they really are
Description: 
I've noticed the current version of pkg-get (4.2) is failing to install
packages because it thinks dependencies are out of date.

Example:

 pkg-get -i gvim
No existing install of CSWgvim found. Installing...
Pre-existing local file
gvim-7.2.077,REV=2008.12.31-SunOS5.8-sparc-CSW.pkg.gz ma
tches checksum
Keeping existing file
Analysing special files...
Trying to install dependancy vimrt
No existing install of CSWvimrt found. Installing...
Pre-existing local file
vimrt-7.2.077,REV=2008.12.31-SunOS5.8-all-CSW.pkg.gz mat
ches checksum
Keeping existing file
Analysing special files...
Error: dependancy common (CSWcommon) not up to date
Call pkg-get again in 'upgrade all' mode
eg: '/opt/csw/bin/pkg-get upgrade'
This will then upgrade all packages cleanly

ERROR: could not install required dependancies for CSWvimrt
Once dependancies are up to date, call
        /opt/csw/bin/pkg-get -i vimrt
to (re)install
ERROR: install of CSWvimrt failed
ERROR: could not install required dependancies for CSWgvim
Once dependancies are up to date, call
        /opt/csw/bin/pkg-get -i gvim
to (re)install


This claims the common pacakge is out of date.  However, the latest
version is installed:
pkginfo -l CSWcommon
   PKGINST:  CSWcommon
      NAME:  common - common files and dirs for CSW packages
  CATEGORY:  system
      ARCH:  sparc
   VERSION:  1.4.6,REV=2008.04.28
   BASEDIR:  /
    VENDOR:  http://www.blastwave.org/ packaged for CSW by Philip Brown
      DESC:  Installs some useful standard CSW filesystem symlinks and
files
    PSTAMP:  thor20080428134449
  INSTDATE:  Jul 07 2008 15:07
   HOTLINE:  http://www.blastwave.org/bugtrack/
     EMAIL:  phil at blastwave.org
    STATUS:  completely installed
     FILES:      147 installed pathnames
                 134 shared pathnames
                 116 directories
                   6 blocks used (approx)

pkg-get -c | grep -w common
         common            1.4.6,REV=2008.04.28                          
SAME


I had a look through the source for pkg-get and think I have found the
problem.
Line 1084:
		if ! uptodate $dependsoftname; then

should probably be:
		if ! uptodate $dependspkg; then

It should use the Solaris package name "CSWcommon", rather than the
OpenCSW package name "commmon".

--
Darren Miller
University of York

====================================================================== 

---------------------------------------------------------------------- 
 (0005576) phil (manager) - 2009-02-27 02:26
 http://www.opencsw.org/bugtrack/view.php?id=3021#c5576 
---------------------------------------------------------------------- 
Thank you for taking the time to look at the script and attempt to debug
it.
however, the line you point out,

                if ! uptodate $dependsoftname; then

references a function (uptodate) that should function equally well when
given either the dependsoftname OR the dependpkg value.

if you can pinpoint an error in the routine, please let me know.
Also, it has been reported that having LC_ALL=C is sometimes beneficial,
whereas LC_ALL or equivalent being set to some UTF-8 or fancy value, makes
it break.

You might try tweaking 'AWK=nawk to 'AWK="LC_ALL=C nawk"'
and seeing if that fixes the problem.

otherwise, you might double check to see which 'catalog' it is pulling
from, and then manually compare the VERSION values from the catalog, vs 
pkginfo -l CSWcommon. 

---------------------------------------------------------------------- 
 (0005583) dm26 (reporter) - 2009-02-27 16:43
 http://www.opencsw.org/bugtrack/view.php?id=3021#c5583 
---------------------------------------------------------------------- 
Phil,

thanks for getting back to me.

> You might try tweaking 'AWK=nawk to 'AWK="LC_ALL=C nawk"'
> and seeing if that fixes the problem.

It does.  It seems this was the real problem and my fix just worked around
it.
I had LC_ALL set to "en_GB" which caused the prblem.  It works fine when
set to "C".

Can this change be added as a permanent fix?

Thanks again both for you help and for the all your good work with
OpenCSW.

--
Darren Miller 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-01-16 15:38 dm26           New Issue                                    
2009-02-27 02:22 phil           Status                   new => assigned     
2009-02-27 02:22 phil           Assigned To               => phil            
2009-02-27 02:26 phil           Note Added: 0005576                          
2009-02-27 16:43 dm26           Note Added: 0005583                          
======================================================================




More information about the bug-notifications mailing list