add lang/kaffe and a why
[ikiwiki.git] / docs / howtos / rpkgmanager / index.mdwn
3d4e3c67 1### Introduction
2rpkgmanager is a simple way of installing and keeping your packages updated. It builds from source and uses what pkgsrc tree you have checked out in /usr/pkgsrc. It is based around a list with packages that you wish to have installed. rpkgmanager is written in ruby.
4### Setting it up
5Begin by installing lang/ruby, pkgtools/p5-pkgsrc-Dewey, installing the needed gem and cloning the rpkgmanager git repo:
7 # pkg_radd ruby p5-pkgsrc-Dewey
8 # gem19 install open4
9 > git clone git:// && cd rpkgmanager
11Now it's time to set up wanted.db, the file that holds all packages you want installed. There is a sample wanted.db file in your checked out directory. This is what I use:
13 devel/mercurial,42
14 devel/scmgit,42
15 devel/subversion-base,42
e5053192 16 lang/kaffe,41
3d4e3c67 17 lang/pcc-current,42
18 lang/ruby,42
19 mail/mutt-devel,42
20 mail/offlineimap,42
21 misc/screen,42
22 multimedia/mplayer,42
23 net/avahi,42
24 net/netatalk,42
25 net/nmap,42
26 net/rsync,42
27 net/rtorrent,42
28 pkgtools/p5-pkgsrc-Dewey,42
29 security/sudo,42
30 sysutils/cdrtools,42
31 sysutils/smartmontools,42
32 wip/jdk16,42
33 www/apache22,42
34 www/apache-tomcat6,42
35 www/curl,42
36 www/links,42
e5053192 38The number after the comma tells rpkgmanager in which order to install/upgrade the packages. I usually don't care and put the same priority on all packages, except for wip/jdk16 that needs lang/kaffe to bootstrap.
3d4e3c67 39
40### Using it
7214b5e7 42Running rpkgmanager may take some time depending on how many packages you install. It has to gather information on everyone of them. It will ask the simple Yes or No question when done. Remember that it will want to remove all packages that are not in your wanted.db file or not dependencies of those packages.
3d4e3c67 43
44To run it, just execute the ruby file.
46 # ./rpkgmanager.rb
48I've set it up to run every night answering No to the proceed question, just to see what it wants to do. Add this to your /etc/crontab:
85fb3ea5 50 0 3 * * * root cd /usr/pkgsrc && git pull && echo n | /home/luxh/bin/rpkgmanager.rb
acc745be 52Remember to add /usr/pkg/bin to your crontabs's $PATH if you don't already have it there.
3d4e3c67 53
54Then in the morning when you've read the night's logs and wish to upgrade your packages:
56 # yes | rpkgmanager.rb
85fb3ea5 57
58### More information
acc745be 60Read the manpage in your checked out copy of the repo, rpkgmanager(8)
85fb3ea5 61
62 > cd rpkgmanager && man ./rpkgmanager.8