# Poudriere



## Leander (Nov 2, 2018)

I want to set up a local package repository. I use poudriere for this but unfortunately I'm running into issues when I want to e.g. compile all PHP versions and its extensions as well as e.g. openssl and openssl-dev together. Is there an example make.conf which solves this issues to build all ports in one repository? I'm also running into issues building mysql80-server. it complains as following:

```
[...]
-- Installing: /wrkdirs/usr/ports/databases/mysql80-server/work/stage/usr/local/share/mysql/mysql.server
/bin/mkdir -p /wrkdirs/usr/ports/databases/mysql80-server/work/stage/usr/local/etc/mysql
install  -m 0644 /wrkdirs/usr/ports/databases/mysql80-server/work/my.cnf.sample /wrkdirs/usr/ports/databases/mysql80-server/work/stage/usr/local/etc/mysql/my.cnf.sample
/bin/mkdir -p /wrkdirs/usr/ports/databases/mysql80-server/work/stage/usr/local/etc/mysql/keyring
/bin/mkdir -p /wrkdirs/usr/ports/databases/mysql80-server/work/stage/var/db/mysql_secure
/bin/mkdir -p /wrkdirs/usr/ports/databases/mysql80-server/work/stage/var/db/mysql_tmpdir
====> Compressing man pages (compress-man)
===> Staging rc.d startup script(s)
===>   Installing ldconfig configuration file
===========================================================================
=======================<phase: package        >============================
===>  Building package for mysql80-server-8.0.12_1
pkg-static: Unable to access file /wrkdirs/usr/ports/databases/mysql80-server/work/stage/usr/local/bin/zlib_decompress:No such file or directory
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/mysql80-server
=>> Cleaning up wrkdir
===>  Cleaning for mysql80-server-8.0.12_1
build of databases/mysql80-server | mysql80-server-8.0.12_1 ended at Fri Nov  2 17:46:43 CET 2018
build time: 00:01:51
!!! build failure encountered !!!
```

Even though the very same repositorie's security/openssl has ZLIB unset.

For PHP I found the following solution:

```
# Build several PHP versions parallel on the same server:
# https://github.com/freebsd/poudriere/issues/602
PHP_ALT=php56 php70 php71 php72 php73
.for port in ${PHP_ALT}
.if ${.CURDIR:M*/ports*/*/${port}*}
DISABLE_CONFLICTS=YES
PREFIX=/usr/local/${port}
PHPBASE=/usr/local/${port}
LOCALBASE=/usr/local
CONFIGURE_ARGS+=--datadir=/usr/local/${port}/share
CONFIGURE_ARGS+=--bindir=/usr/local/${port}/bin
CONFIGURE_ARGS+=--with-config-file-scan-dir=/usr/local/${port}/etc/php
.endif
.endfor
```
But it doesn't describe how to build their extensions the same way.

Any idea on these issues?


----------



## talsamon (Nov 2, 2018)

See PR 228234.


----------



## Leander (Nov 2, 2018)

talsamon said:


> See PR 228234.


Thanks talsamon. I'm well aware of this report. Yet it doesn't help to unset ZLIB in openssl port within the same repository were mysql80-server is being build. would be too easy


----------



## talsamon (Nov 2, 2018)

I have it not tested, but you can try with `-DWITH_ZLIB=bundled"` instead of`-D -DWITH_ZLIB=system"`.


----------



## Leander (Nov 2, 2018)

talsamon said:


> I have it not tested, but you can try with `-DWITH_ZLIB=bundled"` instead of`-D -DWITH_ZLIB=system"`.


Nice. I've tried

```
CONFIGURE_ARGS+="--with-zlib-dir=bundled"
```
without luck. I'll try your suggestion just now.


----------



## acheron (Nov 3, 2018)

Poussière ? I like the new name  thanks !


----------

