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

@@ -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