[Libreoffice-commits] .: bin/repo-list bin/repo-list.in configure.in download g .gitignore set_soenv.in

Thorsten Behrens thorsten at kemper.freedesktop.org
Wed Dec 1 15:20:48 PST 2010


 .gitignore       |    2 ++
 bin/repo-list    |    1 -
 bin/repo-list.in |    1 +
 configure.in     |   23 ++++++++++++++++++++++-
 download         |   18 ++++++++++++++----
 g                |    4 +---
 set_soenv.in     |    3 +++
 7 files changed, 43 insertions(+), 9 deletions(-)

New commits:
commit adc17d86ff69d016b31a1251ef15978c7ee27634
Author: Thorsten Behrens <tbehrens at novell.com>
Date:   Wed Dec 1 23:44:49 2010 +0100

    Add with-linked-git and make repo list configurable
    
    * adds --with-linked-git config option, that internally uses
      git-new-workdir
    * consolidates various repo lists into bin/repo-list, and use
      that to dynamically add l10n repo

diff --git a/.gitignore b/.gitignore
index 778ad62..664fa40 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,7 @@
 # autoconf generated stuff
 /aclocal.m4
 /autom4te.cache
+/autogen.lastrun
 /bootstrap
 /ChangeLog
 /config.log
@@ -30,6 +31,7 @@
 /set_soenv
 /visibility.cxx
 /post_download
+/bin/repo-list
 
 # misc
 /set_soenv.last
diff --git a/bin/repo-list b/bin/repo-list
deleted file mode 100644
index 349fb7d..0000000
--- a/bin/repo-list
+++ /dev/null
@@ -1 +0,0 @@
-artwork base calc components extensions extras filters help impress libs-core libs-extern libs-extern-sys libs-gui postprocess sdk testing ure writer
diff --git a/bin/repo-list.in b/bin/repo-list.in
new file mode 100644
index 0000000..15bad77
--- /dev/null
+++ b/bin/repo-list.in
@@ -0,0 +1 @@
+ at GIT_REPO_NAMES@
\ No newline at end of file
diff --git a/configure.in b/configure.in
index 2f338c7..2b49d2e 100644
--- a/configure.in
+++ b/configure.in
@@ -582,6 +582,14 @@ AC_ARG_WITH(external-tar,
     TARFILE_LOCATION=$withval ,
 )
 
+AC_ARG_WITH(linked-git,
+    AS_HELP_STRING([--with-linked-git=<OTHER_CLONE_DIR>],
+        [Specify another checkout's clonedir to re-use. This makes use of 
+		 git-new-workdir, and saves a lot of diskspace when having multiple
+		 trees side-by-side.]),
+    GIT_LINK_SRC=$withval ,
+)
+
 AC_ARG_WITH(openldap,
     AS_HELP_STRING([--with-openldap],
         [Enables the use of the OpenLDAP LDAP SDK instead of the Netscape/Mozilla one.]),
@@ -1889,6 +1897,11 @@ fi
 AC_SUBST(DO_FETCH_TARBALLS)
 
 dnl ===================================================================
+dnl git-new-workdir
+dnl ===================================================================
+AC_SUBST(GIT_LINK_SRC)
+
+dnl ===================================================================
 dnl Disable legacy binary file formats filters
 dnl ===================================================================
 AC_MSG_CHECKING([whether to enable filters for legacy binary file formats (StarOffice 5.2)])
@@ -7857,14 +7870,22 @@ location (/usr/share/java), specify its pathname via
 fi
 AC_SUBST(OOO_JUNIT_JAR)
 
+dnl ===================================================================
+dnl Dealing with l10n options
+dnl ===================================================================
+GIT_REPO_NAMES="artwork base calc components extensions extras filters
+                help impress libs-core libs-extern libs-extern-sys libs-gui
+                postprocess sdk testing ure writer"
 AC_MSG_CHECKING([which languages to be built])
 WITH_LANG="$with_lang"
 if test -z "$WITH_LANG"; then
    AC_MSG_RESULT([en-US])
 else
    AC_MSG_RESULT([$WITH_LANG])
+   GIT_REPO_NAMES="$GIT_REPO_NAMES l10n"
 fi
 AC_SUBST(WITH_LANG)
+AC_SUBST(GIT_REPO_NAMES)
 
 AC_MSG_CHECKING([which languages have poor help localizations])
 WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations"
@@ -8085,7 +8106,7 @@ else
    echo > set_soenv.last
 fi
 
-AC_OUTPUT([set_soenv Makefile])
+AC_OUTPUT([set_soenv Makefile bin/repo-list])
 
 # touch the config timestamp file set_soenv.stamp
 if test ! -f set_soenv.stamp; then
diff --git a/download b/download
index 690d82d..ec3d0fc 100755
--- a/download
+++ b/download
@@ -26,14 +26,24 @@
 #
 #*************************************************************************
 
+# environment setup yet?
+if [ -z "$TARFILE_LOCATION" ]; then
+    . ./*[Ee]nv.[Ss]et.sh
+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
 if [ ! -d clone -a -d .git ] ; then
-    ./g clone
-fi
-if [ -z "$TARFILE_LOCATION" ]; then
-    . ./*[Ee]nv.[Ss]et.sh
+    if [ -z "$GIT_LINK_SRC" ]; then
+        ./g clone
+    else
+        # space-saving clone from another local workdir
+        mkdir clone
+        for i in $GIT_REPO_NAMES ; do
+            bin/git-new-workdir $GIT_LINK_SRC/$i clone/$i
+        done
+    fi
 fi
 
 if [ ! -d "$TARFILE_LOCATION" ]; then
diff --git a/g b/g
index 05c0260..9f5b34f 100755
--- a/g
+++ b/g
@@ -126,9 +126,7 @@ done
 # do it!
 DIRS="bootstrap `(cd $CLONEDIR ; ls)`"
 if [ "$COMMAND" = "clone" ] ; then
-    DIRS="artwork base calc components extensions extras filters
-          help impress libs-core libs-extern libs-extern-sys libs-gui
-          postprocess sdk testing ure writer"
+    DIRS=`cat bin/repo-list`
     # update hooks in the main repo too
     ( cd "$RAWBUILDDIR" ; update_hooks "../../git-hooks" )
 fi
diff --git a/set_soenv.in b/set_soenv.in
index 47ea65f..464056e 100644
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1721,6 +1721,9 @@ ToFile( "MKDEPENDSOLVER",    "TRUE",             "e" );
 ToFile( "nodep",             "@nodep@",          "e" );
 ToFile( "TARFILE_LOCATION",  $TARFILE_LOCATION,  "e" );
 ToFile( "DO_FETCH_TARBALLS", "@DO_FETCH_TARBALLS@",  "e" );
+ToFile( "GIT_LINK_SRC", "@GIT_LINK_SRC@",  "e" );
+ToFile( "GIT_REPO_NAMES", "@GIT_REPO_NAMES@",  "e" );
+
 #
 # Writing the platform dependent constant values to file.
 # (c = comment, e = environment variable, a = alias )


More information about the Libreoffice-commits mailing list