Skip to content

Commit efb4c62

Browse files
committed
fix devmode rebase
1 parent ec7f92c commit efb4c62

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

system_files/shared/usr/share/ublue-os/just/system.just

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,34 @@ toggle-devmode:
5959
IMAGE_INFO_FILE="${IMAGE_INFO_FILE:-/usr/share/ublue-os/image-info.json}"
6060
IMAGE_NAME="$(jq -rc '."image-name"' "${IMAGE_INFO_FILE}")"
6161
IMAGE_REF="$(jq -rc '."image-ref"' "${IMAGE_INFO_FILE}" | sed "s/.*ghcr/ghcr/")"
62-
CURRENT_IMAGE="${IMAGE_REF}:$(jq -rc '."image-tag"' "${IMAGE_INFO_FILE}")"
62+
IMAGE_TAG="$(jq -rc '."image-tag"' "${IMAGE_INFO_FILE}")"
63+
CURRENT_IMAGE="${IMAGE_REF}:${IMAGE_TAG}"
6364
set +e
6465

65-
if grep -q -E -e "dx$" <<< "${IMAGE_NAME}" ; then
66+
if grep -q -E -e "-dx(-|$)" <<< "${IMAGE_NAME}" ; then
6667
gum confirm "Would you like to disable developer mode?" || exit 0
6768
echo "Rebasing to a non developer image"
68-
NEW_IMAGE="$(sed "s/\-dx//" <<< $CURRENT_IMAGE)"
69+
# Remove -dx from image name
70+
NEW_NAME="$(sed "s|-dx-|-|; s|-dx$||" <<< "${IMAGE_NAME}")"
71+
NEW_IMAGE="${IMAGE_REF}:${IMAGE_TAG}"
72+
NEW_IMAGE="${NEW_IMAGE/${IMAGE_NAME}:/${NEW_NAME}:}"
6973
pkexec bootc switch --enforce-container-sigpolicy "${NEW_IMAGE}"
7074
exit 0
7175
fi
7276

7377
gum confirm "Would you like to enable developer mode?" || exit 0
7478
echo "Rebasing to a developer image"
75-
NEW_IMAGE="$(sed "s/${IMAGE_NAME}/${IMAGE_NAME}-dx/" <<< "${CURRENT_IMAGE}")"
79+
# Insert -dx after first component of image name
80+
FIRST="${IMAGE_NAME%%-*}"
81+
if [[ "${IMAGE_NAME}" == "${FIRST}" ]]; then
82+
# No hyphen in name, append -dx
83+
NEW_NAME="${IMAGE_NAME}-dx"
84+
else
85+
# Has hyphen, insert -dx after first component
86+
REST="${IMAGE_NAME#*-}"
87+
NEW_NAME="${FIRST}-dx-${REST}"
88+
fi
89+
NEW_IMAGE="${CURRENT_IMAGE/${IMAGE_NAME}:/${NEW_NAME}:}"
7690
pkexec bootc switch --enforce-container-sigpolicy "${NEW_IMAGE}"
7791
if gum confirm "Do you want to also install the default development flatpaks?" ; then
7892
ujust install-system-flatpaks 0 1

0 commit comments

Comments
 (0)