diff --git a/Makefile b/Makefile index 5580547..a25fb86 100644 --- a/Makefile +++ b/Makefile @@ -37,13 +37,9 @@ build/deploy.iso: boot.iso container/$(IMAGE_NAME)-$(IMAGE_TAG) xorriso/input.t # Step 1: Generate Lorax Templates lorax_templates/%.tmpl: lorax_templates/%.tmpl.in - sed 's/@IMAGE_NAME@/$(IMAGE_NAME)/' $(_BASE_DIR)/lorax_templates/$*.tmpl.in > $(_BASE_DIR)/lorax_templates/$*.tmpl + $(eval _VARS = IMAGE_NAME IMAGE_TAG IMAGE_REPO_DOUBLE_ESCAPED) + $(foreach var,$(_VARS),$(var)=$($(var))) envsubst '$(foreach var,$(_VARS),$$$(var))' < $(_BASE_DIR)/lorax_templates/$*.tmpl.in > $(_BASE_DIR)/lorax_templates/$*.tmpl - sed 's/@IMAGE_TAG@/$(IMAGE_TAG)/' $(_BASE_DIR)/lorax_templates/$*.tmpl > $(_BASE_DIR)/lorax_templates/$*.tmpl.tmp - mv $(_BASE_DIR)/lorax_templates/$*.tmpl{.tmp,} - - sed 's/@IMAGE_REPO_ESCAPED@/$(_IMAGE_REPO_DOUBLE_ESCAPED)/' $(_BASE_DIR)/lorax_templates/$*.tmpl > $(_BASE_DIR)/lorax_templates/$*.tmpl.tmp - mv $(_BASE_DIR)/lorax_templates/$*.tmpl{.tmp,} # Step 2: Replace vars in repo files %.repo: /etc/yum.repos.d/%.repo @@ -58,7 +54,7 @@ boot.iso: $(foreach file,$(_LORAX_TEMPLATES),lorax_templates/$(file)) $(_REPO_FI --isfinal --squashfs-only --buildarch=$(ARCH) --volid=$(_VOLID) \ $(_LORAX_ARGS) \ $(foreach file,$(_REPO_FILES),--repo $(_BASE_DIR)/$(file)) \ - $(foreach file,$(_LORAX_TEMPLATES),--add-template $(file)) \ + $(foreach file,$(_LORAX_TEMPLATES),--add-template lorax_templates/$(file)) \ $(foreach file,$(ADDITIONAL_TEMPLATES),--add-template $(file)) \ --rootfs-size 4 \ $(_BASE_DIR)/results/ @@ -73,13 +69,8 @@ container/$(IMAGE_NAME)-$(IMAGE_TAG): # Step 5: Generate xorriso script xorriso/%.sh: xorriso/%.sh.in - sed 's/@IMAGE_NAME@/$(IMAGE_NAME)/' $(_BASE_DIR)/xorriso/$*.sh.in > $(_BASE_DIR)/xorriso/$*.sh - - sed 's/@IMAGE_TAG@/$(IMAGE_TAG)/' $(_BASE_DIR)/xorriso/$*.sh > $(_BASE_DIR)/xorriso/$*.sh.tmp - mv $(_BASE_DIR)/xorriso/$*.sh{.tmp,} - - sed 's/@ARCH@/$(ARCH)/' $(_BASE_DIR)/xorriso/$*.sh > $(_BASE_DIR)/xorriso/$*.sh.tmp - mv $(_BASE_DIR)/xorriso/$*.sh{.tmp,} + $(eval _VARS = IMAGE_NAME IMAGE_TAG ARCH VERSION) + $(foreach var,$(_VARS),$(var)=$($(var))) envsubst '$(foreach var,$(_VARS),$$$(var))' < $(_BASE_DIR)/xorriso/$*.sh.in > $(_BASE_DIR)/xorriso/$*.sh # Step 6: Generate xorriso input xorriso/input.txt: xorriso/gen_input.sh diff --git a/lorax_templates/configure_upgrades.tmpl.in b/lorax_templates/configure_upgrades.tmpl.in index 688cf79..b0d1311 100644 --- a/lorax_templates/configure_upgrades.tmpl.in +++ b/lorax_templates/configure_upgrades.tmpl.in @@ -1,7 +1,7 @@ append usr/share/anaconda/interactive-defaults.ks "%post --erroronfail" -append usr/share/anaconda/interactive-defaults.ks "sed -i 's/container-image-reference=.*/container-image-reference=ostree-image-signed:docker:\/\/@IMAGE_REPO_ESCAPED@\/@IMAGE_NAME@:@IMAGE_TAG@/' /ostree/deploy/default/deploy/*.origin" +append usr/share/anaconda/interactive-defaults.ks "sed -i 's/container-image-reference=.*/container-image-reference=ostree-image-signed:docker:\/\/${IMAGE_REPO_DOUBLE_ESCAPED}\/${IMAGE_NAME}:${IMAGE_TAG}/' /ostree/deploy/default/deploy/*.origin" append usr/share/anaconda/interactive-defaults.ks "%end" append usr/share/anaconda/post-scripts/configure_upgrades.ks "%post --erroronfail" -append usr/share/anaconda/post-scripts/configure_upgrades.ks "sed -i 's/container-image-reference=.*/container-image-reference=ostree-image-signed:docker:\/\/@IMAGE_REPO_ESCAPED@\/@IMAGE_NAME@:@IMAGE_TAG@/' /ostree/deploy/default/deploy/*.origin" +append usr/share/anaconda/post-scripts/configure_upgrades.ks "sed -i 's/container-image-reference=.*/container-image-reference=ostree-image-signed:docker:\/\/${IMAGE_REPO_DOUBLE_ESCAPED}\/${IMAGE_NAME}:${IMAGE_TAG}/' /ostree/deploy/default/deploy/*.origin" append usr/share/anaconda/post-scripts/configure_upgrades.ks "%end" \ No newline at end of file diff --git a/lorax_templates/set_installer.tmpl.in b/lorax_templates/set_installer.tmpl.in index 13332ff..050ba0a 100644 --- a/lorax_templates/set_installer.tmpl.in +++ b/lorax_templates/set_installer.tmpl.in @@ -1 +1 @@ -append usr/share/anaconda/interactive-defaults.ks "ostreecontainer --url=/run/install/repo/@IMAGE_NAME@-@VERSION@ --transport=oci --no-signature-verification" \ No newline at end of file +append usr/share/anaconda/interactive-defaults.ks "ostreecontainer --url=/run/install/repo/${IMAGE_NAME}-${VERSION} --transport=oci --no-signature-verification" \ No newline at end of file diff --git a/xorriso/gen_input.sh.in b/xorriso/gen_input.sh.in index b6fadeb..88a1eba 100644 --- a/xorriso/gen_input.sh.in +++ b/xorriso/gen_input.sh.in @@ -6,7 +6,7 @@ echo "-boot_image any replay" echo "-joliet on" echo "-compliance joliet_long_names" cd container -for file in $(find @IMAGE_NAME@-@IMAGE_TAG@) +for file in $(find ${IMAGE_NAME}-${IMAGE_TAG}) do echo "-map $(pwd)/${file} ${file}" echo "-chmod 0444 ${file}"