diff options
author | Matúš Kukan <matus.kukan@gmail.com> | 2012-11-26 14:17:18 +0100 |
---|---|---|
committer | Matúš Kukan <matus.kukan@gmail.com> | 2012-11-27 22:40:26 +0100 |
commit | 42606e3def6cc546dec9a4e558a15605dd67b6fe (patch) | |
tree | dfc61fd472b77f24043747e68d3db784ec8ebb23 | |
parent | df50d2dcfeb382a051528e4f64bad4c0b8fe83f8 (diff) |
move more from download to Makefile.(top|fetch)
Change-Id: I3bee487c9c5aa72b2236f076b28ee65cf76ac0dd
-rw-r--r-- | Makefile.fetch | 6 | ||||
-rw-r--r-- | Makefile.top | 44 | ||||
-rwxr-xr-x | download | 124 |
3 files changed, 45 insertions, 129 deletions
diff --git a/Makefile.fetch b/Makefile.fetch index 3da38c69560d..ae46f55b5bf9 100644 --- a/Makefile.fetch +++ b/Makefile.fetch @@ -69,7 +69,11 @@ define fetch_Optional $(if $(filter ALL,$(DO_FETCH_TARBALLS))$(filter $1,$(fetch_BUILD_TYPE)),$2) endef -fetch : +download: $(fetch_LOGFILE) + +$(fetch_LOGFILE): $(SRCDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)/Makefile.fetch + @mkdir -p $(TARFILE_LOCATION)/tmp + @date >> $(fetch_LOGFILE) $(foreach item, \ $(call fetch_Optional,CDR,CDR_TARBALL) \ $(call fetch_Optional,MSPUB,MSPUB_TARBALL) \ diff --git a/Makefile.top b/Makefile.top index 6c42cdd1e7f4..fc21ff90851e 100644 --- a/Makefile.top +++ b/Makefile.top @@ -1,6 +1,6 @@ # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -.PHONY : all bootstrap build check clean clean-build clean-host dev-install distclean distro-pack-install docs fetch findunusedcode id install install-strip install-tb subsequentcheck tags +.PHONY : all bootstrap build check clean clean-build clean-host dev-install distclean distro-pack-install docs download fetch findunusedcode get-submodules id install install-strip install-tb subsequentcheck tags ifeq ($(MAKECMDGOALS),) MAKECMDGOALS:=all @@ -370,14 +370,48 @@ ifneq ($(filter-out clean distclean,$(MAKECMDGOALS)),) # ifneq ($(DO_FETCH_TARBALLS),NO) include $(SRCDIR)/Makefile.fetch -endif +fetch: download +fetch: get-submodules fetch: $(SRCDIR)/src.downloaded -$(SRCDIR)/src.downloaded : $(SRCDIR)/download $(SRCDIR)/config_host.mk -ifneq ($(DO_FETCH_TARBALLS),NO) - @$< && touch $@ +ifneq (,$(wildcard .git)) +get-submodules: +ifneq ($(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git),$(wildcard $(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git))) +ifeq (,$(GIT_LINK_SRC)) + ./g -f clone +else # space-saving clone from another local workdir + @echo "FIXME: GIT_LINK_SRC method is not yet implemented with submodules" 1>&2 + $(foreach i,$(GIT_NEEDED_SUBMODULES),\ + rm -r $(i) && cp -R $(GIT_LINK_SRC)/$(i) $(i)) +# bin/git-new-workdir $GIT_LINK_SRC/$i $i + git submodule update $(GIT_NEEDED_SUBMODULES) +endif +endif + +else # these sources are from a tarball, so get the other source tarballs +gb_LO_VER := $(shell . $(SRCDIR)/sources.ver && echo $$lo_sources_ver) +$(if $(gb_LO_VER),,$(error Error while retrieving $$lo_sources_ver from $(SRCDIR)/sources.ver)) + +get-submodules: | download +ifneq ($(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),$(SRCDIR)/src/libreoffice-$(i)-$(gb_LO_VER)),$(wildcard $(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),$(SRCDIR)/src/libreoffice-$(i)-$(gb_LO_VER)))) + $(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),\ + $(call fetch_Download_item,http://download.documentfoundation.org/libreoffice/src/$(shell echo $(gb_LO_VER) | sed -e "s/\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/"),libreoffice-$(i)-$(gb_LO_VER).tar.xz,no-check)) + $(SRCDIR)/bin/unpack-sources $(SRCDIR) $(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),\ + $(TARFILE_LOCATION)/libreoffice-$(i)-$(gb_LO_VER).tar.xz) +endif + +endif + +# TODO: This should be really in external/ module, I think. +$(SRCDIR)/src.downloaded : $(SRCDIR)/download $(SRCDIR)/config_host.mk | download +ifneq ($(COM),MSC) + $< && touch $@ +endif + else +fetch: @echo "Automatic fetching of external tarballs is disabled." + endif # @@ -30,123 +30,7 @@ set -o pipefail # environment setup yet? if [ -z "$TARFILE_LOCATION" ]; then - . ./bin/get_config_variables TARFILE_LOCATION GIT_LINK_SRC GIT_NEEDED_SUBMODULES COM CPUNAME VCVER DBGHELP_DLL SRC_ROOT OXYGENOFFICE_PACK WGET CURL MD5SUM -fi - -# we want to clone if we are in the bootstrap git repo and clone does not exist yet -# we need to test for a .git in order not to clone after rsync if we are called in -# the inner autogen of the buid-repo based build - -check_file() -{ - echo "Looking for $1 ..." - if test -f $1; then - echo "ok" - else - echo "missing required archive; run './download' again"; - exit 1; - fi -} - -if [ -d .git ] ; then - if [ -z "$GIT_LINK_SRC" ]; then - ./g -f clone - else - echo "FIXME: GIT_LINK_SRC method is not yet implemented with submodules" 1>&2 - # space-saving clone from another local workdir - for i in $GIT_NEEDED_SUBMODULES ; do - rm -r $i - cp -R $GIT_LINK_SRC/$i $i -# bin/git-new-workdir $GIT_LINK_SRC/$i $i - done - git submodule update $GIT_NEEDED_SUBMODULES - fi -fi - -if [ ! -d "$TARFILE_LOCATION" ]; then - mkdir $TARFILE_LOCATION -fi -if [ ! -d "$TARFILE_LOCATION" ]; then - echo "Error: Cannot create $TARFILE_LOCATION." - exit 1 -fi - -start_dir=`pwd` -logfile=$TARFILE_LOCATION/fetch.log -date >> $logfile - -downloaditem() -{ - if [ "$1" != "" ]; then - if [ ! -f "../$2" ]; then - echo $2 - if [ ! -z "$WGET" ]; then - $WGET --progress=dot:mega -Q 0 -P "." -l 0 -nd -nH -N $1/$2 2>&1 | tee -a $logfile - else - echo fetching $2 - $CURL $file_date_check -O $1/$2 2>&1 | tee -a $logfile - fi - wret=$? - if [ $wret -ne 0 ]; then - mv $2 ${i}_broken - failed="$failed $2" - wret=0 - fi - if [ -f $2 -a -n "$3" -a -n "$MD5SUM" ]; then - sum=`$MD5SUM $2 | sed "s/ .*//"` - if [ "$sum" != "$3" ]; then - echo checksum failure for $2 2>&1 | tee -a $logfile - failed="$failed $2" - mv $2 ${i}_broken - else - mv $2 .. - if [ $? -ne 0 ]; then - echo cannot mv $2 to destination 2>&1 | tee -a $logfile - failed="$failed $2" - fi - fi - else - mv $2 .. - if [ $? -ne 0 ]; then - echo cannot mv $2 to destination 2>&1 | tee -a $logfile - failed="$failed $2" - fi - fi - fi - fi -} - -mkdir -p $TARFILE_LOCATION/tmp -cd $TARFILE_LOCATION/tmp -echo $$ > fetch-running - -if [ -f $start_dir/sources.ver -a ! -d $start_dir/.git ] ; then - # these sources are from a tarball, so get the other source tarballs - . $start_dir/sources.ver - # sources are put into "major.minor.micro" version directory on the dowload site, e.g. "3.5.2" - lo_bugfix_release_sources_ver=`echo $lo_sources_ver | sed -e "s/\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/"` - lo_src_dir="$start_dir/src" - mkdir -p "$lo_src_dir" - for piece in $GIT_NEEDED_SUBMODULES ; do - if [ "helpcontent2" = "$piece" ] ; then piece="help"; fi - tarname="libreoffice-$piece-$lo_sources_ver" - if [ ! -f "$TARFILE_LOCATION/$tarname.tar.xz" ] ; then - downloaditem "http://download.documentfoundation.org/libreoffice/src/$lo_bugfix_release_sources_ver" "$tarname.tar.xz" "" - fi - $start_dir/bin/unpack-sources $start_dir $TARFILE_LOCATION/$tarname.tar.xz - done -fi - -rm $TARFILE_LOCATION/tmp/*-* -cd $start_dir - -if [ ! -z "$failed" ]; then - echo - echo ERROR: failed on: - for i in $failed ; do - echo $i - done - exit 1 + . ./bin/get_config_variables TARFILE_LOCATION COM CPUNAME VCVER DBGHELP_DLL fi if [ "$COM" = "MSC" -a "$CPUNAME" = "INTEL" ]; then @@ -189,12 +73,6 @@ if [ "$COM" = "MSC" ]; then fi fi -if [ -n "$OXYGENOFFICE_PACK" ] ; then - check_file $TARFILE_LOCATION/$OXYGENOFFICE_PACK - echo "Unpacking OxygenOffice '$OXYGENOFFICE_PACK' ..." - unzip -o -q $TARFILE_LOCATION/$OXYGENOFFICE_PACK -d $SRC_ROOT/src -fi - # Local Variables: # tab-width: 4 # indent-tabs-mode: nil |