Mercurial > core / lisp/lib/cli/tools/pacman.lisp
changeset 698: |
96958d3eb5b0 |
parent: |
6359b351657a
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: |
-rw-r--r-- |
description: |
fixes |
1 ;;; pacman.lisp --- Pacman Tools 3 ;; Call Pacman from Lisp. 7 ;; Note that many of the pacman commands require sudo. 10 (in-package :cli/tools/pacman) 12 (deferror pacman-error (simple-error error) ()) 14 (defun pacman-error (fmt &rest args) 15 (error 'pacman-error :format-arguments args :format-control fmt)) 17 (defparameter *pacman* (find-exe "pacman")) 19 (defun run-pacman (&rest args) 20 (let ((proc (sb-ext:run-program *pacman* (or args nil) :output :stream))) 21 (with-open-stream (s (sb-ext:process-output proc)) 22 (loop for l = (read-line s nil nil) 25 (if (eq 0 (sb-ext:process-exit-code proc)) 27 (pacman-error "Pacman command failed: ~A ~A" *pacman* (or args "")))))