3N/A
3N/Apkg
3N/AFILTERING
3N/A
111N/AWe start with all actions in a manifest.
111N/A
111N/AWe apply each element in the filter chain in order. For each element, we
111N/Aeliminate all remaining actions which don't match the element.
111N/A
111N/ASimple elements have a single filter:
111N/A
111N/A arch=i386
111N/A
111N/Ameans eliminate all actions which have an "arch" attribute that isn't
111N/A"i386".
111N/A
111N/AMore complicated elements can represent an intersection of filters:
111N/A
111N/A arch=i386 & debug=true
111N/A
111N/Ameans eliminate all actions which have both "arch" and "debug" attributes,
111N/Abut whose values, respectively, aren't "i386" and "true" (e.g., eliminate
111N/Aall non-debug i386 actions and all sparc actions, debug and non-debug);
111N/A
111N/A doc=true & locale=fr
3N/A
111N/Ameans eliminate all actions which have both "doc" and "locale" attributes
111N/Aand which aren't "true" and "fr", respectively (no, I'm not sure what
111N/A"doc=false" means, other than a reason to refactor). That is, strip out
111N/Aall documentation that isn't French (but keep other localized actions, such
111N/Aas message files, images, etc.).
111N/A
111N/AElements can also represent a union of filters:
111N/A
111N/A locale=fr | locale=sv
111N/A
111N/Ameans eliminate all actions which have a "locale" attribute that isn't
111N/Aeither "fr" or "sv".
111N/A
111N/AWe'll probably want to mix intersection and union, too:
111N/A
111N/A doc=true & (locale=fr | locale=sv)
111N/A
111N/AAnd we want a fallback mechanism, allowing us to get the "best of" a
111N/Aparticular attribute. Four examples:
111N/A
111N/A locale=fr_FR.UTF-8;fr_FR;fr;C
111N/A platform=SUNW,Sun-Fire-V240;sun4u
111N/A debug=true;false
111N/A debug=false;true
111N/A
111N/AAny actions that haven't been eliminated by the end of the chain remain to
111N/Abe installed. At that point in time, if more than one action exists for
111N/Aany given object, the evaluation fails (can't have two copies of
111N/A/usr/bin/ls just because you remembered to specify architecture but not
111N/Adebug-ness).