I’ve recently lost internet and cable at the house. Rather then read books, or do something productive with my time “offline”, I’ve decided to do what any sane person would — write a package manager.
Since I have it mostly completed, this will be a documentation of what I did do over the last four days, rather then a jot-down-progress-as-I-go type series. Since I still don’t have internet, beware lag!
I don’t muchly care for complexity, so I want to keep it simple. Dead simple. Simple to use, roll out builds (for the average power user), and manage.
Since I want to keep different package versions around (it’s fun to test for regressions), I want my package manager to be able to swap versions on-demand.
I want it safe to use. When it doubt, bork the internal state rather then bork the system.
Use Python (duh)
Use Pickle to maintain a dict as the “database”.
Use Similinks to link packages into the filesystem
When syn installs a package, it may be installed, but the package won’t be usable until it’s Linked. The workflow should be something similar to:
Uninstalled --> Half-Installed --> Installed --> Half-Linked --> Linked
Next up: Implementation!
Design by Simon Fletcher. Powered by Tumblr.
© Copyright 2010