Rewrite of OPTIONS
This project is run by edwin@FreeBSD.org .
The goals of the project are
- Move all options from bsd.port.mk to bsd.options.mk
- Be able to call bsd.options.mk *before* bsd.port.pre.mk
- Be able to run with NO_OPTIONS and NO_OPTIONS_portname
Current status
- bsd.options.mk is created, but there is a gotcha: it requires /usr/share/mk/bsd.port.options.mk
Features which are wished for
- Mutually exclusive OPTIONS.
- More space for OPTIONS descriptions - some sort of help system like sysinstall(8) maybe?
- Other types of dialog(1) controls - radio buttons, text boxes, lists, etc.
- Allow simple pre-setting the values in the port dependending on conditions, i.e. autodetection of dependencies
Re-ask user when saved set of OPTIONS from previous version differs with new set
- Allow maintainer to request that the user (re)run make config
- Some sort of API to override the current curses based interface with a different GUI, e.g. zenity/gdialog instead of dialog.
- The ability to depend on, or at least test, OPTIONS set in other ports. Possibly it would be nice to enforce setting variables that are depended upon when the port is being installed as a dependency.
Other things to consider:
- Should variables from KNOBS be added or left to be defined in make.conf? - there is no consistency.
Bug fixes:
If you attempt to run make config for a port with ${PKGNAMEPREFIX} defined, the make config process will error out with: ===> Using wrong configuration file /path/options/file - The solution is to define LATEST_LINK to be prefix-${PORTNAME}, but this should be done internally.