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