X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=tpkg;h=95623f0dd2603e387927825467ce776287ab605c;hb=ffedc67b9b9380a8702c58a3270b8a568d18c266;hp=140ed2f4fe182e6387c5447e9c5d70f8419dcba5;hpb=82bfc891550525b31563adfca69115586ed19540;p=tpkg.git diff --git a/tpkg b/tpkg index 140ed2f..95623f0 100755 --- a/tpkg +++ b/tpkg @@ -69,7 +69,7 @@ class prefix(object): def env(self): if self._env is None: if not os.path.isdir(self.envdir): - sys.stderr.write("tpkg: creatings %s...\n" % (self.envdir)) + sys.stderr.write("tpkg: creating %s...\n" % (self.envdir)) os.makedirs(self.envdir) env = bd.DBEnv() env.set_lk_detect(bd.DB_LOCK_RANDOM) @@ -261,7 +261,7 @@ def install(pfx, pkg, pkgname): dig = copy(ofp, ifp) pfx.regfile(fl.path, pkgname, dig) os.rename(tmpp, tp) - os.utime(tp, ns=(time.time(), sb.st_mtime)) + os.utime(tp, ns=(time.time() * 1e9, sb.st_mtime * 1e9)) def uninstall(pfx, pkg): for fn in pfx.pkgfiles(pkg): @@ -318,6 +318,23 @@ def cmd_uninstall(argv): uninstall(prefix.use, pkgname) cmds["uninstall"] = cmd_uninstall +def cmd_list(argv): + def usage(out): + out.write("usage: tpkg list NAME\n") + opts, args = getopt.getopt(argv, "") + if len(args) < 1: + usage(sys.stderr) + sys.exit(1) + pkgname = args[0] + try: + files = prefix.use.pkgfiles(pkgname) + except KeyError: + sys.stderr.write("tpkg: %s: no such package\n" % (pkgname)) + sys.exit(1) + for fn in files: + sys.stdout.write("%s\n" % pj(prefix.use.root, fn)) +cmds["list"] = cmd_list + def usage(file): file.write("usage:\ttpkg help\n") cmds["help"] = lambda argv: usage(sys.stdout)