prt-get and pkgmk -cf

Lucas Hazel lucas at die.net.au
Tue Nov 27 10:55:07 UTC 2007


I wanted to setup my laptop to use my home package repository, but still
be able to build packages when I'm roaming by just using a different set
of config files.

So I made /etc/pkgmk-nfs.conf and set the variables, eg:

    PKGMK_PACKAGE_PATH=/net/home/pkgmk/package/i686

Then make a /etc/prt-get-nfs.conf, in particular set,

    makecommand pkgmk -cf /etc/pkgmk-nfs.conf

This gives the following error:

prt-get: updating /net/home/pkgmk/ports/opt/glib
=======> Package '/net/home/pkgmk/package/i686/glib#2.14.3-1.pkg.tar.gz'
is up to date.
prt-get: updating glib from 2.14.0-1 to 2.14.3-1
pkgadd: could not open glib#2.14.3-1.pkg.tar.gz: No such file or directory

So pkgmk finds the package is up to date, but pkgadd fails. Upon
inspecting the prt-get source I find the following function in
installtransaction.cpp,

string InstallTransaction::getPkgDest() const
{
    string pkgdest = "";
    pkgdest = getPkgDestFromFile("/etc/pkgmk.conf");
    if (pkgdest.size() == 0) {
        pkgdest = getPkgDestFromFile("/usr/bin/pkgmk");
    }

    m_pkgDest = pkgdest;
    return pkgdest;
}

It seems to me that we should be able to set the pkgmk config file either
in prt-get.conf or atleast as an environment variable, rather than using a
hardwired constant. That or I'm just an edge case no one cares about :)

-- 
Lucas Hazel





More information about the CRUX mailing list