#!/bin/bash

set -e

FFVER=60.1.0esr

_majorver=`echo $FFVER | sed "s/\(.*\)\.\(.*\)\.\(.*\)esr/\1esr/"`

BASEURL=http://download-installer.cdn.mozilla.net/pub/firefox/releases/$FFVER/linux-i686/xpi
startdir=`pwd`
DATE=`date +"%Y%m%d%H%M%S"`

err() {
	echo "$1"
	exit 1
}

echo -n "Testing for API keys... "
[ -z $WEB_EXT_API_KEY ] && err "ERROR: WEB_EXT_API_KEY env var not set"
[ -z $WEB_EXT_API_SECRET ] && err "ERROR: WEB_EXT_API_SECRET env var not set"
echo "OK"
echo -n "Locating web-ext... "
web-ext --version 2> /dev/null || err "NOT FOUND"

rm -rf xpi-$_majorver
mkdir xpi-$_majorver
cd xpi-$_majorver
mkdir src

for locale in `cat $startdir/LOCALES`; do
	echo "Downloading ${locale}.xpi..."
	wget -nv $BASEURL/${locale}.xpi -O src/${locale}.xpi
	echo "Updating files in ${locale} langpack..."
	mkdir ${locale}
	cd ${locale}
	unzip -q ../src/${locale}.xpi
	rm -rf META-INF
	rm browser/chrome/${locale}/locale/browser/searchplugins/*.xml
	cp $startdir/duckduckgo{,-lite}.xml browser/chrome/${locale}/locale/browser/searchplugins/
	echo '{"default": {"visibleDefaultEngines": ["duckduckgo", "duckduckgo-lite"]}}' > browser/chrome/${locale}/locale/browser/searchplugins/list.json
	sed -i 's/"id": "langpack-\(.*\)@firefox.mozilla.org",/"id": "ff-langpack-\1@salixos.org", /' manifest.json
	#sed -i "s/\"version\": \"\(.*\)buildid.*\",/\"version\": \"\1buildid${DATE}\",/" manifest.json
	echo "Signing ${locale} langpack..."
	web-ext sign
	mv web-ext-artifacts/*.xpi ../ff-langpack-${locale}\@salixos.org.xpi
	rmdir web-ext-artifacts
	cd ..
	rm -rf ${locale}
done

rm -rf src
cd ..

tar cv xpi-$_majorver | xz > xpi-$_majorver.tar.xz

set +e
