Or both.  Drop VMWare on the floor NOW, if you need virtualisation use
generic QEMU/KVM in any recent Linux distribution of your choice and
plan to wipe it clean after you're done fiddling with it.  Yes, really
seriously remove the virtualisation for a build machine, go bare metal.
Try without hyperthreading for a comparison.  Before you notice and get
to complain you need VM for something just use the native OpenBSD
hypervisor.

Our build machines both run on bare metal.  To be honest, once you've
pulled the entire set of source distfiles for one release, you don't even
need much in the way of connectivity to stay up to date.

From the way the OP described the setup, it does look like he intends to
run the build machine remotely, as a VPS.  I wouldn't recommend using a
VPS as a build machine, as you need CPU and RAM with little connectivity,
which is the opposite of what most VPS providers will offer.  Our build
machines are on-site, and we just send the resulting binary packages
wherever they need to go.

Also, be aware that some ports have a mass of unnecessary dependencies,
and that tweaking this can reduce the build time substantially, especially
if you are building the same packages repeatedly for some reason.

Use a "virtual" axe ;-) virtually "axing" around.

Really, have a look at the dependencies for ImageMagick, and ask yourself
who really uses djvu, for example.  Removing it and ghostscript reduces
the dependencies from:

5.8-release:

# make print-build-depends

This port requires package(s) "bzip2-1.0.6p1 libusb1-1.0.9p9 lynx-2.8.9pl6
gmp-5.0.2p3 jbigkit-2.1 metaauto-1.0p1 autoconf-2.13p3 libelf-0.8.13p3
xz-5.2.1 png-1.6.17 help2man-1.47.1 autoconf-2.69p1 libffi-3.1p0
automake-1.14.1 automake-1.11.6p1 autoconf-2.63p0 autoconf-2.67p0
libltdl-2.4.2p1 libtool-2.4.2p0 hicolor-icon-theme-0.15
p5-XML-NamespaceSupport-1.11p0 p5-XML-SAX-0.96p1 giflib-5.1.1 imake-cf-1.0.5
imake-1.0.7 jpeg-9a tiff-4.0.4 lcms2-2.6p1 libwebp-0.4.3 libwmf-0.2.8.4p3
libiconv-1.14p3 gettext-0.19.5.1 gettext-tools-0.19.5.1 gmake-4.1p0
gnugetopt-1.1.6 libpaper-1.1.24.4 libnettle-3.1.1 icu4c-55.1p0 nspr-4.10.8
fftw3-common-3.2.2p1 fftw3-3.2.2p3 bash-4.3.39p0 libgpg-error-1.19
libgcrypt-1.6.3 libidn-1.32 curl-7.43.0 re2c-0.14.3 unzip-6.0p7
jasper-1.900.1p2 iso8879-1986p0 docbook-dsssl-1.79 ghostscript-fonts-8.11p3
p5-XML-Parser-2.44 xmltoman-0.4 intltool-0.51.0p0 pcre-8.37p1 libtasn1-4.5
p11-kit-0.22.1p1 gnutls-3.3.16 groff-1.22.3p2 gdbm-1.11p0 tcl-8.5.18 tk-8.5.18
ijs-0.35p2 libsigsegv-2.10p2 m4-1.4.17 bison-2.3p2 db-4.6.21p1v0 python-2.7.10
libxml-2.9.2p1 netpbm-10.35.96 docbook-4.5p1 jbig2dec-0.11 libxml-2.9.2p1
py-libxml-2.9.2p0 libxslt-1.1.28p2 docbook-xsl-1.68.1p5 xmlto-0.0.26p0
dbus-1.8.20v0 glib2-2.44.1 vala-0.28.0 dconf-0.24.0p1 shared-mime-info-1.4
libcroco-0.6.8p2 dbus-glib-0.104p0v0 dbus-1.8.20v0
dbus-daemon-launch-helper-1.8.20 docbook2x-0.8.8p1 py-setuptools-3.4.4p2v0
py-MarkupSafe-0.23 py-jinja2-2.7.3p0 py-tz-2015.4 py-babel-1.3p2
py-pygments-2.0.1 py-docutils-0.12 py-sphinx-1.2.3p0 py-crypto-2.6.1p0
py-beaker-1.6.2p3 py-mako-0.9.1p1 ninja-1.5.3p0 scons-2.3.5p0 jsoncpp-0.10.5
mozjs17-17.0p2 lzo2-2.09 cairo-1.14.2 gobject-introspection-1.44.0
gdk-pixbuf-2.30.8p1 atk-2.16.0 at-spi2-core-2.16.0p0 at-spi2-atk-2.16.0p0
polkit-0.113p3 consolekit-0.4.6p14 colord-1.2.11 json-glib-1.0.4
gsettings-desktop-schemas-3.16.1 libarchive-3.1.2 cmake-3.2.3p1
graphite2-1.2.4p0 harfbuzz-1.0.1 pango-1.36.8 librsvg-2.40.9 libproxy-0.4.11p3
glib2-networking-2.44.0 libsoup-2.50.0 librest-0.7.93p0 libdaemon-0.14p1
avahi-0.6.31p19 cups-libs-2.0.4 ghostscript-9.07p2 transfig-3.2.5ap0
gtk-update-icon-cache-3.16.6 djvulibre-3.5.27" to build.

# make print-run-depends

This port requires package(s) "hicolor-icon-theme-0.15 bzip2-1.0.6p1
jbigkit-2.1 xz-5.2.1 dbus-1.8.20v0 dbus-daemon-launch-helper-1.8.20
dbus-1.8.20v0 giflib-5.1.1 jpeg-9a tiff-4.0.4 lcms2-2.6p1 libdaemon-0.14p1
jasper-1.900.1p2 libiconv-1.14p3 libxml-2.9.2p1 gettext-0.19.5.1 gdbm-1.11p0
libltdl-2.4.2p1 ghostscript-fonts-8.11p3 pcre-8.37p1 libtasn1-4.5
fftw3-common-3.2.2p1 fftw3-3.2.2p3 ijs-0.35p2 gmp-5.0.2p3 libnettle-3.1.1
png-1.6.17 netpbm-10.35.96 jbig2dec-0.11 libwebp-0.4.3 libwmf-0.2.8.4p3
libffi-3.1p0 python-2.7.10 p11-kit-0.22.1p1 gnutls-3.3.16 libelf-0.8.13p3
glib2-2.44.1 avahi-0.6.31p19 cups-libs-2.0.4 ghostscript-9.07p2
transfig-3.2.5ap0 shared-mime-info-1.4 gdk-pixbuf-2.30.8p1
gtk-update-icon-cache-3.16.6 djvulibre-3.5.27" to run.

Removing djvu and ghostscript, (almost no loss of functionality):

# make print-build-depends

This port requires package(s) "bzip2-1.0.6p1 jbigkit-2.1 metaauto-1.0p1
xz-5.2.1 png-1.6.17 help2man-1.47.1 autoconf-2.69p1 libffi-3.1p0
autoconf-2.67p0 libltdl-2.4.2p1 giflib-5.1.1 jpeg-9a tiff-4.0.4 lcms2-2.6p1
libwebp-0.4.3 libwmf-0.2.8.4p3 libiconv-1.14p3 gettext-0.19.5.1
gettext-tools-0.19.5.1 gmake-4.1p0 fftw3-common-3.2.2p1 fftw3-3.2.2p3
unzip-6.0p7 jasper-1.900.1p2 groff-1.22.3p2 gdbm-1.11p0 tcl-8.5.18 tk-8.5.18
db-4.6.21p1v0 python-2.7.10 libxml-2.9.2p1 netpbm-10.35.96" to build.

# make print-run-depends

This port requires package(s) "bzip2-1.0.6p1 jbigkit-2.1 xz-5.2.1 giflib-5.1.1
jpeg-9a tiff-4.0.4 lcms2-2.6p1 jasper-1.900.1p2 libiconv-1.14p3 libxml-2.9.2p1
libltdl-2.4.2p1 fftw3-common-3.2.2p1 fftw3-3.2.2p3 png-1.6.17 netpbm-10.35.96
libwebp-0.4.3 libwmf-0.2.8.4p3" to run.

Much more sensible.  Less bloat, and less GPL code :-).

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com

Reply via email to