Warning: there may be occasional oddness due to css and blog edits. **KNOWN ISSUE: possible hidden text**
Showing posts with label sh scripting. Show all posts
Showing posts with label sh scripting. Show all posts

Sunday, November 3, 2024

Bulklist blacklist deblacked

Using poudriere locally can allow you to define the ports you install the way you want them.  My present /etc/make.conf controls some defaults and many configurations, I discuss and reveal the iteration as of August 9th at make.conf in control.  The configurations, if I make rmconfig will revert not to the ports normal defaults but those settings I prefer which I set for some of them within the make.conf file.

Collecting the installed ports is as easy as pkg origin >> /var/tmp/installed-pkgs-gross but my script takes this and complicates it substantially so that my bulk list contains only what I desire regardless of what is actually installed.  It also makes category lists and a list which excludes any installed games.  In the past I have installed nearly every game in ports, aside from those which require a CDROM or some other special thing I may not possess.

There are some specific excludes from the final bulk list files which avoids some versioned ports which are largely build dependencies, or can be more easily updated if bulk lists do not include a versioned port.  You can see below in the organizing section that I avoid intel drivers (I have AMD), llvm, qt5, kf5.  java, anything in the lang category, python specifically, bash, and samba.

#!/bin/sh
echo "Clearing /var/tmp p-keglist files.."; sleep 3
rm /var/tmp/installed-pkgs-gross 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-added 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-sorted 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-ungamed 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-* 2>/dev/null &&echo -n "."
echo;echo "--"; echo


echo "Backing up installed-gross list to /var/tmp"
cp ~/installed-pkgs-gross /var/tmp/installed-pkgs-gross.backup
echo;echo "--"; echo


echo "Gathering list of installed pkgs.."
pkg origin >> /var/tmp/installed-pkgs-gross
echo;echo "--"; echo


echo "Organizing the list.."
cat /var/tmp/installed-pkgs-gross | sort -d | sort -u | \
sed -E 's:^graphics\/gpu-firmware-intel-kmod$::'| \
sed -E 's:^devel\/llvm[0-9]+::'| \
sed -E 's:[a-z,1,\-]+\/qt5-.+::' | \
sed -E 's:[a-z,1,\-]+\/kf5-.+::' | \
sed -E 's:^java\/.+$::' | \
sed -E 's:^lang\/.+$::' | \
sed -E 's:^lang\/python$::' | \
sed \
-e 's:shells\/bash::' \
-e 's:net\/samba[a-z,\-]+[0-9]+::' \
>> /var/tmp/installed-pkgs-gross-added &&echo -n "."
cat /var/tmp/installed-pkgs-gross-added | \
sort -u -d > /var/tmp/installed-pkgs-gross-sorted && echo -n "."
mv /var/tmp/installed-pkgs-gross-sorted /var/tmp/installed-pkgs-gross &&echo -n "."
cp /var/tmp/installed-pkgs-gross ~ &&echo -n "."
echo;echo "--"; echo


echo "Dividing the list.."; sleep 3
category=0

for portorigin in `cat /var/tmp/installed-pkgs-gross`
do
category=`echo $portorigin | cut -d / -f 1`
echo $portorigin >> /var/tmp/installed-pkgs-$category

#echo $category $portorigin
echo $portorigin
if ! [ "$category" = "games" ] ; then
echo $portorigin >> /var/tmp/installed-pkgs-ungamed
fi
done
echo;echo "--"; echo


rm /var/tmp/installed-pkgs-gross-added 2>/dev/null

echo "Finalizing and checking list sizes, one looong moment.." ;sleep 2
for listfile in `ls -1 /var/tmp/installed-pkgs-*`
do
wc -l $listfile |sed -e 's:\/var\/tmp\/::'
done

cp /var/tmp/installed-pkgs-* ~
echo;echo "--"; echo

The blacklist is still rather extensive, it has too many lines still in the file but commented out with a pound symbol (#).  A few of them I have toggled between commented and active, usually rust and firefox and veloren, which tend to be a bit consuming.  I have also changed my mind about libressl and some other ports, those all likely commented right now.  Aside from the lines which are port origins with a # as the first character, I have chosen to include a lot of comments to help document why something is in the file.  It is most certainly good practice to include documentation with any comment mechanism the file format allows, you may not review a file for quite a while after you initially create it.  Frequently the purpose may be lost to time, so add comments at creation so you won't have to remember what you did or why, a good safeguard.

# Doesn't exist
devel/libtar

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  oddness with py39 something issue			#
#_______________________________________________________#
graphics/lensfun


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these presently fail					#
#_______________________________________________________#
#games/wesnoth
#games/abstreet
#games/opendungeons
#games/jinput
#graphics/ocaml-images
#emulators/wine
#www/py-aiohttp
#devel/opengrok
#games/DDNet
#games/libretro-fbneo
#www/nspluginwrapper
#games/orthorobot


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to use version 7 and avoid 6			#
#_______________________________________________________#
graphics/ImageMagick6
graphics/ImageMagick6-nox11


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  use 17 rather than 16 or others.			#
#_______________________________________________________#
www/node16


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  These do not exist in ports				#
#_______________________________________________________#
#sysutils/pcbsd-libsh
#x11-fonts/font-bitstream-speedo
#x11-fonts/fontconfig-reference
#x11-wm/fvwm-crystal
net/libmms


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Expired/Deprecated/Unsupported upstream		#
#_______________________________________________________#
multimedia/schroedinger


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Except when using testport Build outside poudriere	#
# minetest fork of irrlicht does not conflict		#
#_______________________________________________________#
databases/dbeaver-dev
deskutils/flameshot-dev
devel/distcc-dev
games/eternallands-data
games/eternallands-dev
games/godot-dev
games/lutris-freebsd
games/minetest-dev
games/minetestmapper-dev
#games/ryzomcore
graphics/feh-dev
graphics/libthorvg
x11-toolkits/irrlicht-minetest
x11-wm/fvwm3-dev


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Build without poudriere: tigersharke/Ported_Software #
#_______________________________________________________#
audio/easytag
databases/dbeaver
deskutils/flameshot
games/el
games/el-data
games/eternallands-data
games/godot
games/lutris
games/minetest
games/minetestmapper
games/minetest_game
graphics/feh
graphics/libthorvg
net/libmms
x11-toolkits/irrlicht
x11-wm/fvwm3


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid bulk build of these silly things		#
# These or others get added by bulk list creation	#
#_______________________________________________________#
games/pink-pony
games/cowsay
games/neo-cowsay
games/xcowsay
games/coffeebreak
games/powdertoy
games/powder-toy
games/powdertoy-devel
games/powder-toy-devel
games/sex
games/weebsay


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  builds but doesn't work				#
#_______________________________________________________#
games/excido


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  toggle these - often cause troubles or take FOREVER	#
#_______________________________________________________#
#games/veloren-weekly
#games/veloren
www/firefox
#lang/rust
lang/rust-nightly
#x11-fonts/iosevka
#lang/rust-bootstrap
#devel/efl
#x11-wm/enlightenment
#devel/rust-cbindgen


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  conflicts in port or its depends			#
#_______________________________________________________#
#java/jmf
#devel/typetools
#games/openarena
#games/slade
#games/golly
#games/gnubik
#games/openmw


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to force more current version of llvm 		#
#  Discover what breaks and adjust accordingly.		#
#  first is "default" version, unversioned LLVM		#
#							#
#  Some things require llvm15				#
#_______________________________________________________#
#devel/llvm
#devel/llvm17@default
#
devel/llvm70
devel/llvm80
devel/llvm90
devel/llvm10
devel/llvm11
devel/llvm12
devel/llvm13
devel/llvm14
devel/llvm15
devel/llvm16
#devel/llvm17
#devel/llvm-devel
#devel/ccache


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#							#
# I should make a Ported_Software build for it		#
#_______________________________________________________#
#www/bluefish


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Should be no need for these at all due to git	#
#_______________________________________________________#
devel/subversion
devel/p5-subversion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these fail due to ruby default			#
#_______________________________________________________#
#accessibility/rubygem-atk
#archivers/rubygem-rubyzip
#devel/git@tiny
#devel/rubygem-cairo-gobject
#devel/rubygem-gettext
#devel/rubygem-gio2
#devel/rubygem-glib2
#devel/rubygem-gobject-introspection
#devel/rubygem-highline
#devel/rubygem-json_pure
#devel/rubygem-locale
#devel/rubygem-manpages
#devel/rubygem-native-package-installer
#devel/rubygem-optimist
#devel/rubygem-paint
#devel/rubygem-pkg-config
#devel/rubygem-rake
#devel/rubygem-thor
#devel/ruby-sdl
#editors/neovim
#games/freecell-solver
#games/jaggedalliance2
#games/magicmaze
#games/ninix-aya
#games/rubygem-fortune_gem
#games/rubygem-lolcat
#games/rubygem-vimgolf
#graphics/rubygem-cairo
#graphics/rubygem-gdk_pixbuf2
#graphics/rubygem-opengl
#math/rubygem-narray
#multimedia/rubygem-gstreamer
#textproc/rubygem-asciidoctor
#textproc/rubygem-charlock_holmes
#textproc/rubygem-text
#x11-toolkits/rubygem-gdk3
#x11-toolkits/rubygem-gtk3
#x11-toolkits/rubygem-pango


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Openoffice 						#
#_______________________________________________________#
editors/openoffice-4
editors/openoffice-devel
java/bootstrap-openjdk6
math/suitesparse


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# According to vigra comment: 				#
# Using py-NumPY implies Fortran and GCC 4.7+ as hard 	#
# dependencies and require all ports, depending on	#
# vigra, to set USE_GCC=yes				#
#							#
# So lets avoid py-numpy				#
#_______________________________________________________#
#math/py-numpy
graphics/vigra


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon py-numpy via math/suitesparse		#
#_______________________________________________________#
#games/freeorion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  unexplained dependency on openjdk7 which fails build #
#_______________________________________________________#
java/openjdk7
java/bootstrap-openjdk6
#
#math/cgal
#math/suitesparse
#math/eigen3

#devel/apr1
#databases/db5
#textproc/redland
#www/serf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  mesa-libs conflicts with libglvnd?			#
#_______________________________________________________#
#graphics/libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# complicates the issue?				#
#_______________________________________________________#
#graphics/linux-c7-libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid colord						#
#_______________________________________________________#
graphics/colord


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent -- GNOME - not a necessary dependency #
#_______________________________________________________#
#devel/dconf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Until dependencies fixed in official Makefile	#
#  Use home/tigersharke/Ported_Software instead		#
#_______________________________________________________#
sysutils/dunst


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  lets avoid dbus -- it sucks but allowing for now	#
#_______________________________________________________#
#devel/dbus
#devel/dbus-glib


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent so no need for them - subset likely	#
#_______________________________________________________#
#accessibility/at-spi2-atk
# accessibility/at-spi2-core
#net/avahi-app
#net/avahi-libdns
#sysutils/bsdisks
#x11/compton-conf
#sysutils/consolekit2
#devel/dconf
#x11-toolkits/kf5-attica
#devel/kf5-kauth
#devel/kf5-kbookmarks
#x11-toolkits/kf5-kcompletion
#devel/kf5-kconfig
#x11-toolkits/kf5-kconfigwidgets
#devel/kf5-kcrash
#devel/kf5-kdbusaddons
#x11/kf5-kded
#devel/kf5-kdoctools
#x11/kf5-kglobalaccel
#x11-toolkits/kf5-kguiaddons
#devel/kf5-ki18n
#x11-themes/kf5-kiconthemes
#x11-toolkits/kf5-kitemviews
#x11-toolkits/kf5-kjobwidgets
#devel/kf5-kservice
#x11-toolkits/kf5-ktextwidgets
#x11/kf5-kwayland
#x11-toolkits/kf5-kwidgetsaddons
#x11/kf5-kwindowsystem
#x11-toolkits/kf5-kxmlgui
#textproc/kf5-sonnet
#security/libgnome-keyring
#x11/lumina-coreutils
#sysutils/polkit
#sysutils/polkit-qt
#sysutils/polkit-qt-1
#devel/py39-dbus
#devel/py39-qt5-dbussupport
#devel/qt5-dbus
#x11-toolkits/qt5-declarative
#graphics/qt5-graphicaleffects
# x11-toolkits/qt5-gui
#graphics/qt5-imageformats
#multimedia/qt5-multimedia
#graphics/qt5-opengl
#print/qt5-printsupport
#accessibility/qt5-speech
#graphics/qt5-svg
#x11-toolkits/qt5-uiplugin
#devel/qt5-uitools
#graphics/qt5-wayland
#x11-toolkits/qt5-widgets
#x11/qt5-x11extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Since qt5-core has no config, and requires dbus as	#
# well as accessibility/at-spi2-core			#
#_______________________________________________________#
#devel/qt5-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon math/suitesparse			#
#_______________________________________________________#
#devel/boost-python-libs


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# kerberos or heimdal or gssapi stuff not needed	#
#_______________________________________________________#
net-mgmt/nagstamon
net/rubygem-omniauth-kerberos
security/cyrus-sasl2-gssapi
#security/heimdal
security/krb5-appl
security/krb5-devel
security/p5-Authen-Krb5
security/p5-Authen-Krb5-Simple
security/p5-Authen-Simple-Kerberos
security/p5-GSSAPI
security/p5-Heimdal-Kadm5
security/pam_krb5
security/py-flask-kerberos
security/py-gssapi
security/py-kerberos
security/py-pywinrm
security/py-requests-kerberos
security/rubygem-gssapi
www/gitlab-ce
www/mod_auth_gssapi
www/mod_auth_kerb2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Unmaintained and dead upstream, 			#
#	does not build with -fno-common (llvm 11)	#
#_______________________________________________________#
#games/bomberinstinct
#games/bygfoot
#games/cavezofphear
#games/cosmo
#games/cre
#games/drm


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# used to avoid this as luajit-openresty is preferred	#
# -- conflicts with luajit				#
#_______________________________________________________#
lang/luajit
#lang/luajit-devel
lang/luajit-openresty


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Build outside of ports until luajit-openresty default #
#_______________________________________________________#
#games/catesc
#games/freeminer-default
#games/freeminer
#games/instead
#games/mari0
#games/minerbold
#games/minetest_game
#games/minetest
#games/naev
#games/powder-toy
#games/solarus-quest-editor
#games/solarus
#games/voadi


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Avoid libressl of any variety on desktop, use openSSL	#
# libressl is fine on simpler systems like firewall but	#
# is NOT properly supported by software in general.	#
#_______________________________________________________#
security/libressl
security/libressl-devel
security/libressl*


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# conflicts with libressl-devel				#
#	but maybe avoid anyhow if possible		#
#_______________________________________________________#
#security/gnutls
#security/nettle


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require gnupg -- no option visible	#
#_______________________________________________________#
#devel/kf5-kcmutils
#devel/kf5-kdeclarative
#devel/kf5-kio
#devel/kf5-knewstuff
#devel/kf5-knotifyconfig
#devel/kf5-kparts
#devel/libgdata
#games/kanagram
#games/khangman
#mail/gmime30
#misc/libkeduvocdocument
#multimedia/totem-pl-parser
#net/gnome-online-accounts
#security/gcr
#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#sysutils/kf5-kwallet
#x11/kf5-kactivities
#x11/kf5-kinit
x11/kf5-plasma-framework
#x11-toolkits/kf5-kirigami2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# nettle dependents					#
#_______________________________________________________#
#devel/librest
#devel/libsoup
#devel/qca
#mail/gmime30
#multimedia/totem-pl-parser
#net/geoclue
#net/glib-networking
#net-im/gloox
#net/uhttpmock
#security/gnupg

#security/gnutls

#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#security/libgsasl
#sysutils/password-store
#sysutils/qtpass
#sysutils/tracker
#x11-toolkits/gnome-pty-helper
#x11-toolkits/vte


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require nettle -- no option visible	#
#_______________________________________________________#
#audio/audacity
#audio/lollypop
#devel/appstream-glib
#devel/glade
#devel/libgdata
#devel/librest
#devel/libsoup
#games/0ad
#games/atomix
#games/diaspora
#games/four-in-a-row
#games/freedink
#games/freedink-dfarc
#games/gnome-2048
#games/gnome-chess
#games/gnome-nibbles
#games/gnome-robots
#games/gnome-sudoku
#games/golly
#games/hitori
#games/iagno
#games/megaglest
#games/pioneers
#games/quadrapassel
#games/trenchbroom
#games/wxlauncher
#graphics/gimp
#graphics/gimp-app
#graphics/gimp-data-extras
#mail/claws-mail
#mail/claws-mail-gdata
#mail/claws-mail-libravatar
#mail/claws-mail-litehtml_viewer
#mail/claws-mail-mailmbox
#mail/claws-mail-newmail
#mail/claws-mail-notification
#mail/claws-mail-rssyl
##multimedia/totem-pl-parser
#net/glib-networking
#net/gnome-online-accounts
#net-im/gloox
#net/uhttpmock
#print/gimp-gutenprint

#security/gnutls

#www/gtkhtml4
#www/webkit2-gtk3
#x11-fonts/cantarell-fonts
#x11/gnome-desktop
#x11-toolkits/libhandy
#x11-toolkits/wxgtk30
#x11-toolkits/wxgtk31
#x11/yelp


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# git -- avoid other flavors				#
#_______________________________________________________#
devel/git@default
devel/git@gui
devel/git@lite
devel/git@svn
devel/git-default
devel/git-gui
devel/git-lite
devel/git-svn


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# avoid -- also dbus dependents				#
#_______________________________________________________#
#accessibility/at-spi2-atk
#accessibility/at-spi2-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# accessibility/at-spi2-atk dependents without config	#
#_______________________________________________________#
#devel/electron11
#editors/vscode
#www/chromium
#x11/cinnamon
#x11/gnome-shell
#x11-toolkits/gtkada3


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# db5 issue 						#
#_______________________________________________________#
#audio/jack


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  obslete and would need makefile changes to fix build	#
#_______________________________________________________#
graphics/osg34


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  osg34 dependent cannot build				#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Rebuild only with updated kernel/world		#
#  and maybe keep pkg locked in between times.		#
#_______________________________________________________#
emulators/virtualbox-ose
emulators/virtualbox-ose-kmod


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  talloc and tevent not needed -- ldap/samba focus	#
#_______________________________________________________#
devel/talloc
devel/tevent


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  samba not needed - depends above denied won't build	#
#_______________________________________________________#
net/samba


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas conflicts with netlib/cblas preferred	#
#_______________________________________________________#
#math/openblas


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas dependent cannot build			#
#_______________________________________________________#
#biology/bolt-lmm
#biology/gcta
#biology/gemma
#biology/plink
#cad/gmsh
#graphics/opencv
#math/adept
#math/ambit
#math/armadillo
#math/blaze
#math/blazeiterative
#math/casadi
#math/ceres-solver
#math/cminpack
#math/coinutils
#math/dbcsr
#math/deal.ii
#math/dune-common
#math/dune-fem
#math/dune-geometry
#math/dune-grid
#math/dune-pdelab
#math/dune-polygongrid
#math/dune-uggrid
#math/dune-vtk
#math/eigen3
#math/elemental
#math/elpa
#math/faiss
#math/fflas-ffpack
#math/flint2
#math/freefem++
#math/g2o
#math/hmat-oss
#math/iml
#math/jags
#math/lapack++
#math/linbox
#math/moab
#math/octave
#math/octave-forge-ltfat
#math/openturns
#math/osi
#math/primme
#math/py-numpy
#math/py-scs
#math/qposases
#math/sage
#math/scalapack
math/scs
#math/suitesparse
#math/sundials
#misc/mxnet
#misc/openmvg
#misc/visp
#science/bagel
#science/berkeleygw
#science/chemps2
#science/chrono
#science/code_saturne
#science/dalton
#science/elk
#science/elmerfem
#science/erkale
#science/gamess-us
#science/iboview
#science/lammps
#science/latte
#science/libcint
#science/mpb
#science/multiwfn
#science/opensim-core
#science/py-gpaw
#science/py-phono3py
#science/py-scipy
#science/qiskit-aer
#science/qmcpack
#science/simbody
#science/xtb

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Avoid all nvidia -- hidden deps			#
#_______________________________________________________#
graphics/nvidia-texture-tools
net-mgmt/nvidia_gpu_prometheus_exporter
x11/linux-nvidia-libs*
#x11/linux-nvidia-libs-304
#x11/linux-nvidia-libs-340
#x11/linux-nvidia-libs-390
x11/nvidia-driver*
#x11/nvidia-driver-304
#x11/nvidia-driveR-340
#X11/nvidia-driver-390
x11/nvidia*
#x11/nvidia-settings
#x11/nvidia-xconfig


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  This one often causes problems, avoid if possible	#
#_______________________________________________________#
x11-drivers/xf86-video-scfb


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  WHY should these ever be built on ICHIGO?		#
#_______________________________________________________#
#graphics/gpu-firmware-intel-kmod
x11/xbacklight


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fails when fontforge fails				#
#_______________________________________________________#
#x11-fonts/oxygen-fonts


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  deprecated version of python 2.7			#
#_______________________________________________________#
lang/python27


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  python27 dependent cannot build			#
#_______________________________________________________#
devel/py-backports.functools_lru_cache
graphics/gif2png
devel/godot2
lang/cython@py27
devel/py-enum34
devel/py-future@py27
devel/py-game_sdl2@py27
net/py-ipaddress
devel/py-setuptools@py27
x11-toolkits/py-tkinter@py27
devel/scons@py27
net/py-ipaddress
#
devel/electron13
devel/py-setuptools44
dns/py-dnspython1
games/renpy
lang/python2
mail/mailman
mail/mailman-exim4
mail/mailman-postfix
sysutils/uefi-edk2-bhyve-csm
www/moinmoin
www/qt5-webengine


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  license confirmation needed				#
#_______________________________________________________#
games/taipan
games/tyrian-data
games/linux-unigine-valley
games/primateplunge
games/linux-unigine-heaven
games/minecraft-server
games/rawgl
games/steelstorm
games/mtaserver
games/goonies


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  cdrom or mount of cdrom needed			#
#_______________________________________________________#
games/HeroesOfMightAndMagic
games/jaggedalliance2
games/kodi-addon-game.libretro.genplus
games/kodi-addon-game.libretro.pcsx-rearmed
games/kodi-addon-game.libretro.picodrive
games/linux-quake4
games/linux-ssamtse
games/linux-ssamtfe
games/linux-unrealgold
games/linux-ut



#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  i386 only or fails on amd64				#
#_______________________________________________________#
#devel/bennugd-core
games/q3cellshading
games/quake3
games/lmpc
games/doom


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  run depends						#
#_______________________________________________________#
emulators/i386-wine-devel


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid dependencies					#
#_______________________________________________________#
games/valyriatear
games/eboard
games/foobillard
games/xconq


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid nvidia textures dependency			#
#_______________________________________________________#
games/xray_re-tools


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fetch - config issue (missing file via option)	#
#_______________________________________________________#
games/quake2-extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stage - broken due to missing file			#
#_______________________________________________________#
#games/odamex


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  depends upon broken love				#
#_______________________________________________________#
#games/mari0
#games/gunfudeadlands


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  broken due to sdl12 & opengl includes in source	#
#_______________________________________________________#
devel/love07
devel/love08


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  investigation needed					#
#_______________________________________________________#
#devel/godot2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dependencies already blacklisted			#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  metaport fails due to blacklisted component		#
#_______________________________________________________#
#games/gnome-games


The deblack script below, excludes the port origins by filtering through the blacklist which then creates a fresh bulk list which then becomes the file sent to poudriere.  The command you might issue, if the script is named 'p-keg-deblack' would be poudriere bulk -j 14amd64 -f `p-keg-deblack installed-pkgs-gross` and note the part enclosed by the (`) characters which provides the result of the script in its place.

#!/bin/sh
rm ~/$1-deblack 2>/dev/null
rm /var/tmp/cleaned_blacklist 2>/dev/null
rm /var/tmp/list 2>/dev/null
rm /var/tmp/sorted_list 2>/dev/null
cp $1 /var/tmp/list
cat /var/tmp/list | sort -d -u > /var/tmp/sorted_list && rm $1 && cp /var/tmp/sorted_list $1
grep -v \# ~/Symbolic_Links/14amd64-blacklist | sort -d -u > /var/tmp/cleaned_blacklist

diff -B -w $1 /var/tmp/cleaned_blacklist | grep \< |sed  -e 's/^<\ //g' -e 's/---//g' -e '1d' > ~/$1-deblack

echo $1-deblack

When I figure out how I might handle moved or renamed or nonexistent ports, I may revisit the scripts and post an update.  Until then, if any of those conditions exist, poudriere will halt right after providing an error or warning message describing which correction needs to be made.  Be careful about typos in your blacklist file since those can be confusing because you may assume the error is in your bulk list like it would be for the previous reasons.

Try out building your own local ports with the options you prefer that are different than the defaults.  Of course, once more, Essential caveat: Use those scripts at your own risk, I make no promises.  I believe they are safe but test and verify and choose to use them when you're satisfied.

Monday, March 11, 2024

Poudriere bulk build lists

I may have briefely mentioned or possibly even described how I collect what is installed on my system for rebuilding via poudriere.  I have two methods that I use from time to time, one takes a list direct from those directories which exist in the ports tree, and the other uses pkg to collect what is installed already.  There are only two areas which I am most likely to install all or a majority of the ports and that is fonts and games.  I might use these lists periodically to ensure that new things were added.  I could use the ports tree built-in mechanisms to build every port in a category such as fonts or games but this means I would get items I do not desire.  Building via poudriere will permit me to limit to what I wish and more quickly handle the task as it would work upon a bulk list and has a blacklist capability.

The simple script to collect all the fonts that could be installed looks like this:

#!/bin/sh
[ -f /root/allfonts-list ] && rm /root/allfonts-list
for dir in `ls /usr/ports/x11-fonts`
 do
  echo x11-fonts/$dir >> /root/allfonts-list
done

The same for games is only changed a little:

#!/bin/sh
[ -f /root/allgames-list ] && rm /root/allgames-list
for dir in `ls /usr/ports/games`
 do
  echo games/$dir >> /root/allgames-list
done

My script to create the gross bulk list as well as lists divided into categories of what ports are installed is a bit larger and provides more feedback than most of my scripts.  It was quieter but I decided that it is nice to know what its doing rather than possibly failing, so more of my newer or re-written scripts include a bit more echoes.  You may notice in this script (below) that I specifically exclude the various llvm ports from the bulk list.  These I won't ever need built as non-dependent ports so I expect that poudriere or pkg would draw them in automatically.  This also eliminates the chance that I would have multiple versions of llvm in any bulk list which could become outdated and unneeded.  The blacklist can further eliminate old versions of llvm which could be dependencies but probably ought to be newer versions when upstream for those ports finally get to that task.

#!/bin/sh
echo "Clearing /var/tmp p-keglist files.."
rm /var/tmp/installed-pkgs-gross 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-added 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-sorted 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-ungamed 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-* 2>/dev/null &&echo -n "."
echo;echo "--"; echo


echo "Backing up installed-gross list to /var/tmp"
cp ~/installed-pkgs-gross /var/tmp/installed-pkgs-gross.backup
echo;echo "--"; echo


echo "Gathering list of installed pkgs.."
pkg origin >> /var/tmp/installed-pkgs-gross
echo;echo "--"; echo


echo "Organizing the list.."
cat /var/tmp/installed-pkgs-gross | sort -d | sort -u >> /var/tmp/installed-pkgs-gross-added &&echo -n "."
cat /var/tmp/installed-pkgs-gross-added | sed -E 's:devel\/llvm[0-9]*::'| sort -u -d > /var/tmp/installed-pkgs-gross-sorted &&echo -n "."
mv /var/tmp/installed-pkgs-gross-sorted /var/tmp/installed-pkgs-gross &&echo -n "."
cp /var/tmp/installed-pkgs-gross ~ &&echo -n "."
echo;echo "--"; echo


echo "Dividing the list.."
category=0

for portorigin in `cat /var/tmp/installed-pkgs-gross-added`
do
category=`echo $portorigin | cut -d / -f 1`
echo $portorigin >> /var/tmp/installed-pkgs-$category

echo $category $portorigin
if ! [ "$category" = "games" ] ; then
echo $portorigin >> /var/tmp/installed-pkgs-ungamed
fi
done
echo;echo "--"; echo


rm /var/tmp/installed-pkgs-gross-added 2>/dev/null

echo "Finalizing and checking list sizes, one looong moment.."
for listfile in `ls -1 /var/tmp/installed-pkgs-*`
do
wc -l $listfile |sed -e 's:\/var\/tmp\/::'
done

cp /var/tmp/installed-pkgs-* ~
echo;echo "--"; echo

I had noticed that my bulk list constructing script seemed to be including duplicates while my intent at that time had been to maintain a list of what had been installed which had newer items added.  I want to keep track of the things I consistently have installed on my system but which due to some upgrade might be left out due to becoming uninstalled (unintentionally).  During that moment if I were to create the bulk list, those items which I didn't truly want removed from my system would not be included in my bulk list.  My solution may have been faulty, to add-to my bulk list, which caused the duplicates in the bulk listings.  This is why I include a little bit of an attempt to remove possible duplicate lines.  There is also a bulk list which excludes games because those might not be what is most important at the time.

Now that the bulk lists exist, one could issue the following command for their poudriere build process poudriere bulk -j 14amd64 -f `p-keg-deblack installed-pkgs-games` with some small explanation that the "installed=pkgs-games" is the bulk list preceded with -f to indicate to poudriere to take the list from a file.  The "p-keg-deblack" is a script mentioned prevously which filters blacklisted items before sending the list to poudriere, it acts upon the bulk list and the content within the ` characters is seen by poudriere as "installed-pkgs-games-deblack" which is a new file it created.  The -j indicates the poudriere jail that it will use for building.  The blacklist can be crafted how ever you wish, my own and a revised p-keg-deblack script is shown in a previous blog post, Working on a blacklist which may be something you could use, however, Essential caveat: Use this script at your own risk, I make no promises.

Working on a blacklist

The ports-mgmt tool poudriere as a local package builder for installing built ports on the same system is a pretty efficient and effective tool nearly all of the time.  It seems that the default or more well-known method is to build everything in the entire ports tree, surely because the primary or initial intent of this tool was for that particular task.  Whether you use a subset with the -f option and a filename of listed port origins, or use that default massive build, you will be able to get some scrutiny on the builds via poudriere's testing, and bunch of ports will be added to your repository.  It will also build multiple ports in rough parallel which speeds the whole process.  Sometimes even when you give it up to the four or six processor cores worth of builds to do at the same time, it will drop to fewer because a larger dependency like llvm or rust is needed as an update for further ports depending on those.  The file list option I mention is one way to determine what is built, but you can more forcefully deny other things from being built by creating a blacklist.

A blacklist for poudriere is simply a listing of port origins in a file and can include comments or further organization any way you wish.  This file is created and placed in the poudriere directory.  The manpage describes the required filename:

   Blacklist ports
     You can also specify a blacklist which will disallow the lists port
     origins from building on the matched jail. Any of the following are
     allowed and will all be used in the order shown:

           /usr/local/etc/poudriere.d/blacklist
           /usr/local/etc/poudriere.d/<setname>-blacklist
           /usr/local/etc/poudriere.d/<tree>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-blacklist
           /usr/local/etc/poudriere.d/<tree>gt;-<setname>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-<tree>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-<setname>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-<tree>-<setname>-blacklist

     If QEMU is being used then a special qemu blacklist is also loaded.
           /usr/local/etc/poudriere.d/qemu-blacklist

I have been using the jailname option as this is how I have been building my ports, I have not looked deeper into the other methods yet.  My jail is 14amd64, this means the proper path for my blacklist is /usr/local/etc/poudriere.d/14amd64-blacklist and below is what mine looks like at present.

# Doesn't exist
devel/libtar

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  oddness with py39 something issue			#
#_______________________________________________________#
graphics/lensfun


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these presently fail					#
#_______________________________________________________#
games/wesnoth
games/abstreet
games/opendungeons
games/jinput
graphics/ocaml-images
emulators/wine
www/py-aiohttp
devel/opengrok
games/DDNet
games/libretro-fbneo
www/nspluginwrapper
games/orthorobot


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to use version 7 and avoid 6			#
#_______________________________________________________#
graphics/ImageMagick6
graphics/ImageMagick6-nox11


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  use 17 rather than 16 or others.			#
#_______________________________________________________#
www/node16


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  These do not exist in ports				#
#_______________________________________________________#
#sysutils/pcbsd-libsh
#x11-fonts/font-bitstream-speedo
#x11-fonts/fontconfig-reference
#x11-wm/fvwm-crystal
net/libmms


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Expired/Deprecated/Unsupported upstream		#
#_______________________________________________________#
multimedia/schroedinger


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Except when using testport Build outside poudriere	#
# minetest fork of irrlicht does not conflict		#
#_______________________________________________________#
games/minetest-dev
games/minetestmapper-dev
x11-toolkits/irrlicht-minetest
x11-wm/fvwm3-dev
graphics/feh-dev
graphics/libthorvg
games/lutris-freebsd
games/eternallands-dev
games/eternallands-data
databases/dbeaver-dev
devel/distcc-dev


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Build without poudriere: tigersharke/Ported_Software #
#_______________________________________________________#
games/el
games/el-data
games/minetest
games/minetestmapper
games/minetest_game
net/libmms
audio/easytag
x11-toolkits/irrlicht
x11-wm/fvwm3
graphics/feh
games/lutris
graphics/libthorvg
games/godot-dev
games/ryzomcore
games/eternallands-data
databases/dbeaver-dev


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid bulk build of these silly things		#
# These or others get added by bulk list creation	#
#_______________________________________________________#
games/pink-pony
games/cowsay
games/neo-cowsay
games/xcowsay
games/coffeebreak
games/powdertoy
games/powder-toy
games/powdertoy-devel
games/powder-toy-devel
games/sex
games/weebsay


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  builds but doesn't work				#
#_______________________________________________________#
games/excido


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  toggle these - often cause troubles or take FOREVER	#
#_______________________________________________________#
#games/veloren-weekly
#games/veloren
#www/firefox
#lang/rust
lang/rust-nightly
#x11-fonts/iosevka
#lang/rust-bootstrap
#devel/efl
#x11-wm/enlightenment
#devel/rust-cbindgen


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  conflicts in port or its depends			#
#_______________________________________________________#
java/jmf
devel/typetools
games/openarena
games/slade
games/golly
games/gnubik
games/openmw


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to force more current version of llvm 		#
#  Discover what breaks and adjust accordingly.		#
# first is "default" version, unversioned		#
#							#
# favoring llvm13					#
#_______________________________________________________#
#devel/llvm
#devel/llvm17@default
#
devel/llvm70
devel/llvm80
devel/llvm90
devel/llvm10
devel/llvm11
devel/llvm12
#
#devel/llvm13
devel/llvm14
devel/llvm15
devel/llvm16
#devel/llvm17
#devel/llvm-devel
#devel/ccache


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  This built with python39 not 38 as makefile expects	#
#							#
# Need to make a Ported_Software build for it		#
#_______________________________________________________#
#www/bluefish


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Should be no need for these at all due to git	#
#_______________________________________________________#
devel/subversion
devel/p5-subversion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these fail due to ruby default			#
#_______________________________________________________#
#accessibility/rubygem-atk
#archivers/rubygem-rubyzip
#devel/git@tiny
#devel/rubygem-cairo-gobject
#devel/rubygem-gettext
#devel/rubygem-gio2
#devel/rubygem-glib2
#devel/rubygem-gobject-introspection
#devel/rubygem-highline
#devel/rubygem-json_pure
#devel/rubygem-locale
#devel/rubygem-manpages
#devel/rubygem-native-package-installer
#devel/rubygem-optimist
#devel/rubygem-paint
#devel/rubygem-pkg-config
#devel/rubygem-rake
#devel/rubygem-thor
#devel/ruby-sdl
#editors/neovim
#games/freecell-solver
#games/jaggedalliance2
#games/magicmaze
#games/ninix-aya
#games/rubygem-fortune_gem
#games/rubygem-lolcat
#games/rubygem-vimgolf
#graphics/rubygem-cairo
#graphics/rubygem-gdk_pixbuf2
#graphics/rubygem-opengl
#math/rubygem-narray
#multimedia/rubygem-gstreamer
#textproc/rubygem-asciidoctor
#textproc/rubygem-charlock_holmes
#textproc/rubygem-text
#x11-toolkits/rubygem-gdk3
#x11-toolkits/rubygem-gtk3
#x11-toolkits/rubygem-pango


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Openoffice 						#
#_______________________________________________________#
editors/openoffice-4
editors/openoffice-devel
java/bootstrap-openjdk6
math/suitesparse


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# According to vigra comment: 				#
# Using py-NumPY implies Fortran and GCC 4.7+ as hard 	#
# dependencies and require all ports, depending on 	#
# vigra, to set USE_GCC=yes				#
#							#
# So lets avoid py-numpy				#
#_______________________________________________________#
#math/py-numpy
graphics/vigra


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon py-numpy via math/suitesparse		#
#_______________________________________________________#
games/freeorion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  unexplained dependency on openjdk7 which fails build #
#_______________________________________________________#
java/openjdk7
java/bootstrap-openjdk6
#
#math/cgal
#math/suitesparse
#math/eigen3

devel/apr1
#databases/db5
textproc/redland
www/serf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  mesa-libs conflicts with libglvnd?			#
#_______________________________________________________#
#graphics/libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# complicates the issue?				#
#_______________________________________________________#
#graphics/linux-c7-libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid colord						#
#_______________________________________________________#
graphics/colord


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent -- GNOME - not a necessary dependency #
#_______________________________________________________#
#devel/dconf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Until dependencies fixed in official Makefile	#
#  Use home/tigersharke/Ported_Software instead		#
#_______________________________________________________#
sysutils/dunst


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  lets avoid dbus -- it sucks but allowing for now	#
#_______________________________________________________#
#devel/dbus
#devel/dbus-glib


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent so no need for them - subset likely	#
#_______________________________________________________#
#accessibility/at-spi2-atk
# accessibility/at-spi2-core
#net/avahi-app
#net/avahi-libdns
#sysutils/bsdisks
#x11/compton-conf
#sysutils/consolekit2
#devel/dconf
#x11-toolkits/kf5-attica
#devel/kf5-kauth
#devel/kf5-kbookmarks
#x11-toolkits/kf5-kcompletion
#devel/kf5-kconfig
#x11-toolkits/kf5-kconfigwidgets
#devel/kf5-kcrash
#devel/kf5-kdbusaddons
#x11/kf5-kded
#devel/kf5-kdoctools
#x11/kf5-kglobalaccel
#x11-toolkits/kf5-kguiaddons
#devel/kf5-ki18n
#x11-themes/kf5-kiconthemes
#x11-toolkits/kf5-kitemviews
#x11-toolkits/kf5-kjobwidgets
#devel/kf5-kservice
#x11-toolkits/kf5-ktextwidgets
#x11/kf5-kwayland
#x11-toolkits/kf5-kwidgetsaddons
#x11/kf5-kwindowsystem
#x11-toolkits/kf5-kxmlgui
#textproc/kf5-sonnet
#security/libgnome-keyring
#x11/lumina-coreutils
#sysutils/polkit
#sysutils/polkit-qt
#sysutils/polkit-qt-1
#devel/py39-dbus
#devel/py39-qt5-dbussupport
# devel/qt5-dbus
# x11-toolkits/qt5-declarative
#graphics/qt5-graphicaleffects
# x11-toolkits/qt5-gui
#graphics/qt5-imageformats
#multimedia/qt5-multimedia
#graphics/qt5-opengl
# print/qt5-printsupport
#accessibility/qt5-speech
# graphics/qt5-svg
# x11-toolkits/qt5-uiplugin
# devel/qt5-uitools
#graphics/qt5-wayland
# x11-toolkits/qt5-widgets
#x11/qt5-x11extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Since qt5-core has no config, and requires dbus as	#
# well as accessibility/at-spi2-core			#
#_______________________________________________________#
#devel/qt5-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon math/suitesparse			#
#_______________________________________________________#
#devel/boost-python-libs


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# kerberos or heimdal or gssapi stuff not needed	#
#_______________________________________________________#
net-mgmt/nagstamon
net/rubygem-omniauth-kerberos
security/cyrus-sasl2-gssapi
#security/heimdal
security/krb5-appl
security/krb5-devel
security/p5-Authen-Krb5
security/p5-Authen-Krb5-Simple
security/p5-Authen-Simple-Kerberos
security/p5-GSSAPI
security/p5-Heimdal-Kadm5
security/pam_krb5
security/py-flask-kerberos
security/py-gssapi
security/py-kerberos
security/py-pywinrm
security/py-requests-kerberos
security/rubygem-gssapi
www/gitlab-ce
www/mod_auth_gssapi
www/mod_auth_kerb2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Unmaintained and dead upstream, 			#
#	does not build with -fno-common (llvm 11)	#
#_______________________________________________________#
#games/bomberinstinct
#games/bygfoot
#games/cavezofphear
games/cosmo
games/cre
games/drm


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# avoid this as luajit-openresty is preferred		#
# -- conflicts with luajit				#
#_______________________________________________________#
lang/luajit
lang/luajit-devel


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Build outside of ports until luajit-openresty default #
#_______________________________________________________#
games/catesc
games/freeminer-default
games/freeminer
games/instead
games/mari0
games/minerbold
games/minetest_game
games/minetest
games/naev
games/powder-toy
games/solarus-quest-editor
games/solarus
games/voadi


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Avoid libressl of any variety on desktop, use openSSL	#
# libressl is fine on simpler systems like firewall but	#
# is NOT properly supported by software in general.	#
#_______________________________________________________#
security/libressl
security/libressl-devel
security/libressl*


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# conflicts with libressl-devel				#
#	but maybe avoid anyhow if possible		#
#_______________________________________________________#
#security/gnutls
#security/nettle


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require gnupg -- no option visible	#
#_______________________________________________________#
#devel/kf5-kcmutils
#devel/kf5-kdeclarative
#devel/kf5-kio
#devel/kf5-knewstuff
#devel/kf5-knotifyconfig
#devel/kf5-kparts
#devel/libgdata
#games/kanagram
#games/khangman
mail/gmime30
misc/libkeduvocdocument
#multimedia/totem-pl-parser
net/gnome-online-accounts
security/gcr
#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#sysutils/kf5-kwallet
#x11/kf5-kactivities
#x11/kf5-kinit
x11/kf5-plasma-framework
#x11-toolkits/kf5-kirigami2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# nettle dependents					#
#_______________________________________________________#
#devel/librest
#devel/libsoup
#devel/qca
#mail/gmime30
#multimedia/totem-pl-parser
#net/geoclue
#net/glib-networking
#net-im/gloox
#net/uhttpmock
#security/gnupg

#security/gnutls

#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#security/libgsasl
#sysutils/password-store
#sysutils/qtpass
#sysutils/tracker
#x11-toolkits/gnome-pty-helper
#x11-toolkits/vte


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require nettle -- no option visible	#
#_______________________________________________________#
audio/audacity
audio/lollypop
#devel/appstream-glib
#devel/glade
#devel/libgdata
#devel/librest
#devel/libsoup
#games/0ad
#games/atomix
#games/diaspora
#games/four-in-a-row
#games/freedink
#games/freedink-dfarc
#games/gnome-2048
#games/gnome-chess
#games/gnome-nibbles
#games/gnome-robots
#games/gnome-sudoku
#games/golly
#games/hitori
#games/iagno
#games/megaglest
#games/pioneers
#games/quadrapassel
#games/trenchbroom
#games/wxlauncher
#graphics/gimp
#graphics/gimp-app
#graphics/gimp-data-extras
#mail/claws-mail
#mail/claws-mail-gdata
#mail/claws-mail-libravatar
#mail/claws-mail-litehtml_viewer
#mail/claws-mail-mailmbox
#mail/claws-mail-newmail
#mail/claws-mail-notification
#mail/claws-mail-rssyl
##multimedia/totem-pl-parser
#net/glib-networking
#net/gnome-online-accounts
#net-im/gloox
#net/uhttpmock
#print/gimp-gutenprint

#security/gnutls

#www/gtkhtml4
#www/webkit2-gtk3
#x11-fonts/cantarell-fonts
x11/gnome-desktop
#x11-toolkits/libhandy
#x11-toolkits/wxgtk30
#x11-toolkits/wxgtk31
#x11/yelp


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# git -- avoid other flavors				#
#_______________________________________________________#
devel/git@default
devel/git@gui
devel/git@lite
devel/git@svn
devel/git-default
devel/git-gui
devel/git-lite
devel/git-svn


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# avoid -- also dbus dependents				#
#_______________________________________________________#
accessibility/at-spi2-atk
#accessibility/at-spi2-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# accessibility/at-spi2-atk dependents without config	#
#_______________________________________________________#
devel/electron11
editors/vscode
www/chromium
x11/cinnamon
x11/gnome-shell
x11-toolkits/gtkada3


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# db5 issue 						#
#_______________________________________________________#
audio/jack


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  obslete and would need makefile changes to fix build	#
#_______________________________________________________#
graphics/osg34


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  osg34 dependent cannot build				#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Rebuild only with updated kernel/world		#
#  and maybe keep pkg locked in between times.		#
#_______________________________________________________#
emulators/virtualbox-ose
emulators/virtualbox-ose-kmod


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  talloc and tevent not needed -- ldap/samba focus	#
#_______________________________________________________#
devel/talloc
devel/tevent


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas conflicts with netlib/cblas preferred	#
#_______________________________________________________#
math/openblas


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas dependent cannot build			#
#_______________________________________________________#
biology/bolt-lmm
biology/gcta
biology/gemma
biology/plink
cad/gmsh
graphics/opencv
math/adept
math/ambit
math/armadillo
math/blaze
math/blazeiterative
math/casadi
math/ceres-solver
math/cminpack
math/coinutils
math/dbcsr
math/deal.ii
math/dune-common
math/dune-fem
math/dune-geometry
math/dune-grid
math/dune-pdelab
math/dune-polygongrid
math/dune-uggrid
math/dune-vtk
#math/eigen3
math/elemental
math/elpa
math/faiss
math/fflas-ffpack
math/flint2
math/freefem++
math/g2o
math/hmat-oss
math/iml
math/jags
math/lapack++
math/linbox
math/moab
math/octave
math/octave-forge-ltfat
math/openturns
math/osi
math/primme
#math/py-numpy
math/py-scs
math/qposases
math/sage
math/scalapack
math/scs
math/suitesparse
math/sundials
misc/mxnet
misc/openmvg
misc/visp
science/bagel
science/berkeleygw
science/chemps2
science/chrono
science/code_saturne
science/dalton
science/elk
science/elmerfem
science/erkale
science/gamess-us
science/iboview
science/lammps
science/latte
science/libcint
science/mpb
science/multiwfn
science/opensim-core
science/py-gpaw
science/py-phono3py
science/py-scipy
science/qiskit-aer
science/qmcpack
science/simbody
science/xtb

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Avoid all nvidia -- hidden deps			#
#_______________________________________________________#
graphics/nvidia-texture-tools
net-mgmt/nvidia_gpu_prometheus_exporter
x11/linux-nvidia-libs*
#x11/linux-nvidia-libs-304
#x11/linux-nvidia-libs-340
#x11/linux-nvidia-libs-390
x11/nvidia-driver*
#x11/nvidia-driver-304
#x11/nvidia-driveR-340
#X11/nvidia-driver-390
x11/nvidia*
#x11/nvidia-settings
#x11/nvidia-xconfig


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Avoid all nvidia -- hidden deps			#
#_______________________________________________________#
x11-drivers/xf86-video-scfb


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fails when fontforge fails				#
#_______________________________________________________#
#x11-fonts/oxygen-fonts


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  deprecated version of python 2.7			#
#_______________________________________________________#
lang/python27


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  python27 dependent cannot build			#
#_______________________________________________________#
devel/py-backports.functools_lru_cache
graphics/gif2png
devel/godot2
lang/cython@py27
devel/py-enum34
devel/py-future@py27
devel/py-game_sdl2@py27
net/py-ipaddress
devel/py-setuptools@py27
x11-toolkits/py-tkinter@py27
devel/scons@py27
net/py-ipaddress
#
devel/electron13
devel/py-setuptools44
dns/py-dnspython1
games/renpy
lang/python2
mail/mailman
mail/mailman-exim4
mail/mailman-postfix
sysutils/uefi-edk2-bhyve-csm
www/moinmoin
www/qt5-webengine


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  license confirmation needed				#
#_______________________________________________________#
games/taipan
games/tyrian-data
games/linux-unigine-valley
games/primateplunge
games/linux-unigine-heaven
games/minecraft-server
games/rawgl
games/steelstorm
games/mtaserver
games/goonies


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  cdrom or mount of cdrom needed			#
#_______________________________________________________#
games/HeroesOfMightAndMagic
games/jaggedalliance2
games/kodi-addon-game.libretro.genplus
games/kodi-addon-game.libretro.pcsx-rearmed
games/kodi-addon-game.libretro.picodrive
games/linux-quake4
games/linux-ssamtse
games/linux-ssamtfe
games/linux-unrealgold
games/linux-ut



#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  i386 only or fails on amd64				#
#_______________________________________________________#
#devel/bennugd-core
games/q3cellshading
games/quake3
games/lmpc
games/doom


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  run depends						#
#_______________________________________________________#
emulators/i386-wine-devel


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid dependencies					#
#_______________________________________________________#
games/valyriatear
games/eboard
games/foobillard
games/xconq


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid nvidia textures dependency			#
#_______________________________________________________#
games/xray_re-tools


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fetch - config issue (missing file via option)	#
#_______________________________________________________#
games/quake2-extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stage - broken due to missing file			#
#_______________________________________________________#
#games/odamex


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  depends upon broken love				#
#_______________________________________________________#
#games/mari0
#games/gunfudeadlands


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  broken due to sdl12 & opengl includes in source	#
#_______________________________________________________#
devel/love07
devel/love08


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  investigation needed					#
#_______________________________________________________#
#devel/godot2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dependencies already blacklisted			#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  metaport fails due to blacklisted component		#
#_______________________________________________________#
#games/gnome-games

Lots of text, many comments.  I have changed my mind about building and installing various things, used the standard ports tree for most and chose custom ones for others.  Eventually if I take the time, I might better understand what some of the other poudriere build methods mean, and possibly could gain a bit more flexibility with how I bulk build via my lists.

There is no other need except to create and properly place the blacklist file, it is found without an added commandline option, but for me, I would issue poudriere bulk -j 14amd64 -f `p-keg-deblack installed-pkgs-gross` because I discovered that poudriere would cull them as part of its initial process.  I believe that there is no need to send a list of files which may include blacklisted items, so I pre-remove them from the initial list.  This alleviates a little of the extra, but poudriere will still use the blacklist file if there still remain hidden among dependencies things I do not desire built.

The p-keg-deblack script is described in a prior blog post, poudriere blacklist filter but I had since revised it as below:

#!/bin/sh
rm ~/$1-deblack 2>/dev/null
rm /var/tmp/cleaned_blacklist 2>/dev/null
rm /var/tmp/list 2>/dev/null
rm /var/tmp/sorted_list 2>/dev/null
cp $1 /var/tmp/list
cat /var/tmp/list | sort -d -u > /var/tmp/sorted_list && rm $1 && cp /var/tmp/sorted_list $1
grep -v \# ~/Symbolic_Links/14amd64-blacklist | sort -d -u > /var/tmp/cleaned_blacklist

diff -B -w $1 /var/tmp/cleaned_blacklist | grep \< |sed  -e 's/^<\ //g' -e 's/---//g' -e '1d' > ~/$1-deblack

echo $1-deblack

I'll repeat myself as I said previously, Essential caveat: Use this script at your own risk, I make no promises.

Whether you simply use the blacklist mechanism within poudriere or pre-filter your file list with my script, either way there will be fewer ports built into packages in your repo.  There is no need for the whole circus including troupe of clowns to be handled by your system, if your purpose is a local repo for your own use and install.  I make larger bulk lists which may include all of the games or all of the fonts, and neither might all be installed, so I use the blacklist to avoid some I wouldn't use.  Those two bulk lists would be made directly from what is present in the ports tree while other things I install are based on what I do have installed already on my system.  Build your needed ports into installed packages through the use of poudriere, its a good tool for the average user when its limited to what you need rather than everything it might ordinarily act upon without a blacklist.

Friday, March 12, 2021

Poudriere blacklist filter

Remember when I mentioned in a previous blog post how it seemed strange that the blacklist was not applied to the input file at the outset?  I have finally perfected a script which will do this with only minor adjustment to the poudriere commandline invocation.  Of course, file names, script names, may need adjustment to suit your environment or tastes.  Below is the relatively simple sh script named p-keg-deblack which does the work.

#!/bin/sh
rm /var/tmp/cleaned_blacklist 2>/dev/null
grep -v \# ~/Symbolic_Links/13amd64-blacklist | sort -d -u >> /var/tmp/cleaned_blacklist

diff $1 /var/tmp/cleaned_blacklist | grep \< |sed  -e 's/^<\ //g' -e 's/---//g' -e '1d' > ~/$1-deblack

echo $1-deblack

First, it removes any temporary files it had created, if none exist the error is silenced.  Your blacklist file for poudriere may include comment lines which would begin with # and so those are excluded by an inverted grep.  Since my build lists are all sorted in dictionary order with only unique lines, we treat the blacklist the same way, regardless of how it is actually organized, the output is placed in a temporary file.  Now we compare the build list with the cleaned blacklist.  Diff will place all the lines unique to each file preceded with a < or > depending upon which file, the first is on the left "<" and the second is on the right ">".  We want those lines which are only in the build list, so we grep all lines beginning with "<" then we remove "< " to prepare the list for poudriere.  The first line of the diff indicates where in the file that section begins, and there is another line "---" which we do not want.  We create a file with your input file name adding a suffix of -deblack.  When this script is used, all that poudriere will see is this filename with suffix we just created.

How do we use this script when we invoke poudriere?  This makes the process as unobtrusive as possible, we add one more word and two characters.  Normally we would do something like the following:

poudriere bulk -f installed-pkgs-Gross -j 13amd64 -J 2:16
However, to include the script we use the line below:
poudriere bulk -f `p-keg-deblack installed-pkgs-Gross` -j 13amd64 -J 2:16

Essential caveat: Use this script at your own risk, I make no promises.

Frequently viewed this week