* take a look at the TODO items

* reorg a bit
* prepare an alphabetical list of commands automatically
* start upgrade command, yes.
This commit is contained in:
Eray Özkural
2005-08-09 11:06:36 +00:00
parent 12b2f94538
commit 0eed06a804
3 changed files with 89 additions and 73 deletions
+24 -25
View File
@@ -38,29 +38,6 @@ Legend:
+ Package/Files
2. Alpha
/ component/category
+ requirements
- xml format (baris) (bunlarin class'leri yazilmali)
- usage (build process'in icine koymak baris - meren)
+ query
- comar OM information (Provides)
- package by name, summary/description
- actionsAPI documentation, unittests (caglar - meren)
/ versioning information document
/ verify metodlari
+ SpecFile
+ MetaData
+ Files
- Index (o kadar onemli degil)
- implement missing unit tests
+ sourcedb
+ package (baris)
+ configuration file (baris)
- non-interactive use (baris)
- incremental build (meren)
- generate binary release number by comparing MD5s (meren)
+ keep track of successfully completed configure, make, install
steps (necessary for large-scale builds?) (meren)
+ multi-package dependency analysis (eray)
+ design a package operation planner
+ install/remove operations (eray)
@@ -118,11 +95,33 @@ Legend:
- exception handling (baris)
- incremental build/fetch for repository index (pisi-index.xml)
- diffsets (caglar)
/ component/category
+ requirements
- xml format (baris) (bunlarin class'leri yazilmali)
- usage (build process'in icine koymak baris - meren)
+ query
- comar OM information (Provides)
- package by name, summary/description
- actionsAPI documentation, unittests (caglar - meren)
/ versioning information document
/ verify metodlari
+ SpecFile
+ MetaData
+ Files
- Index (o kadar onemli degil)
- implement missing unit tests
+ sourcedb
+ package (baris)
+ configuration file (baris)
- non-interactive use (baris)
- incremental build (meren)
- generate binary release number by comparing MD5s (meren)
+ keep track of successfully completed configure, make, install
steps (necessary for large-scale builds?) (meren)
+ database locking bugs (eray)
4. Release (bug fix, guzellestirme vs.)
- file locking hikayesi database'lerde guzel calisiyor mu (eray)
5. Post Release
- transaction stuff for database (eray)
+62 -27
View File
@@ -18,30 +18,17 @@ from common import *
import pisi.toplevel
from pisi.ui import ui
def commandsString():
s = ''
l = commands.keys()
l.sort()
for x in l:
s += x + '\n'
return s
# helper functions
def cmdObject(cmd, fail=False):
commands = {"help": Help,
"build": Build,
"build-until": BuildUntil,
"build-unpack": BuildUnpack,
"build-setup": BuildSetup,
"build-build": BuildBuild,
"build-install": BuildInstall,
"build-package": BuildPackage,
"info": Info,
"install": Install,
"configure-pending": ConfigurePending,
"list-pending": ListPending,
"list-installed": ListInstalled,
"list-available": ListAvailable,
"search-available": SearchAvailable,
"remove": Remove,
"index": Index,
"update-repo": UpdateRepo,
"add-repo": AddRepo,
"remove-repo": RemoveRepo,
"list-repo": ListRepo
}
if commands.has_key(cmd):
obj = commands[cmd]()
@@ -58,6 +45,8 @@ class Command(object):
def __init__(self):
# now for the real parser
#usage_text = usage_text1 + commandsString() + usage_text2
#self.usage_text = usage_text
self.parser = OptionParser(usage=usage_text,
version="%prog " + pisi.__version__)
self.options()
@@ -192,11 +181,10 @@ class Install(PackageOp):
"""Install PISI packages
Usage:
install package
install package1 package2 ... packagen
You can give an URI of the pisi package. Or you can just give a
package name and choose to install a package from the defined
repositories (with add-repo).
You may use filenames, URIs or package names for packages. If you have
specified a package name, it should exist in a specified repository.
"""
def __init__(self):
super(Install, self).__init__()
@@ -210,11 +198,32 @@ repositories (with add-repo).
pisi.toplevel.install(self.args)
self.finalize()
class Upgrade(PackageOp):
"""Upgrade PISI packages
Usage:
Upgrade package1 package2 ... packagen
You may use filenames, URIs or package names for packages. If you have
specified a package name, it should exist in a specified repository.
"""
def __init__(self):
super(Install, self).__init__()
def run(self):
if not self.args:
self.help()
return
self.init()
pisi.toplevel.upgrade(self.args)
self.finalize()
class Remove(PackageOp):
"""Remove PISI packages
Usage:
remove package-name
remove package1-name package2-name ... packagen-name
Remove a package from your system. Just give the package name to remove.
"""
@@ -590,3 +599,29 @@ TODO: desc.
for arg in self.args:
pisi.toplevel.build_until(arg, "buildpackages", self.authInfo)
commands = {"help": Help,
"build": Build,
"build-until": BuildUntil,
"build-unpack": BuildUnpack,
"build-setup": BuildSetup,
"build-build": BuildBuild,
"build-install": BuildInstall,
"build-package": BuildPackage,
"info": Info,
"install": Install,
"configure-pending": ConfigurePending,
"list-pending": ListPending,
"list-installed": ListInstalled,
"list-available": ListAvailable,
"search-available": SearchAvailable,
"remove": Remove,
"upgrade": Upgrade,
"index": Index,
"update-repo": UpdateRepo,
"add-repo": AddRepo,
"remove-repo": RemoveRepo,
"list-repo": ListRepo
}
usage_text = usage_text1 + commandsString() + usage_text2
+3 -21
View File
@@ -8,31 +8,13 @@
# Please read the COPYING file.
#
usage_text = """%prog <command> [options] [arguments]
usage_text1 = """%prog <command> [options] [arguments]
where <command> is one of:
help
build
build-until
build-unpack
build-setup
build-build
build-install
build-package
index
info
install
list-installed
list-available
remove
configure-pending
list-pending
add-repo
remove-repo
list-repo
update-repo
"""
usage_text2 = """
Use \"%prog help <command>\" for help on a specific subcommand.
PISI Package Manager