Hi Jagat!
On Wed, Feb 27, 2013 at 12:50 AM, Jagat Singh <[email protected]> wrote:
> Hi,
>
> I am looking at building bigtop with patches from few Jira under review at
> apache.
>
> I saw in
>
> /home/jj/source/bigtop/bigtop/package.mk
>
>
> # 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
>
>
> My question is if i create patch named directory under bigtop at following
> locations for hadoop , then would bigtop apply all patches in patch
> directory to build ?
It will, but those patches won't get pull into the packages. What you
see in the makefile was a quick hack to enable us building patched
tarballs. IOW, if you type:
$ make [component]-tar
you'll get a build of a patched tarball, but if you type:
$ maek foo-rpm
you will NOT get those patches into the RPM.
The reason for that is that it would be nice to tie-in into the
package specific patch management systems (quilt, etc)
but we haven't had time for that.
Would love to receive the patches though!
> Second question
>
> If i want to build without downloading new tar from net , how can i tell
> bigtop to not to download and use existing.
It actually caches everything in the dl subdirectory. Make pays attention
to the file called .download which means if you touch it -- it would assume
that the tarball is already in place. E.g.:
$ touch build/[component]/.download
Thanks,
Roman.