Date: Sun, 27 Dec 2020 05:53:10 -0800 From: John Kennedy <warlock@phouka.net> To: Thomas Mueller <mueller6722@twc.com> Cc: freebsd-ports@freebsd.org Subject: Re: portmaster new development Message-ID: <X%2BiRxv5sTAK00ZU9@phouka1.phouka.net> In-Reply-To: <202012270323.0BR3NwVj086372@phouka1.phouka.net> References: <20201226124150.7c494410@dismail.de> <6d0d128b-9a75-34f4-830c-d8be05ded9cb@freebsd.org> <202012270323.0BR3NwVj086372@phouka1.phouka.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 26, 2020 at 07:23:59PM -0800, Thomas Mueller wrote: > ... An improved portmaster arouses my interest. Maybe modify the name so it can be added to the ports tree and coexist with the "official" portmaster. > Desired features/options would be to keep going rather than stop when one port fails to build, and the ability to install build dependencies, which may be useful for building other software. > > With synth, I had a difficult time getting everything that was built to install, some packages like bison are needed in building other software. > > How is poudriere in that regard? I never used poudriere, have been intimidated by not wanting to use zfs or dialog4ports, or such an elaborate setup just to update one or a few ports. I'm a dinosaur, so I was a fan of old portmaster for quite some time. I'd say it's downfall was incompatible build dependencies, since it didn't build them in a jail. As packages got more complex and port-count went up, lots of breakage (at least outside of poudriere). I tried poudriere, didn't quite get my head around it and found synth. The original synth worked for me for quite some time, but it's downfall was the dependency on gcc6-aux (I think for ADA support?) when I got off the beaten path into ARM and didn't want to cross-compile. I had a raspberry pi and I really wanted it to be able to recompile itself natively. I think there were plans for a csynth (rewritten in C, as I understood it) to fix that "issue" but by then I'd taken a second shot at figuring out poudriere and moved on. I think the new portmaster was in the works by then, but I'd reported enough build issues at that point to be wary of non-poudriere build issues. The author seemed to be hacking away at my original portmaster issues, I just didn't want to wait. My $.02? Don't worry about build dependencies, make them a target and you'll be fine. I've got devel/gmake, devel/m4 and devel/bison in mine. I'm a fan of ZFS, so that isn't a showstopper for me. Do what works for you, so long as it handles incompatible build dependencies right. Using jail(s) is one way to do that, but I'm pretty sure others have used just plain old chroot() to pull it off. Poudriere (and synth) tended to rebuild EVERYTHING that depended on some- thing that changed. That was the safe behavior, but boy did that hurt when people kept on making more and more compilers a dependency. The original portmaster didn't, but occasionally had problems when it didn't. I got in the habit of periodically recompiling everything. I've said "incompatible build dependency" a few times. I don't have a real, old example but if A depends on B and C depends on D and you want A & B but C can't co-exist with D, you've got issues. I'd run into that with programs that ran on top of X having incompatible build deps, but not an issue if built in jails where they didn't have to be on the disk at the same time as with original portmaster.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?X%2BiRxv5sTAK00ZU9>