.. | ||
poudlist-all.sh | ||
README.md |
poudlist-all.sh
Description
A small script to generate a list of all ports installed, excluding leaf ports which you don't want to be rebuilt in conjunction of others.
The author created this script because poudriere bulk -a -j jailname
forces rebuilding ALL ports, which any of ports they depends on are updated, regardless it's too time-consuming or not.
This script recognizes FLAVORS.
The logic to support FLAVORs are tricky, as pkg does not support providing to list all installed ports as category/origin[@flavor] format.
Currently, flavors of individual ports installed is listed only in annotations with other entries.
Usage
No command line arguments.Simply run it as a bourne shell script.
Once the resulting list is generated (default: /poudriere/pkglist.all), you can run poudriere bulk -f /poudriere/pkglist.all -j jailname
and rebuild too huge monster leaves once it finishes.
Configuing the script
No configuration files are supported.
You need to edit the script and set variables in it.
Variables for configuration
BLOCKLISTS
Origins of ports you want to block from building.
Each origins must be the form poudriere can accept.
For ports having flavors, if you want to block specific flavor only, you can specify the flavor by adding @flavor like textproc/fcitx5-qt@qt6
. Otherwise, all flavors installed for the origin are blocked from listing.
Note that poudriere does not block building listed ports if it is depended upon by any non-listed ports.
Beware! If the origin is NOT a leaf ports, you must specify ALL origins of the ports/pkgs which depends on it, for example, japanese/libreoffice as the actual leaf of editors/libreoffice must be specified in conjunction with editors/libreoffice.
PORTSDIR
The directory where ports tree to be used exists.
Default is where vanilla FreeBSD expects: /usr/ports
LISTDIR
The directory where the list is generated.
Default is: /poudriere
LISTFILE
The file name of the list to be generated.
Default is: pkglist.all
TMPDIR
The directory where temporary working file is generated.
Requires Read/Write permission for the user running this script.
TMPFILE
The file name of the temporary working file to be used.
Default is the string of LISTFILE appended uid, date and time.
So would be no need to modify.