portmaster, portupgrade, etc
sgk at troutmask.apl.washington.edu
Wed Oct 4 23:28:21 UTC 2017
On Wed, Oct 04, 2017 at 05:29:14PM -0500, Mark Linimon wrote:
> Please understand that I'm not trying to be obstinate,
> I'm trying to understand.
> Background: years ago I managed the cluster of i386 blades
> that we used in package building. 933MHz and 512MB IIRC.
> So I am familiar with constraint problems.
The system in question is my last i686 laptop, which I
use for libm development and testing. Once I cannot use
that laptop (whether hardware failure or inability to
update the installed ports), I'll stop worrying about a
functional libm on 32-bit hardware.
> On Wed, Oct 04, 2017 at 02:22:25PM -0700, Steve Kargl wrote:
> > Can't find info on whether jails can be avoided.
> I have not checked the code but IIRC, no. I thought jails
> had low memory overhead, though.
That's good, but memory overhead isn't the problem with a
jail. It's the diskspace used to duplicate everything
already available in /bin:/usr/bin:/usr/local/bin:... and
storage to hold the packages as things get built.
> > If you only have 1 Gb of memory and 5-10 GB diskspace,
> > then using poudriere with zfs and jails is a nonstarter.
> For point of comparison, with those constraints, I do not
> understand how modern llvms can build at all.
> What happens if you use the manual approach on this same
> system? e.g.
> cd /usr/ports/devel/llvm40
> mkdir -p /usr/ports/packages
> make && make package
> pkg install /usr/ports/packages/llvm<whatever>.txz
I normally do
portmaster -Byd devel/llvm40
and wait a day for the build to complete. I have
/usr/ports/distfiles symlinked to a USB2 /mnt/distfiles
(40 MB/s max throughput). I may also need to set
DISABLE_MAKE_JOBS="YES", but can't remember offhand.
> Do you still run out of resources?
No. I have 4 GB of swap space, which is well used during the
build. The system is actually quite usable as portmaster
runs. I also build libreoffice and octave on the system.
> In that case, there's not much that can be done. The
> compilers, the office suites, and certain math packages
> are huge beasts. However you try to build them won't
> I would think having a copy of the llvm workfiles in a jail
> is going to be equivalent to having them in /tmp?
> I must be missing something.
portmaster satisfies its dependencies from already installed
ports in /usr/local. There isn't a clean room full of pkg'd
dependencies sitting in some jail while llvm40 builds.
So, I think the issue comes down to "portmaster allows an
in-place update of installed ports" vs "poudriere builds
a repository of packages from which one can then do an
More information about the freebsd-ports