From 7a93f544f5cb360e82b6585e3aa8a1f4c89293bf Mon Sep 17 00:00:00 2001 From: Vladimir Kozhukalov Date: Fri, 25 Jan 2013 18:58:59 +0400 Subject: [PATCH] [make] Removed some excessive dependecies --- Makefile | 4 ++-- bootstrap/module.mk | 54 +++++++++++++++++++++++++------------------ iso/module.mk | 13 +++++++---- mirror/gems/module.mk | 3 ++- nailgun/module.mk | 2 +- sandbox.mk | 3 ++- 6 files changed, 48 insertions(+), 31 deletions(-) diff --git a/Makefile b/Makefile index 856910f718..7c5914fc81 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,8 @@ deep_clean: clean distclean: deep_clean clean-integration-test +include $(SOURCE_DIR)/rules.mk + # Common configuration file. include $(SOURCE_DIR)/config.mk @@ -41,5 +43,3 @@ include $(SOURCE_DIR)/packages/module.mk include $(SOURCE_DIR)/bootstrap/module.mk include $(SOURCE_DIR)/iso/module.mk include $(SOURCE_DIR)/test/module.mk - -include $(SOURCE_DIR)/rules.mk diff --git a/bootstrap/module.mk b/bootstrap/module.mk index ae5989b02f..6d330177f1 100644 --- a/bootstrap/module.mk +++ b/bootstrap/module.mk @@ -43,6 +43,13 @@ BOOTSTRAP_RPMS_CUSTOM:=\ nailgun-mcagents \ nailgun-net-check \ +define yum_local_repo +[mirror] +name=Mirantis mirror +baseurl=file://$(shell readlink -f -m $(LOCAL_MIRROR_CENTOS_OS_BASEURL)) +gpgcheck=0 +enabled=1 +endef YUM:=sudo yum --installroot=`readlink -f $(INITRAMROOT)` -y --nogpgcheck @@ -51,7 +58,7 @@ clean: clean-bootstrap clean-bootstrap: sudo rm -rf $(INITRAMROOT) -bootstrap: $(BUILD_DIR)/bootstrap/bootstrap.done +bootstrap: $(BUILD_DIR)/bootstrap/build.done $(BUILD_DIR)/bootstrap/build.done: \ $(BUILD_DIR)/bootstrap/linux \ @@ -71,14 +78,21 @@ $(BUILD_DIR)/bootstrap/linux: $(BUILD_DIR)/mirror/build.done rm -r $(BUILD_DIR)/bootstrap/boot touch $(BUILD_DIR)/bootstrap/linux + +$(BUILD_DIR)/bootstrap/customize-initram-root.done: export yum_local_repo:=$(yum_local_repo) $(BUILD_DIR)/bootstrap/customize-initram-root.done: \ - $(BUILD_DIR)/mirror/build.done \ - $(BUILD_DIR)/packages/build.done \ + $(BUILD_DIR)/packages/rpm/build.done \ $(BUILD_DIR)/bootstrap/prepare-initram-root.done \ $(call find-files,$(SOURCE_DIR)/bootstrap/sync) \ $(SOURCE_DIR)/bin/send2syslog.py \ $(SOURCE_DIR)/bootstrap/ssh/id_rsa.pub + # Defining local repository + sudo sh -c "echo \"$${yum_local_repo}\" > $(INITRAMROOT)/etc/yum.repos.d/mirror.repo" + + # Rebuilding rpmdb + sudo rpm --root=`readlink -f $(INITRAMROOT)` --rebuilddb + # Installing custom rpms $(YUM) install $(BOOTSTRAP_RPMS_CUSTOM) @@ -110,33 +124,29 @@ $(BUILD_DIR)/bootstrap/customize-initram-root.done: \ $(ACTION.TOUCH) -define yum_local_repo -[mirror] -name=Mirantis mirror -baseurl=file://$(shell readlink -f -m $(LOCAL_MIRROR_CENTOS_OS_BASEURL)) -gpgcheck=0 -enabled=1 -endef - - $(BUILD_DIR)/bootstrap/prepare-initram-root.done: export yum_local_repo:=$(yum_local_repo) $(BUILD_DIR)/bootstrap/prepare-initram-root.done: \ - $(BUILD_DIR)/mirror/build.done \ - $(BUILD_DIR)/packages/build.done + $(BUILD_DIR)/mirror/build.done + + # Installing centos-release package + sudo rpm -i --root=$(INITRAMROOT) \ + `find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name "centos-release*rpm" | head -1` || \ + echo "centos-release already installed" + + # Removing default repositories (centos-release package provides them) + sudo rm -f $(INITRAMROOT)/etc/yum.repos.d/Cent* + + # Defining local repository + sudo sh -c "echo \"$${yum_local_repo}\" > $(INITRAMROOT)/etc/yum.repos.d/mirror.repo" + + # Rebuilding rpmdb + sudo rpm --root=`readlink -f $(INITRAMROOT)` --rebuilddb # Creating some necessary directories sudo mkdir -p $(INITRAMROOT)/proc sudo mkdir -p $(INITRAMROOT)/dev sudo mkdir -p $(INITRAMROOT)/var/lib/rpm - # Defining local repository in order to install rpms - sudo mkdir -p $(INITRAMROOT)/etc/yum.repos.d - sudo sh -c "echo \"$${yum_local_repo}\" > $(INITRAMROOT)/etc/yum.repos.d/mirror.repo" - - # Removing default repositories and rebuilding rpm database - sudo rm -f $(INITRAMROOT)/etc/yum.repos.d/Cent* - sudo rpm --root=`readlink -f $(INITRAMROOT)` --rebuilddb - # Installing rpms $(YUM) install $(BOOTSTRAP_RPMS) $(BOOTSTRAP_RPMS_TEMPORARY) diff --git a/iso/module.mk b/iso/module.mk index 469d60d6a8..a47a337193 100644 --- a/iso/module.mk +++ b/iso/module.mk @@ -11,9 +11,10 @@ img: $(IMGNAME) $(BUILD_DIR)/iso/isoroot-centos.done: \ $(BUILD_DIR)/mirror/build.done \ - $(BUILD_DIR)/packages/build.done + $(BUILD_DIR)/packages/build.done \ + $(BUILD_DIR)/iso/isoroot-dotfiles.done mkdir -p $(ISOROOT) - rsync -a --delete $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(ISOROOT) + rsync -rp $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(ISOROOT) createrepo -g `readlink -f "$(ISOROOT)/repodata/comps.xml"` \ -u media://`head -1 $(ISOROOT)/.discinfo` $(ISOROOT) $(ACTION.TOUCH) @@ -37,9 +38,13 @@ $(BUILD_DIR)/iso/isoroot-gems.done: \ # Extra files ######################## -$(BUILD_DIR)/iso/isoroot-files.done: \ +$(BUILD_DIR)/iso/isoroot-dotfiles.done: \ $(ISOROOT)/.discinfo \ - $(ISOROOT)/.treeinfo \ + $(ISOROOT)/.treeinfo + $(ACTION.TOUCH) + +$(BUILD_DIR)/iso/isoroot-files.done: \ + $(BUILD_DIR)/iso/isoroot-dotfiles.done \ $(ISOROOT)/isolinux/isolinux.cfg \ $(ISOROOT)/ks.cfg \ $(ISOROOT)/bootstrap_admin_node.sh \ diff --git a/mirror/gems/module.mk b/mirror/gems/module.mk index b3d574ccdd..ecbbbd9b7f 100644 --- a/mirror/gems/module.mk +++ b/mirror/gems/module.mk @@ -6,7 +6,8 @@ $(BUILD_DIR)/mirror/gems/gems-bundle/Gemfile: \ echo "source \"$$i\"" >> $@; \ done -$(BUILD_DIR)/mirror/gems/gems-bundle-gemfile.done: requirements-gems.txt \ +$(BUILD_DIR)/mirror/gems/gems-bundle-gemfile.done: \ + requirements-gems.txt \ $(BUILD_DIR)/mirror/gems/gems-bundle/Gemfile mkdir -p $(BUILD_DIR)/mirror/gems/gems-bundle cat requirements-gems.txt | while read gem ver; do \ diff --git a/nailgun/module.mk b/nailgun/module.mk index 32a57d5715..933a1ccc19 100644 --- a/nailgun/module.mk +++ b/nailgun/module.mk @@ -3,7 +3,7 @@ NAILGUN_VERSION:=$(shell python -c "import sys; sys.path.insert(0, '$(SOURCE_DIR $(BUILD_DIR)/packages/eggs/Nailgun-$(NAILGUN_VERSION).tar.gz: \ $(call find-files,$(SOURCE_DIR)/nailgun) cd $(SOURCE_DIR)/nailgun && \ - python setup.py sdist --dist-dir $(BUILD_DIR)/packages/eggs + python setup.py sdist --dist-dir $(BUILD_DIR)/packages/eggs test-unit: test-unit-nailgun diff --git a/sandbox.mk b/sandbox.mk index c7ae751b80..7bbc31ea1a 100644 --- a/sandbox.mk +++ b/sandbox.mk @@ -26,7 +26,8 @@ cp /etc/resolv.conf $(SANDBOX)/etc/resolv.conf cat > $(SANDBOX)/etc/yum.repos.d/base.repo <