poudriere builds all dependencies, even if packages have already been built
Stefan Bethke
stb at lassitu.de
Wed Apr 3 11:26:50 UTC 2013
Am 03.04.2013 um 12:53 schrieb Bryan Drewery:
> On 4/3/2013 4:17 AM, Stefan Bethke wrote:
>> Firstly, is there a better mailing list to discuss poudriere?
>>
>> I'm just getting my feet wet with poudriere, and are a bit surprised that all dependencies for a port are built, instead of installing the packages that got built earlier already. Is this intentional? Is there a configuration option to have the requisite packages installed before building a port?
>>
>>
>> Thanks,
>> Stefan
>>
>
> Here or pkg@ is fine.
>
> This is exactly what it does. It builds the dependencies one time then
> installs then builds the port needing them. On the next run if the
> dependencies have not updated it reuses them.
That's what I would expect, but that's not what I'm seeing.
I've been running build incrementally, fixing a problem, then running bulk again. As expected, only the packages that hadn't been built successfully yet were built. However, dependencies for these ports are not installed from the already created packages, but are recompiled again. In this build log, you can see that pkg is installed from the port instead of from the package; I seem to get this for a large number of builds. I wouldn't really mind except for the enormous amount of time it takes to rebuild the same ports over and over again.
I've had some trouble with poudriere not mounting things where they belong. I manually created /usr/ports and /wrkdirs and recreated the "clean" snapshot. This worked around the "mount: no such file or directory" problems, but I guess there might be an underlying cause to these and a couple more issues. How would I go about identifying these? I think I followed the installation instructions very carefully.
$ head -100 ImageMagick-6.8.0.7_1.log
build started at Wed Apr 3 07:31:08 UTC 2013
port directory: /usr/ports/graphics/ImageMagick
building for: 9.1-STABLE amd64
maintained by: c.petrik.sosa at gmail.com
Makefile ident: $FreeBSD: head/graphics/ImageMagick/Makefile 315309 2013-03-26 15:55:59Z bapt $
Poudriere version: 2.4.1
---Begin Environment---
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
PKG_EXT=txz
FORCE_PACKAGE=yes
tpid=97139
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
POUDRIERE_BUILD_TYPE=bulk
NBPARALLEL=4
PKGNG=1
PKG_DELETE=/usr/local/sbin/pkg delete -y -f
PKG_ADD=/usr/local/sbin/pkg add
PWD=/root/eisenboot
LOGS=/var/poudriere/data/logs
HOME=/root
USER=root
SKIPSANITY=0
LOCALBASE=/usr/local
PACKAGE_BUILDING=yes
VERSION=2.4.1
---End Environment---
---Begin make.conf---
#### /root/eisenboot/poudriere.d/make.conf ####
WITH_PKGNG=yes
# Das sollte eigentlich poudriere selber machen
WRKDIRPREFIX?= /wrkdirs
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR:S/${PORTSDIR}//}
MASTER_SITE_BACKUP?= \
http://mirror.hanse.de/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
# Port-Konfiguration
openvpn_UNSET= EASYRSA
PACKAGE_BUILDING=yes
DISABLE_MAKE_JOBS=yes
---End make.conf---
---Begin OPTIONS List---
===> The following configuration options are available for ImageMagick-6.8.0.7_1:
16BIT_PIXEL=on: 16bit pixel support
BZIP2=on: bzip2 compression support
DJVU=off: DJVU format support (needs THREADS)
DOCS=on: Build and/or install documentation
FFTW=on: Discrete Fourier Transform support
FONTCONFIG=on: X11 font configuration support
FPX=on: FlashPix image format support
FREETYPE=on: TrueType font rendering support
GRAPHVIZ=off: Graphviz support
GSLIB=off: libgs (Postscript SHLIB) support
HDRI=off: High dynamic range images support
JASPER=on: JPEG 2000 support via JasPer
JBIG=on: JBIG image format support
JPEG=on: JPEG image format support
LCMS2=on: LCMS2 support
LQR=on: Liquid Rescale support
LZMA=on: LZMA compression support
MODULES=on: Modules support
OPENEXR=off: HDR image format support via OpenEXR
OPENMP=off: Parallel processing support via OpenMP
PANGO=off: Pango rendering library support
PDF=on: PDF document support
PERL=on: Perl scripting language support
PNG=on: PNG image format support
SVG=on: SVG vector image format support
TESTS=off: Run bundled self-tests after build
THREADS=off: Threading support
TIFF=on: TIFF image format support
WEBP=on: WebP image format support
WMF=on: Windows Metafile support
===> Use 'make config' to modify these settings
---End OPTIONS List---
=======================<phase: depends >==========================
===> ImageMagick-6.8.0.7_1 depends on file: /usr/local/sbin/pkg - not found
===> Verifying install for /usr/local/sbin/pkg in /usr/ports/ports-mgmt/pkg
===> License BSD accepted by the user
===> Fetching all distfiles required by pkg-1.0.11 for building
===> Extracting for pkg-1.0.11
===> License BSD accepted by the user
===> Fetching all distfiles required by pkg-1.0.11 for building
=> SHA256 Checksum OK for pkg-1.0.11.tar.xz.
===> Patching for pkg-1.0.11
===> Configuring for pkg-1.0.11
===> Building for pkg-1.0.11
sed -e 's,%%PKGVERSION%%,1.0.11,' Doxyfile.in > Doxyfile
===> external (all)
===> external/sqlite (all)
Warning: Object directory not changed from original /wrkdirs/ports-mgmt/pkg/pkg-1.0.11/external/sqlite
cc -O2 -pipe -fno-strict-aliasing -fPIC -DHAVE_READLINE=1 -I/usr/include/edit -DSQLITE_OMIT_AUTOVACUUM -DSQLITE_OMIT_BLOB_LITERAL -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_EXPLAIN -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_TCL_VARIABLE -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_CAT -DSQLITE_OMIT_CHECK -DSQLITE_OMIT_AUTOINIT -DSQLITE_OMIT_COMPILEOPTION_DIAGS -DSQLITE_OMIT_INTEGRITY_CHECK -DSQLITE_OMIT_BUILTIN_TEST -DSQLITE_OMIT_SHARED_CACHE -DUSE_PREAD -DSQLITE_THREADSAFE=1 -DSQLITE_TEMP_STORE=3 -Dmain=sqlite3_shell -DNDEBUG -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wno-pointer-sign -Wformat=2 -Wno-format-extra-args -Werror -c sqlite3.c -o sqlite3.o
cc -O2 -pipe -fno-strict-aliasing -fPIC -DHAVE_READLINE=1 -I/usr/include/edit -DSQLITE_OMIT_AUTOVACUUM -DSQLITE_OMIT_BLOB_LITERAL -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_EXPLAIN -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_TCL_VARIABLE -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_CAT -DSQLITE_OMIT_CHECK -DSQLITE_OMIT_AUTOINIT -DSQLITE_OMIT_COMPILEOPTION_DIAGS -DSQLITE_OMIT_INTEGRITY_CHECK -DSQLITE_OMIT_BUILTIN_TEST -DSQLITE_OMIT_SHARED_CACHE -DUSE_PREAD -DSQLITE_THREADSAFE=1 -DSQLITE_TEMP_STORE=3 -Dmain=sqlite3_shell -DNDEBUG -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wno-pointer-sign -Wformat=2 -Wno-format-extra-args -Werror -c shell.c -o shell.o
building static sqlite3 library
ranlib libsqlite3.a
===> external/libyaml (all)
--
Stefan Bethke <stb at lassitu.de> Fon +49 151 14070811
More information about the freebsd-ports
mailing list