Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Package Manager Specification: configuration protection
Date: Tue, 12 Sep 2006 17:41:22
Message-Id: 4506F016.8080407@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: Package Manager Specification: configuration protection by Ciaran McCreesh
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 Ciaran McCreesh wrote:
5 > On Tue, 12 Sep 2006 10:19:40 +0200 Simon Stelling <blubb@g.o>
6 > wrote:
7 > | > Protected Locations
8 > | > ===================
9 > | >
10 > | > Protected locations are determined by the ``CONFIG_PROTECT``
11 > | > environment variable, which is defined in the profiles and which
12 > | > may be augmented or overridden by the current environment and user
13 > | > configuration files. This variable contains a space separated list
14 > | > of values which are matched against the beginning of a full file
15 > | > path and name of files to be installed.
16 > |
17 > | "which are matched against the beginning of a full file path" would
18 > | mean that e.g. CONFIG_PROTECT="/etc/foo" would protect the following:
19 > |
20 > | /etc/foobar/doh
21 > | /etc/foo
22 > | /etc/foobaz
23 > |
24 > | .. or did I misunderstand something here? I don't know whether that is
25 > | the current behaviour of portage, but IMO it certainly shouldn't be.
26 > | It should rather be
27 > |
28 > | /etc/foo (file)
29 > | or, if /etc/foo is a dir:
30 > | /etc/foo/*
31 >
32 > Mm. I had a play with this. I'd like someone else to do independent
33 > tests, because I'm seeing something weird here. But it looks like
34 > Portage's current behaviour is:
35 >
36 > with CONFIG_PROTECT="/foo":
37 > * if /foo is a file, it's not protected
38 > * if /foo is a directory, its contents (including subdirectories) are
39 > protected
40 > * /foofoo (file) is not protected
41 > * /foobar/baz is not protected
42 >
43 > and weirdly, with CONFIG_PROTECT="/foo/"
44 > * if /foo/ is a directory, its contents are protected during unmerge
45 > but not during merge
46 >
47 > All of this is rather weird, and doesn't match up to what I've been
48 > told by Portage people that Portage is supposed to do...
49 >
50
51 When I've looked at the relevant code, it's given me the impression
52 that it could use some improvement. Frankly, I'm not surprised that
53 portage's CONFIG_PROTECT handling doesn't behave quite like one
54 would hope/expect in the cases mentioned above. Anyway, I'd like to
55 fix it so that it behaves better in all of those cases. Note that
56 bug 14321 already exists for that specific case that Simon has
57 mentioned.
58
59 Zac
60 -----BEGIN PGP SIGNATURE-----
61 Version: GnuPG v1.4.5 (GNU/Linux)
62
63 iD8DBQFFBvAU/ejvha5XGaMRAidrAJ9jQfHIHuDLomohU0JURE9f4fwPggCgvmhb
64 hnnzooKZCwmdDl4mG8wsqIA=
65 =J3/L
66 -----END PGP SIGNATURE-----
67 --
68 gentoo-dev@g.o mailing list