From 21c2a6a2f75fde9bb6941c5566e87b2b91fff23a Mon Sep 17 00:00:00 2001 From: David Scott Date: Fri, 28 May 2010 15:22:28 +0100 Subject: [PATCH] Hook RPMs into main mk/Makefile Signed-off-by: David Scott --- mk/Makefile | 76 ++++++++++++++--------------------------------------- 1 file changed, 20 insertions(+), 56 deletions(-) diff --git a/mk/Makefile b/mk/Makefile index 2a557e0..04cf0eb 100644 --- a/mk/Makefile +++ b/mk/Makefile @@ -1,70 +1,34 @@ -NO_DEFAULT_BUILD := yes ifdef B_BASE include $(B_BASE)/common.mk +include $(B_BASE)/rpmbuild.mk +REPO = $(call hg_loc,xen-api-libs) else -MY_OUTPUT_DIR ?= $(CURDIR)/_build/output-devel -MY_MAIN_PACKAGES ?= $(CURDIR)/_build/output -MY_OBJ_DIR ?= $(CURDIR)/_build/obj -MY_SOURCES ?= $(CURDIR)/_build/output-src -MY_SOURCES_DIRSTAMP ?= $(MY_SOURCES)/.dirstamp - +REPO ?= $(CURDIR) %/.dirstamp: @mkdir -p $* @touch $@ endif -REPO = $(call hg_loc,xen-api-libs) -STAGING ?= $(MY_OBJ_DIR)/staging -OUTPUT_API_DEVEL_PKG ?= $(MY_OUTPUT_DIR)/api-libs-devel.tar.gz -OUTPUT_XAPI_DEVEL_PKG ?= $(MY_OUTPUT_DIR)/xapi-libs-devel.tar.gz -OUTPUT_API_PKG ?= $(MY_MAIN_PACKAGES)/api-libs.tar.bz2 -OUTPUT_SRC ?= $(MY_SOURCES)/xen-api-libs-src.tar.bz2 - -$(OUTPUT_API_DEVEL_PKG): - rm -rf $(STAGING) - mkdir -p $(MY_OUTPUT_DIR) - (cd $(REPO) && sh autogen.sh && ./configure) - $(MAKE) -C $(REPO) clean - $(MAKE) -C $(REPO) all - $(MAKE) -C $(REPO) DESTDIR=$(STAGING) install - tar -C $(STAGING) -zcf $@ . +RPM_BINDIR=$(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED) -$(OUTPUT_API_PKG): $(OUTPUT_API_DEVEL_PKG) - rm -rf $(STAGING) +.PHONY: build +build: srpm $(MY_SOURCES)/MANIFEST + $(RPMBUILD) --target $(DOMAIN0_ARCH_OPTIMIZED) -bb ../xapi-libs.spec mkdir -p $(MY_MAIN_PACKAGES) - (cd $(REPO) && sh autogen.sh && ./configure) - $(MAKE) -C $(REPO) bins - $(MAKE) -C $(REPO) DESTDIR=$(STAGING) REPO=$(REPO) bininstall - tar -C $(STAGING) -jcf $@ . - -$(OUTPUT_XAPI_DEVEL_PKG): - rm -rf $(STAGING) - mkdir -p $(MY_OUTPUT_DIR) - (cd $(REPO) && sh autogen.sh && ./configure) - $(MAKE) -C $(REPO) cleanxen - $(MAKE) -C $(REPO) allxen - $(MAKE) -C $(REPO) DESTDIR=$(STAGING) installxen - tar -C $(STAGING) -zcf $@ . - -$(MY_SOURCES)/MANIFEST: $(MY_SOURCES_DIRSTAMP) $(OUTPUT_SRC) - mkdir -p $(MY_SOURCES) - echo api lgpl-with-linking-exception file $(OUTPUT_SRC) > $@ - -$(OUTPUT_SRC): - mkdir -p $(MY_SOURCES) - cd $(REPO) && hg archive -t tbz2 $(HG_EXCLUDE) $@ + cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-libs-fe-*.rpm $(MY_MAIN_PACKAGES) -.PHONY: api-libs -api-libs: $(OUTPUT_API_DEVEL_PKG) $(OUTPUT_API_PKG) $(MY_SOURCES)/MANIFEST +.PHONY: srpm +srpm: + mkdir -p $(RPM_SRPMSDIR) $(RPM_SPECSDIR) $(RPM_SOURCESDIR) $(RPM_RPMSDIR) + hg archive -p xapi-libs-0 -t tbz2 $(RPM_SOURCESDIR)/xapi-libs-0.tar.bz2 + $(RPMBUILD) --target $(DOMAIN0_ARCH_OPTIMIZED) -bs ../xapi-libs.spec -.PHONY: xapi-libs -xapi-libs: $(OUTPUT_XAPI_DEVEL_PKG) $(MY_SOURCES)/MANIFEST +$(MY_SOURCES)/MANIFEST: $(MY_SOURCES_DIRSTAMP) + rm -f $@ + @for srpm in "$(/bin/ls -1 ${MY_OUTPUT_DIR}/SRPMS)"; do \ + path=$(MY_OUTPUT_DIR)/SRPMS/${srpm}; \ + echo "$(${RPM} --qf "%{name}" -qp ${path}) $(${RPM} --qf "%{License}" -qp ${path}) ${path}" >>$@; \ + done .PHONY: clean - rm -f $(STAGING) - rm -f $(OUTPUT_API_DEVEL_PKG) - rm -f $(OUTPUT_API_PKG) - rm -f $(OUTPUT_XAPI_DEVEL_PKG) - rm -f $(OUTPUT_SRC) - $(MAKE) -C $(REPO) clean - $(MAKE) -C $(REPO) cleanxen + rm -f *.rpm -- 2.39.5