Date: Thu, 21 Sep 2000 10:22:04 -0400 From: Christian Kuhtz <ck@arch.bellsouth.net> To: "Koster, K.J." <K.J.Koster@kpn.com> Cc: "'FreeBSD Hackers mailing list'" <freebsd-hackers@FreeBSD.ORG> Subject: Re: Executable packages (long, sorry) Message-ID: <20000921102204.D6714@ns1.arch.bellsouth.net> In-Reply-To: <59063B5B4D98D311BC0D0001FA7E4522026D78DA@l04.research.kpn.com>; from Koster, K.J. on Wed, Sep 20, 2000 at 06:49:36PM %2B0100 References: <59063B5B4D98D311BC0D0001FA7E4522026D78DA@l04.research.kpn.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Seems one might just as well investigate the SUN pkgadd format and see whether such mechanism fits the bill... Ideally, the pkg also kows how to back itself out if it can't successfully install. (although doing so should be an option, not the default). On Wed, Sep 20, 2000 at 06:49:36PM +0100, Koster, K.J. wrote: > Dear All, > > While we're on the subject of packaging formats, I would like to present an > idea that has been running around in the back of my head. > > Years ago I had the pleasure of playing with a new RiscPC by Acorn. If you > create a directory on RiscOS and stick a little BASIC script in with exactly > the right name, RiscOS will treat that directory as an executable. You can > use the directory to stick in whatever the application needs, and the user > never needs to bother. Uninstalling it is as easy as the RiscOS equivalent > of "rm -rf". > > Riding on the wave of the unified BSD packages effort, this might be a good > time to rekindle that idea. Say that we agree on some form of uniform > package layout. You'd say that man pages go into $PKG_BASE/$PKG_NAME/man, > and that libraries go into $PKG_BASE/$PKG_NAME/lib, and that there is > probably a script named $PKG_BASE/$PKG_NAME/etc/rc that takes the arguments > "start" and "stop" for system startup. A script named > $PKG_BASE/$PKG_NAME/bin/run is invoked when a user types $PKG_NAME at the > command prompt (triggered by a script in /usr/local/bin, which is symlinked > to $PKG_NAME. > > We are already doing this now, but instead we scatter packages across the > filesystem, keeping file lists of where we left the various body parts of > the port. > > So is this a bad idea? I don't think so. Some programs already install > themselves in a similar fashion. If you'll allow me to use Tomcat as an > example. After you have installed it, only /usr/local/tomcat new on your > system. It has its own bin/, conf/ and lib/ directory. Deinstalling is as > simple as it is on a RiscPC. > > There are other places too, where you see this self-containment crop up. The > executable JAR files from Java, for example. And someone over at KDE or > Gnome (or some desktop kit like that, I can't tell them apart) mentioned > that they were going to do a ZIP archive abstraction, much like they did > with the file system. You could easily make a zip archive behave like an > executable. > > I do not think that this is the perfect solution to system clobbering. In > fact, there are some good examples of stuff that should really not be > installed in an executable directory. The GNU tools spring to mind. They > were written according to a UNIX utility philosophy, and should be treated > as such. Other things, such as a web server, or a word processor are much > more self contained. > > I hope that you will remember this idea when you find yourself staring at > traces of an old port, unsure if you should delete it or not. :-) > > Kees Jan > > ================================================ > You are only young once, > but you can stay immature all your life. > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message -- Christian Kuhtz Architecture, BellSouth.net <ck@arch.bellsouth.net> -wk, <ck@gnu.org> -hm Atlanta, GA "Speaking for myself only." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000921102204.D6714>