Make --local-source require explicit checkout paths
Dropped the sibling-dir convention ($BUILD_ROOT/../omarchy-installer etc.). Callers now pass paths explicitly: omarchy-iso-make --local-source <installer-checkout> <pkgs-checkout> Errors clearly if either path is missing or doesn't exist.
This commit is contained in:
1 file changed
+22
-16
+22
-16
@@ -5,6 +5,8 @@ set -e
|
|||||||
|
|
||||||
# Parse command line arguments
|
# Parse command line arguments
|
||||||
NO_CACHE=""
|
NO_CACHE=""
|
||||||
|
LOCAL_INSTALLER_PATH=""
|
||||||
|
LOCAL_PKGS_PATH=""
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
--no-cache)
|
--no-cache)
|
||||||
@@ -16,9 +18,18 @@ while [[ $# -gt 0 ]]; do
|
|||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--local-source)
|
--local-source)
|
||||||
LOCAL_SOURCE=1
|
# --local-source <installer-checkout> <pkgs-checkout>
|
||||||
|
# Builds omarchy* from the two checkouts and bundles them in the ISO's
|
||||||
|
# offline mirror instead of pulling published versions from the omarchy
|
||||||
|
# network mirror.
|
||||||
|
LOCAL_INSTALLER_PATH="${2:-}"
|
||||||
|
LOCAL_PKGS_PATH="${3:-}"
|
||||||
|
if [[ -z $LOCAL_INSTALLER_PATH || -z $LOCAL_PKGS_PATH ]]; then
|
||||||
|
echo "Error: --local-source requires two args: <installer-checkout> <pkgs-checkout>" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
OMARCHY_MIRROR=edge
|
OMARCHY_MIRROR=edge
|
||||||
shift
|
shift 3
|
||||||
;;
|
;;
|
||||||
--dev)
|
--dev)
|
||||||
OMARCHY_INSTALLER_REF=dev
|
OMARCHY_INSTALLER_REF=dev
|
||||||
@@ -32,7 +43,7 @@ while [[ $# -gt 0 ]]; do
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown option: $1"
|
echo "Unknown option: $1"
|
||||||
echo "Usage: $0 [--no-cache] [--no-boot-offer] [--local-source] [--dev] [--rc]"
|
echo "Usage: $0 [--no-cache] [--no-boot-offer] [--dev|--rc] [--local-source <installer-checkout> <pkgs-checkout>]"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -69,20 +80,15 @@ DOCKER_ARGS=(
|
|||||||
-v "$BUILD_ROOT/configs:/configs:ro"
|
-v "$BUILD_ROOT/configs:/configs:ro"
|
||||||
)
|
)
|
||||||
|
|
||||||
# --local-source: build the omarchy* packages from local omarchy-installer +
|
# Mount the local checkouts when --local-source was passed.
|
||||||
# omarchy-pkgs checkouts (mounted into the container) instead of pulling them
|
if [[ -n $LOCAL_INSTALLER_PATH ]]; then
|
||||||
# from the omarchy network mirror. Useful for testing in-flight changes
|
[[ -d $LOCAL_INSTALLER_PATH ]] || { echo "Error: installer checkout not found at $LOCAL_INSTALLER_PATH" >&2; exit 1; }
|
||||||
# before they're released through pkgs.omarchy.org.
|
[[ -d $LOCAL_PKGS_PATH ]] || { echo "Error: pkgs checkout not found at $LOCAL_PKGS_PATH" >&2; exit 1; }
|
||||||
if [[ -n "${LOCAL_SOURCE-}" ]]; then
|
LOCAL_INSTALLER_PATH=$(realpath "$LOCAL_INSTALLER_PATH")
|
||||||
OMARCHY_INSTALLER_PATH="${OMARCHY_INSTALLER_PATH:-$BUILD_ROOT/../omarchy-installer}"
|
LOCAL_PKGS_PATH=$(realpath "$LOCAL_PKGS_PATH")
|
||||||
OMARCHY_PKGS_PATH="${OMARCHY_PKGS_PATH:-$BUILD_ROOT/../omarchy-pkgs}"
|
|
||||||
[[ -d $OMARCHY_INSTALLER_PATH ]] || { echo "Error: omarchy-installer checkout not found at $OMARCHY_INSTALLER_PATH" >&2; exit 1; }
|
|
||||||
[[ -d $OMARCHY_PKGS_PATH ]] || { echo "Error: omarchy-pkgs checkout not found at $OMARCHY_PKGS_PATH" >&2; exit 1; }
|
|
||||||
OMARCHY_INSTALLER_PATH=$(realpath "$OMARCHY_INSTALLER_PATH")
|
|
||||||
OMARCHY_PKGS_PATH=$(realpath "$OMARCHY_PKGS_PATH")
|
|
||||||
DOCKER_ARGS+=(
|
DOCKER_ARGS+=(
|
||||||
-v "$OMARCHY_INSTALLER_PATH:/omarchy-installer:ro"
|
-v "$LOCAL_INSTALLER_PATH:/omarchy-installer:ro"
|
||||||
-v "$OMARCHY_PKGS_PATH:/omarchy-pkgs:ro"
|
-v "$LOCAL_PKGS_PATH:/omarchy-pkgs:ro"
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user