| 1 | Pkgcore Release Notes |
|---|
| 2 | ===================== |
|---|
| 3 | |
|---|
| 4 | See ChangeLog for full commit logs; this is summarized/major changes. |
|---|
| 5 | |
|---|
| 6 | pkgcore 0.2.1: |
|---|
| 7 | |
|---|
| 8 | * fix corner case for portage configuration support; old system (<=2004) |
|---|
| 9 | installations may have /etc/portage/sets/world, which confused pmerges |
|---|
| 10 | world updating, leading to writing bad entries. Ticket 54. |
|---|
| 11 | |
|---|
| 12 | * fix issues with distcc/ccache (ticket 55) so that they actually work. |
|---|
| 13 | |
|---|
| 14 | * fix pconfig dump traceback; ticket 56. |
|---|
| 15 | |
|---|
| 16 | pkgcore 0.2: |
|---|
| 17 | |
|---|
| 18 | * glsa pkgset will now include metadata/glsa from overlays. |
|---|
| 19 | |
|---|
| 20 | * pmaint script; tool for --sync'ing, doing quickpkging, moving packages |
|---|
| 21 | between repos for repository conversions. General repository maintenance. |
|---|
| 22 | |
|---|
| 23 | * sync subsystem: supports bzr, cvs, darcs, git, mercurial (hg), rsync, |
|---|
| 24 | and subversion. |
|---|
| 25 | |
|---|
| 26 | * binpkg repositories now support modification; FEATURES=buildpkg basically |
|---|
| 27 | |
|---|
| 28 | * binpkg contents handling is significantly faster. |
|---|
| 29 | |
|---|
| 30 | * pmerge: |
|---|
| 31 | * supports --ask (thanks to nesl247/alex heck) |
|---|
| 32 | * pmerge --replace is default now; use --noreplace for original behaviour. |
|---|
| 33 | * 'installed' set was added; is a pkgset comprised of all slotted atoms from |
|---|
| 34 | the vdb; useful for pmerge -u to enable upgrades of *everything* installed. |
|---|
| 35 | * versioned-installed set was added; useful for -e, this set is compromised |
|---|
| 36 | of exact version of everything installed. |
|---|
| 37 | * added --with-built-depends, -B; resolver defaults to ignoring 'built' |
|---|
| 38 | ebuild depends (those from vdb, from binpkgs for example), this option |
|---|
| 39 | tells it to update those depends. |
|---|
| 40 | |
|---|
| 41 | * xterm titles |
|---|
| 42 | |
|---|
| 43 | * massive resolver cleanup, and general fixes. |
|---|
| 44 | |
|---|
| 45 | * rewritten plugins system, register_plugins is no longer used. |
|---|
| 46 | |
|---|
| 47 | * paludis flat_list cache read/write support. |
|---|
| 48 | |
|---|
| 49 | * portage flat_list cache write support (cache used for |
|---|
| 50 | $PORTDIR/metadata/sync) |
|---|
| 51 | |
|---|
| 52 | * pebuild/pregen/pclone_cache: heavy UI cleanup. |
|---|
| 53 | |
|---|
| 54 | * pquery: |
|---|
| 55 | * prettier printing of depends/rdepends/post_rdepends under -v |
|---|
| 56 | * print revdep reasons |
|---|
| 57 | * now requires an arg always; previously defaulted to '*', which is |
|---|
| 58 | still supported but also accessible via --all . |
|---|
| 59 | * added --maintainers-email and --maintainers-name; use case insensitive |
|---|
| 60 | regex by default for --maintainer style options. |
|---|
| 61 | |
|---|
| 62 | * added repo_id atom extension; see doc/extended-atom-syntax.rst for details. |
|---|
| 63 | short version, sys-apps/portage::gentoo would match portage *only* from |
|---|
| 64 | ``gentoo`` repository. |
|---|
| 65 | |
|---|
| 66 | * overlays now combine mirror targets from their parent repository, and |
|---|
| 67 | from their own repository data. |
|---|
| 68 | |
|---|
| 69 | * configuration subsystem: |
|---|
| 70 | * configuration: lazy section refs were added (lazy_ref), useful for when |
|---|
| 71 | the object arguement needs to be instantiated rarely (syncers for |
|---|
| 72 | repositories for example). |
|---|
| 73 | |
|---|
| 74 | * mke2fs (literal /etc/mke2fs.conf file) akin configuration format was |
|---|
| 75 | added, pkgcore.config.mke2fsformat.config_from_file . |
|---|
| 76 | |
|---|
| 77 | * expanded test coverage. |
|---|
| 78 | |
|---|
| 79 | * merged standalone test runner into setup.py; prefered way of running it is |
|---|
| 80 | ``python setup.py test`` now. |
|---|
| 81 | |
|---|
| 82 | * ongoing portage configuration support additions- |
|---|
| 83 | * FEATURES=collision-protect support |
|---|
| 84 | * INSTALL_MASK support, FEATURES noinfo, nodoc, and noman support. |
|---|
| 85 | * /etc/portage/package.* files can be directories holding seperate files |
|---|
| 86 | to collapse |
|---|
| 87 | |
|---|
| 88 | * gnu info regeneration trigger added. |
|---|
| 89 | |
|---|
| 90 | * performance improvements: |
|---|
| 91 | * cpython extensions of select os.path.* functionality; 20x boost for what |
|---|
| 92 | was converted over (stdlib's posix module is a bit inefficient). |
|---|
| 93 | |
|---|
| 94 | * cpython extension for file io in pkgcore.util.osutils: 7x faster on ENOENT |
|---|
| 95 | cases, 4x-5x on actual reading of small files (think cache files). If |
|---|
| 96 | iterating over lines of a file, use pkgcore.util.osutils.readlines- again, |
|---|
| 97 | faster then standard file object's equivalent- 3x reduction (7.6ms to 2.5ms |
|---|
| 98 | for full contents reading). |
|---|
| 99 | |
|---|
| 100 | * partial cpython reimplementation of atom code; mainly parsing, and |
|---|
| 101 | critical __getattr__ invocation (2+x faster parse). |
|---|
| 102 | |
|---|
| 103 | * partial cpython reimplementation of depset code; strictly just parsing. |
|---|
| 104 | Faster (given), but mainly is able to do optimizations to the depset |
|---|
| 105 | cheaply that python side is heavily slowed down by- ( x ( y ) ) becomes |
|---|
| 106 | ( x y ) for example. |
|---|
| 107 | |
|---|
| 108 | * chunks of restriction objects were pushed to cpython for memory reasons, |
|---|
| 109 | and bringing the instantiation cost down as low as possible (the common |
|---|
| 110 | restrict objects now are around 1-3us for new instantation, .5 to 1us |
|---|
| 111 | for getting a cached obj instead of instantiating). |
|---|
| 112 | |
|---|
| 113 | * bug corrected in base repo classes identify_candidates method; should now |
|---|
| 114 | force a full walk of the repo only when absolutely required. |
|---|
| 115 | |
|---|
| 116 | * chksuming now does a single walk over a file for all checksummers, |
|---|
| 117 | instead of one walk per checksummer- less disk thrashing, better |
|---|
| 118 | performance. |
|---|
| 119 | |
|---|
| 120 | * vdb virtuals caching; massive performance boost via reduced IO. Relies on |
|---|
| 121 | mtime checks of vdb pkg directories for staleness detection, |
|---|
| 122 | auto-regenerating itself as needed. |
|---|
| 123 | |
|---|
| 124 | * heavy profile code cleanup; should only read each common profile node once |
|---|
| 125 | now when loading up multiple profiles (pcheck). Far easier code to read |
|---|
| 126 | in addition. |
|---|
| 127 | |
|---|
| 128 | * cache eclass staleness verification now relies on mtime comparison only- |
|---|
| 129 | allows for eclasses to move between repos; matches portage behaviour. |
|---|
| 130 | |
|---|
| 131 | * pkgcore.util.caching.*, via __force_caching__ class attr in consumers, can |
|---|
| 132 | be used to force singleton instance creation/caching (error if unhashable). |
|---|
| 133 | |
|---|
| 134 | * ebuild support: |
|---|
| 135 | * PORTAGE_ACTUAL_DISTDIR was reenabled, thus cvs/svn equivalent ebuilds are |
|---|
| 136 | usable once again. |
|---|
| 137 | * fixed pkgcore's pkgcore emulation of has_version/best_version matching |
|---|
| 138 | behaviour for old style virtuals to match portages (oddity, but ebuilds |
|---|
| 139 | rely on the goofy behaviour). |
|---|
| 140 | * various fixups to unpack function; should match portage behaviour as of |
|---|
| 141 | 01/07 now. |
|---|
| 142 | * if FEATURES=test, set USE=test; if USE=test has been explicitly masked for |
|---|
| 143 | a package, disable src_test run; matches portage 2.1.2 behaviour. |
|---|
| 144 | * cleanup build directory, and unmerge directories upon finishing |
|---|
| 145 | |
|---|
| 146 | * filter-env now is accessible directly via python; pkgcore.ebuild.filter_env . |
|---|
| 147 | Needs further work prior to being usable for pcheck inspection of ebuilds, |
|---|
| 148 | but it's a good start. |
|---|
| 149 | |
|---|
| 150 | |
|---|
| 151 | pkgcore 0.1.4: |
|---|
| 152 | |
|---|
| 153 | * Compatibility with caches written by portage 2.1.2_pre3-r8. |
|---|
| 154 | |
|---|
| 155 | |
|---|
| 156 | pkgcore 0.1.3: |
|---|
| 157 | |
|---|
| 158 | * Always process "|| ( a b )" in the right order. |
|---|
| 159 | |
|---|
| 160 | * Fix disabling a flag in package.use.mask or package.use.force. |
|---|
| 161 | |
|---|
| 162 | |
|---|
| 163 | pkgcore 0.1.2: |
|---|
| 164 | |
|---|
| 165 | * Make filter_env work on hppa (and possibly more architectures) where using |
|---|
| 166 | python CFLAGS for this standalone binary does not work. |
|---|
| 167 | |
|---|
| 168 | * Fall back to plain text output if the TERM variable is unsupported. |
|---|
| 169 | |
|---|
| 170 | * Deal with dangling symlinks in binpkg repositories. |
|---|
| 171 | |
|---|
| 172 | * Fix expanding of incrementals (like USE) in make.defaults. |
|---|
| 173 | |
|---|
| 174 | * pquery: support --attr fetchables, handle extra commandline arguments as |
|---|
| 175 | -m or --expr restrictions. |
|---|
| 176 | |
|---|
| 177 | * USE deps once again allow setting a flag only if it is actually settable |
|---|
| 178 | on the target package. |
|---|
| 179 | |
|---|
| 180 | |
|---|
| 181 | pkgcore 0.1.1: |
|---|
| 182 | |
|---|
| 183 | * hang fix for test_filter_env |
|---|
| 184 | |
|---|
| 185 | * package.keywords fixes: no longer incremental, supports '*' and '~*' |
|---|
| 186 | properly |
|---|
| 187 | |
|---|
| 188 | * FEATURES="userpriv" support works again. |
|---|
| 189 | |
|---|
| 190 | * pmerge repository ordering now behaves properly; prefers src ebuilds, then |
|---|
| 191 | built pkgs; -k inverts that (previously was semi-undefined) |
|---|
| 192 | |
|---|
| 193 | * binpkg fixes: run setup phase |
|---|
| 194 | |
|---|
| 195 | * replace op fixes: force seperate WORKDIR for unmerge to protect against |
|---|
| 196 | env collisions |
|---|
| 197 | |
|---|
| 198 | * loosened category rules: allow _. chars to support cross-dev hack. |
|---|
| 199 | |
|---|
| 200 | * build fixes: make $A unique to avoid duplicate unpacks; force distdir |
|---|
| 201 | creation regardless of whether or not the pkg has any stated SRC_URI |
|---|
| 202 | (fixes cvs and subversion eclsas usage). Fix sandbox execution to chdir |
|---|
| 203 | to an existant directory (sandbox will fail if ran from a nonexistant dir). |
|---|
| 204 | |
|---|
| 205 | * change DelayedInstantiation objects to track __class__ themselves; this |
|---|
| 206 | fixes pquery to properly shutdown when ctrl+c'd (previously could swallow |
|---|
| 207 | the interrupt due to cpython isinstance swallowing KeyboardInterrupt). |
|---|
| 208 | |
|---|
| 209 | |
|---|
| 210 | pkgcore 0.1: |
|---|
| 211 | |
|---|
| 212 | Initial release. |
|---|
| 213 | |
|---|
| 214 | * Sync functionality doesn't yet exist (pmaint script will be in 0.2) |
|---|
| 215 | |
|---|
| 216 | * pmerge vdb modification requires --force; this will be disabled in 0.2, |
|---|
| 217 | mainly is in place so that folks who are just looking, don't inadvertantly |
|---|
| 218 | trigger an actual modification. |
|---|
| 219 | |
|---|
| 220 | * not all portage FEATURES are implemented; same for QA. |
|---|
| 221 | |
|---|
| 222 | * If overlays are in use, pkgcore may defer to its' seperate cache to avoid |
|---|
| 223 | pkgcore causing cache regen for portage (and vice versa); this occurs due |
|---|
| 224 | to pkgcore treating overlays as their own repo and combining them at a |
|---|
| 225 | higher level; portage smushes them all together thus rendering each subtree |
|---|
| 226 | unusable in any standalone fashion. |
|---|
| 227 | |
|---|
| 228 | * pkgcore is far more anal about blocking bad behaviour in ebuilds during |
|---|
| 229 | metadata regeneration; tree is clean, but if you do something wrong in |
|---|
| 230 | global scope, it *will* catch it and block it. |
|---|
| 231 | |
|---|
| 232 | * EBD; daemonized ebuild.sh processing (effectively), pkgcore reuses old |
|---|
| 233 | ebuild.sh processes to avoid bash startup, speeding regen up by roughly |
|---|
| 234 | 2x. |
|---|