-
add support for multiple platforms/architectures, and
separate metadata files from the package hierarchy
-
think about 'signed' packages (with packager's
pgp key ?)
-
replace list structures by dictionary structures where
possible:
- constraint: key uniqueness
- advantage: O(1) lookup time, instead of O(N)
how:
- find where are list searches performed, in particular searches in
Kernel.Packages.all(),
which is pretty long.
- look for code like if
foo in
bar, where 'bar' is a list
-
many modules don't have a header documentation. fill them
in!! (started, not done)
-
some functions (esp. utility functions) don't have a
defensive check-list. add some.
-
defensive checklists should be replaced with asstertions
('assert' statmt), because those can later be stripped off when optimizing
(with python -O)
-
PR: when package A is installed and becomes available from
a repository, the _old_ package object is the one that stays used...
override Unique.unique in subclass Package??? (tried but commented out:
update.py tend to think that all packages are new, and then rescans
them...)
-
write a ./configure script (in bash), checking for the
tools used in Zounds: pkg_add, pkg_delete, pkg_info, digest, bash,
python22, Optik (more tools?)
-
write a configuration.py.in stub script, with @FOOBAR@
pseudo-variables, used by ./configure
-
write an installation Makefile
-
write a pkgsrc Zounds package, using other Python modules
as templates, and python/application.mk (for instance).
-
complete pkg_find so that it can display details about
found packages.
-
break README into README, README.maintainer and
README.developer
-
[MH] change command name from
pkg_ to
zounds_ or
better
-
[MH] get rid of
pkg_* tools
dependency.
-
[MH] Add a lock mechanism to cache access. Cache location
can be configured to be able to work as normal user and then just do a
commit or perform as root. But where can we do that configuration?
environment variables ? zounds/etc/cache.conf ?
-
[MH] Add a "cleaning" command of auto_installed and/or
useless packages, because some of these packages can still be installed in
case of "crossed" usage of pkg_* and zounds utilities
-
[MH] delete the "keep symbolic links dates" option from
bsd/tar command, to get rid of a bunch of warnings during
installation.
-
[MH] Can we merge "forget" and "remove" commands at the UI
level?