bin/173315: pkg install sometimes fails when it uses wrong dependency order

Adam McDougall mcdouga9 at egr.msu.edu
Sat Nov 3 02:10:01 UTC 2012


>Number:         173315
>Category:       bin
>Synopsis:       pkg install sometimes fails when it uses wrong dependency order
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 03 02:10:00 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Adam McDougall
>Release:        9-STABLE amd64
>Organization:
MSU
>Environment:
FreeBSD test 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0: Fri Oct  5 10:17:48 EDT 2012     root at build9:/usr/obj/proto/src9/src/sys/AMD64-9  amd64
>Description:


Short version: If you make a pkg repo with poudriere that includes
java/diablo-jdk16 and tell pkg to install it, it knows pkgconf is a
dep of xproto but it installs it in the wrong order so it fails.
diablo-jdk16 is not on pkgbeta so I cannot test with that repo.
I realize there are other jdk choices but this issue is about why
pkg would get the install order wrong (it also seems to be missing
a newline on the error).  Please let me know if I can provide more
information or test something.  Thanks.

This is on a recent 9.x-amd64 test system with no packages old or new:

root at test:/root # env PACKAGESITE="http://my.local.server/pkg/freebsd:9:x86:64/latest" pkg update
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg please wait
Installing pkg-1.0.1... done
If you are upgrading from the old package format, first run:

  # pkg2ng
Updating repository catalogue
repo.txz                                                                           100%  792KB 791.5KB/s 791.5KB/s   
00:00    
root at test:/root # pkg info
pkg-1.0.1                      New generation package manager
root at test:/root # pkg install java/diablo-jdk16
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:

        Installing javavmwrapper: 2.4
        Installing compat7x-amd64: 7.3.703000.201008_1
        Installing xextproto: 7.2.0
        Installing xproto: 7.0.22
        Installing pkgconf: 0.8.9
        Installing diablo-jdk: 1.6.0.07.02_20

The installation will require 166 MB more space

56 MB to be downloaded

Proceed with installing packages [y/N]: y
javavmwrapper-2.4.txz                                                              100%   18KB  17.6KB/s  17.6KB/s   
00:00    
compat7x-amd64-7.3.703000.201008_1.txz                                             100% 5010KB   4.9MB/s   4.9MB/s   
00:00    
xextproto-7.2.0.txz                                                                100%   23KB  22.7KB/s  22.7KB/s   
00:00    
xproto-7.0.22.txz                                                                  100%   59KB  59.2KB/s  59.2KB/s   
00:00    
pkgconf-0.8.9.txz                                                                  100%   22KB  21.9KB/s  21.9KB/s   
00:00    
diablo-jdk-1.6.0.07.02_20.txz                                                      100%   52MB  51.7MB/s  51.7MB/s   
00:00    
Checking integrity... done
Installing javavmwrapper-2.4... done
Installing compat7x-amd64-7.3.703000.201008_1... done
Installing xextproto-7.2.0... done
Installing xproto-7.0.22...missing dependency pkgconf-0.8.9root at test:/root #
root at test:/root #
root at test:/root # pkg install java/diablo-jdk16
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:

        Installing xproto: 7.0.22
        Installing pkgconf: 0.8.9
        Installing diablo-jdk: 1.6.0.07.02_20

The installation will require 149 MB more space

0 B to be downloaded

Proceed with installing packages [y/N]: y
Checking integrity... done
Installing xproto-7.0.22...missing dependency pkgconf-0.8.9root at test:/root # 
root at test:/root # 
root at test:/root # 



If I go ahead and install pkgconf manually, xproto and thus diablo-jdk succeed.

Interestingly, if I only request to install xproto, it gets the order right:


root at test:/root # pkg install xproto
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:

        Installing pkgconf: 0.8.9
        Installing xproto: 7.0.22

The installation will require 428 kB more space

0 B to be downloaded

Proceed with installing packages [y/N]: y
Checking integrity... done
Installing pkgconf-0.8.9... done
Installing xproto-7.0.22... done



_______________________________________________
freebsd-ports at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"

>How-To-Repeat:
On a system with no packages:
pkg install java/diablo-jdk16
>Fix:
Workaround: give pkg a hint and install pkgconf manually first (should not be necessary).  Don't know true fix because behavior is not well defined.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list