Subject: Re: Updating packages
To: Matthias Scheler <tron@zhadum.org.uk>
From: Aleksey Cheusov <cheusov@tut.by>
List: pkgsrc-users
Date: 04/30/2007 17:12:11
> On Sat, Apr 28, 2007 at 01:36:34AM +0300, Aleksey Cheusov wrote:
>> I expect that this
>> - builds package B
>> - creates B-x2.y2.z2.tgz in PACKAGES
>> - installs A from .tgz package from PACKAGES
> "make update" doesn't use binary packages. You should look at one of
> package management tools like "pkg_chk".
pkgsrc.txt:
16.17. Other helpful targets
...
bin-install
Install a binary package from local disk and via FTP from a list
of sites (see the BINPKG_SITES variable), and do a make package if
no binary package is available anywhere. The arguments given to
pkg_add can be set via BIN_INSTALL_FLAGS e.g., to do verbose
operation, etc.
...
update
...
The following variables can be used either on the command line or
in /etc/ mk.conf to alter the behaviour of make update:
UPDATE_TARGET
Install target to recursively use for the updated package and
the dependent packages. Defaults to DEPENDS_TARGET if set,
"install" otherwise for make update. Other good targets are
"package" or "bin-install". Do not set this to "update" or you
will get stuck in an endless loop!
I asked developers and those who know pkgsrc internals,
i.e. know how it is implemented, why
UPDATE_TARGET=bin-install
and
DEPENDS_TARGET=packafe
doesn' work together.
I think 'make update' mode that
1) uses binary package if they are available
and
2) build these binary packages
would be very nice feature.
>> but A is not installed at all. Why?
> What do you mean bu "A is not installed"? It should be built from source.
"is not installed" means that
process of building from sources were not started at all.
P.S.
I know about pkg_chk. It is extreeeeeeeeeeamely slow.
Before starting real job (building/installing)
it eats MINUTES on my old home machine and on more modern machines too.
With my patch it works ~10 times faster in some modes
but the patch is not complete yet.
It is so slow not because it is written in shell but because
it has O(N^2) complexity of some operations where O(N) is possible.
--
Best regards, Aleksey Cheusov.