i have been a quite happy archlinux user for a few years now. one of the reasons is surely pacman and, today, i have turned a little bit happier about it.
quite often, when working on a project, i have to install several packages and libraries that, most certainly, i’ll never use again after the project is done, so i need to remember to remove them. what i usually did was:
- install the packages as dependencies (pacman -S –asdeps) and then,
- later, when project is done, check my database for all installed packages that depended on no other explicitly installed package (pacman -Qdt).
the thing is that, over time, and many simultaneous projects, the listing gets crowded, and mixed up with optional dependencies for packages that i use (i install them as dependencies so they get removed when i remove the main package (pacman -Rncs)).
what i needed was a feature to “mark this installation with a reason: this project”. no, pacman does not support that, afaik. but it does support something perhaps better: meta-packages! for example, for the odtone project (my thesis depends on), i created the odtone-meta package that depends on all the packages that are needed, and has no particular source! thus, all i need to do is install the package, all dependencies are managed automatically! the PKGBUILD:
pkgname=odtone-meta
pkgver=001
pkgrel=1
pkgdesc="This package depends on all necessary packages for odtone"
arch=('any')
url="http://helios.av.it.pt/embedded/odtone/index.html"
license=('LGPL')
depends=('boost' 'boost-libs' 'rasqal' 'raptor' 'redland' 'redland-storage-sqlite')
this way, when the project is finished, i just remove the odtone-meta package, and everything that isn’t a dependency for another package is just removed!
neat!!
