Updated Branches: refs/heads/master 305dfc8b6 -> f91f87b3d
BIGTOP-1199. Makefile for deb packing needs to support zip archives Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/f91f87b3 Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/f91f87b3 Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/f91f87b3 Branch: refs/heads/master Commit: f91f87b3d4b1f7dad23f06e62822940d5aad5f1f Parents: 305dfc8 Author: Roman Shaposhnik <[email protected]> Authored: Tue Feb 11 15:36:04 2014 -0800 Committer: Konstantin Boudnik <[email protected]> Committed: Tue Feb 11 15:36:04 2014 -0800 ---------------------------------------------------------------------- package.mk | 58 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bigtop/blob/f91f87b3/package.mk ---------------------------------------------------------------------- diff --git a/package.mk b/package.mk index 51a5d51..ff50f2b 100644 --- a/package.mk +++ b/package.mk @@ -20,28 +20,39 @@ SHELL := /bin/bash $(BUILD_DIR)/%/.download: mkdir -p $(@D) mkdir -p $(DL_DIR) - [ -z "$($(PKG)_TARBALL_SRC)" -o -f $($(PKG)_DOWNLOAD_DST) ] || (cd $(DL_DIR) && curl --retry 5 -# -L -k -o $($(PKG)_TARBALL_DST) $($(PKG)_DOWNLOAD_URL)) + [ -z "$($(PKG)_TARBALL_SRC)" -o -f $($(PKG)_DOWNLOAD_DST) ] || curl --retry 5 -# -L -k -o $($(PKG)_DOWNLOAD_DST) $($(PKG)_DOWNLOAD_URL) touch $@ # Untar and patch $(BUILD_DIR)/%/.tar: - -rm -rf $(PKG_BUILD_DIR)/tar/ - mkdir -p $(PKG_BUILD_DIR)/tar/$($(PKG)_NAME)-$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP) - if [ -n "$($(PKG)_TARBALL_SRC)" ]; then \ - cp $($(PKG)_DOWNLOAD_DST) $(PKG_BUILD_DIR)/tar/$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).orig.tar.gz ;\ - tar -C $(PKG_BUILD_DIR)/tar/$($(PKG)_NAME)-$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP) \ - --strip-components 1 -xzvf $(PKG_BUILD_DIR)/tar/$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).orig.tar.gz; \ - fi + PATCHES="" ; UNPACK="tar -xzf" ;\ + [ -z "$($(PKG)_TARBALL_SRC)" ] && PATCHES="/dev/null" ;\ + if [[ "$($(PKG)_TARBALL_SRC)" =~ \.zip$$ ]]; then \ + PATCHES="/dev/null" ;\ + UNPACK="unzip" ;\ + fi ;\ if [ -f $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME)/series ]; then \ PATCHES="`cat $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME)/series`" ;\ elif [ -f $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME)/patch ]; then \ PATCHES="patch" ;\ + fi ;\ + rm -rf `dirname $($(PKG)_TAR_DIR)` ; mkdir -p $($(PKG)_TAR_DIR) ;\ + if [ -n "$$PATCHES" ]; then \ + if [ -n "$($(PKG)_TARBALL_SRC)" ]; then \ + (cd $($(PKG)_TAR_DIR) ; $$UNPACK $($(PKG)_DOWNLOAD_DST)) ;\ + if [ `ls $($(PKG)_TAR_DIR) | wc -l` -eq 1 ]; then \ + TOP_LEVEL_DIR=`ls -d $($(PKG)_TAR_DIR)/*` ;\ + mv $($(PKG)_TAR_DIR)/*/* $($(PKG)_TAR_DIR) ;\ + rmdir $$TOP_LEVEL_DIR ;\ + fi ;\ + else \ + cp LICENSE $($(PKG)_TAR_DIR) ;\ + fi ;\ + (cd $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME); cat $$PATCHES)| \ + (cd $($(PKG)_TAR_DIR) ; patch -p0 ; cd .. ; tar czf $($(PKG)_SEED_TAR) *) ;\ else \ - PATCHES="/dev/null" ;\ - fi ; (cd $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME); cat $$PATCHES)| \ - (cd $(PKG_BUILD_DIR)/tar/$($(PKG)_NAME)-$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP) ; patch -p0) - tar -C $(PKG_BUILD_DIR)/tar -czf $(PKG_BUILD_DIR)/tar/$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).patched.tar.gz \ - $($(PKG)_NAME)-$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP) + cp $($(PKG)_DOWNLOAD_DST) $($(PKG)_SEED_TAR) ;\ + fi touch $@ # Make source RPMs @@ -50,7 +61,7 @@ $(BUILD_DIR)/%/.srpm: mkdir -p $(PKG_BUILD_DIR)/rpm/ cp -r $(BASE_DIR)/bigtop-packages/src/rpm/$($(PKG)_NAME)/* $(PKG_BUILD_DIR)/rpm/ mkdir -p $(PKG_BUILD_DIR)/rpm/{INSTALL,SOURCES,BUILD,SRPMS} - [ -z "$($(PKG)_TARBALL_SRC)" ] || cp $($(PKG)_DOWNLOAD_DST) $(PKG_BUILD_DIR)/rpm/SOURCES + cp $($(PKG)_SEED_TAR) $(PKG_BUILD_DIR)/rpm/SOURCES cp $(BASE_DIR)/bigtop-packages/src/templates/init.d.tmpl $(PKG_BUILD_DIR)/rpm/SOURCES [ -d $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME) ] && cp -r $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME)/* $(PKG_BUILD_DIR)/rpm/SOURCES echo -e "$(BIGTOP_BOM)" | tr ' ' '\012' >> $(PKG_BUILD_DIR)/rpm/SOURCES/bigtop.bom @@ -90,15 +101,9 @@ $(BUILD_DIR)/%/.yum: $(BUILD_DIR)/%/.rpm $(BUILD_DIR)/%/.sdeb: -rm -rf $(PKG_BUILD_DIR)/deb/ mkdir -p $(PKG_BUILD_DIR)/deb/$($(PKG)_NAME)-$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP) - # Only expands the tar if there is a source artifact - if [ -n "$($(PKG)_TARBALL_SRC)" ]; then \ - cp $($(PKG)_DOWNLOAD_DST) $(PKG_BUILD_DIR)/deb/$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).orig.tar.gz ;\ - cd $(PKG_BUILD_DIR)/deb/$($(PKG)_NAME)-$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP) && \ - tar --strip-components 1 -xvf ../$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).orig.tar.gz;\ - else \ - tar -czf $(PKG_BUILD_DIR)/deb/$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).orig.tar.gz LICENSE ;\ - fi + cp $($(PKG)_SEED_TAR) $(PKG_BUILD_DIR)/deb/$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).orig.tar.gz ;\ cd $(PKG_BUILD_DIR)/deb/$($(PKG)_NAME)-$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP) && \ + tar --strip-components 1 -xvf ../$($(PKG)_PKG_NAME)_$(PKG_PKG_VERSION)$(BIGTOP_BUILD_STAMP).orig.tar.gz;\ cp -r $(BASE_DIR)/bigtop-packages/src/deb/$($(PKG)_NAME) debian && \ cp $(BASE_DIR)/bigtop-packages/src/templates/init.d.tmpl debian && \ cp -r $(BASE_DIR)/bigtop-packages/src/common/$($(PKG)_NAME)/* debian && \ @@ -162,10 +167,12 @@ $(2)_RELEASE ?= 1 $(2)_BUILD_DIR = $(BUILD_DIR)/$(1)/ $(2)_OUTPUT_DIR = $(OUTPUT_DIR)/$(1) $(2)_SOURCE_DIR = $$($(2)_BUILD_DIR)/source +$(2)_TAR_DIR = $(BUILD_DIR)/$(1)/tar/$(1)-$($(2)_BASE_VERSION) +$(2)_SEED_TAR = $(BUILD_DIR)/$(1)/tar/$($(2)_TARBALL_DST) # Download source URL and destination path $(2)_DOWNLOAD_URL = $($(2)_SITE)/$($(2)_TARBALL_SRC) -$(2)_DOWNLOAD_DST = $(DL_DIR)/$($(2)_TARBALL_DST) +$(2)_DOWNLOAD_DST = $(DL_DIR)/$($(2)_TARBALL_SRC) # test that the download url will return http 200. If it does not, use the ARCHIVE url instead of the MIRROR SITE url ifneq ($$(shell curl -o /dev/null --silent --head --write-out '%{http_code}' $$($(2)_DOWNLOAD_URL)),200) @@ -189,7 +196,7 @@ $(1)-download: $$($(2)_TARGET_DL) $(1)-tar: $(1)-download $$($(2)_TARGET_TAR) # To make srpms, we need to build the package -$(1)-srpm: $(1)-download $$($(2)_TARGET_SRPM) +$(1)-srpm: $(1)-tar $$($(2)_TARGET_SRPM) # To make binary rpms, we need to build source RPMs $(1)-rpm: $(1)-srpm $$($(2)_TARGET_RPM) @@ -198,7 +205,7 @@ $(1)-rpm: $(1)-srpm $$($(2)_TARGET_RPM) $(1)-yum: $(1)-rpm $$($(2)_TARGET_YUM) # To make sdebs, we need to build the package -$(1)-sdeb: $(1)-download $$($(2)_TARGET_SDEB) +$(1)-sdeb: $(1)-tar $$($(2)_TARGET_SDEB) # To make debs, we need to make source packages $(1)-deb: $(1)-sdeb $$($(2)_TARGET_DEB) @@ -224,6 +231,7 @@ $(1)-info: @echo " Will download from URL: $$($(2)_DOWNLOAD_URL)" @echo " To destination file: $$($(2)_DOWNLOAD_DST)" @echo " Then unpack into $$($(2)_SOURCE_DIR)" + @echo " And create a seed tarball $$($(2)_SEED_TAR)" @echo @echo "Patches:" @echo " BASE_REF: $$($(2)_BASE_REF)"
