From f2ba47b7ef017a01a4b6c13982ff43a67cc6abd5 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 11 Mar 2022 15:14:39 -0700 Subject: drop SYSTEM and add simpler code in a FLET where it's needed Signed-off-by: Sean Whitton --- src/package.lisp | 3 +-- src/property/installer.lisp | 8 +++++++- src/util.lisp | 12 ------------ 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/package.lisp b/src/package.lisp index 4f7e631..82d237b 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -122,7 +122,6 @@ #:defpackage-consfig #:lambda-ignoring-args #:parse-cidr - #:system #:random-alphanumeric #:*consfigurator-debug-level* @@ -704,7 +703,7 @@ (:export #:rebooted-at-end)) (package :consfigurator.property.installer - (:use #:consfigurator.property.disk) + (:use #:consfigurator.property.disk #:cffi) (:local-nicknames (#:os #:consfigurator.property.os) (#:cmd #:consfigurator.property.cmd) (#:file #:consfigurator.property.file) diff --git a/src/property/installer.lisp b/src/property/installer.lisp index 63d8c63..5a120f9 100644 --- a/src/property/installer.lisp +++ b/src/property/installer.lisp @@ -186,7 +186,13 @@ using a combinator like ON-CHANGE, or applied manually with DEPLOY-THESE." ;; This we make use of below. #P"/old-run/")) efi-system-partition-mount-args) - (flet ((preservedp (pathname) + (flet ((system (&rest args) + (alet (loop for arg in args + if (pathnamep arg) + collect (unix-namestring arg) + else collect arg) + (foreign-funcall "system" :string (escape-sh-command it) :int))) + (preservedp (pathname) (member pathname preserved-directories :test #'pathname-equal))) (mount:assert-devtmpfs-udev-/dev) (unless (remote-mount-point-p "/run") diff --git a/src/util.lisp b/src/util.lisp index a0110ef..3238b79 100644 --- a/src/util.lisp +++ b/src/util.lisp @@ -350,18 +350,6 @@ expansion as a starting point for your own DEFPACKAGE form for your consfig." else do (princ #\: s) (loop-finish))))))))) -(defun system (&rest args) - "Simple wrapper around system(3)." - (foreign-funcall - "system" :string (if (cdr args) - (escape-sh-command - (loop for arg in args - if (pathnamep arg) - collect (unix-namestring arg) - else collect arg)) - (car args)) - :int)) - (eval-when (:compile-toplevel :load-toplevel :execute) (define-constant +alphanum+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" -- cgit v1.2.3