Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Nov 2012 02:05:56 GMT
From:      Adam McDougall <mcdouga9@egr.msu.edu>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   bin/173315: pkg install sometimes fails when it uses wrong dependency order
Message-ID:  <201211030205.qA325umO034556@red.freebsd.org>
Resent-Message-ID: <201211030210.qA32A1Cn002426@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@test:/root # pkg info
pkg-1.0.1                      New generation package manager
root@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@test:/root #
root@test:/root #
root@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@test:/root # 
root@test:/root # 
root@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@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@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211030205.qA325umO034556>