prt-get/TODO
Johannes Winkelmann aaf5674bd6 prt-get: add some notes for future todo's
git-svn-id: https://crux.nu/svn/tools/prt-get/trunk@673 0b5ae1c7-2405-0410-a7fc-ba219f786e1e
2006-02-04 12:27:34 +00:00

141 lines
3.9 KiB
Plaintext

- use `eval $(fgrep -h 'PKGMK_PACKAGE_DIR=' $(which pkgmk) /etc/pkgmk.conf) && echo
$PKGMK_PACKAGE_DIR` to determine PACKAGE_DIR
- store former information version first, and print before pkgadd:
"updating X from /usr/ports/Y: n -> n+m"
- add update-footprint, update-md5sum commands (patch in trac)
- allow dependency injection for sysup, with previews
- prefer toolchain (patch in trac)
- dependent --list-orphaned; should simplify pkgfoster
==============================================================================
- add support to "prefer higher" for certain packages ?
next release:
- configuration override/extend
[20:01] <cptn> --config-add="prtdir /tmp" even
[20:01] <cptn> --config-set="logfile /tmp/%n.log"
[20:14] <cptn> prt-get --config-set="prtdir /tmp" \
--config-add="prtdir /usr"
[20:14] <cptn> the 'set' would delete the config file's prtdir settings
Don't bail out if no prt-get.conf is found if the user specified
--config-* options
enum KindOfConfig {ADD, SET}
argparser: user addConfig(string, KindOfConfig);
config: go through additional configuration options; add and/or replace
1.0.0
- sysup
- allow injecting of new (uninstalled) dependencies
- allow to prohibit recompilation of packages when a dependency failed
to be updated in this sysup run
- better reports (installed/failed/not even tried to install)
[ ] message log for prt-get messages ?
[ ] timestamps for the log file
[ ] --quiet mode; suppress output of pkgmk and pkgadd
[ ] prt-get diff stats: "100 Packages with differences"
---------------------------
later
- parallel download (mt)
- download only
- group support
- Actions/Commands
- Help per command
- Dynamic command binding
- Make InstallTransaction a real install transaction:
- rollback pre-install if package building failed
- needs heavy refactoring to be easier to understand/maintain
- Test mode: global (is duplicated right now)
- remove should be in a transaction as well
- remove transaction
- install transaction
- etc.
- Transaction handler
- better examples for man page
- reorder message to avoid losing the important bits when installing
_lots_ of packages; maybe also think about forgeting not so
important things like packages installed before etc
[ ] prt-get rm and cd
[ ] cache file class, help class
[ ] interrupt handler (ctrl-c) kill pkgmk/pkgadd, delete lock files, say
"prt-get: action cancelled"; warn when cancel during download ->
STATE variable, separate download and build.
[ ] lock files for log, cache (lock file class)
[ ] move command name out of execTransaction (would be wrong for e.g.
sysup)
SHORT TERM
------------
* Answer FAQs
* create a fileExists(), createDir() etc helper class
* questions
- should the install/update result include the version/release?
* cosmetic
- move all output messages to prtget.cpp (away from main.cpp)
- remove "using namespace std" from header file
* test
- add asserts
* functional
- check exit messages (strings). always add 'prt-get'
* refactor
- check operations in prtget.cpp for common code
- make InstallTransaction more modular (download/build/install)
LONG TERM
------------------------------
* remove quickdiff
* move find command into list --filter="..." ???
* symbolic exit codes
* new commands:
* questions:
- should there be a install/update mixed to mode, to install and update,
which ever method is needed?
- namespace prtget ?
- remove the path:package1, package2 filter functionality from the
config file again. This could be done by creating another ports
directories an creation symlinks there to. Could improve performance
- might people like ansi colors?
* new features
- list shadow packages (dup) for arguments
* - rebuild all ports using dependency information
LONG LONG TERM
--------------
- parallel download for installing/updating multiple packages (at least
download of 2nd package while building first)