Install langpacks as .xpi files instead of unpacking them

This helps performance of the browser, notably at startup, as it
needs to open less files.

http://blog.mozilla.com/tglek/2010/03/11/extensions-startup/
This commit is contained in:
Christopher Aillon 2011-03-12 20:22:00 -08:00
parent 36d2d05089
commit 49840edf8c
2 changed files with 14 additions and 10 deletions

View File

@ -194,8 +194,8 @@ if [ $MOZILLA_DOWN -ne 0 ]; then
function create_langpack_link() {
local language=$*
local langpack=langpack-${language}@firefox.mozilla.org
if [ -f $MOZ_LANGPACKS_DIR/$langpack/chrome.manifest ]; then
local langpack=langpack-${language}@firefox.mozilla.org.xpi
if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
ln -s $MOZ_LANGPACKS_DIR/$langpack \
$MOZ_EXTENSIONS_PROFILE_DIR/$langpack

View File

@ -229,22 +229,26 @@ XULRUNNER_DIR=`pkg-config --variable=libdir libxul | %{__sed} -e "s,%{_libdir},,
echo > ../%{name}.lang
%if %{build_langpacks}
# Install langpacks
# Extract langpacks, make any mods needed, repack the langpack, and install it.
%{__mkdir_p} $RPM_BUILD_ROOT%{langpackdir}
%{__tar} xf %{SOURCE1}
for langpack in `ls firefox-langpacks/*.xpi`; do
language=`basename $langpack .xpi`
extensiondir=$RPM_BUILD_ROOT%{langpackdir}/langpack-$language@firefox.mozilla.org
%{__mkdir_p} $extensiondir
unzip $langpack -d $extensiondir
find $extensiondir -type f | xargs chmod 644
extensionID=langpack-$language@firefox.mozilla.org
%{__mkdir_p} $extensionID
unzip $langpack -d $extensionID
find $extensionID -type f | xargs chmod 644
sed -i -e "s|browser.startup.homepage.*$|browser.startup.homepage=%{homepage}|g;" \
$extensiondir/chrome/$language/locale/branding/browserconfig.properties
$extensionID/chrome/$language/locale/branding/browserconfig.properties
cd $extensionID
zip -r9mX ../${extensionID}.xpi *
cd -
%{__install} -m 644 ${extensionID}.xpi $RPM_BUILD_ROOT%{langpackdir}
language=`echo $language | sed -e 's/-/_/g'`
extensiondir=`echo $extensiondir | sed -e "s,^$RPM_BUILD_ROOT,,"`
echo "%%lang($language) $extensiondir" >> ../%{name}.lang
echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> ../%{name}.lang
done
%{__rm} -rf firefox-langpacks
%endif # build_langpacks