Nabihi (remember (understand, perceive, notice)) * permanent system altroot for zpools - The best you can do is set mountpoint on the toplevel dataset; zpool mountpoints do not persist * saveconfig: use /conf/tmp as a proc lock. /conf/tmp/pid stores the saveconfig pid. If /conf/tmp is more than 5 minutes(?) old, or saveconfig isn't running as that pid, then wipe it and start over. If not, then complain and exit. Add saveconfig to periodic (or cron) to save every day (or hour) * pkg: samba hddtemp? cfv? (python) * /conf/ Alter conf stuff to support tmpfs_size as well as md_size, to use tmpfs mounts instead of mdmfs mounts for diskless-remount storage Try makefs? - While makefs does allow non-root manipulation, it does not provide nearly enough control over the resultant filesystem size to make it useful for packing. # Try to work these into the library somewhere # Leaf ports are ports that have nothing depending upon them # These are generally the top-level ports; everything else should # be pulled in by them leaf_ports() { ( cd /var/db/pkg; ls -1 ) | while read pkg do pkg_info -Rq "${pkg}" | grep -q '' || pkg_info -oq "${pkg}" done | sort } # Display a tree of all build dependencies (and # any runtime dependencies those build dependencies # depend upon). Individual ports may appear more than # once, as it is a tree and not a list. bdep_tree() { port="${1##/usr/ports/}" printf "%${2}s%s\n" "" "${port}" ( cd /usr/ports/${port} ( make build-depends-list [ "${2:-0}" -gt 0 ] && make run-depends-list ) | sort -u | while read port do bdep_tree "${port}" $(( ${2:-0} + 1 )) done ) } # Display a tree of all runtime dependencies. Individual # ports may appear more than once, as it is a tree and # not a list. rdep_tree() { port="${1##/usr/ports/}" printf "%${2}s%s\n" "" "${port}" ( cd /usr/ports/${port} make run-depends-list | sort -u | while read port do rdep_tree "${port}" $(( ${2:-0} + 1 )) done ) }