OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003021 [pkg_get] packaging major always 2009-01-16 15:38 2009-02-28 16:50
Reporter dm26 View Status public  
Assigned To phil
Priority normal Resolution fixed  
Status resolved  
Summary 0003021: 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@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
Additional Information
Tags No tags attached.
Attached Files

- Relationships
related to 0003052resolvedphil pkg-get install fails when LC_ALL=en_US.UTF-8 in the environment. 
related to 0003453closedphil have pkg_get accept CSWxxx names, as well as software names, for operations. 

-  Notes
(0005576)
phil (manager)
2009-02-27 02:26

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

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
(0005588)
phil (manager)
2009-02-28 16:49

Thanks.
I have tweaked the AWK var, in an upcoming release of pkg-get, which should be put out this weekend :)


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker