| 1 | ========== |
|---|
| 2 | Rough TODO |
|---|
| 3 | ========== |
|---|
| 4 | |
|---|
| 5 | - pmaint (sync, quickpkging/non-merge pkg transfering, cache transfering) |
|---|
| 6 | |
|---|
| 7 | - look into converting MULTILIB_STRICT* crap over to a trigger |
|---|
| 8 | |
|---|
| 9 | - install-sources trigger |
|---|
| 10 | |
|---|
| 11 | - collision-protect trigger |
|---|
| 12 | |
|---|
| 13 | - recreate verify-rdepends also |
|---|
| 14 | |
|---|
| 15 | - sandbox and fakeroot don't work right now (doesn't properly disable) |
|---|
| 16 | |
|---|
| 17 | - sync subsystem. |
|---|
| 18 | Threw out the old refactoring, too portage specific; exists in |
|---|
| 19 | sandbox/dead_code , design sucked also. |
|---|
| 20 | |
|---|
| 21 | - observer objects for reporting back events from merging/unmerging |
|---|
| 22 | cpython 'tee' is needed, contact harring for details. |
|---|
| 23 | elog is bound to this also |
|---|
| 24 | |
|---|
| 25 | - Possibly convert to cpython: |
|---|
| 26 | |
|---|
| 27 | - flat_hash.database._parse_data |
|---|
| 28 | - metadata.database._parse_data |
|---|
| 29 | - posixpath (os.path) |
|---|
| 30 | |
|---|
| 31 | - Rework digest api to allow running checksums in parallel. |
|---|
| 32 | Meaning: don't load the file three times for applying three checksums. |
|---|
| 33 | Need to work out how to do this with fchksum and the "size" checksum. |
|---|
| 34 | |
|---|
| 35 | - pkgcore.fetchable.__init__: __eq__/__hash__ |
|---|
| 36 | |
|---|
| 37 | - get the tree clean of direct /var/db/pkg access |
|---|
| 38 | |
|---|
| 39 | - vdb2 format (ask harring for details). |
|---|
| 40 | |
|---|
| 41 | - verify proper temporal handling of rdep blockers when a pkg gets dumped |
|---|
| 42 | from the graph (namely, boot the block). |
|---|
| 43 | |
|---|
| 44 | - pkgcore.fs.ops.merge_contents; doesn't rewite the contents set when a file |
|---|
| 45 | it's mergeing is relying on symlinked directories for the full path; eg, |
|---|
| 46 | /usr/share/X11/xkb/compiled -> /var/blah, it records the former instead of |
|---|
| 47 | recording the true absolute path. |
|---|
| 48 | |
|---|
| 49 | - pmerge exit code; ambiguousquery doesn't seem to result in ret != 0 |
|---|
| 50 | |
|---|
| 51 | - pmerge mods; [ --skip-set SET ] , [ --skip atom ], use similar restriction |
|---|
| 52 | to --replace to prefer vdb for matching atoms |
|---|
| 53 | |
|---|
| 54 | - info regeneration trigger |
|---|
| 55 | |
|---|
| 56 | - refactor pkgcore.ebuild.cpv.ver_cmp usage to avoid full cpv parsing when |
|---|
| 57 | _cpv is in use; |
|---|
| 58 | 'nuff said, look in pkgcore.ebuild.cpv.cpy_ver_cmp |
|---|
| 59 | |
|---|
| 60 | - finish off trigger registration |
|---|
| 61 | |
|---|
| 62 | Right now it's hardcoded in merge.engine; this sucks, need to convert the |
|---|
| 63 | gentoo specific triggers over to being registered on the fly via |
|---|
| 64 | domain/configuration. |
|---|
| 65 | |
|---|
| 66 | - testing of fakeroot integration |
|---|
| 67 | |
|---|
| 68 | it was working back in the ebd branch days; things have changed since then |
|---|
| 69 | (heavily), enabling/disabling should work fine, but will need to take a look |
|---|
| 70 | at the contentset generation to ensure perms/gid leaks through correctly. |
|---|
| 71 | |
|---|
| 72 | - modify repository.prototype.tree.match to take an optional comparison |
|---|
| 73 | |
|---|
| 74 | reasoning being that if we're just going to do a max, pass in the max so it |
|---|
| 75 | has the option of doing the initial sorting without passing through |
|---|
| 76 | visibility filters (which will trigger metadata lookups) |
|---|
| 77 | |
|---|
| 78 | - pkgcore.config.central features |
|---|
| 79 | |
|---|
| 80 | These may or may not be picked off as development continues; the main |
|---|
| 81 | requirement for this functionality is plugins, which the framework |
|---|
| 82 | intends... so... prior to a release, it will be added. |
|---|
| 83 | |
|---|
| 84 | - needs method to do lookups of further object restrictions/section_ref/etc |
|---|
| 85 | from a common dir, based on name. this one requires some thought; |
|---|
| 86 | essentially, if loading portage-mysql.cache, try 1, or try this opt, |
|---|
| 87 | look in a dir the plugins ebuild can install a section conf tweak, and |
|---|
| 88 | use it. |
|---|
| 89 | - configuration 'types' , list, bool, str, etc, should be extendable, lifted |
|---|
| 90 | from a config most likely. Defaults should be avail in code, but should |
|---|
| 91 | have a method of extending it |
|---|
| 92 | - integration of make.globals type data; defaults effectively, but a bit |
|---|
| 93 | more complex. |
|---|
| 94 | |
|---|
| 95 | - 'app bundles'. Reliant on serious overhauling of deps to do 'locked deps', |
|---|
| 96 | but think of it as rpath based app stacks, a full apache stack compiled to |
|---|
| 97 | run from /opt/blah for example. |
|---|
| 98 | |
|---|
| 99 | - pkgcore.ebuild.gpgtree |
|---|
| 100 | |
|---|
| 101 | derivative of pkgcore.ebuild.ebuild_repository, this overloads |
|---|
| 102 | ebuild_factory and eclass_cache so that gpg checks are done. |
|---|
| 103 | This requires some hackery, partially dependant on config.central changes |
|---|
| 104 | (see above). Need a way to specify the trust ring to use, 'severity' level |
|---|
| 105 | (different class targets works for me). |
|---|
| 106 | Anyone who implements this deserves massive cookies. |
|---|
| 107 | |
|---|
| 108 | - pkgcore.ebuild.gpgprofile: |
|---|
| 109 | Same as above. |
|---|
| 110 | |
|---|
| 111 | - pkgcore.fetch.bundled_lib: |
|---|
| 112 | clean this beast up. |
|---|
| 113 | |
|---|
| 114 | - IPV6 handling: |
|---|
| 115 | bug 37124 # syncing |
|---|
| 116 | check over BINHOST code replacement for any code that resolve to a specific |
|---|
| 117 | IP |
|---|
| 118 | |
|---|
| 119 | - locking unification. see plugins for an example of why it's needed |
|---|