rlm@1
|
1 The point of this system to to
|
rlm@1
|
2
|
rlm@1
|
3 1. Determine the provenence of every file on my system.
|
rlm@1
|
4 2. Always have an "undo" button.
|
rlm@1
|
5
|
rlm@1
|
6 These criteria have evolved from my frustrations
|
rlm@1
|
7 with my previous LFS system.
|
rlm@1
|
8
|
rlm@1
|
9
|
rlm@1
|
10 User expreience:
|
rlm@1
|
11
|
rlm@1
|
12 Suppose I want to install emacs.
|
rlm@1
|
13
|
rlm@1
|
14 here's a sample terminal session
|
rlm@1
|
15
|
rlm@1
|
16 $ pkg emacs "a text editor"
|
rlm@1
|
17 > creating user emacs.
|
rlm@1
|
18 > cd /pkg/emacs
|
rlm@1
|
19
|
rlm@1
|
20 $ wget http://emacs.com/emacs.tar.bz2
|
rlm@1
|
21 > downloaded emacs.tar.bz2
|
rlm@1
|
22
|
rlm@1
|
23 $ unp emacs.tar.bz2; cd emacs; configure;
|
rlm@1
|
24 make install;
|
rlm@1
|
25 > install stuff..
|
rlm@1
|
26
|
rlm@1
|
27 $ hg st
|
rlm@1
|
28 > a bunch of files are added
|
rlm@1
|
29
|
rlm@1
|
30 1. Say I don't want emacs after all.
|
rlm@1
|
31 $ hg purge; hg revert --all
|
rlm@1
|
32
|
rlm@1
|
33 2. Complete emacs instilation
|
rlm@1
|
34 > hg addr; hg commit -m "emacs."
|
rlm@1
|
35
|
rlm@1
|
36 (this commits as the emacs user)
|
rlm@1
|
37
|
rlm@1
|
38 3. can examine provenance of information
|
rlm@2
|
39 $ pkg-report emacs
|
rlm@1
|
40 > package emacs owns the following files:
|
rlm@1
|
41 > emacs
|
rlm@1
|
42 > man/emacs
|
rlm@1
|
43 > ....
|
rlm@1
|
44
|
rlm@1
|
45 4. see all the commits that the "emacs" user made.
|
rlm@1
|
46 $ pkg-history emacs
|
rlm@1
|
47 > <filtered mercurial log>
|
rlm@1
|
48
|
rlm@1
|
49 5. remove a package in its entirety
|
rlm@1
|
50 $ pkg-remove emacs
|
rlm@1
|
51 > removed
|
rlm@1
|
52 > <list of files>
|
rlm@1
|
53
|
rlm@12
|
54 the root-level mercurial repository is owned by
|
rlm@12
|
55 hg-commiter:hg-wheel, where hg-committer is the
|
rlm@12
|
56 user for which the "hg" alise for each package
|
rlm@12
|
57 user is setuid.
|
rlm@1
|
58
|
rlm@12
|
59 high level users can be added to hg-heel to
|
rlm@12
|
60 administer the root-level mercurial repsitory,
|
rlm@12
|
61 which will allow them to do things like hg log, hg
|
rlm@12
|
62 purge, etc.
|
rlm@1
|
63
|