Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 May 2009 20:52:53 +0200
From:      Dominic Fandrey <kamikaze@bsdforen.de>
To:        "Alexey V. Degtyarev" <alexey@renatasystems.org>
Cc:        Boris Samorodov <bsam@ipt.ru>, freebsd-ports@freebsd.org
Subject:   Re: binary package maintenance tool
Message-ID:  <4A05D105.1060401@bsdforen.de>
In-Reply-To: <20090504113919.GC93445@hs-4.renatasystems.org>
References:  <49FACED3.2070009@bsdforen.de> <89135507@bb.ipt.ru> <20090504113919.GC93445@hs-4.renatasystems.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alexey V. Degtyarev wrote:
>>> The port sysutils/bsdadminscripts has just been updated to
>>> version 6.0, which features pkg_upgrade, a binary only
>>> package maintenance tool.
>>> It makes no use of the ports tree, so unlike other build
>>> oriented tools, you do not need a copy of the ports tree
>>> to keep your packages up to date.
>>> It only requires an INDEX file from pointyhead or your
>>> personal Tinderbox.
>> Great! T've done some tests at my home machine and I really
>> like this tool. I was deaming for it for a long time. And
>> it works much faster than "portupgrade -PP".
> 
>  pkg_upgrade works very good for me too, except one thing:
>  
>  Assume package pkg-1.1 installed on the system and is going to upgrade.
>  The pkg-1.2 version of package requires a little bit more packages that
>  required by pkg-1.1: + a new one package newpkg-1.1 for example. After
>  pkg_upgrade upgrades package `pkg', there is no newpkg-1.1 installed on
>  the system and there is a error occured while updating. Here is the
>  illustration with some names screened:
> 
> $ export PACKAGESITE=http://some.path.to/packages/
> $ pkg_upgrade -na
> Update <pkg-1.1> to <pkg-1.2>(nice/pkg)
> $ pkg_upgrade -a
> /usr/ports/packages/All/pkg-1.2.tbz        100% of 3537  B 5464 kBps
> ===> Update <pkg-1.1> to <pkg-1.2>
> (nice/pkg)
> pkg_add: could not find package newpkg-1.1  (proceeding anyway)
> pkg_add: can't open dependency file '/var/db/pkg/newpkg-1.1/+REQUIRED_BY'!
> dependency registration is incomplete
> => Update <pkg-1.1> to <pkg-1.2>
> (nice/pkg) succeeded
> $ pkg_info -Ex newpkg
> $ pkg_info -Ex pkg
> pkg-1.2
> 
>  I think that pkg_upgrade should respect a new package's dependency list
>  and pre-fetch all the new dependencies before pkg_add.
> 
> 

This means that the missing dependency is not listed in the index and hence
not available for download or the index file provided by pointyhead is
simply broken. Because pkg_upgrade does in deed download all dependencies
(that are also listed in the index) and does not install a single package
until all required packages have been downloaded.

At least it did that in many, many tests I have performed.



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