# poudriere-devel binary package prefetch whitelist.



## Alain De Vos (Mar 19, 2022)

I want poudriere-devel to blacklist all binary packages, offcourse except for one package where the build faild on my system. Can this be done and how ?
So build every port listed from source except download one package it should blindly fetch binary into the build jails without caring too much about version numbers or if source is newer.
Out of 3500 of 4000 build ports only 1 failed , but this an annoying situation, so i want for poudriere to use for that port "any binary package" of that port and blindly continue its task.


----------



## zirias@ (Mar 19, 2022)

Well, if `PACKAGE_FETCH_WHITELIST` is set, it works just that way. Of course, port options, dependencies and ABI are still checked, they MUST match.

But then, why don't you want to fetch everything that matches? Do you have local patches or unusual `CFLAGS`? If not, anything matching will be exactly the same as what you'd build yourself.


----------



## Alain De Vos (Mar 19, 2022)

My make.conf is a little bit unusual but works just fine. That's why i don't want any "binary fetches" except for just "one".
make.conf:

```
NOTUSEDFLAGS="-fstack-protector-all -fstack-protector-strong -fstack-clash-protection-fcf-protection -Werror=implicit-function-declaration -Werror=format-security -fPIE -fPIC -malign-double -mstackrealign -Wformat-security -Wformat -Wall -Wpedantic -Wextra -Wstrict-aliasing"

.if \
${.CURDIR:M*/audio/oss} || \
${.CURDIR:M*/archivers/snappy} || \
${.CURDIR:M*/astro/geographiclib} || \
${.CURDIR:M*/audio/tempest_for_eliza} || \
${.CURDIR:M*/converters/libb64} || \
${.CURDIR:M*/databases/mariadb105-server} || \
${.CURDIR:M*/devel/arm-none-eabi-gcc*} || \
${.CURDIR:M*/devel/cmake} || \
${.CURDIR:M*/devel/cppunit} || \
${.CURDIR:M*/devel/dub} || \
${.CURDIR:M*/devel/elfutils} || \
${.CURDIR:M*/devel/flatcc} || \
${.CURDIR:M*/devel/libindicator} || \
${.CURDIR:M*/devel/pkgconf} || \
${.CURDIR:M*/devel/schilybase} || \
${.CURDIR:M*/devel/vc} || \
${.CURDIR:M*/deskutil/hr-abtt} || \
${.CURDIR:M*/dns/unbound} || \
${.CURDIR:M*/emulators/qemu*} || \
${.CURDIR:M*/graphics/atril} || \
${.CURDIR:M*/graphics/drm-fbsd13-kmod} || \
${.CURDIR:M*/graphics/gpu-firmware-kmod} || \
${.CURDIR:M*/graphics/grafx2} || \
${.CURDIR:M*/graphics/opencollada} || \
${.CURDIR:M*/graphics/opencolorio} || \
${.CURDIR:M*/graphics/vigra} || \
${.CURDIR:M*/graphics/seexpr} || \
${.CURDIR:M*/graphics/synfig*} || \
${.CURDIR:M*/java/eclipse} || \
${.CURDIR:M*/java/openjdk8} || \
${.CURDIR:M*/java/openjfx14} || \
${.CURDIR:M*/lang/ldc} || \
${.CURDIR:M*/lang/gawk} || \
${.CURDIR:M*/lang/gnu-apl} || \
${.CURDIR:M*/lang/gcc*} || \
${.CURDIR:M*/lang/ponyc} || \
${.CURDIR:M*/mail/thunderbird} || \
${.CURDIR:M*/math/igraph} || \
${.CURDIR:M*/math/libpoly} || \
${.CURDIR:M*/multimedia/avidemux} || \
${.CURDIR:M*/multimedia/dav1d} || \
${.CURDIR:M*/multimedia/py-av} || \
${.CURDIR:M*/net/fbzmq} || \
${.CURDIR:M*/net-mgmt/netdata} || \
${.CURDIR:M*/print/harfbuzz*} || \
${.CURDIR:M*/security/libssh} || \
${.CURDIR:M*/sysutils/slurm*} || \
${.CURDIR:M*/textproc/libexttextcat} || \
${.CURDIR:M*/textproc/libnumbertext} || \
${.CURDIR:M*/textproc/tinyxml*} || \
${.CURDIR:M*/science/openbabel} || \
${.CURDIR:M*/sysutils/grub2-bhyve} || \
${.CURDIR:M*/sysutils/openzfs} || \
${.CURDIR:M*/x11/xsel-conrad} || \
${.CURDIR:M*/x11-toolkits/girara} || \
${.CURDIR:M*/x11-toolkits/gtkd}
MYFLAGS=""
.else
MYFLAGS="-fno-lto -O2 -pipe -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS -fstack-protector -fno-short-enums -fexceptions -fident -fverbose-asm -frecord-gcc-switches -fvisibility=default -fomit-frame-pointer -fstrict-aliasing"
.endif

.if ${.CURDIR:M*/usr/ports*}
CFLAGS+="${MYFLAGS}"
CXXFLAGS+="${MYFLAGS}"
.endif

BATCH=yes
CCACHE_DIR=/ccache
CPUTYPE?=core-avx-i
DISABLE_LICENSES=yes
MAKE_JOBS_NUMBER=6
MAKE_JOBS_UNSAFE=yes
WITHOUT_MANCOMPRESS=yes
WITH_CCACHE_BUILD=yes
MTREE_FOLLOWS_SYMLINKS= -L
#MK_LIB32=no

DEFAULT_VERSIONS+=gcc=11
DEFAULT_VERSIONS+=java=11
DEFAULT_VERSIONS+=llvm=13
DEFAULT_VERSIONS+=lua5=5.4
DEFAULT_VERSIONS+=lua=5.4
DEFAULT_VERSIONS+=mysql=10.5m
DEFAULT_VERSIONS+=perl5=5.34
DEFAULT_VERSIONS+=perl=5.34
DEFAULT_VERSIONS+=pgsql=13
DEFAULT_VERSIONS+=php=8.0
DEFAULT_VERSIONS+=python3=3.9
DEFAULT_VERSIONS+=python=3.9
DEFAULT_VERSIONS+=ruby2=2.7
DEFAULT_VERSIONS+=ruby=2.7
DEFAULT_VERSIONS+=ssl=openssl
DEFAULT_VERSIONS+=tcltk=8.6

.if ${.CURDIR:M*/devel/elfutils}
DEFAULT_VERSIONS=gcc=10
.endif

.if ${.CURDIR:M*/devel/phabricator}
NO_CHECKSUM=yes
.endif

.if ${.CURDIR:M*/graphics/imv}
NO_CHECKSUM=yes
.endif

.if ${.CURDIR:M*/net-mgmt/prometheus2}
NO_CHECKSUM=yes
.endif

.if ${.CURDIR:M*/textproc/UCD}
NO_CHECKSUM=yes
.endif

.if ${.CURDIR:M*/x11-toolkits/girara}
NO_CHECKSUM=yes
.endif

#############################################################

OPTIONS_SET+=AMRWB
OPTIONS_SET+=AMRNB
OPTIONS_SET+=UDEV
OPTIONS_SET+=CDDB
OPTIONS_SET+=CUE
OPTIONS_SET+=TREMOR
OPTIONS_SET+=CLI
OPTIONS_SET+=SNDIO
OPTIONS_SET+=OPENCL
OPTIONS_SET+=OPENCV
OPTIONS_SET+=7ZIP
OPTIONS_SET+=A4
OPTIONS_SET+=A52
OPTIONS_SET+=AAC
OPTIONS_SET+=AALIB
OPTIONS_SET+=AES 
OPTIONS_SET+=AMDGPU
OPTIONS_SET+=AMIDI
OPTIONS_SET+=AMR_NB
OPTIONS_SET+=AMR_WB
OPTIONS_SET+=AOM
OPTIONS_SET+=APNG
OPTIONS_SET+=ASPELL
OPTIONS_SET+=ASS
OPTIONS_SET+=AUDIOCD
OPTIONS_SET+=AVCODEC
OPTIONS_SET+=AVX
OPTIONS_SET+=AVX 
OPTIONS_SET+=BASU
OPTIONS_SET+=BLURAY
OPTIONS_SET+=BOOTSTRAP
OPTIONS_SET+=BROTLI
OPTIONS_SET+=BS2B
OPTIONS_SET+=BZIP2
OPTIONS_SET+=CACA
OPTIONS_SET+=CAIRO
OPTIONS_SET+=CAJA
OPTIONS_SET+=CDDA
OPTIONS_SET+=CDIO
OPTIONS_SET+=CDPARANOIA
OPTIONS_SET+=CODEC2
OPTIONS_SET+=COMPFACE
OPTIONS_SET+=CRACKLIB
OPTIONS_SET+=CRYPTO
OPTIONS_SET+=CUPS
OPTIONS_SET+=CUPS 
OPTIONS_SET+=CURL
OPTIONS_SET+=CURSES
OPTIONS_SET+=DBENGINE
OPTIONS_SET+=DCA
OPTIONS_SET+=DEMO
OPTIONS_SET+=DEMOS
OPTIONS_SET+=DIRECTFB
OPTIONS_SET+=DJVU
OPTIONS_SET+=DOCS
OPTIONS_SET+=DV
OPTIONS_SET+=EGL
OPTIONS_SET+=ENCA
OPTIONS_SET+=EPUB
OPTIONS_SET+=EXAMPLES
OPTIONS_SET+=EXTRADOCS
OPTIONS_SET+=FAAC
OPTIONS_SET+=FAAD
OPTIONS_SET+=FDK_AAC
OPTIONS_SET+=FFMPEG
OPTIONS_SET+=FFMPEGTHUMBNAILER
OPTIONS_SET+=FLAC
OPTIONS_SET+=FLANG
OPTIONS_SET+=FLTK
OPTIONS_SET+=FORTRAN
OPTIONS_SET+=FREEIPMI
OPTIONS_SET+=FREI0R
OPTIONS_SET+=FRIBIDI
OPTIONS_SET+=GIF
OPTIONS_SET+=GLESV2
OPTIONS_SET+=GMP
OPTIONS_SET+=GOOM
OPTIONS_SET+=GOPLUGIN
OPTIONS_SET+=GRAPHICSMAGICK
OPTIONS_SET+=GRAPHITE
OPTIONS_SET+=GS_ijs
OPTIONS_SET+=GSM
OPTIONS_SET+=GSPELL
OPTIONS_SET+=GSSAPI_NONE
OPTIONS_SET+=GTK
OPTIONS_SET+=GTK3
OPTIONS_SET+=GTKSPELL
OPTIONS_SET+=GZIP
OPTIONS_SET+=HAN
OPTIONS_SET+=HIGHLIGHT
OPTIONS_SET+=HIGHLIGHTING
OPTIONS_SET+=HINTING_FULL
OPTIONS_SET+=HSPELL
OPTIONS_SET+=HTMLDOCS
OPTIONS_SET+=HTMLHELP
OPTIONS_SET+=HTTP_REDIS
OPTIONS_SET+=HUNSPELL
OPTIONS_SET+=IJS
OPTIONS_SET+=ILBC
OPTIONS_SET+=INFLUXDB
OPTIONS_SET+=INSULTS
OPTIONS_SET+=IPC
OPTIONS_SET+=IPV6
OPTIONS_SET+=ISPELL
OPTIONS_SET+=JASPER
OPTIONS_SET+=JPEG
OPTIONS_SET+=JPEG 
OPTIONS_SET+=JPEG2000
OPTIONS_SET+=JSON
OPTIONS_SET+=KATE
OPTIONS_SET+=KVAZAAR
OPTIONS_SET+=LADSPA
OPTIONS_SET+=LAME
OPTIONS_SET+=LAME 
OPTIONS_SET+=LAPACK
OPTIONS_SET+=LDAP
OPTIONS_SET+=LIBCACA
OPTIONS_SET+=LIBMNG
OPTIONS_SET+=LIBRSVG2
OPTIONS_SET+=LIBSSH2
OPTIONS_SET+=LIBVISUAL
OPTIONS_SET+=LIBXML2
OPTIONS_SET+=LIBYAML
OPTIONS_SET+=LSOF
OPTIONS_SET+=LUA
OPTIONS_SET+=LV2
OPTIONS_SET+=LZ4
OPTIONS_SET+=LZMA
OPTIONS_SET+=LZO
OPTIONS_SET+=LZO2
OPTIONS_SET+=MAD
OPTIONS_SET+=MAILDIR
OPTIONS_SET+=MAIL_IMAP
OPTIONS_SET+=MAIL_SMTP
OPTIONS_SET+=MAIL_SSL
OPTIONS_SET+=MAN3
OPTIONS_SET+=MANPAGES
OPTIONS_SET+=MATROSKA
OPTIONS_SET+=MAXIMA
OPTIONS_SET+=MENCODER
OPTIONS_SET+=MJPEGTOOLS
OPTIONS_SET+=MKFONTSCALE
OPTIONS_SET+=MMX
OPTIONS_SET+=MODPLUG
OPTIONS_SET+=MONGO
OPTIONS_SET+=MONGODB
OPTIONS_SET+=MONGOSTAT
OPTIONS_SET+=MONGOTOP
OPTIONS_SET+=MOUNT
OPTIONS_SET+=MP3LAME
OPTIONS_SET+=MP3OGG
OPTIONS_SET+=MPC
OPTIONS_SET+=MPEG2
OPTIONS_SET+=MPEG2DEC
OPTIONS_SET+=MPEG2ENC
OPTIONS_SET+=MPG123
OPTIONS_SET+=MPG321
OPTIONS_SET+=MPLAYER
OPTIONS_SET+=MPV
OPTIONS_SET+=MTPDEV
OPTIONS_SET+=MUPDF
OPTIONS_SET+=MUSEPACK
OPTIONS_SET+=MYSOFA
OPTIONS_SET+=MYSQL
OPTIONS_SET+=MYSQL_JDBC
OPTIONS_SET+=NCURSES
OPTIONS_SET+=NDBM
OPTIONS_SET+=NEON
OPTIONS_SET+=NEWSYSLOG
OPTIONS_SET+=NGINX
OPTIONS_SET+=NONFREE
OPTIONS_SET+=NORMALIZE
OPTIONS_SET+=NOTIFY
OPTIONS_SET+=NOTIFYD
OPTIONS_SET+=NUMPY
OPTIONS_SET+=OCAML 
OPTIONS_SET+=OCTAVE
OPTIONS_SET+=ODBC
OPTIONS_SET+=OGG
OPTIONS_SET+=OGG 
OPTIONS_SET+=OPENAL
OPTIONS_SET+=OPENBLAS
OPTIONS_SET+=OPENCL
OPTIONS_SET+=OPENGL
OPTIONS_SET+=OPENH264
OPTIONS_SET+=OPENJPEG
OPTIONS_SET+=OPENSSL
OPTIONS_SET+=OPUS
OPTIONS_SET+=P7ZIP
OPTIONS_SET+=PANGO
OPTIONS_SET+=PCRE
OPTIONS_SET+=PCRE1
OPTIONS_SET+=PCRE2
OPTIONS_SET+=PDF
OPTIONS_SET+=PGO
OPTIONS_SET+=PGSQL
OPTIONS_SET+=PGSQL_JDBC
OPTIONS_SET+=PIE
OPTIONS_SET+=PIXBUF
OPTIONS_SET+=PLATFORM_WAYLAND
OPTIONS_SET+=PLATFORM_X11
OPTIONS_SET+=PLOTUTILS
OPTIONS_SET+=PLUGINS
OPTIONS_SET+=PNG
OPTIONS_SET+=POPCNT 
OPTIONS_SET+=POPPLER
OPTIONS_SET+=PORTAUDIO
OPTIONS_SET+=POSTGRES
OPTIONS_SET+=POSTPROC
OPTIONS_SET+=PROMETHEUS
OPTIONS_SET+=PSGHOSTSCRIPT
OPTIONS_SET+=PSHYBRID
OPTIONS_SET+=PSMUPDF
OPTIONS_SET+=PSPELL
OPTIONS_SET+=PSPOPPLER
OPTIONS_SET+=PYGMENTS
OPTIONS_SET+=PYTHON
OPTIONS_SET+=QML
OPTIONS_SET+=QT5
OPTIONS_SET+=QTWEBENGINE
OPTIONS_SET+=QTWEBKIT
OPTIONS_SET+=R
OPTIONS_SET+=RABBITMQ
OPTIONS_SET+=RAV1E
OPTIONS_SET+=RCC
OPTIONS_SET+=RE2
OPTIONS_SET+=REDIS
OPTIONS_SET+=REDIS2
OPTIONS_SET+=REGEX
OPTIONS_SET+=RELRO
OPTIONS_SET+=RTMP
OPTIONS_SET+=RUBY
OPTIONS_SET+=RXVT_SCROLLBAR
OPTIONS_SET+=SAGE
OPTIONS_SET+=SCHROEDINGER
OPTIONS_SET+=SCILAB
OPTIONS_SET+=SCIPY
OPTIONS_SET+=SDL
OPTIONS_SET+=SETXKBMAP
OPTIONS_SET+=SHARED
OPTIONS_SET+=SIMD
OPTIONS_SET+=SLANG
OPTIONS_SET+=SNAPPY
OPTIONS_SET+=SNDFILE
OPTIONS_SET+=SNMP
OPTIONS_SET+=SOCKS
OPTIONS_SET+=SOURCE
OPTIONS_SET+=SOURCES
OPTIONS_SET+=SOURCE_HIGHLIGHT
OPTIONS_SET+=SOXR
OPTIONS_SET+=SPARSE
OPTIONS_SET+=SPEEDPITCH
OPTIONS_SET+=SPELL
OPTIONS_SET+=SPELLCHECK
OPTIONS_SET+=SPELL_CHECK
OPTIONS_SET+=SPHINX
OPTIONS_SET+=SQL
OPTIONS_SET+=SQLITE
OPTIONS_SET+=SQLITE3
OPTIONS_SET+=SSE
OPTIONS_SET+=SSE2
OPTIONS_SET+=SSE3
OPTIONS_SET+=SSE4_1
OPTIONS_SET+=SSH
OPTIONS_SET+=SSL
OPTIONS_SET+=SSL3
OPTIONS_SET+=SSSE3
OPTIONS_SET+=SSWF
OPTIONS_SET+=SUITESPARSE
OPTIONS_SET+=SVG
OPTIONS_SET+=SVGALIB
OPTIONS_SET+=SVTAV1
OPTIONS_SET+=SWSCALE
OPTIONS_SET+=SYNTAX 
OPTIONS_SET+=SYSTRAY
OPTIONS_SET+=TCL
OPTIONS_SET+=TCLMAN
OPTIONS_SET+=TCLTK
OPTIONS_SET+=TFTP
OPTIONS_SET+=THEMES
OPTIONS_SET+=THEORA
OPTIONS_SET+=THUMBNAILER
OPTIONS_SET+=TIFF
OPTIONS_SET+=TK
OPTIONS_SET+=TKINTER
OPTIONS_SET+=TKMAN
OPTIONS_SET+=TKMIB
OPTIONS_SET+=TOML
OPTIONS_SET+=TOOLAME
OPTIONS_SET+=TOOLBAR
OPTIONS_SET+=TWOLAME
OPTIONS_SET+=UNIXODBC
OPTIONS_SET+=UNZIP
OPTIONS_SET+=URLS
OPTIONS_SET+=UTILS
OPTIONS_SET+=UVMETER
OPTIONS_SET+=VAAPI
OPTIONS_SET+=VCD
OPTIONS_SET+=VDPAU
OPTIONS_SET+=VIDEO_KMSDRM
OPTIONS_SET+=VIDEO_OPENGL
OPTIONS_SET+=VIDEO_WAYLAND
OPTIONS_SET+=VIDEO_X11
OPTIONS_SET+=VIDSTAB
OPTIONS_SET+=VLC
OPTIONS_SET+=VMAF
OPTIONS_SET+=VNC
OPTIONS_SET+=VO_AMRWBENC
OPTIONS_SET+=VPX
OPTIONS_SET+=WAVE
OPTIONS_SET+=WAVPACK
OPTIONS_SET+=WAYLAND
OPTIONS_SET+=WEATHER
OPTIONS_SET+=WEBENGINE
OPTIONS_SET+=WEBKIT
OPTIONS_SET+=WEBP
OPTIONS_SET+=WEBVFX
OPTIONS_SET+=WIDGETS
OPTIONS_SET+=WIDGETS 
OPTIONS_SET+=WMCTRL
OPTIONS_SET+=X
OPTIONS_SET+=X11
OPTIONS_SET+=X264
OPTIONS_SET+=X265
OPTIONS_SET+=XATTR
OPTIONS_SET+=XAUTH
OPTIONS_SET+=XCALC
OPTIONS_SET+=XCLOCK
OPTIONS_SET+=XDOTOOL
OPTIONS_SET+=XDPYINFO
OPTIONS_SET+=XDRIINFO
OPTIONS_SET+=XFCE
OPTIONS_SET+=XFCE4
OPTIONS_SET+=XFT
OPTIONS_SET+=XINE
OPTIONS_SET+=XINERAMA
OPTIONS_SET+=XML
OPTIONS_SET+=XRANDR
OPTIONS_SET+=XSANE
OPTIONS_SET+=XVID
OPTIONS_SET+=XVIDEO
OPTIONS_SET+=XVMC
OPTIONS_SET+=YELP
OPTIONS_SET+=ZEMBEREK
OPTIONS_SET+=ZIMG
OPTIONS_SET+=ZIP
OPTIONS_SET+=ZLIB
OPTIONS_SET+=ZMQ
OPTIONS_SET+=ZSH
OPTIONS_SET+=ZSTANDARD
OPTIONS_SET+=ZSTD
OPTIONS_SET+=ZVBI

OPTIONS_UNSET+=OSS
OPTIONS_UNSET+=OSS4
OPTIONS_UNSET+=MULTILIB
OPTIONS_UNSET+=SOUNDTOUCH
OPTIONS_UNSET+=ALSA
OPTIONS_UNSET+=AVAHI
OPTIONS_UNSET+=DEBUG
OPTIONS_UNSET+=DBUS 
OPTIONS_UNSET+=GOLD
OPTIONS_UNSET+=GSSAPI
OPTIONS_UNSET+=GSSAPI_BASE
OPTIONS_UNSET+=GSSAPI_HEIMDAL
OPTIONS_UNSET+=GSSAPI_MIT
OPTIONS_UNSET+=IMAGEMAGICK
OPTIONS_UNSET+=IMAGEMAGICK6
OPTIONS_UNSET+=IMAGEMAGICK7
OPTIONS_UNSET+=JACK
OPTIONS_UNSET+=KERBEROS
OPTIONS_UNSET+=KERB_GSSAPI
OPTIONS_UNSET+=LDAPS
OPTIONS_UNSET+=LETTER
OPTIONS_UNSET+=LIGHTDM
OPTIONS_UNSET+=LIRC
OPTIONS_UNSET+=LTO
OPTIONS_UNSET+=MAGICK
OPTIONS_UNSET+=MDNSRESPONDER
OPTIONS_UNSET+=NAS
OPTIONS_UNSET+=NFS
OPTIONS_UNSET+=NLS
OPTIONS_UNSET+=NTLM
OPTIONS_UNSET+=OPENMP
OPTIONS_UNSET+=PGO
OPTIONS_UNSET+=PROFILE
OPTIONS_UNSET+=PROFILING
OPTIONS_UNSET+=PULSE
OPTIONS_UNSET+=PULSEAUDIO
OPTIONS_UNSET+=SID
OPTIONS_UNSET+=SIDPLAY
OPTIONS_UNSET+=SMB
OPTIONS_UNSET+=SUDO
OPTIONS_UNSET+=V4L
OPTIONS_UNSET+=V4L2
OPTIONS_UNSET+=VULKAN
OPTIONS_UNSET+=WEBCAM
OPTIONS_UNSET+=WEBCAMD
OPTIONS_UNSET+=ZBAR
OPTIONS_UNSET+=ZEITGEIST
```


----------



## zirias@ (Mar 19, 2022)

poudriere(-devel) will detect custom options. It won't detect custom CFLAGS. Think again whether you really need them. What's your reason for them? I see some flags aimed at detecting errors or allowing optimizations (like `-fstrict-aliasing`). These should really be handled upstream. The ports framework already adds `-fstack-protector-strong` for security reasons. IMHO, there's close to nothing to gain with custom CFLAGS, but a lot of risk to break stuff...


----------



## grahamperrin@ (Mar 19, 2022)

Alain De Vos said:


> … whitelist … build every port listed from source except download one package …



Have you tried specifying that one package?

The example line that's currently at the foot of /usr/local/etc/poudriere.conf.sample


```
% tail -n 8 /usr/local/etc/poudriere.conf.sample
# Packages which should never be fetched.  This is useful for ports that
# you have local patches for as otherwise the patches would be ignored if
# a remote package is used instead.
#PACKAGE_FETCH_BLACKLIST=""
# Alternatively a whitelist can be created to only allow specific packages to
# be fetched.
# Default: everything
#PACKAGE_FETCH_WHITELIST="gcc* rust llvm*"
%
```


----------



## Alain De Vos (Mar 20, 2022)

I tried,

```
export PACKAGE_FETCH_WHITELIST="devel/dub"
nice -n 20 /usr/local/bin/poudriere bulk  -J 5:5  -j $JAIL -p $PORTS -f $PACKAGES
```
But it did not worked ?


----------



## SirDice (Mar 21, 2022)

Why do you think this works as an environment variable? Set it in poudriere.conf.


----------



## Alain De Vos (Mar 22, 2022)

It still fails.
poudriere.conf:

```
FREEBSD_HOST=ftp://ftp.nl.freebsd.org
ZPOOL=ZT
ZROOTFS=/jails/a/apou
# The directory where poudriere will store jails and ports
BASEFS=/usr/local/poudriere
# The directory where the jail will store the packages and logs by default a zfs filesystem will be created and set to ${BASEFS}/data
POUDRIERE_DATA=${BASEFS}/data
CCACHE_DIR=/ccache
RESOLV_CONF=/etc/resolv.conf
DISTFILES_CACHE=/usr/ports/distfiles
URL_BASE="http://127.0.0.1/"
HTML_TRACK_REMAINING=yes
HTML_TYPE="hosted"
WRKDIR_ARCHIVE_FORMAT=tar
USE_TMPFS=no
CHECK_CHANGED_DEPS=yes
CHECK_CHANGED_OPTIONS=verbose
NOLINUX=yes
TIMESTAMP_LOGS=yes
USE_COLORS=yes
USE_PORTLINT=no
PARALLEL_JOBS=6
PREPARE_PARALLEL_JOBS=6
ALLOW_MAKE_JOBS=yes
KEEP_OLD_PACKAGES=no
KEEP_OLD_PACKAGES_COUNT=1
PACKAGE_FETCH_WHITELIST="devel/dub"
```


```
nice -n 20 /usr/local/bin/poudriere bulk  -J 5:5  -j $JAIL -p $PORTS -f $PACKAGES
```

It's not trying a compiled download.


----------



## SirDice (Mar 22, 2022)

```
See PACKAGE_FETCH_BRANCH, PACKAGE_FETCH_URL,
              PACKAGE_FETCH_BLACKLIST, and PACKAGE_FETCH_WHITELIST in
              poudriere.conf.sample.  The entries in the lists will be matched
              against package names without versions.
```
Read that last line.


----------



## zirias@ (Mar 22, 2022)

Uhm, the issue here is, package prefetching isn't enablet _at all_ (so, the whitelist has no effect).

This can be done either in poudriere.conf with `PACKAGE_FETCH_BRANCH=<branch>` or on the commandline with the flag `-b <branch>`.

`<branch>` means the package repo branch to use for fetching, e.g. `latest` or `quarterly`.


----------



## Alain De Vos (Mar 22, 2022)

Using the following in poudriere.conf worked :

```
PACKAGE_FETCH_WHITELIST="dub"
PACKAGE_FETCH_BRANCH="quarterly"
```
Now i have 3900 ports build from source and 1 binary in my repository , and i can live with that.


----------

