Index: sretrieve.scm ================================================================== --- sretrieve.scm +++ sretrieve.scm @@ -70,20 +70,21 @@ ;;====================================================================== ;; DB ;;====================================================================== +;; replace (strftime('%s','now')), with datetime('now')) (define (sretrieve:initialize-db db) (for-each (lambda (qry) (exec (sql db qry))) (list "CREATE TABLE IF NOT EXISTS actions (id INTEGER PRIMARY KEY, action TEXT NOT NULL, retriever TEXT NOT NULL, - datetime TIMESTAMP DEFAULT (strftime('%s','now')), + datetime TIMESTAMP DEFAULT (datetime('now','localtime')), srcpath TEXT NOT NULL, comment TEXT DEFAULT '' NOT NULL, state TEXT DEFAULT 'new');" "CREATE TABLE IF NOT EXISTS bundles (id INTEGER PRIMARY KEY, @@ -153,14 +154,22 @@ (sretrieve:db-do configdat (lambda (db) (sretrieve:register-action db "get" retriever datadir comment))) - (change-directory datadir) - (process-execute "tar" (append (list "chfv" "-")(filter (lambda (x) - (not (member x '("." "..")))) - (glob "*" ".*")))))) + (sretrieve:do-as-calling-user + (lambda () + (change-directory datadir) + (let ((files (filter (lambda (x) + (not (member x '("." "..")))) + (glob "*" ".*")))) + (print "files: " files) + (process-execute "/bin/tar" (append (list "chfv" "-") files))))))) + +;;(filter (lambda (x) +;; (not (member x '("." "..")))) +;; (glob "*" ".*")))))))) (define (sretrieve:validate target-dir targ-mk) (let* ((normal-path (normalize-pathname targ-mk)) (targ-path (conc target-dir "/" normal-path))) (if (string-contains normal-path "..") @@ -431,11 +440,13 @@ ((ls) (let* ((base-dir (configf:lookup configdat "settings" "base-dir"))) (if base-dir (begin (print "Files in " base-dir) - (system (conc "ls " base-dir))) + (sretrieve:do-as-calling-user + (lambda () + (process-execute "/bin/ls" (list base-dir))))) (print "ERROR: No base dir specified!")))) ((log) (sretrieve:db-do configdat (lambda (db) (print "Listing actions") (query (for-each-row