Here some ideas about alternatives and gentoo possible alternative implementation (refer to Diego’s post):
– implemented as an eselect module, possibly with an alternatives interface for those who like it
– will work just on executables you directly run
– it will be backed by an eclass to handle post-inst/post-uninst (registration and removal to the alternatives list)
– it will use the environment, a separate config dir, a C wrapper [pick one or all]
– the wrapper will check his argv, look at the config dir for the string to call and run it.
Probably even those 5 lines have conceptual bugs but I guess that’s enough for a draft.