1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Hi there, |
5 |
|
6 |
yesterday jokey mentioned the whole bunch of find_*_packages and |
7 |
find_all_*_packages functions that where existant in the current API. |
8 |
The only difference has been, that the find_all_* functions take a regex |
9 |
and the other ones get a package atom (like >=sys-apps/portage-2.13). He |
10 |
proposed that they should be merged into only one set. |
11 |
|
12 |
I also got reminded, that other package manglers provide certain |
13 |
"package sets" - and I wanted to introduce them too. |
14 |
|
15 |
The result: There is only one(!) function left out of them: |
16 |
|
17 |
find_packages(key, pkg_set, masked, with_version). |
18 |
|
19 |
What are the changes and the new requirements to implementations? |
20 |
================================================================== |
21 |
|
22 |
1.) The key can now either be an atom or a regex. The implementation has |
23 |
to deal with it on its own. |
24 |
|
25 |
Note: With "regex" I mean _real_ regexps. So the following should be |
26 |
supported as a key: .*/.*dict-[abc]?en |
27 |
This is NOT a valid regexp: *port* -> while this is: .*port* -> and |
28 |
.*port.* would do the intended thing ;). |
29 |
|
30 |
2.) We need to define a list of package sets that should be supported by |
31 |
_all_ providers. Currently I have: |
32 |
|
33 |
- "all" (or "") => all packages |
34 |
- "installed" => all installed packages |
35 |
- "uninstalled" => all uninstalled packages |
36 |
- "world" => all packages in world |
37 |
- "system" => all system packages |
38 |
- "tree" => all packages where there is an ebuild for in the current |
39 |
tree (might be different to "all" as you might have installed something |
40 |
which has been removed from tree in the meantime) |
41 |
|
42 |
3.) We need to define a behavior of what exactly masked and with_version |
43 |
should do. Currently masked means "include masked packages" and |
44 |
with_version makes the function return CPVs instead of CPs. |
45 |
BUT: Especially the combination "with_version = False and masked = |
46 |
False" is critical. Currently masked is ignored then. But should it |
47 |
perhaps be changed so that only these CPs are returned which have at |
48 |
least one unmasked version? |
49 |
|
50 |
TODO |
51 |
==== |
52 |
|
53 |
- - Change update_world into update_set("world"). |
54 |
- - What about the different system.get_*_option? Should they perhaps be |
55 |
merged into one? - Do they make sense at all? |
56 |
- - some more things I forgot :) |
57 |
|
58 |
NOTES |
59 |
====== |
60 |
|
61 |
- - Please do not rely on the current portage provider implementation. The |
62 |
API changes are not supported to 100% yet. |
63 |
- - I'll try to update the wiki pages, but can't promise to finish it in |
64 |
recent time. |
65 |
|
66 |
Regards, |
67 |
Necoro |
68 |
-----BEGIN PGP SIGNATURE----- |
69 |
Version: GnuPG v1.4.7 (GNU/Linux) |
70 |
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org |
71 |
|
72 |
iD4DBQFHOzcw4UOg/zhYFuARAqHPAJj3gHH8ONPN6KDCIeO7ryYEIt6lAJ439q+u |
73 |
nX+SRCiKhiDEPC86zQ+RGA== |
74 |
=A7wl |
75 |
-----END PGP SIGNATURE----- |
76 |
-- |
77 |
gentoo-guis@g.o mailing list |