root/dev-notes/TODO.rst
Rough TODO
rip out use.* code from pkgcore_checks.addons.UseAddon.__init__, and generalize it into pkgcore.ebuild.repository
not hugely important, but... make a cpython version of SlottedDict from pkgcore.util.obj; 3% reduction for full repo walk, thus not a real huge concern atm.
userpriv for pebuild misbehaves..
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/491285 check into, probably better then my curfty itersort; need to see how well heapqu's nlargest pop behaves (looks funky)
look into converting MULTILIB_STRICT* crap over to a trigger
install-sources trigger
recreate verify-rdepends also
observer objects for reporting back events from merging/unmerging cpython 'tee' is needed, contact harring for details. basic form of it is in now, but need something more powerful for parallelization elog is bound to this also
Possibly convert to cpython:
- flat_hash.database._parse_data
- metadata.database._parse_data
- posixpath (os.path)
get the tree clean of direct /var/db/pkg access
vdb2 format (ask harring for details).
pkgcore.fs.ops.merge_contents; doesn't rewite the contents set when a file it's mergeing is relying on symlinked directories for the full path; eg, /usr/share/X11/xkb/compiled -> /var/blah, it records the former instead of recording the true absolute path.
pmerge mods; [ --skip-set SET ] , [ --skip atom ], use similar restriction to --replace to prefer vdb for matching atoms
refactor pkgcore.ebuild.cpv.ver_cmp usage to avoid full cpv parsing when _cpv is in use; 'nuff said, look in pkgcore.ebuild.cpv.cpy_ver_cmp
testing of fakeroot integration
it was working back in the ebd branch days; things have changed since then (heavily), enabling/disabling should work fine, but will need to take a look at the contentset generation to ensure perms/gid leaks through correctly.
modify repository.prototype.tree.match to take an optional comparison
reasoning being that if we're just going to do a max, pass in the max so it has the option of doing the initial sorting without passing through visibility filters (which will trigger metadata lookups)
'app bundles'. Reliant on serious overhauling of deps to do 'locked deps', but think of it as rpath based app stacks, a full apache stack compiled to run from /opt/blah for example.
pkgcore.ebuild.gpgtree
derivative of pkgcore.ebuild.ebuild_repository, this overloads ebuild_factory and eclass_cache so that gpg checks are done. This requires some hackery, partially dependant on config.central changes (see above). Need a way to specify the trust ring to use, 'severity' level (different class targets works for me). Anyone who implements this deserves massive cookies.
pkgcore.ebuild.gpgprofile: Same as above.
reintroduce locking of certain high level components using read/write; mainly, use it as a way to block sync'ing a repo that's being used to build, lock the vdb for updates, etc.
