1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Hi everyone, |
5 |
|
6 |
Please consider the introduction of a new "PROPERTIES" variable to |
7 |
the ebuild metadata cache that's distributed via the rsync mirrors |
8 |
and resides locally in the ${PORTDIR}/metadata/cache/ directory. |
9 |
This variable is intended to have identical syntax to the existing |
10 |
RESTRICT variable, including support for the USE conditional syntax |
11 |
that is also supported by the LICENSE, PROVIDE, SRC_URI, and *DEPEND |
12 |
variables. |
13 |
|
14 |
The idea to introduce the PROPERTIES variable arose from discussion |
15 |
about the introduction of a new RESTRICT value [1]. By using a new |
16 |
PROPERTIES variable instead of the existing RESTRICT variable, we |
17 |
will have two separate categories of boolean attributes. This will |
18 |
be useful since some boolean attributes, such as "primaruri" and |
19 |
"live-sources", have an inverted nomenclature when compared to the |
20 |
other boolean attributes that currently exist within the RESTRICT |
21 |
set, show here: |
22 |
|
23 |
binchecks - Disable all QA checks for binaries. |
24 |
|
25 |
bindist - Distribution of binary packages is restricted. |
26 |
|
27 |
fetch - Files will not be fetched via SRC_URI. |
28 |
|
29 |
installsources - Disable FEATURES=installsources. |
30 |
|
31 |
mirror - Disable mirroring. |
32 |
|
33 |
primaryuri - Fetch from URLs in SRC_URI before GENTOO_MIRRORS. |
34 |
|
35 |
strip - Final binaries/libraries will not be stripped. |
36 |
|
37 |
test - Do not run src_test even if user has FEATURES=test. |
38 |
|
39 |
userpriv - Disables FEATURES=userpriv. |
40 |
|
41 |
We can add the new PROPERTIES variable to the metadata cache and it |
42 |
will be fully backward compatible as long as PROPERTIES only |
43 |
contains information that can be safely ignored by older versions of |
44 |
portage. Newer versions of portage that are aware of the new |
45 |
variable will simply have a superset of the information that's |
46 |
available to older versions of portage. |
47 |
|
48 |
The addition of the PROPERTIES variable isn't entirely necessary |
49 |
since any PROPERTIES value can alternatively be expressed as a |
50 |
RESTRICT value. However, numerous people have expressed a desire to |
51 |
have a new variable to represent a different category of boolean |
52 |
attributes, so as not to pollute the RESTRICT variable with values |
53 |
that don't fit well into existing RESTRICT nomenclature conventions. |
54 |
|
55 |
We haven't made any firm decisions yet on specific PROPERTIES values |
56 |
and their meanings. However, it would be nice to have the cache |
57 |
support in place so that we are prepared to start defining |
58 |
PROPERTIES in ebuilds as soon as we've decided on the names and |
59 |
meanings of specific values such as "live" [2], "virtual" [3], and |
60 |
"interactive" [4]. |
61 |
|
62 |
Introducing the PROPERTIES variable into the cache will require a |
63 |
very small patch to portage. As soon as this patch is applied to |
64 |
portage on the master rsync mirror, it will be possible to define |
65 |
the PROPERTIES variable in any ebuild and have that value |
66 |
automatically distributed via the metadata cache on the rsync |
67 |
mirrors. The current cache format has space to store the values of |
68 |
22 variables, delimited by newlines, of which 7 are currently |
69 |
unused. The attached patch will cause the PROPERTIES value to be |
70 |
stored on line number 16, following the EAPI value. |
71 |
|
72 |
Should we go ahead an apply this patch to the master rsync mirror, |
73 |
or would anybody like to discuss any alternatives? In the future we |
74 |
may want to discuss a change in cache format. However, in this |
75 |
thread I think we should limit discussion simply to whether or not |
76 |
adding this one variable to the cache is a good idea at this time. |
77 |
|
78 |
Thanks, |
79 |
Zac |
80 |
|
81 |
[1] |
82 |
http://archives.gentoo.org/gentoo-dev/msg_d8adb5d0dab3e8546c416781c452d81d.xml |
83 |
[2] |
84 |
http://archives.gentoo.org/gentoo-dev/msg_187585c5d49b69034183719ff473710d.xml |
85 |
[3] http://article.gmane.org/gmane.linux.gentoo.devel/57610 |
86 |
[4] |
87 |
http://archives.gentoo.org/gentoo-dev/msg_e145fc04e907de72e30d88285afb134c.xml |
88 |
-----BEGIN PGP SIGNATURE----- |
89 |
Version: GnuPG v2.0.9 (GNU/Linux) |
90 |
|
91 |
iEYEARECAAYFAkiiJGIACgkQ/ejvha5XGaMIfQCguxt0Z0k1V3SEtW+PrhQPsdIK |
92 |
MPIAn37AWGFONJsbdD6oRJryzQ8EHkxt |
93 |
=d5Jf |
94 |
-----END PGP SIGNATURE----- |