From: Jonathan Trites Date: 09:21 on 06 Aug 2005 Subject: make uninstall Here's something I hate. Programs that after you do the ./configure, make, make install, you realize for one reason or another that you did something wrong or you no longer want the program. So, after it shits all over /usr/bin, /usr/local/bin, /usr/lib, or whateverthefuck other directories it uses that have a bajillion and a half other files already in them, so you can't manually delete the program, you try 'make uninstall'. And what the fuck do you get: make: *** No rule to make target `uninstall'. Stop. Well, FUCK YOU TOO. I haven't done any other ./configure's or changed anything, so you should be able to fucking uninstall. I just don't want you on my system anymore. So, GET THE FUCK OFF. But nooooooooo, I can't do that because it put files all over the fucking place and I have no way of ever being able to get it fully off of my system. Just fucking great.
From: Chris Devers Date: 14:05 on 06 Aug 2005 Subject: Re: make uninstall On Sat, 6 Aug 2005, Jonathan Trites wrote: > make: *** No rule to make target `uninstall'. Stop. > > Well, FUCK YOU TOO. I haven't done any other ./configure's or changed > anything, so you should be able to fucking uninstall. I just don't > want you on my system anymore. So, GET THE FUCK OFF. But nooooooooo, I > can't do that because it put files all over the fucking place and I > have no way of ever being able to get it fully off of my system. > > Just fucking great. It's a crappy solution, but if you re-ran the `make install`, it should show you a list of where exactly it vomited files on your system. You could use that as a starting list for things to purge. Come to that, the real hate then would be toolkits that can't sort this out for you automatically: if the installer adds X, Y, and Z, it should at least preserve a log of that somewhere so that, if it can't provide a tool to remove X, Y, and Z for you, you can at least do so manually.
From: Jonathan Trites Date: 21:28 on 06 Aug 2005 Subject: Re: make uninstall > It's a crappy solution, but if you re-ran the `make install`, it should > show you a list of where exactly it vomited files on your system. You > could use that as a starting list for things to purge. This is exactly the thing I'm talking about. Sure, make install tells you what's happening. It's just that it vomits 800 millions screens worth of stuff out. Yeah, like I'm going to manually go through all that. And no, I'm not going to write my own utility to do that because I don't know nearly enough about makefiles and every conceivable way that it installs files onto my system that it has, so anything that I wrote to parse the output I would not rely on anyway, so it's not worth trying. Makefiles and the whole system is sort of a black art to me. I can usually figure out what's wrong if something is wrong, like if I'm missing a library or something, but hell if I could put that system together myself. > Come to that, the real hate then would be toolkits that can't sort this > out for you automatically: if the installer adds X, Y, and Z, it should > at least preserve a log of that somewhere so that, if it can't provide a > tool to remove X, Y, and Z for you, you can at least do so manually. This is what my rant is all about. make install that doesn't keep track for a make uninstall. There are some packages that do that, to be fair, but a lot of them don't. And being fair is not what this board is all about. It should just be automatic. Yeah, I know, that's asking too much.
From: peter (Peter da Silva) Date: 14:40 on 06 Aug 2005 Subject: Re: make uninstall > But nooooooooo, I > can't do that because it put files all over the fucking place and I > have no way of ever being able to get it fully off of my system. When I get software that's not a Port or an OSX bundle, my (admittedly imperfect) solution for this is "make --prefix=/usr/test/packagename" unless I'm pretty sure I'm going to keep the beggar around. Failing that, you can always run "make install" onto a file and strip all the turd locations out of that. But since I've got a Mac, my previous dislike for the UNIX scattershot package installation has become closer to a hate. It's not as bad as the Windows "hide outdated updates for system files in 3rd party programs and then install them on top of the right ones, then add a program to watch for changes and undo them so when you really DO want to install stuff it defeats you", but solutions like "/opt/package" and symlink trees that I originally puked at have become more attractive over the years.
From: Chet Hosey Date: 15:47 on 08 Aug 2005 Subject: Re: make uninstall On Sat, Aug 06, 2005 at 08:40:04AM -0500, Peter da Silva wrote: > > But nooooooooo, I > > can't do that because it put files all over the fucking place and I > > have no way of ever being able to get it fully off of my system. > > When I get software that's not a Port or an OSX bundle, my (admittedly > imperfect) solution for this is "make --prefix=/usr/test/packagename" > unless I'm pretty sure I'm going to keep the beggar around. > > Failing that, you can always run "make install" onto a file and strip > all the turd locations out of that. > > But since I've got a Mac, my previous dislike for the UNIX scattershot > package installation has become closer to a hate. It's not as bad as the > Windows "hide outdated updates for system files in 3rd party programs > and then install them on top of the right ones, then add a program to > watch for changes and undo them so when you really DO want to install > stuff it defeats you", but solutions like "/opt/package" and symlink trees > that I originally puked at have become more attractive over the years. I'll often go so far as to ./configure --prefix=/tmp/meat/usr (yes, I usually use "meat" as a throwaway directory name), and after "make install" I'll cd into /tmp/meat, make whatever modifications are appropriate (such as adding an init.d script), "tar czf ../progname.tar.gz *", and convert it to package appropriate for the local system. Under Debian, this means using alien to build a .deb file; Slackware/BSD-style package tools can take a .tgz directly, if I recall correctly. Given that local packages are a great way to keep your system cruft level from getting out of control, the fact that Red Hat doesn't include a convenient mechanism from making an RPM from a directory tree or .tar.gz file is a separate hate. As are build systems in general -- you'd think that given the amount of software written in the computing world, making tools that could easily and successfully build and install software and do things like recognize which files should be rebuilt after touching a header would be a higher priority. Nooooo, let's use automake to build the configure script to generate the Makefiles that recursively invoke make to spackle over the problem -- that way when something breaks, it's REALLY hateful! Hmmmm... spackle... now there's a not-too-hateful product... too bad it isn't software. Chet
From: Anton Berezin Date: 15:59 on 08 Aug 2005 Subject: Re: make uninstall On Mon, Aug 08, 2005 at 10:47:58AM -0400, Chet Hosey wrote: > I'll often go so far as to ./configure --prefix=/tmp/meat/usr > (yes, I usually use "meat" as a throwaway directory name), and after > "make install" I'll cd into /tmp/meat, make whatever modifications are > appropriate (such as adding an init.d script), "tar czf ../progname.tar.gz > *", and convert it to package appropriate for the local system. The problem with this approach is that various components are not necessarily relocatable in this fashion. Compile-time hard-coded prefix-derived paths come to mind. *Anton.
From: Chet Hosey Date: 18:28 on 08 Aug 2005 Subject: Re: make uninstall On Mon, Aug 08, 2005 at 04:59:41PM +0200, Anton Berezin wrote: > On Mon, Aug 08, 2005 at 10:47:58AM -0400, Chet Hosey wrote: > > > I'll often go so far as to ./configure --prefix=/tmp/meat/usr > > (yes, I usually use "meat" as a throwaway directory name), and after > > "make install" I'll cd into /tmp/meat, make whatever modifications are > > appropriate (such as adding an init.d script), "tar czf ../progname.tar.gz > > *", and convert it to package appropriate for the local system. > > The problem with this approach is that various components are not > necessarily relocatable in this fashion. Compile-time hard-coded > prefix-derived paths come to mind. Include "use of egrep" in the "appropriate modifications". Egrep is not usually hateful, so I didn't mention it.
From: peter (Peter da Silva) Date: 16:14 on 08 Aug 2005 Subject: Re: make uninstall > As are build systems in general -- you'd think that given the amount of > software written in the computing world, making tools that could easily > and successfully build and install software and do things like recognize > which files should be rebuilt after touching a header would be a higher > priority. Nah, it's much more practical to force people to write obscure XML by hand and then if you need to change the compile flags you're using you can always hack the source to ant... Bad as automake is, it's warm and cuddly next to that.
From: Michael G Schwern Date: 01:47 on 09 Aug 2005 Subject: Re: make uninstall On Mon, Aug 08, 2005 at 10:47:58AM -0400, Chet Hosey wrote: > As are build systems in general -- you'd think that given the amount of > software written in the computing world, making tools that could easily > and successfully build and install software and do things like recognize > which files should be rebuilt after touching a header would be a higher > priority. Nooooo, let's use automake to build the configure script to > generate the Makefiles that recursively invoke make to spackle over the > problem -- that way when something breaks, it's REALLY hateful! As the maintainer of a system that uses such a style, I cannot express my hatred for it as I fear it would destroy the world.
From: Jonathan Trites Date: 09:04 on 09 Aug 2005 Subject: Re: make uninstall > As the maintainer of a system that uses such a style, I cannot express my > hatred for it as I fear it would destroy the world. > Oh go on, destroying the world will make you feel better. I remember when I destroyed the world; it was very cathartic.
From: Robert G. Werner Date: 16:21 on 09 Aug 2005 Subject: Re: make uninstall Jonathan Trites wrote: >>As the maintainer of a system that uses such a style, I cannot express my >>hatred for it as I fear it would destroy the world. >> > > > Oh go on, destroying the world will make you feel better. I remember > when I destroyed the world; it was very cathartic. > > I don't remember that.
From: Abigail Date: 00:12 on 08 Aug 2005 Subject: Re: make uninstall --yTwVabqJa5IUz21H Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Aug 06, 2005 at 03:21:46AM -0500, Jonathan Trites wrote: > Here's something I hate. Programs that after you do the ./configure, > make, make install, you realize for one reason or another that you did > something wrong or you no longer want the program. So, after it shits > all over /usr/bin, /usr/local/bin, /usr/lib, or whateverthefuck > other directories it uses that have a bajillion and a half other files > already in them, so you can't manually delete the program, you try > 'make uninstall'. And what the fuck do you get: >=20 > make: *** No rule to make target `uninstall'. Stop. >=20 > Well, FUCK YOU TOO. I haven't done any other ./configure's or changed > anything, so you should be able to fucking uninstall. I just don't > want you on my system anymore. So, GET THE FUCK OFF. But nooooooooo, I > can't do that because it put files all over the fucking place and I > have no way of ever being able to get it fully off of my system. For anything that's more than a single file, I tend to use: ./configure --prefix /opt/package or even: ./configure --prefix /opt/package/version Abigail --yTwVabqJa5IUz21H Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFC9pVLBOh7Ggo6rasRAhIdAKCQvvQhLMbBt/X8Z6b10O643mm64wCgqZgY xv+eN/ZLtJ2Vuqbor1fub7U= =sCkr -----END PGP SIGNATURE----- --yTwVabqJa5IUz21H--
Generated at 10:27 on 16 Apr 2008 by mariachi