Hacker News new | past | comments | ask | show | jobs | submit login

> I had a "local" usr/* in my home directory

I always just used `--prefix="$HOME"` so that everything went into `~/bin`, `~/lib`, `~/man`, etc...

I did look into stow a couple of times, and would have been fine with it dropping symlinks going into those dirs if I'd have used it.

(A few years after XDG started being commonly used I moved everything in my `~/etc` into `~/.config`, and `~/etc` is now a symlink to it. I occasionally wonder if doing it the other way around and setting up XDG_CONFIG_DIR would be more old-skool, before catching my reflection in my monitor and realising how daft that thought is.)




> I always just used `--prefix="$HOME"` so that everything went into `~/bin`, `~/lib`, `~/man`, etc...

Forgive my ignorance, but how do you uninstall stuff a year or two later?


`make uninstall`

(If a project's build system does not provide an "uninstall" target (coughcmakecough) then the project likely has other deficiencies and should be avoided.)


Wouldn't that require me to keep the source code for that particular version lying around?


Well, yes.

I mean, you could probably get away with just keeping the `Makefile` around. But for the stuff I installed from source, I was often interested in keeping the source code around anyway, for curiosity's sake. And hard drives are big, while source code trees generally aren't - comparatively speaking.


Fair enough. In that job I was working on a remote Linux system that was quite outdated. So everything I wanted to install (newer version of Emacs, etc) required me to build so many libraries, as the system ones were too old (Emacs alone required 50-100). I didn't want the hassle of keeping all the source code around.


`rm`, everything’s contained within your homedir.


With the described setup:

> I always just used `--prefix="$HOME"` so that everything went into `~/bin`, `~/lib`, `~/man`, etc...

You can't just use rm as a blunt instrument. ~/bin will contain lots of binaries from lots of packages. You want to uninstall only one package. How do you know which files correspond to that package?


Don't forget the `-fr *` parameters.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: