rpkgmanager - clearify a bit.
[ikiwiki.git] / docs / howtos / rpkgmanager / index.mdwn
1 ### Introduction
2 rpkgmanager 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.
3
4 ### Setting it up
5 Begin by installing lang/ruby, pkgtools/p5-pkgsrc-Dewey, installing the needed gem and cloning the rpkgmanager git repo:
6
7     # pkg_radd ruby p5-pkgsrc-Dewey
8     # gem19 install open4
9     > git clone git://gitorious.org/rpkgmanager/rpkgmanager.git && cd rpkgmanager
10
11 Now 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:
12
13     devel/mercurial,42
14     devel/scmgit,42
15     devel/subversion-base,42
16     lang/pcc-current,42
17     lang/ruby,42
18     mail/mutt-devel,42
19     mail/offlineimap,42
20     misc/screen,42
21     multimedia/mplayer,42
22     net/avahi,42
23     net/netatalk,42
24     net/nmap,42
25     net/rsync,42
26     net/rtorrent,42
27     pkgtools/p5-pkgsrc-Dewey,42
28     security/sudo,42
29     sysutils/cdrtools,42
30     sysutils/smartmontools,42
31     wip/jdk16,42
32     www/apache22,42
33     www/apache-tomcat6,42
34     www/curl,42
35     www/links,42
36
37 The number after the comma tells rpkgmanager in which order to install/upgrade the packages. I really don't care, so all packages have the same priority.
38
39 ### Using it
40
41 Running 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. Proceed or not.
42
43 To run it, just execute the ruby file.
44
45     # ./rpkgmanager.rb
46
47 I'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:
48
49     0 3 * * * root cd /usr/pkgsrc && git pull && echo n | /home/luxh/bin/rpkgmanager.rb
50
51 Remember to add /usr/pkg/bin to your crontabs's $PATH.
52
53 Then in the morning when you've read the night's logs and wish to upgrade your packages:
54
55     # yes | rpkgmanager.rb
56
57 ### More information
58
59 Read the manpaged in your checked out copy of the repo, rpkgmanager(8)
60
61     > cd rpkgmanager && man ./rpkgmanager.8
62