pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: How to automatically update dependencies when building a package?
From my original post:
} How do I get pkgsrc to automatically update dependencies when a too-old
version is already installed?
} FreeBSD ports would do this automatically, but my attempted build of
links-gui was stopped when libpng-1.4.5 was already installed and links-gui
needed 1.5.1. I suppose I could do "make replace" on the offending package
each time, but it is annoying and inefficient to be stopped every time a
dependency needs updating.
} Am I too tired now and overlooking something? Can I do something directly
from /usr/pkgsrc/www/links-gui directory when package has not yet been
installed?
} Tom
from Dave B <spam%y2011.dberg.net@localhost>:
> I cope with dependencies (including conflicts related to
> out-of-date packages) this way:
> a) building in a sandbox ( created by pkgsrc/mk/bulk/mksandbox )
> b) using UPDATE_TARGET (i.e., "make update UPDATE_TARGET=bin-install)
> c) ensuring--if I want to stick to just binaries I built myself--
> the line below appears in /etc/mk.conf (in the sandbox, too):
from Greg Troxel <gdt%ir.bbn.com@localhost>:
> I think it's asking for trouble to do partial updates. So, what I do is
> update pkgsrc
> run pkg_rolling-replace
> prior to building new packages.
> I think it would be useful to have a variable to set to make the default
> target be "package replace" (in the DESTDIR world) when building a
> dependency that is already installed. The problem is that this will
> replace that package out from under other depending packages, so unless
> you run pkg_rr or equivalent you'll still have an inconsistent system.
Wherever is it necessary to upgrade all packages just to install one new one?
Surely not in FreeBSD ports or any Linux I know of. Only in NetBSD with
pkgsrc? However, in FreeBSD, one is advised to rebuild all ports (what are
known as packages in NetBSD pkgsrc) when upgrading a major version (the number
before the first decimal point) but not minor version (like for instance 8.1 to
the upcoming 8.2).
I don't have an awful lot installed yet, but when there are a lot of packages,
it becomes horribly cumbersome.
Slackware puts out security updates on those packages for which there is a
security advisory, and upgrading with the official upgrade package does not
require reinstalling other packages. But then the Slackware package manager
knows nothing about dependencies.
It really shouldn't be necessary to go into a sandbox just to install a new
package, unless one is building multiple versions of the same package, like
possibly building for NetBSD 4.0.1, 5.1_STABLE and -current, or building
versions of the same package with different options.
After booting back into Linux, I mounted the NetBSD 5.1_STABLE installation
read-only and ran
lynx /media/dvd0/usr/pkgsrc/doc/pkgsrc.html
and found I could "make update".
I don't know if this works when the package is not yet installed at all. If
not, then
mkdir /var/db/pkg/links-gui-2.2
which would be an empty directory that might serve as a placeholder.
I don't know if this would work, but it's worth a stab (in the dark, or maybe
twilight?).
Tom
Home |
Main Index |
Thread Index |
Old Index