cl-micropm

A very minimalist, decentralized "package manager" for Common Lisp (<200 LOC)
Log | Files | Refs | Submodules | README | LICENSE

commit 75ebefb53c883b806e534980d5595f0b264efe86
parent 3835e76dbdfc9fb1c39a1416bbbc64412e432f77
Author: Risto Stevcev <me@risto.codes>
Date:   Mon, 25 Sep 2023 13:25:21 +0200

Removed old code

Diffstat:
Dmicropm-get | 669-------------------------------------------------------------------------------
Dmicropm/.envrc | 1-
Dmicropm/micropm-docker/Dockerfile | 27---------------------------
Dmicropm/micropm-get | 9---------
Dmicropm/micropm-get.sh | 13-------------
5 files changed, 0 insertions(+), 719 deletions(-)

diff --git a/micropm-get b/micropm-get @@ -1,668 +0,0 @@ -#!/bin/sh -# This script was generated using Makeself 2.4.2 -# The license covering this archive and its contents, if any, is wholly independent of the Makeself license (GPL) - -ORIG_UMASK=`umask` -if test "n" = n; then - umask 077 -fi - -CRCsum="3893638635" -MD5="b60d73947f8679dfea2f735f3f59cf07" -SHA="0000000000000000000000000000000000000000000000000000000000000000" -TMPROOT=${TMPDIR:=/tmp} -USER_PWD="$PWD" -export USER_PWD -ARCHIVE_DIR=/usr/bin -export ARCHIVE_DIR - -label="Cl-micropm" -script="./micropm-get.sh" -scriptargs="" -cleanup_script="" -licensetxt="" -helpheader='' -targetdir="micropm" -filesizes="807" -keep="n" -nooverwrite="n" -quiet="n" -accept="n" -nodiskspace="n" -export_conf="n" -decrypt_cmd="" -skip="666" - -print_cmd_arg="" -if type printf > /dev/null; then - print_cmd="printf" -elif test -x /usr/ucb/echo; then - print_cmd="/usr/ucb/echo" -else - print_cmd="echo" -fi - -if test -d /usr/xpg4/bin; then - PATH=/usr/xpg4/bin:$PATH - export PATH -fi - -if test -d /usr/sfw/bin; then - PATH=$PATH:/usr/sfw/bin - export PATH -fi - -unset CDPATH - -MS_Printf() -{ - $print_cmd $print_cmd_arg "$1" -} - -MS_PrintLicense() -{ - if test x"$licensetxt" != x; then - if test x"$accept" = xy; then - echo "$licensetxt" - else - echo "$licensetxt" | more - fi - if test x"$accept" != xy; then - while true - do - MS_Printf "Please type y to accept, n otherwise: " - read yn - if test x"$yn" = xn; then - keep=n - eval $finish; exit 1 - break; - elif test x"$yn" = xy; then - break; - fi - done - fi - fi -} - -MS_diskspace() -{ - ( - df -kP "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }' - ) -} - -MS_dd() -{ - blocks=`expr $3 / 1024` - bytes=`expr $3 % 1024` - dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \ - { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \ - test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null -} - -MS_dd_Progress() -{ - if test x"$noprogress" = xy; then - MS_dd "$@" - return $? - fi - file="$1" - offset=$2 - length=$3 - pos=0 - bsize=4194304 - while test $bsize -gt $length; do - bsize=`expr $bsize / 4` - done - blocks=`expr $length / $bsize` - bytes=`expr $length % $bsize` - ( - dd ibs=$offset skip=1 count=0 2>/dev/null - pos=`expr $pos \+ $bsize` - MS_Printf " 0%% " 1>&2 - if test $blocks -gt 0; then - while test $pos -le $length; do - dd bs=$bsize count=1 2>/dev/null - pcent=`expr $length / 100` - pcent=`expr $pos / $pcent` - if test $pcent -lt 100; then - MS_Printf "\b\b\b\b\b\b\b" 1>&2 - if test $pcent -lt 10; then - MS_Printf " $pcent%% " 1>&2 - else - MS_Printf " $pcent%% " 1>&2 - fi - fi - pos=`expr $pos \+ $bsize` - done - fi - if test $bytes -gt 0; then - dd bs=$bytes count=1 2>/dev/null - fi - MS_Printf "\b\b\b\b\b\b\b" 1>&2 - MS_Printf " 100%% " 1>&2 - ) < "$file" -} - -MS_Help() -{ - cat << EOH >&2 -${helpheader}Makeself version 2.4.2 - 1) Getting help or info about $0 : - $0 --help Print this message - $0 --info Print embedded info : title, default target directory, embedded script ... - $0 --lsm Print embedded lsm entry (or no LSM) - $0 --list Print the list of files in the archive - $0 --check Checks integrity of the archive - - 2) Running $0 : - $0 [options] [--] [additional arguments to embedded script] - with following options (in that order) - --confirm Ask before running embedded script - --quiet Do not print anything except error messages - --accept Accept the license - --noexec Do not run embedded script (implies --noexec-cleanup) - --noexec-cleanup Do not run embedded cleanup script - --keep Do not erase target directory after running - the embedded script - --noprogress Do not show the progress during the decompression - --nox11 Do not spawn an xterm - --nochown Do not give the target folder to the current user - --chown Give the target folder to the current user recursively - --nodiskspace Do not check for available disk space - --target dir Extract directly to a target directory (absolute or relative) - This directory may undergo recursive chown (see --nochown). - --tar arg1 [arg2 ...] Access the contents of the archive through the tar command - --ssl-pass-src src Use the given src as the source of password to decrypt the data - using OpenSSL. See "PASS PHRASE ARGUMENTS" in man openssl. - Default is to prompt the user to enter decryption password - on the current terminal. - --cleanup-args args Arguments to the cleanup script. Wrap in quotes to provide - multiple arguments. - -- Following arguments will be passed to the embedded script -EOH -} - -MS_Check() -{ - OLD_PATH="$PATH" - PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} - MD5_ARG="" - MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` - test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` - test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` - PATH="$OLD_PATH" - - SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` - test -x "$SHA_PATH" || SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` - - if test x"$quiet" = xn; then - MS_Printf "Verifying archive integrity..." - fi - offset=`head -n "$skip" "$1" | wc -c | tr -d " "` - verb=$2 - i=1 - for s in $filesizes - do - crc=`echo $CRCsum | cut -d" " -f$i` - if test -x "$SHA_PATH"; then - if test x"`basename $SHA_PATH`" = xshasum; then - SHA_ARG="-a 256" - fi - sha=`echo $SHA | cut -d" " -f$i` - if test x"$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then - test x"$verb" = xy && echo " $1 does not contain an embedded SHA256 checksum." >&2 - else - shasum=`MS_dd_Progress "$1" $offset $s | eval "$SHA_PATH $SHA_ARG" | cut -b-64`; - if test x"$shasum" != x"$sha"; then - echo "Error in SHA256 checksums: $shasum is different from $sha" >&2 - exit 2 - elif test x"$quiet" = xn; then - MS_Printf " SHA256 checksums are OK." >&2 - fi - crc="0000000000"; - fi - fi - if test -x "$MD5_PATH"; then - if test x"`basename $MD5_PATH`" = xdigest; then - MD5_ARG="-a md5" - fi - md5=`echo $MD5 | cut -d" " -f$i` - if test x"$md5" = x00000000000000000000000000000000; then - test x"$verb" = xy && echo " $1 does not contain an embedded MD5 checksum." >&2 - else - md5sum=`MS_dd_Progress "$1" $offset $s | eval "$MD5_PATH $MD5_ARG" | cut -b-32`; - if test x"$md5sum" != x"$md5"; then - echo "Error in MD5 checksums: $md5sum is different from $md5" >&2 - exit 2 - elif test x"$quiet" = xn; then - MS_Printf " MD5 checksums are OK." >&2 - fi - crc="0000000000"; verb=n - fi - fi - if test x"$crc" = x0000000000; then - test x"$verb" = xy && echo " $1 does not contain a CRC checksum." >&2 - else - sum1=`MS_dd_Progress "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'` - if test x"$sum1" != x"$crc"; then - echo "Error in checksums: $sum1 is different from $crc" >&2 - exit 2 - elif test x"$quiet" = xn; then - MS_Printf " CRC checksums are OK." >&2 - fi - fi - i=`expr $i + 1` - offset=`expr $offset + $s` - done - if test x"$quiet" = xn; then - echo " All good." - fi -} - -MS_Decompress() -{ - if test x"$decrypt_cmd" != x""; then - { eval "$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "gzip -cd" - else - eval "gzip -cd" - fi - - if test $? -ne 0; then - echo " ... Decompression failed." >&2 - fi -} - -UnTAR() -{ - if test x"$quiet" = xn; then - tar $1vf - 2>&1 || { echo " ... Extraction failed." > /dev/tty; kill -15 $$; } - else - tar $1f - 2>&1 || { echo Extraction failed. > /dev/tty; kill -15 $$; } - fi -} - -MS_exec_cleanup() { - if test x"$cleanup" = xy && test x"$cleanup_script" != x""; then - cleanup=n - cd "$tmpdir" - eval "\"$cleanup_script\" $scriptargs $cleanupargs" - fi -} - -MS_cleanup() -{ - echo 'Signal caught, cleaning up' >&2 - MS_exec_cleanup - cd "$TMPROOT" - rm -rf "$tmpdir" - eval $finish; exit 15 -} - -finish=true -xterm_loop= -noprogress=n -nox11=n -copy=none -ownership=n -verbose=n -cleanup=y -cleanupargs= - -initargs="$@" - -while true -do - case "$1" in - -h | --help) - MS_Help - exit 0 - ;; - -q | --quiet) - quiet=y - noprogress=y - shift - ;; - --accept) - accept=y - shift - ;; - --info) - echo Identification: "$label" - echo Target directory: "$targetdir" - echo Uncompressed size: 12 KB - echo Compression: gzip - if test x"n" != x""; then - echo Encryption: n - fi - echo Date of packaging: Sun Jun 27 23:24:55 CEST 2021 - echo Built with Makeself version 2.4.2 on - echo Build command was: "/usr/bin/makeself \\ - \"micropm\" \\ - \"micropm-get\" \\ - \"Cl-micropm\" \\ - \"./micropm-get.sh\"" - if test x"$script" != x; then - echo Script run after extraction: - echo " " $script $scriptargs - fi - if test x"" = xcopy; then - echo "Archive will copy itself to a temporary location" - fi - if test x"n" = xy; then - echo "Root permissions required for extraction" - fi - if test x"n" = xy; then - echo "directory $targetdir is permanent" - else - echo "$targetdir will be removed after extraction" - fi - exit 0 - ;; - --dumpconf) - echo LABEL=\"$label\" - echo SCRIPT=\"$script\" - echo SCRIPTARGS=\"$scriptargs\" - echo CLEANUPSCRIPT=\"$cleanup_script\" - echo archdirname=\"micropm\" - echo KEEP=n - echo NOOVERWRITE=n - echo COMPRESS=gzip - echo filesizes=\"$filesizes\" - echo CRCsum=\"$CRCsum\" - echo MD5sum=\"$MD5sum\" - echo SHAsum=\"$SHAsum\" - echo SKIP=\"$skip\" - exit 0 - ;; - --lsm) -cat << EOLSM -No LSM. -EOLSM - exit 0 - ;; - --list) - echo Target directory: $targetdir - offset=`head -n "$skip" "$0" | wc -c | tr -d " "` - for s in $filesizes - do - MS_dd "$0" $offset $s | MS_Decompress | UnTAR t - offset=`expr $offset + $s` - done - exit 0 - ;; - --tar) - offset=`head -n "$skip" "$0" | wc -c | tr -d " "` - arg1="$2" - if ! shift 2; then MS_Help; exit 1; fi - for s in $filesizes - do - MS_dd "$0" $offset $s | MS_Decompress | tar "$arg1" - "$@" - offset=`expr $offset + $s` - done - exit 0 - ;; - --check) - MS_Check "$0" y - exit 0 - ;; - --confirm) - verbose=y - shift - ;; - --noexec) - script="" - cleanup_script="" - shift - ;; - --noexec-cleanup) - cleanup_script="" - shift - ;; - --keep) - keep=y - shift - ;; - --target) - keep=y - targetdir="${2:-.}" - if ! shift 2; then MS_Help; exit 1; fi - ;; - --noprogress) - noprogress=y - shift - ;; - --nox11) - nox11=y - shift - ;; - --nochown) - ownership=n - shift - ;; - --chown) - ownership=y - shift - ;; - --nodiskspace) - nodiskspace=y - shift - ;; - --xwin) - if test "n" = n; then - finish="echo Press Return to close this window...; read junk" - fi - xterm_loop=1 - shift - ;; - --phase2) - copy=phase2 - shift - ;; - --ssl-pass-src) - if test x"n" != x"openssl"; then - echo "Invalid option --ssl-pass-src: $0 was not encrypted with OpenSSL!" >&2 - exit 1 - fi - decrypt_cmd="$decrypt_cmd -pass $2" - if ! shift 2; then MS_Help; exit 1; fi - ;; - --cleanup-args) - cleanupargs="$2" - if ! shift 2; then MS_help; exit 1; fi - ;; - --) - shift - break ;; - -*) - echo Unrecognized flag : "$1" >&2 - MS_Help - exit 1 - ;; - *) - break ;; - esac -done - -if test x"$quiet" = xy -a x"$verbose" = xy; then - echo Cannot be verbose and quiet at the same time. >&2 - exit 1 -fi - -if test x"n" = xy -a `id -u` -ne 0; then - echo "Administrative privileges required for this archive (use su or sudo)" >&2 - exit 1 -fi - -if test x"$copy" \!= xphase2; then - MS_PrintLicense -fi - -case "$copy" in -copy) - tmpdir="$TMPROOT"/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$ - mkdir "$tmpdir" || { - echo "Could not create temporary directory $tmpdir" >&2 - exit 1 - } - SCRIPT_COPY="$tmpdir/makeself" - echo "Copying to a temporary location..." >&2 - cp "$0" "$SCRIPT_COPY" - chmod +x "$SCRIPT_COPY" - cd "$TMPROOT" - exec "$SCRIPT_COPY" --phase2 -- $initargs - ;; -phase2) - finish="$finish ; rm -rf `dirname $0`" - ;; -esac - -if test x"$nox11" = xn; then - if tty -s; then # Do we have a terminal? - : - else - if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X? - if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable - GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" - for a in $GUESS_XTERMS; do - if type $a >/dev/null 2>&1; then - XTERM=$a - break - fi - done - chmod a+x $0 || echo Please add execution rights on $0 - if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal! - exec $XTERM -e "$0 --xwin $initargs" - else - exec $XTERM -e "./$0 --xwin $initargs" - fi - fi - fi - fi -fi - -if test x"$targetdir" = x.; then - tmpdir="." -else - if test x"$keep" = xy; then - if test x"$nooverwrite" = xy && test -d "$targetdir"; then - echo "Target directory $targetdir already exists, aborting." >&2 - exit 1 - fi - if test x"$quiet" = xn; then - echo "Creating directory $targetdir" >&2 - fi - tmpdir="$targetdir" - dashp="-p" - else - tmpdir="$TMPROOT/selfgz$$$RANDOM" - dashp="" - fi - mkdir $dashp "$tmpdir" || { - echo 'Cannot create target directory' $tmpdir >&2 - echo 'You should try option --target dir' >&2 - eval $finish - exit 1 - } -fi - -location="`pwd`" -if test x"$SETUP_NOCHECK" != x1; then - MS_Check "$0" -fi -offset=`head -n "$skip" "$0" | wc -c | tr -d " "` - -if test x"$verbose" = xy; then - MS_Printf "About to extract 12 KB in $tmpdir ... Proceed ? [Y/n] " - read yn - if test x"$yn" = xn; then - eval $finish; exit 1 - fi -fi - -if test x"$quiet" = xn; then - # Decrypting with openssl will ask for password, - # the prompt needs to start on new line - if test x"n" = x"openssl"; then - echo "Decrypting and uncompressing $label..." - else - MS_Printf "Uncompressing $label" - fi -fi -res=3 -if test x"$keep" = xn; then - trap MS_cleanup 1 2 3 15 -fi - -if test x"$nodiskspace" = xn; then - leftspace=`MS_diskspace "$tmpdir"` - if test -n "$leftspace"; then - if test "$leftspace" -lt 12; then - echo - echo "Not enough space left in "`dirname $tmpdir`" ($leftspace KB) to decompress $0 (12 KB)" >&2 - echo "Use --nodiskspace option to skip this check and proceed anyway" >&2 - if test x"$keep" = xn; then - echo "Consider setting TMPDIR to a directory with more free space." - fi - eval $finish; exit 1 - fi - fi -fi - -for s in $filesizes -do - if MS_dd_Progress "$0" $offset $s | MS_Decompress | ( cd "$tmpdir"; umask $ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then - if test x"$ownership" = xy; then - (cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .) - fi - else - echo >&2 - echo "Unable to decompress $0" >&2 - eval $finish; exit 1 - fi - offset=`expr $offset + $s` -done -if test x"$quiet" = xn; then - echo -fi - -cd "$tmpdir" -res=0 -if test x"$script" != x; then - if test x"$export_conf" = x"y"; then - MS_BUNDLE="$0" - MS_LABEL="$label" - MS_SCRIPT="$script" - MS_SCRIPTARGS="$scriptargs" - MS_ARCHDIRNAME="$archdirname" - MS_KEEP="$KEEP" - MS_NOOVERWRITE="$NOOVERWRITE" - MS_COMPRESS="$COMPRESS" - MS_CLEANUP="$cleanup" - export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS - export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS - fi - - if test x"$verbose" = x"y"; then - MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] " - read yn - if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then - eval "\"$script\" $scriptargs \"\$@\""; res=$?; - fi - else - eval "\"$script\" $scriptargs \"\$@\""; res=$? - fi - if test "$res" -ne 0; then - test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2 - fi -fi - -MS_exec_cleanup - -if test x"$keep" = xn; then - cd "$TMPROOT" - rm -rf "$tmpdir" -fi -eval $finish; exit $res - -:#̈́%R&[&3?H=[=&Z7TL\q&h2bX:TC*"igW`|4ycdv(<ba} 2,t^|JiJsׁ;|%?Lum(% ^oSWwJ:2KWu>~PV8s%;9d^6ʸ 씣VgauݻBFAFq?&[uU`f[qH< \]Wt}]ӿ"74f77NQ.;=phS'TTR=VgJ3:veTRihhhhhhhhhhhhhhhh -\ No newline at end of file diff --git a/micropm/.envrc b/micropm/.envrc @@ -1 +0,0 @@ -export CL_SOURCE_REGISTRY="$PWD//" diff --git a/micropm/micropm-docker/Dockerfile b/micropm/micropm-docker/Dockerfile @@ -1,27 +0,0 @@ -FROM debian:bullseye-slim - -ARG SYSTEM_NAME -ENV SYSTEM_NAME=${SYSTEM_NAME} - -RUN apt-get update && apt-get install -y sbcl curl gnupg -RUN useradd -ms /bin/bash lisp -USER lisp -WORKDIR /home/lisp - -RUN curl -O https://beta.quicklisp.org/quicklisp.lisp -RUN curl -O https://beta.quicklisp.org/quicklisp.lisp.asc -RUN curl -O https://beta.quicklisp.org/release-key.txt -RUN gpg --import release-key.txt -RUN gpg --verify quicklisp.lisp.asc quicklisp.lisp - - -RUN sbcl --non-interactive \ - --load quicklisp.lisp \ - --eval '(quicklisp-quickstart:install)' \ - --eval '(ql::without-prompting (ql:add-to-init-file))' - -COPY . /home/lisp/common-lisp/${SYSTEM_NAME}/ -RUN ls /home/lisp/common-lisp/${SYSTEM_NAME} - -RUN sbcl --non-interactive --eval '(ql:quickload (sb-ext:posix-getenv "SYSTEM_NAME"))' -CMD bash diff --git a/micropm/micropm-get b/micropm/micropm-get @@ -1,9 +0,0 @@ -#!/bin/sh - -SYSTEM_NAME=$1 - -docker build -f ./micropm-docker/Dockerfile . --rm -t "$SYSTEM_NAME" --build-arg SYSTEM_NAME="$SYSTEM_NAME" -docker create --name "$SYSTEM_NAME" "$SYSTEM_NAME" bash -docker cp "$SYSTEM_NAME":/home/lisp/quicklisp/dists/quicklisp/software/ lisp-systems/ -docker rm "$SYSTEM_NAME" -docker rmi "$SYSTEM_NAME" diff --git a/micropm/micropm-get.sh b/micropm/micropm-get.sh @@ -1,13 +0,0 @@ -#!/bin/sh - -SYSTEM_NAME=$1 - -docker build -f ./micropm-docker/Dockerfile "$USER_PWD" --rm -t "$SYSTEM_NAME" --build-arg SYSTEM_NAME="$SYSTEM_NAME" -docker create --name "$SYSTEM_NAME" "$SYSTEM_NAME" bash -docker cp "$SYSTEM_NAME":/home/lisp/quicklisp/dists/quicklisp/software/ lisp-systems/ -docker rm "$SYSTEM_NAME" -docker rmi "$SYSTEM_NAME" - -test -d lisp-systems && \ - cp -r lisp-systems "$USER_PWD" -cp .envrc "$USER_PWD"