Subject: Re: Updating packages
To: Matthias Scheler <>
From: Aleksey Cheusov <>
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".

16.17. Other helpful targets

    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.

    The following variables can be used either on the command line or
    in /etc/ mk.conf to alter the behaviour of make update:


        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

doesn' work together.

I think 'make update' mode that
1) uses binary package if they are available
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.

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.