Cleanup rootfs, swi, and installer builds so they can be built in parallel for multiple distributions.

This commit is contained in:
Jeffrey Townsend
2019-02-05 22:46:18 +00:00
parent a7e4cde8dc
commit 48af7ec15b
12 changed files with 74 additions and 98 deletions

View File

@@ -1,16 +1,9 @@
include $(ONL)/make/config.amd64.mk
#
# Default to include all available amd64 platforms.
# You override this with you own list or yaml file.
#
ifndef PLATFORM_LIST
export PLATFORM_LIST=$(shell onlpm --list-platforms --arch amd64 --csv )
endif
RFS_CONFIG := $(ONL)/builds/any/rootfs/$(ONL_DEBIAN_SUITE)/standard/standard.yml
RFS_DIR := rootfs-amd64.d
RFS_CPIO := rootfs-amd64.cpio.gz
RFS_SQUASH := rootfs-amd64.sqsh
include $(ONL)/make/rfs.mk

View File

@@ -17,22 +17,12 @@ packages:
summary: Open Network Linux $ARCH Installer
files:
builds/*INSTALLER : $$PKG_INSTALL/
builds/*.md5sum : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/*INSTALLER : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/*.md5sum : $$PKG_INSTALL/
changelog: Change changes changes.,
release:
- builds/*INSTALLER : $ARCH/
- builds/*.md5sum : $ARCH/
- builds/$ONL_DEBIAN_SUITE/*INSTALLER : $ARCH/
- builds/$ONL_DEBIAN_SUITE/*.md5sum : $ARCH/

View File

@@ -17,8 +17,8 @@ INSTALLER_NAME=$(FNAME_PRODUCT_VERSION)_ONL-OS$(DEBIAN_VERSION_ID)_$(FNAME_BUILD
MKINSTALLER_OPTS = \
--onl-version "$(VERSION_STRING)" \
--arch $(ARCH) \
--boot-config boot-config \
--add-dir config \
--boot-config ../boot-config \
--add-dir ../config \
--initrd onl-loader-initrd:$(ARCH) onl-loader-initrd-$(ARCH).cpio.gz \
--swi onl-swi:$(ARCH) \
--preinstall-script $(ONL)/builds/any/installer/sample-preinstall.sh \
@@ -27,6 +27,12 @@ MKINSTALLER_OPTS = \
--plugin $(ONL)/builds/any/installer/sample-postinstall.py \
# THIS LINE INTENTIONALLY LEFT BLANK
__installer:
$(ONL)/tools/mkinstaller.py $(MKINSTALLER_OPTS) --out $(INSTALLER_NAME)
md5sum "$(INSTALLER_NAME)" | awk '{ print $$1 }' > "$(INSTALLER_NAME).md5sum"
WORK_DIR := $(ONL_DEBIAN_SUITE)
__installer: clean
mkdir $(WORK_DIR)
cd $(WORK_DIR) && $(ONL)/tools/mkinstaller.py $(MKINSTALLER_OPTS) --out $(INSTALLER_NAME)
cd $(WORK_DIR) && md5sum "$(INSTALLER_NAME)" | awk '{ print $$1 }' > "$(INSTALLER_NAME).md5sum"
clean:
rm -rf $(WORK_DIR)

View File

@@ -17,8 +17,8 @@ INSTALLER_NAME=$(FNAME_PRODUCT_VERSION)_ONL-OS$(DEBIAN_VERSION_ID)_$(FNAME_BUILD
MKINSTALLER_OPTS = \
--onl-version "$(VERSION_STRING)" \
--arch $(ARCH) \
--boot-config boot-config \
--add-dir config \
--boot-config ../boot-config \
--add-dir ../config \
--fit onl-loader-fit:$(ARCH) onl-loader-fit.itb \
--swi onl-swi:$(ARCH) \
--preinstall-script $(ONL)/builds/any/installer/sample-preinstall.sh \
@@ -27,6 +27,12 @@ MKINSTALLER_OPTS = \
--plugin $(ONL)/builds/any/installer/sample-postinstall.py \
# THIS LINE INTENTIONALLY LEFT BLANK
__installer:
$(ONL)/tools/mkinstaller.py $(MKINSTALLER_OPTS) --out $(INSTALLER_NAME)
md5sum "$(INSTALLER_NAME)" | awk '{ print $$1 }' > "$(INSTALLER_NAME).md5sum"
WORK_DIR := $(ONL_DEBIAN_SUITE)
__installer: clean
mkdir $(WORK_DIR)
cd $(WORK_DIR) && $(ONL)/tools/mkinstaller.py $(MKINSTALLER_OPTS) --out $(INSTALLER_NAME)
cd $(WORK_DIR) && md5sum "$(INSTALLER_NAME)" | awk '{ print $$1 }' > "$(INSTALLER_NAME).md5sum"
clean:
rm -rf $(WORK_DIR)

View File

@@ -16,12 +16,8 @@ packages:
summary: Open Network Linux Root Filesystem
files:
builds/rootfs-$ARCH.cpio.gz : $$PKG_INSTALL/
builds/rootfs-$ARCH.sqsh : $$PKG_INSTALL/
builds/manifest.json : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/rootfs-$ARCH.cpio.gz : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/rootfs-$ARCH.sqsh : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/manifest.json : $$PKG_INSTALL/
changelog: Change changes changes.,

View File

@@ -17,23 +17,13 @@ packages:
summary: Open Network Linux Switch Image (All $ARCH) Platforms)
files:
builds/*.swi : $$PKG_INSTALL/
builds/*.md5sum : $$PKG_INSTALL/
builds/manifest.json : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/*.swi : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/*.md5sum : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/manifest.json : $$PKG_INSTALL/
changelog: Change changes changes.,
release:
- builds/*.swi : $ARCH/
- builds/*.md5sum : $ARCH/
- builds/$ONL_DEBIAN_SUITE/*.swi : $ARCH/
- builds/$ONL_DEBIAN_SUITE/*.md5sum : $ARCH/

View File

@@ -1,14 +1,9 @@
include $(ONL)/make/config.arm64.mk
#
# Default to include all available arm64 platforms.
# You override this with you own list or yaml file.
#
ifndef PLATFORM_LIST
export PLATFORM_LIST=$(shell onlpm --list-platforms --arch arm64 --csv )
endif
RFS_CONFIG := $(ONL)/builds/any/rootfs/$(ONL_DEBIAN_SUITE)/standard/standard.yml
RFS_DIR := rootfs-arm64.d
RFS_CPIO := rootfs-arm64.cpio.gz
RFS_SQUASH := rootfs-arm64.sqsh
include $(ONL)/make/rfs.mk

View File

@@ -1,16 +1,9 @@
include $(ONL)/make/config.armel.mk
#
# Default to include all available powerpc platforms.
# You override this with you own list or yaml file.
#
ifndef PLATFORM_LIST
export PLATFORM_LIST=$(shell onlpm --list-platforms --arch armel --csv )
endif
RFS_CONFIG := $(ONL)/builds/any/rootfs/$(ONL_DEBIAN_SUITE)/standard/standard.yml
RFS_DIR := rootfs-armel.d
RFS_CPIO := rootfs-armel.cpio.gz
RFS_SQUASH := rootfs-armel.sqsh
include $(ONL)/make/rfs.mk

View File

@@ -1,16 +1,9 @@
include $(ONL)/make/config.armhf.mk
#
# Default to include all available powerpc platforms.
# You override this with you own list or yaml file.
#
ifndef PLATFORM_LIST
export PLATFORM_LIST=$(shell onlpm --list-platforms --arch armhf --csv )
endif
RFS_CONFIG := $(ONL)/builds/any/rootfs/$(ONL_DEBIAN_SUITE)/standard/standard.yml
RFS_DIR := rootfs-armhf.d
RFS_CPIO := rootfs-armhf.cpio.gz
RFS_SQUASH := rootfs-armhf.sqsh
include $(ONL)/make/rfs.mk

View File

@@ -1,14 +1,9 @@
include $(ONL)/make/config.powerpc.mk
#
# Default to include all available powerpc platforms.
# You override this with you own list or yaml file.
#
ifndef PLATFORM_LIST
export PLATFORM_LIST=$(shell onlpm --list-platforms --arch powerpc --csv )
endif
RFS_CONFIG := $(ONL)/builds/any/rootfs/$(ONL_DEBIAN_SUITE)/standard/standard.yml
RFS_DIR := rootfs-powerpc.d
RFS_CPIO := rootfs-powerpc.cpio.gz
RFS_SQUASH := rootfs-powerpc.sqsh
include $(ONL)/make/rfs.mk

View File

@@ -14,8 +14,20 @@ ifndef RFS_CONFIG
$(error $$RFS_CONFIG must be set to the RFS yaml configuration file)
endif
ifndef RFS_WORKDIR
RFS_WORKDIR := $(ONL_DEBIAN_SUITE)
endif
ifndef RFS_DIR
$(error $$RFS_DIR must be set)
RFS_DIR := $(RFS_WORKDIR)/rootfs-$(ARCH).d
endif
ifndef RFS_CPIO
RFS_CPIO := $(RFS_WORKDIR)/rootfs-$(ARCH).cpio.gz
endif
ifndef RFS_SQUASH
RFS_SQUASH := $(RFS_WORKDIR)/rootfs-$(ARCH).sqsh
endif
RFS_COMMAND := $(ONL)/tools/onlrfs.py --arch $(ARCH) --config $(RFS_CONFIG) --dir $(RFS_DIR)
@@ -32,15 +44,14 @@ ifndef RFS_MANIFEST
RFS_MANIFEST := etc/onl/rootfs/manifest.json
endif
RFS:
$(ONL_V_at) sudo rm -rf manifest.json
LOCAL_MANIFEST := $(RFS_WORKDIR)/manifest.json
RFS: clean
$(ONL_V_at) $(RFS_COMMAND)
$(ONL_V_at) [ -f $(RFS_DIR)/$(RFS_MANIFEST) ] && cp $(RFS_DIR)/$(RFS_MANIFEST) .
$(ONL_V_at) [ -f $(RFS_DIR)/$(RFS_MANIFEST) ] && sudo cp $(RFS_DIR)/$(RFS_MANIFEST) $(LOCAL_MANIFEST)
clean:
$(ONL_V_at) sudo rm -rf $(RFS_DIR)
$(ONL_v_at) rm -rf $(RFS_CPIO) $(RFS_SQUASH)
$(ONL_V_at) sudo rm -rf $(RFS_WORKDIR)
show-packages:
$(ONL_V_at) $(RFS_COMMAND) --show-packages

View File

@@ -10,21 +10,29 @@ ifdef REBUILD_RFS
FORCE_OPTION = --force
endif
ifndef SWI_WORKDIR
SWI_WORKDIR := $(ONL_DEBIAN_SUITE)
endif
LINK_OPTIONS := $(FORCE_OPTION) --link-file $(ROOTFS_PACKAGE):$(ARCH) rootfs-$(ARCH).sqsh . --link-file $(ROOTFS_PACKAGE):$(ARCH) manifest.json .
ifndef FILENAMER
FILENAMER := $(ONL)/tools/filenamer.py
endif
swi: FORCE
$(ONL_V_at) rm -rf *.swi* manifest.json
$(ONL_V_at) $(ONLPM) $(LINK_OPTIONS)
swi: FORCE clean
mkdir $(SWI_WORKDIR) && cd $(SWI_WORKDIR) && $(ONLPM) $(LINK_OPTIONS)
ifdef ONL_PRE_SWITOOL_CMDS
$(ONL_V_at) $(ONL_PRE_SWITOOL_CMDS)
endif
$(ONL_V_at) $(ONL)/tools/switool.py --create $(ONL_SWITOOL_EXTRA_ARGS) --rootfs rootfs-$(ARCH).sqsh --manifest manifest.json $@
$(ONL_V_at) mv $@ `$(FILENAMER) --type swi --manifest manifest.json $@`
$(ONL_V_at) for f in `ls *.swi`; do md5sum $$f > $$f.md5sum; done
$(ONL_V_at) rm -rf rootfs-$(ARCH).sqsh
$(ONL_V_at) ls *.swi
$(ONL_V_at) cd $(SWI_WORKDIR) && $(ONL)/tools/switool.py --create $(ONL_SWITOOL_EXTRA_ARGS) --rootfs rootfs-$(ARCH).sqsh --manifest manifest.json $@
$(ONL_V_at) cd $(SWI_WORKDIR) && mv $@ `$(FILENAMER) --type swi --manifest manifest.json $@`
$(ONL_V_at) cd $(SWI_WORKDIR) && for f in `ls *.swi`; do md5sum $$f > $$f.md5sum; done
$(ONL_V_at) rm -rf $(SWI_WORKDIR)/rootfs-$(ARCH).sqsh
$(ONL_V_at) ls $(SWI_WORKDIR)/*.swi
FORCE:
clean:
$(ONL_v_at) rm -rf $(SWI_WORKDIR)/*.swi* $(SWI_WORKDIR)/manifest.json
test -d $(SWI_WORKDIR) && rmdir $(SWI_WORKDIR) || true