From e0e51a9f3733dcae936163bfb47d316cdf3de670 Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Thu, 6 Aug 2015 01:58:32 +0500 Subject: [PATCH] move chunks of shell from Makefile into scripts --- Makefile.docker | 25 ++++--------------------- scripts/mk-images-tar.sh | 12 ++++++++++++ scripts/mk-initrd.sh | 11 +++++++++++ scripts/mk-iso-checksums-txt.sh | 12 ++++++++++++ scripts/mk-rancheros-iso.sh | 19 +++++++++++++++++++ 5 files changed, 58 insertions(+), 21 deletions(-) create mode 100755 scripts/mk-images-tar.sh create mode 100755 scripts/mk-initrd.sh create mode 100755 scripts/mk-iso-checksums-txt.sh create mode 100755 scripts/mk-rancheros-iso.sh diff --git a/Makefile.docker b/Makefile.docker index 1f263062..ce36c85b 100644 --- a/Makefile.docker +++ b/Makefile.docker @@ -36,34 +36,17 @@ $(DIST)/artifacts/vmlinuz: $(DIST)/artifacts copy-images INITRD_DIR := $(BUILD)/initrd $(INITRD_DIR)/images.tar: bin/rancheros - ln -sf bin/rancheros ./ros - for i in `./ros c images -i os-config.yml`; do [ "$(FORCE_PULL)" != "1" ] && docker inspect $$i >/dev/null 2>&1 || docker pull $$i; done - docker save `./ros c images -i os-config.yml` > $@ + FORCE_PULL=$(FORCE_PULL) INITRD_DIR=$(INITRD_DIR) ./scripts/mk-images-tar.sh $(DIST)/artifacts/initrd: $(DIST)/artifacts bin/rancheros assets/docker copy-images $(INITRD_DIR)/images.tar - mv $(BUILD)/kernel/lib $(INITRD_DIR) - mv assets/docker $(INITRD_DIR) - cp os-config.yml $(INITRD_DIR) - cp bin/rancheros $(INITRD_DIR)/init - cd $(INITRD_DIR) && find | cpio -H newc -o | lzma -c > $@ + INITRD_DIR=$(INITRD_DIR) ./scripts/mk-initrd.sh $(DIST)/artifacts/rancheros.iso: $(DIST)/artifacts/initrd $(CD)/boot/isolinux - cp $(DIST)/artifacts/initrd $(CD)/boot - cp $(DIST)/artifacts/vmlinuz $(CD)/boot - cp scripts/isolinux.cfg $(CD)/boot/isolinux - cp /usr/lib/ISOLINUX/isolinux.bin $(CD)/boot/isolinux - cp /usr/lib/syslinux/modules/bios/ldlinux.c32 $(CD)/boot/isolinux - cd $(CD) && xorriso -publisher "Rancher Labs, Inc." \ - -as mkisofs \ - -l -J -R -V "RancherOS" \ - -no-emul-boot -boot-load-size 4 -boot-info-table \ - -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \ - -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \ - -o $@ $(CD) + CD=$(CD) ./scripts/mk-rancheros-iso.sh $(DIST)/artifacts/iso-checksums.txt: $(DIST)/artifacts/rancheros.iso - cd $(DIST)/artifacts && for algo in 'sha256' 'md5'; do echo "$$algo: `$${algo}sum rancheros.iso`" >> $@; done + ./scripts/mk-iso-checksums-txt.sh version: @echo $(VERSION) diff --git a/scripts/mk-images-tar.sh b/scripts/mk-images-tar.sh new file mode 100755 index 00000000..0eaf161d --- /dev/null +++ b/scripts/mk-images-tar.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -ex + +cd $(dirname $0)/.. + +ln -sf bin/rancheros ./ros + +for i in `./ros c images -i os-config.yml`; do + [ "${FORCE_PULL}" != "1" ] && docker inspect $i >/dev/null 2>&1 || docker pull $i; +done + +docker save `./ros c images -i os-config.yml` > ${INITRD_DIR}/images.tar diff --git a/scripts/mk-initrd.sh b/scripts/mk-initrd.sh new file mode 100755 index 00000000..a2dd02dd --- /dev/null +++ b/scripts/mk-initrd.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -ex + +cd $(dirname $0)/.. +. scripts/build-common + +mv ${BUILD}/kernel/lib ${INITRD_DIR} +mv assets/docker ${INITRD_DIR} +cp os-config.yml ${INITRD_DIR} +cp bin/rancheros ${INITRD_DIR}/init +cd ${INITRD_DIR} && find | cpio -H newc -o | lzma -c > ${DIST}/artifacts/initrd diff --git a/scripts/mk-iso-checksums-txt.sh b/scripts/mk-iso-checksums-txt.sh new file mode 100755 index 00000000..3b34262a --- /dev/null +++ b/scripts/mk-iso-checksums-txt.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -ex + +cd $(dirname $0)/.. +. scripts/build-common + +cd ${DIST}/artifacts +rm -f iso-checksums.txt || : + +for algo in 'sha256' 'md5'; do + echo "$algo: `${algo}sum rancheros.iso`" >> iso-checksums.txt; +done diff --git a/scripts/mk-rancheros-iso.sh b/scripts/mk-rancheros-iso.sh new file mode 100755 index 00000000..4b538eef --- /dev/null +++ b/scripts/mk-rancheros-iso.sh @@ -0,0 +1,19 @@ +#!/bin/bash +set -ex + +cd $(dirname $0)/.. +. scripts/build-common + +cp ${DIST}/artifacts/initrd ${CD}/boot +cp ${DIST}/artifacts/vmlinuz ${CD}/boot +cp scripts/isolinux.cfg ${CD}/boot/isolinux +cp /usr/lib/ISOLINUX/isolinux.bin ${CD}/boot/isolinux +cp /usr/lib/syslinux/modules/bios/ldlinux.c32 ${CD}/boot/isolinux +cd ${CD} && xorriso \ + -publisher "Rancher Labs, Inc." \ + -as mkisofs \ + -l -J -R -V "RancherOS" \ + -no-emul-boot -boot-load-size 4 -boot-info-table \ + -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \ + -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \ + -o ${DIST}/artifacts/rancheros.iso ${CD}