Changeset 11627 in project


Ignore:
Timestamp:
08/13/08 07:56:34 (13 years ago)
Author:
felix winkelmann
Message:

added manpage for chicken-install

Location:
chicken/branches/hygienic
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/hygienic/TODO

    r11607 r11627  
    4949
    5050* guerrilla-setup
     51** "-version" option for all tools
    5152** setup-download
    5253*** HTTP_PROXY
     
    5657*** should cache extension-info
    5758** manpages
    58 *** chicken-{status,install,uninstall}
     59*** chicken-{status,uninstall}
    5960*** document new .meta entries
    6061    depends, test-depends
  • chicken/branches/hygienic/chicken-install.scm

    r11607 r11627  
    188188         (parameterize ((current-directory (cdr e+d)))
    189189           (let ((cmd (sprintf
    190                        "~a/csi -e \"(require-library setup-api)\" -e \"(import setup-api)\" ~a ~a ~a ~a ~a"
     190                       "~a/csi -bnq -e \"(require-library setup-api)\" -e \"(import setup-api)\" ~a ~a ~a ~a ~a"
    191191                       *program-path*
    192192                       (if *sudo* "-e \"(sudo-install #t)\"" "")
     
    236236    (let ((defaults (load-defaults)))
    237237      (let loop ((args args) (eggs '()))
    238         (if (null? args)
    239             (if (null? eggs)
    240                 (usage 1)
    241                 (begin
    242                   (unless defaults
    243                     (unless *default-transport*
    244                       (error "no default transport defined - please use `-transport' option"))
    245                     (unless *default-location*
    246                       (error "no default location defined - please use `-location' option")))
    247                   (install (reverse eggs))))
    248             (let ((arg (car args)))
    249               (cond ((or (string=? arg "-help")
    250                          (string=? arg "-h")
    251                          (string=? arg "--help"))
    252                      (usage 0))
    253                     ((or (string=? arg "-f") (string=? arg "-force"))
    254                      (set! *force* #t)
    255                      (loop (cdr args) eggs))
    256                     ((or (string=? arg "-k") (string=? arg "-keep"))
    257                      (set! *keep* #t)
    258                      (loop (cdr args) eggs))
    259                     ((or (string=? arg "-s") (string=? arg "-sudo"))
    260                      (set! *sudo* #t)
    261                      (loop (cdr args) eggs))
    262                     ((or (string=? arg "-l") (string=? arg "-location"))
    263                      (unless (pair? (cdr args)) (usage 1))
    264                      (set! *default-location* (cadr args))
    265                      (loop (cddr args) eggs))
    266                     ((or (string=? arg "-t") (string=? arg "-transport"))
    267                      (unless (pair? (cdr args)) (usage 1))
    268                      (set! *default-transport* (string->symbol (cadr args)))
    269                      (loop (cddr args) eggs))
    270                     ((or (string=? arg "-p") (string=? arg "-prefix"))
    271                      (unless (pair? (cdr args)) (usage 1))
    272                      (set! *prefix* (cadr args))
    273                      (loop (cddr args) eggs))
    274                     ((string=? "-test" arg)
    275                      (set! *run-tests* #t)
    276                      (loop (cdr args) eggs))
    277                     ((string=? "-host-extension" arg)
    278                      (set! *host-extension* #t)
    279                      (loop (cdr args) eggs))
    280                     ((and (positive? (string-length arg))
    281                           (char=? #\- (string-ref arg 0)))
    282                      (if (> (string-length arg) 2)
    283                          (let ((sos (string->list (substring arg 1))))
    284                            (if (null? (lset-intersection eq? *short-options* sos))
    285                                (loop (append (map (cut string #\- <>) sos) (cdr args)) eggs)
    286                                (usage 1)))
    287                          (usage 1)))
    288                     ((string-match "([^:]+):(.+)" arg) =>
    289                      (lambda (m)
    290                        (loop (cdr args) (alist-cons (cadr m) (caddr m) eggs))))
    291                     (else (loop (cdr args) (cons arg eggs)))))))) )
     238        (cond ((null? args)
     239               (when (null? eggs)
     240                 (let ((setups (glob "*.setup")))
     241                   (cond ((pair? setups)
     242                          (set! *eggs+dirs*
     243                            (append
     244                             (map (lambda (s) (cons (pathname-file s) ".")) setups)
     245                             *eggs+dirs*)))
     246                         (else
     247                          (print "no setup-scripts to process")
     248                          (exit 1))) ) )
     249               (unless defaults
     250                 (unless *default-transport*
     251                   (error "no default transport defined - please use `-transport' option"))
     252                 (unless *default-location*
     253                   (error "no default location defined - please use `-location' option")))
     254               (install (reverse eggs)))
     255              (else
     256               (let ((arg (car args)))
     257                 (cond ((or (string=? arg "-help")
     258                            (string=? arg "-h")
     259                            (string=? arg "--help"))
     260                        (usage 0))
     261                       ((or (string=? arg "-f") (string=? arg "-force"))
     262                        (set! *force* #t)
     263                        (loop (cdr args) eggs))
     264                       ((or (string=? arg "-k") (string=? arg "-keep"))
     265                        (set! *keep* #t)
     266                        (loop (cdr args) eggs))
     267                       ((or (string=? arg "-s") (string=? arg "-sudo"))
     268                        (set! *sudo* #t)
     269                        (loop (cdr args) eggs))
     270                       ((or (string=? arg "-l") (string=? arg "-location"))
     271                        (unless (pair? (cdr args)) (usage 1))
     272                        (set! *default-location* (cadr args))
     273                        (loop (cddr args) eggs))
     274                       ((or (string=? arg "-t") (string=? arg "-transport"))
     275                        (unless (pair? (cdr args)) (usage 1))
     276                        (set! *default-transport* (string->symbol (cadr args)))
     277                        (loop (cddr args) eggs))
     278                       ((or (string=? arg "-p") (string=? arg "-prefix"))
     279                        (unless (pair? (cdr args)) (usage 1))
     280                        (set! *prefix* (cadr args))
     281                        (loop (cddr args) eggs))
     282                       ((string=? "-test" arg)
     283                        (set! *run-tests* #t)
     284                        (loop (cdr args) eggs))
     285                       ((string=? "-host-extension" arg)
     286                        (set! *host-extension* #t)
     287                        (loop (cdr args) eggs))
     288                       ((and (positive? (string-length arg))
     289                             (char=? #\- (string-ref arg 0)))
     290                        (if (> (string-length arg) 2)
     291                            (let ((sos (string->list (substring arg 1))))
     292                              (if (null? (lset-intersection eq? *short-options* sos))
     293                                  (loop (append (map (cut string #\- <>) sos) (cdr args)) eggs)
     294                                  (usage 1)))
     295                            (usage 1)))
     296                       ((string=? "setup" (pathname-extension arg))
     297                        (let ((egg (pathname-file arg)))
     298                          (set! *eggs+dirs*
     299                            (alist-cons
     300                             egg
     301                             (let ((dir (pathname-directory arg)))
     302                               (if dir
     303                                   (if (absolute-pathname? dir)
     304                                       dir
     305                                       (make-pathname (current-directory) dir) )
     306                                   (current-directory)))
     307                             *eggs+dirs*))
     308                          (loop (cdr args) (cons egg eggs))))
     309                       ((string-match "([^:]+):(.+)" arg) =>
     310                        (lambda (m)
     311                          (loop (cdr args) (alist-cons (cadr m) (caddr m) eggs))))
     312                       (else (loop (cdr args) (cons arg eggs))))))))))
    292313
    293314  (handle-exceptions ex
Note: See TracChangeset for help on using the changeset viewer.