Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Dec 2018 23:24:32 +0100
From:      Stefan Esser <se@freebsd.org>
To:        John Kennedy <warlock@phouka.net>
Cc:        Ports FreeBSD <freebsd-ports@FreeBSD.org>
Subject:   Re: thunderbird build error
Message-ID:  <e64804fd-38ad-aa55-dc03-1dd83d051128@freebsd.org>
In-Reply-To: <20181216160715.GA931@phouka1.phouka.net>
References:  <9633ff85-0cbb-7e4f-0e6f-62af5478da83@m5p.com> <e2122db0-1945-7628-be3f-54484b1831de@m5p.com> <20181216160715.GA931@phouka1.phouka.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 16.12.18 um 17:07 schrieb John Kennedy:
> On Sun, Dec 16, 2018 at 07:54:34AM -0500, George Mitchell wrote:
>> On 12/15/18 1:10 PM, George Mitchell wrote:
>>> I recently updated my port build machine to 11.2-RELEASE.  I'm in the
>>> process of recompiling my (previously) 10.4-based ports to 11.2, and
>>> perhaps I shouldn't be trying to do this incrementally.  [...]
>>
>> Sure enough, deleting all ports and starting on a fresh ports tree
>> fixed this problem.  But I'm still unable to get the Powder Keg set
>> up on my machine (and I'm still happy with portmaster anyway).
>> -- George
> 
> I was a happy portmaster user for a really long time, but eventually I ran into
> problems.  Basically, once you get enough packages built (say, X11, browser-of-
> choice and trimmings) and keep it up for long enough (like through some major
> version bumps of dependent packages) you will run into an issue two packages
> that are incompatible need to be installed at the same time.  That tends to get
> caught and fixed for the general case (the FreeBSD-provided package build), but
> others do not (like incompatible packages that are required to build but not to
> be installed).
> 
> I wish I'd gotten poudriere to work before I got synth to work because synth
> isn't as portable (say, to ARM) and I apparently like to punish myself (by not
> cross-compiling... yet).

I have (my version of) portmaster mostly working in a clean chroot jail.
It is still a pure shell script (works with the FreeBSD /bin/sh and bash),
thus portable to all architectures supported by FreeBSD (e.g. ARM).

There are a few edge cases that need further work, but my version does
already support 4 build modes:

1) direct build ("classic portmaster mode")

2) delayed installation (only BUILD_DEPENDS are immediately installed,
   all other ports are installed or upgraded from saved packages at the
   end of the portmaster run)

3) jailed build (everything is built in a chroot jail and installed after
   all builds have finished, except for pure build dependencies, which are
   only kept as packages for use in the next portmaster run)

4) repository mode (packages are saved and at the end the repository files
   are updated to allow local and remote upgrades with "pkg upgrade")

> In any case, synth/poudriere seems to be good at rebuilding anything that might
> need it, ready for a quick "pkg upgrade".  Sometimes it may *seem* like a bit
> much (like gcc7 -> gcc8, or upgrading ca_root_nss), but I've been burned by
> portmaster not always catching on to some more subtle changes that would break
> things (and that even assuming that was ever aspired to by portmaster).  For
> example, look at the advice we were given for perl5.26 -> 5.28, but now for a
> bunch of packages where you don't know the dependencies because you're not a
> master of ports.  I don't feel the need to periodically delete and reinstall
> all packages just to be sure.
> 
> tl;dr:  You can't build everything with portmaster.  You should be able to with
> poudriere (and if not, someone will probably be working on it to figure out why
> not).

My goal is to have portmaster build everything, but with some restrictions
compared to poudriere (only for the architecture and release of the base
system) and with the option to use the direct mode for simple cases and
jailed builds (which require extra disk space for the chroot jail) in case
the builds need to be performed in a clean environment.

Regards, STefan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e64804fd-38ad-aa55-dc03-1dd83d051128>