Slackware · Salix OS · GPL

spkg history

Development log of spkg, from the first commits in 2005 to the 1.0 release.

  1. spkg 1.0.1 released.

  2. spkg project was transferred to Salix OS on GitHub.

  3. spkg is feature complete. Upgrade command implemented (based on the cmd_install() code path). Install command refactored into smaller functions. Memory allocation audit confirmed by valgrind and the GLib allocation profiler. Root path sanitization, more consistent command output, extra warnings for permission differences and files changed after installation. --dry-run is now really dry. Sanity checks on paths extracted from doinst.sh. Dependency download script for static builds. Improved package name guessing.

  4. Started publishing patches to the alpha1 version.

  5. First alpha released, implementing install, remove and list commands. Fully functional command line interface with manpage, safe break points – interrupt any command with SIGINT and all changes are rolled back. Dropped sqlite and filedb in favour of JudySL arrays, with fewer dependencies and no measurable performance impact.

  6. Install command nearly complete: spkg installs 60 packages (18 MB) in under 3 seconds; installpkg from pkgtools needs 90 seconds for the same set.

  7. pkgdb completed.

  8. filedb gained fast distributed checksumming and per-file arbitrary data storage; multiple databases can be opened at once. New error handling throughout. TODO is now updated automatically on the web.

  9. Implemented Python bindings; finishing the pkgdb library.

  10. SQL database wrapper API completed. untgz documented.

  11. pkgdb is fast: database operations on an average package take 2 ms on a 1 GHz Athlon; full synchronisation with the legacy database (522 packages) takes 1 second.

  12. Website created. Development code released.

Written by Ondřej Jirman, 2005 – 2025 · Contact: megi@xff.cz · Last update: 2025-01-27