Date: Wed, 14 Mar 2012 22:14:28 +0000 From: Jonathan Anderson <jonathan.anderson@cl.cam.ac.uk> To: Adrian Chadd <adrian@freebsd.org> Cc: freebsd-current@freebsd.org, Gabor Kovesdan <gabor@freebsd.org>, freebsd-ports@freebsd.org, Oleg Moskalenko <oleg.moskalenko@citrix.com> Subject: Re: CFT: new BSD-licensed sort available Message-ID: <ACA5E377-BFF9-4C1D-8499-A8003FFE79B3@cl.cam.ac.uk> In-Reply-To: <CAJ-VmokUV8t3W4CueZuiZC7e=FuVtFu1jq54V_NpRc79-3QG=w@mail.gmail.com> References: <4F60C059.7060904@FreeBSD.org> <CAJ-VmokUV8t3W4CueZuiZC7e=FuVtFu1jq54V_NpRc79-3QG=w@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
On 14 Mar 2012, at 21:10, Adrian Chadd wrote: > Hi, > > This makes me think of the whole debian-y way of replacing the mailer > programs using some magic alias program. > > So you could intall gnusort, bsdsort, and then some config file would > determine which was used. > > 'sort' would then be a symlink to said magic program, that'd look at > its argv[0], look at the contents of that file, and exec() the right > one. In fact, the runtime behaviour of the Debian "alternatives" system is simpler than that: http://segfault.in/2010/04/using-the-debian-alternatives-system/ The custom Perl script with a config file is used to set up symlinks, which at runtime are... well, just symlinks. For instance, /usr/bin/vim is a symlink to /etc/alternatives/vim, which is itself a symlink to a binary like vim.gtk (example shamelessly stolen from the linked page, since I no longer have any Debian boxes to check for myself on :). No magic binaries or argv[0] fu. In one way, it's an elegant solution. On the other, it's a classic example of Wheeler's Law in action. :) Jon -- Jonathan Anderson Research Student, Security Group Computer Laboratory University of Cambridge +44 (1223) 763747 jonathan.anderson@cl.cam.ac.ukhelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ACA5E377-BFF9-4C1D-8499-A8003FFE79B3>
