several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
authorWolfgang Rosenauer <wr@rosenauer.org>
Sat, 09 Jun 2018 09:37:05 +0200
changeset 1056 90e1f32cf034
parent 1055 526f445635f3
child 1057 b70ce330958c
several changes to make upstream tarballs a good neighbour for locale fetching and HG checkouts
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
--- a/MozillaFirefox/MozillaFirefox.changes	Fri Jun 08 22:48:29 2018 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Sat Jun 09 09:37:05 2018 +0200
@@ -10,7 +10,7 @@
   mozilla-bmo1375074.patch
 
 -------------------------------------------------------------------
-Fri Jun  1 10:52:13 UTC 2018 - bjorn.lie@gmail.com
+Fri Jun  8 10:52:13 UTC 2018 - bjorn.lie@gmail.com
 
 - Add conditional for pkgconfig(gconf-2.0) BuildRequires, and pass
   conditional --disable-gconf to configure: no longer pull in
--- a/MozillaFirefox/MozillaFirefox.spec	Fri Jun 08 22:48:29 2018 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Sat Jun 09 09:37:05 2018 +0200
@@ -18,12 +18,14 @@
 
 
 # changed with every update
-%define major 60
-%define mainver %major.99
+%define major          60
+%define mainver        %major.99
+%define orig_version   61.0
+%define orig_suffix    b12
 %define update_channel beta
-%define branding 1
-%define releasedate 20180607135512
-%define source_prefix firefox-%{mainver}
+%define branding       1
+%define releasedate    20180607135512
+%define source_prefix  firefox-%{orig_version}
 
 # PIE, full relro (x86_64 for now)
 %define build_hardened 1
@@ -124,13 +126,13 @@
 License:        MPL-2.0
 Group:          Productivity/Networking/Web/Browsers
 Url:            http://www.mozilla.org/
-Source:         http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz
+Source:         http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz
 Source1:        MozillaFirefox.desktop
 Source2:        MozillaFirefox-rpmlintrc
 Source3:        mozilla.sh.in
 Source5:        source-stamp.txt
 Source6:        kde.js
-Source7:        l10n-%{version}.tar.xz
+Source7:        l10n-%{orig_version}%{orig_suffix}.tar.xz
 Source8:        firefox-mimeinfo.xml
 Source9:        firefox.js
 Source10:       compare-locales.tar.xz
@@ -145,7 +147,7 @@
 # please get your own set of keys.
 Source18:       mozilla-api-key
 Source19:       google-api-key
-Source20:       http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz.asc
+Source20:       http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz.asc
 Source21:       mozilla.keyring
 # Gecko/Toolkit
 Patch1:         mozilla-nongnome-proxies.patch
--- 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"