Support for Multiple Site Volumes
Priority ordering of site volumes
Simple Exclusion Handling
Creation of a Sites file. This file contains the priority and label information for any site directories. Here's an example:
main /v/site/packages local /site/local/packages verylocal /usr/local/packs
Each label and accompanying directory would appear in a separate line in the sites file.
Note: The order in which the directories appear in the sites file dictates the priority level of the package sites, so in this case /v/site/packages would be a higher priority site than /site/local/packages. However, the prioritization of sites is optional (see priority modes)
New Primary Exclusion File. Instead of relying on a semi-permanent record of all exclusions, opt_link 2.0 processes each packages exclusion file during the program run. Because of this, the primary .exclude file need only contain those packages which are to have the highest priority exclusion.To put it another way, if a package is listed in the main .exclude file, it will not be installed.
The master exclude file can also contain site-specific package exclusions, which take the form of <label>:<excluded package>. So if the line 'local:emacs-19.34' appeared in the .exclude file, then emacs-19.34 would not be installed from /site/local/packages, although it may still be installed from another package site (ie /v/site/packages or /usr/local/packs)
A possible .exclude file might look something like this:
# New 2.0 .exclude file netscape-3.01 local:emacs-19.34 bash main:pine3.91
It would consist of general and site-specific exclusions in any order.
-q Quiet: As with opt_link 1.4.2, there is the option of recording opt_link's daily activities in a separate log file. If a link is created or removed, this information is ordered by package site and is written to the log file. The -q command disables logging.
-v Verbosity: If desired, the administrator may receive a printout of opt_link's activities. The printout would contain the same information as that which is appended to the log file.
-n Test: Running opt_link with the -n command causes the same information to be printed to the screen as with the -v verbose option, but no actual linking or unlinking is performed by the program.
-g Get most recent: The -g command disables absolute priority mode and enables get_most_recent behavior. See the following section on Priority Modes for an explanation on what each mode entails.
Absolute Priority: If the Get most recent (-g) option is not selected, then a package will not be installed if its exclusion list contains a package which has already been installed from a higher priority site.
Get most recent: When the Get most recent (-g) option is selected, opt_link will allow exclusions to occur regardless of where a package is located. For example, a version of emacs-19.33 which excludes emacs-19.30 would be installed even if it resided on a lower priority site volume than emacs-19.30.
opt_link 2.0 does not use the .priority file at all.
It is used to resolve conflicts with the directory linking done by the opt_depot script, and is not needed for the linking operations that opt_link performs.