Revision: 25938
          http://sourceforge.net/p/gar/code/25938
Author:   cgrzemba
Date:     2016-09-14 08:53:52 +0000 (Wed, 14 Sep 2016)
Log Message:
-----------
made some improvements for using GARCH with mercurial repository

Modified Paths:
--------------
    csw/mgar/gar/v2-hg/gar.lib.mk
    csw/mgar/gar/v2-hg/gar.mk

Modified: csw/mgar/gar/v2-hg/gar.lib.mk
===================================================================
--- csw/mgar/gar/v2-hg/gar.lib.mk       2016-09-14 07:28:20 UTC (rev 25937)
+++ csw/mgar/gar/v2-hg/gar.lib.mk       2016-09-14 08:53:52 UTC (rev 25938)
@@ -52,8 +52,12 @@
 
 ifdef HG_REPOS
 URLS += $(foreach R,$(HG_REPOS),$(foreach hgproto,hg http file ssh,$(call 
hgsubst,$(hgproto),$(R))))
+NOEXTRACT += $(call GITPROJ,$(HG_REPOS)).hg
 endif
 
+# filename used for mercurial archive
+GARCHDISTNAME ?= $(DISTNAME).tar.gz
+
 # Download the file if and only if it doesn't have a preexisting
 # checksum file.  Loop through available URLs and stop when you
 # get one that doesn't return an error code.
@@ -77,7 +81,7 @@
                        esac; \
                        break; \
                done; ) 2>&1 | grep -v '^$(MAKE)'; \
-               if test -r $(@:%.hg=%) ; then : ; else \
+               if [ -r $(@:%.hg=%) ] || [ $* = $(GARCHDISTNAME) -a ! -z 
$(HG_REPOS) ]; then : ; else \
                        echo '(!!!) Failed to download $@!' 1>&2; \
                        false; \
                fi; \
@@ -569,9 +573,12 @@
 # checksummed files
 
 $(GARCHIVEDIR)/%: $(GARCHIVEDIR)
+       $(if $(filter %.hg,$*),(cd $(DOWNLOADDIR)/$(*:%.hg=%) && \
+        hg archive --prefix=$(DISTNAME)/ --rev=$(call HG_TREEISH,$(*:%.hg=%)) 
--type tar - | gzip > $(GARCHIVEDIR)/$(GARCHDISTNAME) && \
+        rm -f $(GARCHDISTNAME) && ln -s $(GARCHIVEDIR)/$(GARCHDISTNAME) . ), \
        @if [ -h $(DOWNLOADDIR)/$* ]; then :; else \
                gcp -Lr $(DOWNLOADDIR)/$* $@; \
-       fi
+       fi )
 
 
 #################### EXTRACT RULES ####################
@@ -652,8 +659,8 @@
        ( cd $(abspath $(DOWNLOADDIR))/$*/; git --bare archive 
--prefix=$(NAME)-$(VERSION)/ $(call GIT_TREEISH,$*)) | gtar -xf - -C 
$(EXTRACTDIR)
        @$(MAKECOOKIE)
 hg-extract-%:
-       @echo " ===> Extracting Mercurial Repo $(DOWNLOADDIR)/$* (Tag: $(call 
HG_TREEISH,$*))"
-       ( cd $(abspath $(DOWNLOADDIR))/$*/; hg archive --prefix=$(DISTNAME)/ 
--rev=$(call HG_TREEISH,$*) --type tar -)| gtar -xf - -C $(EXTRACTDIR)
+       @echo " ===> Extracting Mercurial Repo $(DOWNLOADDIR)/$* (Tag: $(call 
HG_TREEISH,$(*:%.hg=%)))"
+       ( cd $(abspath $(DOWNLOADDIR))/$*/; hg archive --prefix=$(DISTNAME)/ 
--rev=$(call HG_TREEISH,$(*:%.hg=%)) --type tar -)| gtar -xf - -C $(EXTRACTDIR)
        @$(MAKECOOKIE)
 
 # rule to extract files with unzip

Modified: csw/mgar/gar/v2-hg/gar.mk
===================================================================
--- csw/mgar/gar/v2-hg/gar.mk   2016-09-14 07:28:20 UTC (rev 25937)
+++ csw/mgar/gar/v2-hg/gar.mk   2016-09-14 08:53:52 UTC (rev 25938)
@@ -385,7 +385,7 @@
 
 MAKESUM_TARGETS =  $(filter-out $(_NOCHECKSUM) $(NOCHECKSUM),$(ALLFILES))
 
-makesum: fetch $(addprefix $(DOWNLOADDIR)/,$(MAKESUM_TARGETS)) 
$(GARCHIVE_TARGETS)
+makesum: fetch $(GARCHIVE_TARGETS) $(addprefix 
$(DOWNLOADDIR)/,$(MAKESUM_TARGETS)) 
        @if test "x$(MAKESUM_TARGETS)" != "x"; then \
                (cd $(DOWNLOADDIR) && $(md5sum) $(MAKESUM_TARGETS)) > 
$(CHECKSUM_FILE) ; \
                echo "Checksums made for $(MAKESUM_TARGETS)" ; \

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

Reply via email to