You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bigtop.apache.org by Roman Shaposhnik <ro...@shaposhnik.org> on 2011/11/21 19:50:53 UTC
patch management in hadoop-0.23
NOTE to everybody working on hadoop-0.23 branch. From now on,
please make sure to either put all of the custom patches into a single
file called bigtop-pacakge/src/common/<component>/patch or make
sure to create a series file (one line per patch file name) to make sure
the order of application is right:
bigtop-pacakge/src/common/hadoop/series
is a good example
Thanks,
Roman.
---------- Forwarded message ----------
From: <rv...@apache.org>
Date: Mon, Nov 21, 2011 at 10:40 AM
Subject: svn commit: r1204645 - in
/incubator/bigtop/branches/hadoop-0.23:
bigtop-packages/src/common/hadoop/series package.mk
To: bigtop-commits@incubator.apache.org
Author: rvs
Date: Mon Nov 21 18:40:46 2011
New Revision: 1204645
URL: http://svn.apache.org/viewvc?rev=1204645&view=rev
Log:
BIGTOP-267. Need to implement implement makefiles logic for tarball builds
Modified:
incubator/bigtop/branches/hadoop-0.23/bigtop-packages/src/common/hadoop/series
incubator/bigtop/branches/hadoop-0.23/package.mk
Modified: incubator/bigtop/branches/hadoop-0.23/bigtop-packages/src/common/hadoop/series
URL: http://svn.apache.org/viewvc/incubator/bigtop/branches/hadoop-0.23/bigtop-packages/src/common/hadoop/series?rev=1204645&r1=1204644&r2=1204645&view=diff
==============================================================================
--- incubator/bigtop/branches/hadoop-0.23/bigtop-packages/src/common/hadoop/series
(original)
+++ incubator/bigtop/branches/hadoop-0.23/bigtop-packages/src/common/hadoop/series
Mon Nov 21 18:40:46 2011
@@ -1,7 +1,7 @@
HADOOP-7787.patch
HADOOP-7801.patch
-HDFS-2543.patch
-MAPREDUCE-3372.patch
HADOOP-7802.patch
-HDFS-2544.patch
+MAPREDUCE-3372.patch
+HDFS-2543.patch
MAPREDUCE-3373.patch
+HDFS-2544.patch
Modified: incubator/bigtop/branches/hadoop-0.23/package.mk
URL: http://svn.apache.org/viewvc/incubator/bigtop/branches/hadoop-0.23/package.mk?rev=1204645&r1=1204644&r2=1204645&view=diff
==============================================================================
--- incubator/bigtop/branches/hadoop-0.23/package.mk (original)
+++ incubator/bigtop/branches/hadoop-0.23/package.mk Mon Nov 21 18:40:46 2011
@@ -23,6 +23,27 @@ $(BUILD_DIR)/%/.download:
[ -z "$($(PKG)_TARBALL_SRC)" -o -f $($(PKG)_DOWNLOAD_DST) ] ||
(cd $(DL_DIR) && curl --retry 5 -# -L -k -o $($(PKG)_TARBALL_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
+ 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"
;\
+ 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)
+ touch $@
+
# Make source RPMs
$(BUILD_DIR)/%/.srpm:
-rm -rf $(PKG_BUILD_DIR)/rpm/
@@ -141,6 +162,7 @@ $(2)_DOWNLOAD_DST = $(DL_DIR)/$($(2)_TAR
# Define the file stamps
$(2)_TARGET_DL = $$($(2)_BUILD_DIR)/.download
+$(2)_TARGET_TAR = $$($(2)_BUILD_DIR)/.tar
$(2)_TARGET_SRPM = $$($(2)_BUILD_DIR)/.srpm
$(2)_TARGET_RPM = $$($(2)_BUILD_DIR)/.rpm
$(2)_TARGET_YUM = $$($(2)_BUILD_DIR)/.yum
@@ -152,6 +174,9 @@ $(2)_TARGET_RELNOTES = $$($(2)_BUILD_DIR
# We download target when the source is not in the download directory
$(1)-download: $$($(2)_TARGET_DL)
+# Make a patched tarball (patch could be null)
+$(1)-tar: $(1)-download $$($(2)_TARGET_TAR)
+
# To make srpms, we need to build the package
$(1)-srpm: $(1)-download $$($(2)_TARGET_SRPM)
@@ -203,11 +228,11 @@ $(1)-info:
# Implicit rules with PKG variable
$$($(2)_TARGET_DL): PKG=$(2)
-$$($(2)_TARGET_APT) $$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM)
$$($(2)_TARGET_SDEB) $$($(2)_TARGET_DEB): PKG=$(2)
-$$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM) $$($(2)_TARGET_SDEB)
$$($(2)_TARGET_DEB): PKG_BASE_VERSION=$$($(2)_BASE_VERSION)
-$$($(2)_TARGET_APT) $$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM)
$$($(2)_TARGET_SDEB) $$($(2)_TARGET_DEB):
PKG_PKG_VERSION=$$($(2)_PKG_VERSION)
-$$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM) $$($(2)_TARGET_SDEB)
$$($(2)_TARGET_DEB): PKG_SOURCE_DIR=$$($(2)_SOURCE_DIR)
-$$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM) $$($(2)_TARGET_SDEB)
$$($(2)_TARGET_DEB): PKG_BUILD_DIR=$$($(2)_BUILD_DIR)
+$$($(2)_TARGET_TAR) $$($(2)_TARGET_APT) $$($(2)_TARGET_RPM)
$$($(2)_TARGET_SRPM) $$($(2)_TARGET_SDEB) $$($(2)_TARGET_DEB):
PKG=$(2)
+$$($(2)_TARGET_TAR) $$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM)
$$($(2)_TARGET_SDEB) $$($(2)_TARGET_DEB):
PKG_BASE_VERSION=$$($(2)_BASE_VERSION)
+$$($(2)_TARGET_TAR) $$($(2)_TARGET_APT) $$($(2)_TARGET_RPM)
$$($(2)_TARGET_SRPM) $$($(2)_TARGET_SDEB) $$($(2)_TARGET_DEB):
PKG_PKG_VERSION=$$($(2)_PKG_VERSION)
+$$($(2)_TARGET_TAR) $$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM)
$$($(2)_TARGET_SDEB) $$($(2)_TARGET_DEB):
PKG_SOURCE_DIR=$$($(2)_SOURCE_DIR)
+$$($(2)_TARGET_TAR) $$($(2)_TARGET_RPM) $$($(2)_TARGET_SRPM)
$$($(2)_TARGET_SDEB) $$($(2)_TARGET_DEB):
PKG_BUILD_DIR=$$($(2)_BUILD_DIR)
TARGETS += $(1)