Date: Sat, 2 Dec 2017 18:41:35 -0800 From: Mark Millard <markmi@dsl-only.net> To: FreeBSD Ports <freebsd-ports@freebsd.org> Subject: Re: Welcome flavors! portmaster now dead? synth? Message-ID: <F9D366ED-E3D3-43A9-9CB3-21D6872CF149@dsl-only.net>
next in thread | raw e-mail | index | archive | help
Rozhuk Ivan rozhuk.im at gmail.com wrote on Sat Dec 2 18:18:39 UTC 2017 : > I dont want poudriere because I dont need ZFS, jails and other crap on = my system. > I dont want to play system administrator: keep and admin build servers = at home/work. >=20 > I just want update from source all my ports, make packages, and on = other > computers run portmaster to update from these packages on nfs share. > Minimum overhead. >=20 > synth - at least require specific depencies. Poudriere certainly has more space and time use in its way of operation. (The useful vs. overhead is status is context dependent.) But, I did just recently experiment with a from-scratch try-to-build-everything ( poudriere bulk -C -a ) on a system configuration that is just UFS based. It worked okay. (UFS vs. ZFS has various tradeoffs for such. For now I'm using UFS in this large-use context.) I use UFS with poudriere-devel on a BPI-M3 armv7 board and a Pine64+ 2GB board as well (for vastly fewer ports). There is 2 GiBytes of RAM in each of those. For them I use PARALLEL_JOBS=3D1 to be more like ports-mgmt/portmaster and its one-builder status. By the time indirect dependencies are traced, building and then using ports-mgmt/poudriere-devel does require: misc/freebsd-release-manifests security/ca_root_nss where the indirect dependency status is: security/ca_root_nss lang/perl5.24 So normally the devel/poudriere and those 3 other ports, plus ports-mgmt/pkg itself. I've been able to establish such a context on powerpc64, powerpc, armv7 (previously armv6), aarch64, and amd64. For ports-mgmt/synth only the last two of the 5 had been directly possible. (Last I knew aarch64 was no longer buildable, due to the initial-binary-bootstrap stage of the compiler toolchain involved vs. later FreeBSD header changes.) Note: I have experimented with ports-mgmt/synth in the past, including on the Pine64+ 2 GB (aarch64) before building synth and the toolchain it is based on was broken. But I prefer an more uniform environment instead of using distinct techniques. Other than that, the experiment was interesting and worked fine. I do not claim the following is a typical context or that it would apply to your specific context. But it does apply to my context. ports-mgmt/poudiere-devel does allow: emulators/qemu-user-static (optional: atypical?) For enabling potential cross builds targeting armv7, arrch64, and possibly some others. This leads to more dependencies when selected: emulators/qemu-user-static (optional) (flattened, sorted list) converters/libiconv devel/bison devel/gettext-runtime devel/gettext-tools devel/glib20 devel/gmake devel/libffi devel/m4 devel/p5-Locale-gettext devel/pcre devel/pkgconf devel/readline lang/perl5.24 lang/python2 lang/python27 misc/help2man print/indexinfo print/texinfo I have done amd64 -> armv7 and aarch64 cross builds of ports via poudriere. As I remember powerpc64 is supposed to be able to use emulators/qemu-user-static and so could target armv7 or aarch64, although I've not tested such. (qemu-user-static does not work for emulating powerpc64 or powerpc FreeBSD operation sufficiently, so, I've not used those types of targets for cross builds.) I do modify poudriere's jail.sh a little to allow a more extreme form of (for example): A) poudriere jail -c -j jailArmV7 -a arm.armv7 -x \ -m null \ -M /usr/obj/DESTDIRs/armv7-installworld-poud \ -S /usr/src -v 12.0-CURRENT (jail creation with some native cross-build tools and tied to my local /usr/src/ materials .) B) poudriere ports -c -m null -M /usr/ports where I've prebuilt world and appropriately installed /usr/obj/DESTDIRs/armv7-installworld-poud . The bulk builds produce armv7 materials for that jail. I have put copies of such world builds on the target device and used it with poudriere on that device as well. Thus the BPI-M3 did not have to do its own buildworld for poudriere use in its jail when I tried local port builds via poudriere. =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F9D366ED-E3D3-43A9-9CB3-21D6872CF149>