From 5f4df152ba2c3e5656e24a462a92b1043d56977f Mon Sep 17 00:00:00 2001
From: Daniel Schulte <trilader@gmail.com>
Date: Thu, 25 Sep 2014 16:26:53 +0200
Subject: [PATCH] =?UTF-8?q?Targets=20zum=20Image=20bauen=20hinzugef=C3=BCg?=
 =?UTF-8?q?t.=20Repository=20in=20default=20config=20eingef=C3=BCgt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Makefile                      | 38 ++++++++++++++++++++++++++++++++---
 config/Makefile.conf.defaults |  3 +++
 2 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 0621977..30bfaa5 100644
--- a/Makefile
+++ b/Makefile
@@ -26,6 +26,7 @@ ARCH_DIR=$(call archdir,$(ARCH))
 PRIMARY_ARCH_DIR=$(call archdir,$(PRIMARY_ARCH))
 SECONDARY_ARCH_DIR=$(call archdir,$(SECONDARY_ARCH))
 COMMON_DIR=$(WORKSPACE)/common
+IMAGE_DIR=$(WORKSPACE)/image
 
 define gentargets =
 $(PRIMARY_ARCH_DIR)$1 $(SECONDARY_ARCH_DIR)$1 : $(call archdir,%)$1
@@ -164,10 +165,10 @@ rootfs_deduplicate $(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated: $(PRIMARY_ARCH
 	cd "$(COMMON_DIR)/lip-$(SECONDARY_ARCH)" && tr \\n \\0 < "$(COMMON_DIR)/common_files.list" | xargs -0 rm 
 	touch "$(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated"
 
-$(COMMON_DIR)/lip%.squashfs : $(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated | $(COMMON_DIR)/lip-%
-	mksquashfs "$(COMMON_DIR)/lip-$*" "$(COMMON_DIR)/lip$*.squashfs" -comp xz
+$(COMMON_DIR)/lip-%.squashfs : $(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated | $(COMMON_DIR)/lip-%
+	mksquashfs "$(COMMON_DIR)/lip-$*" "$(COMMON_DIR)/lip-$*.squashfs" -comp xz
 
-rootfs_squash: $(COMMON_DIR)/lip$(PRIMARY_ARCH).squashfs $(COMMON_DIR)/lip$(SECONDARY_ARCH).squashfs $(COMMON_DIR)/lipcommon.squashfs
+rootfs_squash: $(COMMON_DIR)/lip-$(PRIMARY_ARCH).squashfs $(COMMON_DIR)/lip-$(SECONDARY_ARCH).squashfs $(COMMON_DIR)/lip-common.squashfs
 
 initrd_unpack : $(ARCH_DIR)$(STATE_DIR)/initrd_extracted
 $(call gentargets,$(STATE_DIR)/initrd_extracted) : $(call archdir,%)$(STATE_DIR)/iso_extracted
@@ -190,6 +191,37 @@ initrd_pack : $(ARCH_DIR)$(INITRD_TARGET)
 $(call gentargets,$(INITRD_TARGET)) : $(call archdir,%)$(STATE_DIR)/initrd_remastered
 	cd "$(call archdir,$*)$(INITRD)" && find | cpio -H newc -o | lzma -z > "$(call archdir,$*)$(INITRD_TARGET)"
 
+image_git $(IMAGE_DIR)/.git: |$(WORKSPACE)
+	mkdir -p "$(IMAGE_DIR)"
+	test ! -e "$(IMAGE_DIR)/.git"
+	cd "$(IMAGE_DIR)" && git clone "$(IMAGE_GIT_URL)" .
+
+image_git_pull: |$(IMAGE_DIR)/.git
+	cd "$(IMAGE_DIR)" && ./scripts/update_stick.sh "$(IMAGE_GIT_BRANCH)"
+
+IMAGE_BINARIES= $(COMMON_DIR)/lip-$(PRIMARY_ARCH).squashfs $(COMMON_DIR)/lip-$(SECONDARY_ARCH).squashfs $(COMMON_DIR)/lip-common.squashfs \
+$(PRIMARY_ARCH_DIR)$(INITRD_TARGET) $(SECONDARY_ARCH_DIR)$(INITRD_TARGET) \
+$(PRIMARY_ARCH_DIR)$(STATE_DIR)/iso_extracted $(SECONDARY_ARCH_DIR)$(STATE_DIR)/iso_extracted
+image_binary_files: image_git_pull $(IMAGE_BINARIES)
+	cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/boot" "$(IMAGE_DIR)/"
+	cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/dists" "$(IMAGE_DIR)/"
+	cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/isolinux" "$(IMAGE_DIR)/"
+	cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/pool" "$(IMAGE_DIR)/"
+	cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/EFI" "$(IMAGE_DIR)/"
+	cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/preserved" "$(IMAGE_DIR)/"
+	cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/.disk" "$(IMAGE_DIR)/"
+	cp -r "$(SECONDARY_ARCH_DIR)$(ISO_CONTENT)/.disk/casper-uuid-generic" "$(IMAGE_DIR)/.disk/casper-uuid-generic-$(SECONDARY_ARCH)"
+	mkdir -p "$(IMAGE_DIR)/casper"
+	cp "$(COMMON_DIR)/lip-common.squashfs" "$(IMAGE_DIR)/casper/"
+	cp "$(COMMON_DIR)/lip-$(PRIMARY_ARCH).squashfs" "$(IMAGE_DIR)/casper/"
+	cp "$(COMMON_DIR)/lip-$(SECONDARY_ARCH).squashfs" "$(IMAGE_DIR)/casper/"
+	cp "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/casper/filesystem.manifest" "$(IMAGE_DIR)/casper/"
+	cp "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/casper/filesystem.manifest-remove" "$(IMAGE_DIR)/casper/"
+	cp "$(PRIMARY_ARCH_DIR)$(INITRD_TARGET)" "$(IMAGE_DIR)/casper/initrd-$(PRIMARY_ARCH).lz"
+	cp "$(SECONDARY_ARCH_DIR)$(INITRD_TARGET)" "$(IMAGE_DIR)/casper/initrd-$(SECONDARY_ARCH).lz"
+	cd "$(PRIMARY_ARCH_DIR)$(ROOTFS)" && cp -L vmlinuz "$(IMAGE_DIR)/casper/vmlinuz-$(PRIMARY_ARCH)"
+	cd "$(SECONDARY_ARCH_DIR)$(ROOTFS)" && cp -L vmlinuz "$(IMAGE_DIR)/casper/vmlinuz-$(SECONDARY_ARCH)"
+
 config $(CONFIG_FILE):
 	$(info Generating configuration $(CONFIG_FILE))
 	echo -n "" > $(CONFIG_FILE)
diff --git a/config/Makefile.conf.defaults b/config/Makefile.conf.defaults
index 5b26972..7294f62 100644
--- a/config/Makefile.conf.defaults
+++ b/config/Makefile.conf.defaults
@@ -7,3 +7,6 @@ ISO_BASE_URL=http://cdimage.ubuntu.com/kubuntu/releases
 ISO_RELEASE=trusty
 ISO_VERSION=14.04.1
 ISO_FLAVOR=kubuntu
+
+IMAGE_GIT_URL=https://learninglinux.fsmpi.rwth-aachen.de/git/lipstick.git
+IMAGE_GIT_BRANCH=ws14
\ No newline at end of file
-- 
GitLab