Releases: getsolus/eopkg
Releases · getsolus/eopkg
v4.1.6
v3.12.5
Bugfix release, which increases backwards compatibility with earlier eopkg.py2
versions and forwards compatibility with newer eopkg.py3
versions.
- Previously, we used a long-out-of-date db5 (
bsddb
/dbhash
) format database for the underlying FilesDB class backing shelve. However, support for db5 was dropped in Python 3.9, thus hampering compatibility. - Instead, we now go to great lengths to ensure that the underlying backing shelve is auto-upgraded to a versioned gdbm format database with Pickle Protocol Version 2 contents for the FilesDB class.
- For
eopkg.py2
, the FilesDB version property is set to 3. This ensures that the FilesDB is only rewritten if the user switches back and forth betweeneopkg.py2
andeopkg.py3
. - LazyDB pickle caches now use Pickle Protocol Version 2 as well, and each LazyDB instance will now have a version property, which is keyed to the release version of
eopkg.py2
, thus ensuring that LazyDB caches are automagically updated on version mismatches. - The internals and the output of
eopkg.py2 rdb
has been cleaned up significantly.
What's Changed
- eopkg.py2: Add explicit LazyDB and FilesDB pickle_protocol_version defaults by @ermo in #88
- py2 LazyDB/FilesDB: Use pickle protocol v2, write gdbm-backed shelve, set FILESDB_FORMAT_VERSION = 3 by @joebonrichie and @ermo in #86
- py2: Bring filesdb code in line with py3 version by @ermo in #94
Full Changelog: v3.12.4...v3.12.5
v4.1.5
Bugfix release, which increases backwards compatibility with earlier eopkg.py2
and eopkg.py3
versions.
- Previously,
eopkg.py3
used an unversioned gdbm (dbm.gnu
) format database for the underlying FilesDB class backing shelve, which was saved to a different file than theeopkg.py2
FilesDB backing shelve, making the two go out of sync. - Instead, we now go to great lengths to ensure that the underlying backing shelve is auto-upgraded to a versioned gdbm format database with Pickle Protocol Version 2 contents for the FilesDB class.
- For
eopkg.py3
, the FilesDB version property is set to 4. This ensures that the FilesDB is only rewritten if the user switches back and forth betweeneopkg.py2
andeopkg.py3
. This avoids the previous situation of separate FilesDB instances going out of sync, since we now use the same file as theeopkg.py2
FilesDB backing shelve and rewrite it as appropriate. - LazyDB pickle caches now use Pickle Protocol Version 2 as well, and each LazyDB instance will now have a version property, which is keyed to the release version of
eopkg.py3
, thus ensuring that LazyDB caches are automagically updated on version mismatches. - The internals and the output of
eopkg.py3 rdb
has been cleaned up significantly, and now matches the new output fromeopkg.py2 rdb
.
What's Changed
- package.py: Ensure the file list is always valid by @silkeh in #82
- Revert "Merge pull request #41 from getsolus/filesdbornotdb" by @joebonrichie in #87
- Fix exception when building certain pspec.xml files (python3) by @silkeh in #84
- eopkg.py3: eopkg.py2 LazyDB and FilesDB compat tweaks by @ermo in #89
- README: CPython dropped bsddb support in 3.9 by @ermo in #93
Full Changelog: v4.1.4...v4.1.5
v3.12.4
v3.12.3
v4.1.4
v4.1.3
v4.1.2
What's Changed
- Fix usr-merge file checking by @ReillyBrogan in #76
- Stop putting system.base at the front of the order by @ermo in #74
Full Changelog: v4.1.1...v4.1.2
v3.12.2
What's Changed
- Fix usr-merge file checking by @ReillyBrogan in #77
Full Changelog: v3.12.1...v3.12.2
v4.1.1
What's Changed
- Python3 shebangs and .py3 suffixes for eopkg (py3) scripts by @ermo in #63
- Fix errors in our build system by @sheepman4267 in #64
- Explain the order of config file parsing for eopkg4 by @ermo in #65
- build.py: fix issues with os.walk() and bytes/string encoding by @Staudey in #66
- Py3: Deterministic install/upgrade order for eopkg & baselayout by @ermo in #70
- eopkg: Bump version to v4.1.1 by @ermo in #72
Full Changelog: v4.0.0...v4.1.1