MozillaFirefox/create-tar.sh
changeset 1056 90e1f32cf034
parent 1053 893fc4d031d6
child 1060 5ce9d1f6be41
--- a/MozillaFirefox/create-tar.sh	Fri Jun 08 22:48:29 2018 +0200
+++ b/MozillaFirefox/create-tar.sh	Sat Jun 09 09:37:05 2018 +0200
@@ -8,44 +8,14 @@
 CHANNEL="beta"
 BRANCH="releases/mozilla-$CHANNEL"
 RELEASE_TAG="FIREFOX_61_0b12_RELEASE"
-VERSION="60.99"
+VERSION="61.0"
+VERSION_SUFFIX="b12"
+LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"
 
 # check required tools
 test -x /usr/bin/hg || ( echo "hg missing: execute zypper in mercurial"; exit 5 )
 test -x /usr/bin/jq || ( echo "jq missing: execute zypper in jq"; exit 5 )
 
-
-# mozilla
-if [ -d mozilla ]; then
-  pushd mozilla
-  _repourl=$(hg paths)
-  case "$_repourl" in
-    *$BRANCH*)
-      echo "updating previous tree"
-      hg pull
-      popd
-      ;;
-    * )
-      echo "removing obsolete tree"
-      popd
-      rm -rf mozilla
-      ;;
-  esac
-fi
-if [ ! -d mozilla ]; then
-  echo "cloning new $BRANCH..."
-  hg clone http://hg.mozilla.org/$BRANCH mozilla
-fi
-pushd mozilla
-hg update --check
-[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
-# get repo and source stamp
-echo -n "REV=" > ../source-stamp.txt
-hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
-echo -n "REPO=" >> ../source-stamp.txt
-hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt
-popd
-
 # use parallel compression, if available
 compression='-J'
 pixz -h > /dev/null 2>&1
@@ -53,13 +23,52 @@
   compression='-Ipixz'
 fi
 
-echo "creating archive..."
-tar $compression -cf firefox-$VERSION.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS mozilla
+# we might have an upstream archive already and can skip the checkout
+if [ -e firefox-$VERSION$VERSION_SUFFIX.source.tar.xz ]; then
+  echo "skip firefox checkout and use available archive"
+  # still need to extract the locale information from the archive
+  echo "extract locale changesets"
+  tar -xf firefox-$VERSION$VERSION_SUFFIX.source.tar.xz $LOCALE_FILE
+else
+  # mozilla
+  if [ -d firefox-$VERSION ]; then
+    pushd firefox-$VERSION
+    _repourl=$(hg paths)
+    case "$_repourl" in
+      *$BRANCH*)
+        echo "updating previous tree"
+        hg pull
+        popd
+        ;;
+      * )
+        echo "removing obsolete tree"
+        popd
+        rm -rf firefox-$VERSION
+        ;;
+    esac
+  fi
+  if [ ! -d firefox-$VERSION ]; then
+    echo "cloning new $BRANCH..."
+    hg clone http://hg.mozilla.org/$BRANCH firefox-$VERSION
+  fi
+  pushd firefox-$VERSION
+  hg update --check
+  [ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
+  # get repo and source stamp
+  echo -n "REV=" > ../source-stamp.txt
+  hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
+  echo -n "REPO=" >> ../source-stamp.txt
+  hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt
+  popd
+
+  echo "creating archive..."
+  tar $compression -cf firefox-$VERSION$VERSION_SUFFIX.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS firefox-$VERSION
+fi
 
 # l10n
 echo "fetching locales..."
 test ! -d l10n && mkdir l10n
-jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' mozilla/browser/locales/l10n-changesets.json | \
+jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' $LOCALE_FILE | \
   while read locale changeset ; do
     case $locale in
       ja-JP-mac|en-US)
@@ -73,7 +82,7 @@
     esac
   done
 echo "creating l10n archive..."
-tar $compression -cf l10n-$VERSION.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n
+tar $compression -cf l10n-$VERSION$VERSION_SUFFIX.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n
 
 # compare-locales
 echo "creating compare-locales"