move more from download to Makefile.(top|fetch)
Change-Id: I3bee487c9c5aa72b2236f076b28ee65cf76ac0dd
This commit is contained in:
+5
-1
@@ -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) \
|
||||
|
||||
+39
-5
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user