Hello community, here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at Mon Jul 11 15:54:16 CEST 2011.
-------- --- MozillaThunderbird/MozillaThunderbird.changes 2011-04-29 07:52:48.000000000 +0200 +++ /mounts/work_src_done/STABLE/MozillaThunderbird/MozillaThunderbird.changes 2011-07-09 13:36:48.000000000 +0200 @@ -1,0 +2,32 @@ +Sat Jul 9 11:16:51 UTC 2011 - [email protected] + +- update to version 5.0 +- update enigmail to version 1.2 +- improved logic for the launcher command +- enable gio usage (instead of gnomevfs) for 11.4 and newer +- build dump_syms dynamic to build on 12.1 and above + +------------------------------------------------------------------- +Mon Jun 20 09:36:22 UTC 2011 - [email protected] + +- security update to version 3.1.11 (bnc#701296) + * MFSA 2011-19/CVE-2011-2374 CVE-2011-2376 CVE-2011-2364 + CVE-2011-2365 + Miscellaneous memory safety hazards + * MFSA 2011-20/CVE-2011-2373 (bmo#617247) + Use-after-free vulnerability when viewing XUL document with + script disabled + * MFSA 2011-21/CVE-2011-2377 (bmo#638018, bmo#639303) + Memory corruption due to multipart/x-mixed-replace images + * MFSA 2011-22/CVE-2011-2371 (bmo#664009) + Integer overflow and arbitrary code execution in + Array.reduceRight() + * MFSA 2011-23/CVE-2011-0083 CVE-2011-0085 CVE-2011-2363 + Multiple dangling pointer vulnerabilities + * MFSA 2011-24/CVE-2011-2362 (bmo#616264) + Cookie isolation error +- speed up find-external-requires.sh +- do not build dump_syms static as it is not needed for us + -> fixes build for 12.1 and above + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- enigmail-1.1.2.tar.bz2 l10n-3.1.10.tar.bz2 mozilla-gcc46.patch mozilla-gdk-pixbuf.patch mozilla-xsmp.patch thunderbird-3.1.10-source.tar.bz2 thunderbird-appname.patch New: ---- compare-locales.tar.bz2 enigmail-1.2.tar.gz enigmail-cz-CZ-fix.patch l10n-5.0.tar.bz2 mozilla-cairo-lcd.patch mozilla-cairo-return.patch mozilla-dump_syms-static.patch mozilla-gio.patch mozilla-language.patch thunderbird-5.0-source.tar.bz2 thunderbird-gio.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaThunderbird.spec ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -20,16 +20,14 @@ Name: MozillaThunderbird -BuildRequires: autoconf213 fdupes gcc-c++ hunspell-devel libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip update-desktop-files zip +BuildRequires: Mesa-devel autoconf213 fdupes gcc-c++ hunspell-devel libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip update-desktop-files yasm zip BuildRequires: mozilla-nss-devel >= 3.12.8 -%if %suse_version > 1100 BuildRequires: nss-shared-helper-devel -%endif License: MPLv1.1 or GPLv2+ or LGPLv2+ -%define mainversion 3.1.10 +%define mainversion 5.0 Version: %{mainversion} Release: 1 -%define releasedate 2011041400 +%define releasedate 2011062400 Provides: thunderbird = %{version} Summary: The Stand-Alone Mozilla Mail Component Url: http://www.mozilla.org/products/thunderbird/ @@ -43,25 +41,29 @@ Source6: suse-default-prefs.js Source7: find-external-requires.sh Source8: MozillaThunderbird-rpmlintrc -Source9: enigmail-1.1.2.tar.bz2 +Source9: enigmail-1.2.tar.gz Source10: create-tar.sh -Patch2: thunderbird-appname.patch -Patch4: tb-ssldap.patch -Patch5: tb-develdirs.patch -Patch9: mozilla-shared-nss-db.patch -Patch10: mozilla-gdk-pixbuf.patch -Patch11: thunderbird-shared-nss-db.patch -Patch13: mozilla-xsmp.patch -Patch14: mozilla-gcc46.patch +Source11: compare-locales.tar.bz2 +# Gecko/Toolkit +Patch1: mozilla-shared-nss-db.patch +Patch2: mozilla-cairo-lcd.patch +Patch3: mozilla-language.patch +Patch4: mozilla-gio.patch +Patch5: mozilla-cairo-return.patch +Patch6: mozilla-dump_syms-static.patch +# Thunderbird/mail +Patch10: tb-ssldap.patch +Patch11: tb-develdirs.patch +Patch12: thunderbird-shared-nss-db.patch +Patch13: thunderbird-gio.patch +#enigmail +Patch20: enigmail-cz-CZ-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: coreutils fileutils textutils /bin/sh ### build options %define build_enigmail 1 %define crashreporter 1 %define has_system_cairo 0 -%if %suse_version > 1110 -%define has_system_cairo 1 -%endif %define localize 1 ### build options end %define _use_internal_dependency_generator 0 @@ -85,6 +87,7 @@ cross-platform. It is a stand-alone application instead of part of the Mozilla application suite. +%if %localize %package translations-common License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -110,7 +113,7 @@ %description translations-other This package contains several optional languages for the user interface of MozillaThunderbird. - +%endif %package devel License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -139,8 +142,8 @@ %if %build_enigmail %package -n enigmail -Version: 1.1.2 -Release: 11 +Version: 1.2 +Release: 1 License: MPLv1.1 or GPLv2+ Summary: OpenPGP addon for Thunderbird and SeaMonkey Group: Productivity/Networking/Email/Clients @@ -158,24 +161,35 @@ %prep %if %build_enigmail -%setup -n thunderbird -q -b 4 -b 9 +%setup -n thunderbird -q -b 4 -b 11 -b 9 %else -%setup -n thunderbird -q -b 4 +%setup -n thunderbird -q -b 4 -b 11 %endif # xulrunner patches pushd mozilla -%patch9 -p1 -%patch10 -p1 -%patch13 -p1 -%patch14 -p1 -popd -# comm-central patches +%patch1 -p1 %patch2 -p1 +%patch3 -p1 %patch4 -p1 -%patch5 +%patch5 -p1 +%patch6 -p1 +popd +# comm-central patches +%patch10 -p1 %patch11 -p1 +%patch12 -p1 +%patch13 -p1 +pushd ../enigmail +%patch20 -p1 +popd %build +# no need to add build time to binaries +modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" +DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\"" +TIME="\"$(date -d "${modified}" "+%%R")\"" +find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} + +# export SUSE_ASNEEDED=0 export MOZ_BUILD_DATE=%{releasedate} export MOZILLA_OFFICIAL=1 @@ -192,6 +206,7 @@ mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZ_MILESTONE_RELEASE=1 mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs} +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj ac_add_options --enable-application=mail ac_add_options --prefix=%{_prefix} ac_add_options --libdir=%{progdir} @@ -199,25 +214,26 @@ ac_add_options --disable-tests ac_add_options --disable-debug ac_add_options --enable-optimize -ac_add_options --enable-static -ac_add_options --disable-shared ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --with-system-jpeg ac_add_options --with-system-zlib -ac_add_options --with-l10n-base=../l10n +ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n ac_add_options --disable-updater #ac_add_options --with-system-png # no apng support -%if %suse_version > 1030 ac_add_options --enable-system-hunspell -%endif -ac_add_options --enable-ldap-experimental ac_add_options --disable-installer ac_add_options --disable-mochitest ac_add_options --enable-startup-notification ac_add_options --enable-official-branding ac_add_options --disable-necko-wifi EOF +%if %suse_version > 1130 +cat << EOF >> $MOZCONFIG +ac_add_options --disable-gnomevfs +ac_add_options --enable-gio +EOF +%endif %if %has_system_cairo cat << EOF >> $MOZCONFIG ac_add_options --enable-system-cairo @@ -233,40 +249,55 @@ ### enigmail build %if %build_enigmail cp -r $RPM_BUILD_DIR/enigmail $RPM_BUILD_DIR/thunderbird/mailnews/extensions/ -(cd $RPM_BUILD_DIR/thunderbird/mailnews/extensions/enigmail; ./makemake -r; make; make xpi) + +pushd $RPM_BUILD_DIR/thunderbird/mailnews/extensions/enigmail + ./makemake -r -o '../../../../obj' +popd +pushd $RPM_BUILD_DIR/obj/mailnews/extensions/enigmail +make MOZ_CHROME_FILE_FORMAT=jar +make xpi +popd %endif %install +cd ../obj make -C mail/installer STRIP=/bin/true # copy tree into RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{progdir} -cp -rf $RPM_BUILD_DIR/thunderbird/mozilla/dist/thunderbird/* \ +cp -rf $RPM_BUILD_DIR/obj/mozilla/dist/thunderbird/* \ $RPM_BUILD_ROOT%{progdir} # build additional locales %if %localize %if 0%{?SOURCE5:1} -cp %SOURCE5 mail/locales/shipped-locales +cp %SOURCE5 ../thunderbird/mail/locales/shipped-locales %endif rm -f %{_tmppath}/translations.* -for locale in $(awk '{ print $1; }' mail/locales/shipped-locales); do +touch %{_tmppath}/translations.{common,other} +for locale in $(awk '{ print $1; }' ../thunderbird/mail/locales/all-locales); do case $locale in - ja-JP-mac|en-US) + ja-JP-mac|en-US|ta-LK) # locales not to be included in translations package ;; *) - make -C mail/locales libs-$locale || continue - cp mozilla/dist/xpi-stage/locale-$locale/chrome/$locale.jar \ - $RPM_BUILD_ROOT%{progdir}/chrome - cp mozilla/dist/xpi-stage/locale-$locale/chrome/$locale.manifest \ - $RPM_BUILD_ROOT%{progdir}/chrome + pushd $RPM_BUILD_DIR/compare-locales + PYTHONPATH=lib \ + scripts/compare-locales -m ../l10n-merged/$locale \ + ../thunderbird/mail/locales/l10n.ini ../l10n $locale + popd + LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \ + make -C mail/locales langpack-$locale || continue + cp -r mozilla/dist/xpi-stage/locale-$locale \ + $RPM_BUILD_ROOT%{progdir}/extensions/[email protected] + # remove prefs and profile defaults from langpack + rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/[email protected]/defaults # check against the fixed common list and sort into the right filelist _matched=0 for _match in ar ca cs da de en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do [ "$_match" = "$locale" ] && _matched=1 done [ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other - echo %{progdir}/chrome/$locale.jar >> %{_tmppath}/translations.$_l10ntarget - echo %{progdir}/chrome/$locale.manifest >> %{_tmppath}/translations.$_l10ntarget + echo %{progdir}/extensions/[email protected] \ + >> %{_tmppath}/translations.$_l10ntarget esac done %endif @@ -354,6 +385,7 @@ # excluded files rm -f $RPM_BUILD_ROOT%{progdir}/thunderbird rm -f $RPM_BUILD_ROOT%{progdir}/removed-files +rm -f $RPM_BUILD_ROOT%{progdir}/precomplete rm -f $RPM_BUILD_ROOT%{progdir}/updater rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini rm -f $RPM_BUILD_ROOT%{progdir}/update.locale @@ -416,18 +448,13 @@ %dir %{progdir} %{progdir}/application.ini %{progdir}/blocklist.xml -%{progdir}/res/ +%{progdir}/chrome.manifest %{progdir}/README.txt -%{progdir}/libldap60.so -%{progdir}/libprldap60.so -%{progdir}/libssldap60.so -%{progdir}/libldif60.so -%{progdir}/libsqlite3.so -%{progdir}/libmozjs.so -%{progdir}/libxpcom_core.so -%{progdir}/libxpcom.so +%{progdir}/*.so %{progdir}/mozilla-xremote-client +%{progdir}/omni.jar %{progdir}/platform.ini +%{progdir}/plugin-container %{progdir}/run-mozilla.sh %{progdir}/thunderbird-bin # crashreporter files @@ -437,21 +464,12 @@ %{progdir}/Throbber-small.gif %endif %{progdir}/components/ -%{progdir}/modules/ %dir %{progdir}/chrome/ -%{progdir}/chrome/classic.* -%{progdir}/chrome/comm.* -%{progdir}/chrome/en-US.* -%{progdir}/chrome/gloda.* -%{progdir}/chrome/messenger.* -%{progdir}/chrome/newsblog.* -%{progdir}/chrome/pippki.* -%{progdir}/chrome/toolkit.* %{progdir}/chrome/icons/ %dir %{progdir}/dictionaries/ %{progdir}/defaults/ -%{progdir}/greprefs/ -%{progdir}/extensions/ +%dir %{progdir}/extensions/ +%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} %{progdir}/isp/ %{_datadir}/applications/%{desktop_file_name}.desktop %{_datadir}/icons/hicolor/*/apps/%{progname}.png @@ -469,7 +487,6 @@ %files devel %defattr(-,root,root) %{_libdir}/%{progname}/*.a -%{_libdir}/%{progname}/regxpcom %{_libdir}/%{progname}/xpidl %{_libdir}/%{progname}/xpt_dump %{_libdir}/%{progname}/xpt_link ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -1,9 +1,9 @@ #!/bin/bash -BRANCH="releases/comm-1.9.2" # comm-central -RELEASE_TAG="THUNDERBIRD_3_1_10_RELEASE" -VERSION="3.1.10" +BRANCH="releases/comm-miramar" +RELEASE_TAG="THUNDERBIRD_5_0_RELEASE " +VERSION="5.0" echo "cloning $BRANCH..." hg clone http://hg.mozilla.org/$BRANCH thunderbird @@ -12,7 +12,7 @@ echo "running client.py..." [ "$RELEASE_TAG" == "default" ] || _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG" # temporary! -_extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-1.9.2 $_extra" +#_extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-miramar $_extra" python client.py checkout --skip-chatzilla --skip-venkman $_extra popd echo "creating archive..." @@ -24,7 +24,7 @@ if [ -e shipped-locales ]; then SHIPPED_LOCALES=shipped-locales else - SHIPPED_LOCALES=thunderbird/mail/locales/shipped-locales + SHIPPED_LOCALES=thunderbird/mail/locales/all-locales fi test ! -d l10n && mkdir l10n for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do @@ -33,7 +33,7 @@ ;; *) echo "fetching $locale ..." - hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.2/$locale l10n/$locale + hg clone http://hg.mozilla.org/releases/l10n-miramar/$locale l10n/$locale hg -R l10n/$locale up -C -r $RELEASE_TAG ;; esac @@ -43,3 +43,8 @@ --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser --exclude=calendar \ --exclude=suite \ l10n + +# compare-locales +hg clone http://hg.mozilla.org/build/compare-locales +tar cjf compare-locales.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales + ++++++ enigmail-cz-CZ-fix.patch ++++++ --- lang/cs-CZ/enigmail.dtd | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) --- a/lang/cs-CZ/enigmail.dtd +++ b/lang/cs-CZ/enigmail.dtd @@ -73,7 +73,7 @@ <!ENTITY enigmail.doubleDashSeparator.label "'--' je oddělovač podpisu"> <!ENTITY enigmail.useGpgAgent.label "Použít gpg-agenta pro heslo"> <!ENTITY enigmail.noHushMailSupport.label "Použít '<' a '>' k určení e-mailové adresy"> -<!ENTITY enigmail.keepSettingsForReply.tooltip "Pokud je to možné, šifrovat odpověď na zašifrovanou zprávu"> +<!ENTITY enigmail.keepCryptoSettingsForReply.tooltip "Pokud je to možné, šifrovat odpověď na zašifrovanou zprávu"> <!ENTITY enigmail.doubleDashSeparator.tooltip "Samotné dvě pomlčky na řádku označí blok s podpisem"> <!ENTITY enigmail.useGpgAgent.tooltip "Použít gpg-agenta (součást GnuPG 2) pro všechny vstupy hesla"> <!ENTITY enigmail.noHushMailSupport.tooltip "Použít '<' a '>' znaky pro určení e-mailové adresy pro GnuPG. Zakažte, pokud příjemce používá staré klíče Hushmail."> @@ -174,7 +174,7 @@ <!ENTITY enigmail.defineRules.label "Upravit pravidla ..."> <!ENTITY enigmail.defineRules.tooltip "Klepněte sem pro zobrazení, přidání, odstranění či úpravu pravidel pro výběr klíče."> <!ENTITY enigmail.usePGPMimeAlways.label "Vždy použít PGP/MIME"> -<!ENTITY enigmail.keepSettingsForReply.label "Šifrovat odpovědi na zašifrované zprávy"> +<!ENTITY enigmail.keepCryptoSettingsForReply.label "Šifrovat odpovědi na zašifrované zprávy"> <!ENTITY enigmail.confirmBeforeSend.label "Před odesláním vždy potvrdit"> <!ENTITY enigmail.confirmBeforeSend.tooltip "Aktivovat pro zobrazení informace o podpisu/šifrování zprávy před odesláním"> <!ENTITY enigmail.wrapHtmlBeforeSend.label "Znovu zalomit podepsaný HTML text před odesláním"> @@ -556,3 +556,43 @@ <!ENTITY enigmail.setupWiz.pgNoStart.desc "Rozhodl/a jste se nepoužívat Průvodce pro konfiguraci OpenPGP.<html:br/><html:br/>Děkujeme za používání Enigmailu."> <!ENTITY enigmail.advancedIdentityDlg.title "Rozšířené nastavení OpenPGP pro identitu"> <!ENTITY enigmail.amPrefPgp.sendKeyWithMsg.label "Připojit ke zprávě můj veřejný klíč"> +<!ENTITY enigmail.msgViewColumn.label "OpenPGP"> +<!ENTITY enigmail.msgViewColumn.tooltip "Seřadit podle stavu OpenGPG"> +<!ENTITY enigmail.displayKeyProperties.label "Zobrazit vlastnosti klíče"> +<!ENTITY enigmail.revealAttachmentsButton.label "Jména přiložených souborů jsou skryta. Stikněte tlačítko 'Odmaskovat' k zobrazení originálních jmen."> +<!ENTITY enigmail.ctxVerifyAtt.label "Ověřit podpis"> +<!ENTITY enigmail.ctxVerifyAtt.accesskey "v"> +<!ENTITY enigmail.keyMan.createMail.label "Napsat e-mail vybraným klíčům"> +<!ENTITY enigmail.keyMan.createMail.accesskey "N"> +<!ENTITY enigmail.keyMan.addToPRRule.label "Přidat pravidlo k jednotlivým příjemncům"> +<!ENTITY enigmail.keyMan.addPhoto.label "Přidat fotku"> +<!ENTITY enigmail.keyMan.addPhoto.accesskey "P"> + +<!ENTITY enigmail.addPhoto.question.label "Opravdu si přejete přidat následující obrázek k následujícímu klíčí?"> +<!ENTITY enigmail.addPhoto.title "Přidat fotku ke klíči"> +<!ENTITY enigmail.addToRule.newRuleButton.accesskey "N"> +<!ENTITY enigmail.addToRule.newRuleButton.label "Vytvořit nové pravidlo"> +<!ENTITY enigmail.addToRule.title "Přidat klíč k jednotlivému pravidlu"> +<!ENTITY enigmail.addToRule.useRuleButton.accesskey "A"> +<!ENTITY enigmail.addToRule.useRuleButton.label "Přidat klíč k vybranému pravidlu"> +<!ENTITY enigmail.encDlgIgnoreRules.accesskey "I"> +<!ENTITY enigmail.encDlgIgnoreRules.label "Ignorovat jednotlivá pravidla"> +<!ENTITY enigmail.keyMan.showInvalidKeys.accesskey "D"> +<!ENTITY enigmail.keyMan.showInvalidKeys.label "Zobrazit nevalidní klíče"> +<!ENTITY enigmail.keyMan.showOthersKeys.accesskey "O"> +<!ENTITY enigmail.keyMan.showOthersKeys.label "Zobrazit klíče od ostatních osob"> +<!ENTITY enigmail.keyMan.showUntrustedKeys.accesskey "U"> +<!ENTITY enigmail.keyMan.showUntrustedKeys.label "Zobrazit nedůvěryhodné klíče"> +<!ENTITY enigmail.photoViewer.title "OpenPGP -- zobrazení fotek"> +<!ENTITY enigmail.setupWiz.pgKeyImport.desc "Pro import zadejte soubory obsahující veřejný a soukromý klíč. + Kolonka pro soukromý klíč může zůstat prázdná v případě, že první soubor obsahuje + oba klíče."> +<!ENTITY enigmail.setupWiz.pgKeyImport.pubkeyFile "Soubor s veřejným klíčem"> +<!ENTITY enigmail.setupWiz.pgKeyImport.seckeyFile "Soubor se soukromým klíčem"> +<!ENTITY enigmail.setupWiz.pgKeyImport.subtitle "Zadejte soubory k importu"> +<!ENTITY enigmail.setupWiz.pgKeyImport.title "Importovat klíče OpenPGP"> +<!ENTITY enigmail.setupWiz.pgNoKeyFound.desc "Nelze nalézt žádný OpenPGP klíč. Níže zvolte, zda chcete vytvořit nový pár klíčů, + nebo zda chcete importovat již existující klíč."> +<!ENTITY enigmail.setupWiz.pgNoKeyFound.importKey "Mám existující klíče, které chci importovat"> +<!ENTITY enigmail.setupWiz.pgNoKeyFound.subtitle "Nelze nalézt žádné OpenPGP klíče"> +<!ENTITY enigmail.setupWiz.pgNoKeyFound.title "Žádný OpenPGP klíč nenalezen"> ++++++ find-external-requires.sh ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -1,23 +1,9 @@ #!/bin/sh - # Finds requirements provided outside of the current file set -filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` - -provides=`echo "$filelist" | /usr/lib/rpm/find-provides` - -{ -for f in $filelist ; do - echo $f | /usr/lib/rpm/find-requires | while read req ; do - found=0 - for p in $provides ; do - if [ "$req" = "$p" ]; then - found=1 - fi - done - if [ "$found" = "0" ]; then - echo $req - fi - done -done -} | sort -u +filelist=$( sed "s/[]['\"*?{}]/\\\\\&/g" ) +provides=$( echo "$filelist" | /usr/lib/rpm/find-provides ) +echo "$filelist" \ + | /usr/lib/rpm/find-requires \ + | grep -F -v "$provides" \ + | sort -u ++++++ l10n-3.1.10.tar.bz2 -> l10n-5.0.tar.bz2 ++++++ MozillaThunderbird/l10n-3.1.10.tar.bz2 /mounts/work_src_done/STABLE/MozillaThunderbird/l10n-5.0.tar.bz2 differ: char 11, line 1 ++++++ mozilla-cairo-lcd.patch ++++++ ++++ 1333 lines (skipped) ++++++ mozilla-cairo-return.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <[email protected]> # Parent e36e1a20cb5e1ba0e4bc3facac58029544d92e0a Bug 631155 - undefined return value in function '_cairo_surface_wrapper_flush' diff --git a/gfx/cairo/cairo/src/cairo-surface-wrapper.c b/gfx/cairo/cairo/src/cairo-surface-wrapper.c --- a/gfx/cairo/cairo/src/cairo-surface-wrapper.c +++ b/gfx/cairo/cairo/src/cairo-surface-wrapper.c @@ -526,9 +526,12 @@ _cairo_surface_wrapper_fini (cairo_surfa } cairo_status_t _cairo_surface_wrapper_flush (cairo_surface_wrapper_t *wrapper) { if (wrapper->target->backend->flush) { return wrapper->target->backend->flush(wrapper->target); } + + // this is preliminary to cool down gcc and build checks + return CAIRO_STATUS_SUCCESS; } ++++++ mozilla-dump_syms-static.patch ++++++ # HG changeset patch # Parent e589abb2c4d6aaa6083d254416211ac90360dbdd NO-BUG: Ignore a hack which is not needed in distribution build environments. diff --git a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in --- a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in +++ b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in @@ -59,11 +59,11 @@ HOST_LIBS += \ $(NULL) # force C++ linking CPP_PROG_LINK = 1 FORCE_USE_PIC = 1 #XXX: bug 554854 causes us to be unable to run binaries on the build slaves # due to them having an older libstdc++ -HOST_LDFLAGS += -static +#HOST_LDFLAGS += -static include $(topsrcdir)/config/rules.mk ++++++ mozilla-gio.patch ++++++ # HG changeset patch # User Chris Coulson # Parent 0ebe30f9eacfe67fa0b699457e524d5a9c96359e Bug 611953 - GNOME 3.0 readiness (patch 2 + 3) diff --git a/toolkit/system/gnome/nsGIOService.cpp b/toolkit/system/gnome/nsGIOService.cpp --- a/toolkit/system/gnome/nsGIOService.cpp +++ b/toolkit/system/gnome/nsGIOService.cpp @@ -101,25 +101,25 @@ nsGIOMimeApp::GetName(nsACString& aName) return NS_OK; } NS_IMETHODIMP nsGIOMimeApp::GetCommand(nsACString& aCommand) { get_commandline_t g_app_info_get_commandline_ptr; - void *libHandle = dlopen("libgio-2.0.so", RTLD_LAZY); + void *libHandle = dlopen("libgio-2.0.so.0", RTLD_LAZY); if (!libHandle) { return NS_ERROR_FAILURE; } dlerror(); /* clear any existing error */ g_app_info_get_commandline_ptr = (get_commandline_t) dlsym(libHandle, "g_app_info_get_commandline"); - if (dlerror() != NULL) { - const char cmd = *g_app_info_get_commandline_ptr(mApp); + if (dlerror() == NULL) { + const char *cmd = g_app_info_get_commandline_ptr(mApp); if (!cmd) { dlclose(libHandle); return NS_ERROR_FAILURE; } aCommand.Assign(cmd); } dlclose(libHandle); return NS_OK; @@ -277,16 +277,43 @@ nsGIOMimeApp::SetAsDefaultForFileExtensi } else { *ext_pos = '\0'; } } g_free(extensions); return NS_OK; } +/** + * Set default application for URI's of a particular scheme + * @param aURIScheme string containing the URI scheme + * @return NS_OK when application was set as default for URI scheme, + * NS_ERROR_FAILURE otherwise + */ +NS_IMETHODIMP +nsGIOMimeApp::SetAsDefaultForURIScheme(nsACString const& aURIScheme) +{ + GError *error = NULL; + nsCAutoString contentType("x-scheme-handler/"); + contentType.Append(aURIScheme); + + g_app_info_set_as_default_for_type(mApp, + contentType.get(), + &error); + if (error) { + g_warning("Cannot set application as default for URI scheme (%s): %s", + PromiseFlatCString(aURIScheme).get(), + error->message); + g_error_free(error); + return NS_ERROR_FAILURE; + } + + return NS_OK; +} + nsresult nsGIOService::Init() { // do nothing, gvfs/gio does not init. return NS_OK; } NS_IMPL_ISUPPORTS1(nsGIOService, nsIGIOService) @@ -317,29 +344,45 @@ nsGIOService::GetMimeTypeFromExtension(c g_free(mime_type); g_free(content_type); return NS_OK; } // used in nsGNOMERegistry // ----------------------------------------------------------------------------- NS_IMETHODIMP +nsGIOService::GetAppForURIScheme(const nsACString& aURIScheme, + nsIGIOMimeApp** aApp) +{ + *aApp = nsnull; + + GAppInfo *app_info = g_app_info_get_default_for_uri_scheme( + PromiseFlatCString(aURIScheme).get()); + if (app_info) { + nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info); + NS_ADDREF(*aApp = mozApp); + } else { + return NS_ERROR_FAILURE; + } + return NS_OK; +} + +NS_IMETHODIMP nsGIOService::GetAppForMimeType(const nsACString& aMimeType, nsIGIOMimeApp** aApp) { *aApp = nsnull; char *content_type = get_content_type_from_mime_type(PromiseFlatCString(aMimeType).get()); if (!content_type) return NS_ERROR_FAILURE; GAppInfo *app_info = g_app_info_get_default_for_type(content_type, false); if (app_info) { nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info); - NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*aApp = mozApp); } else { g_free(content_type); return NS_ERROR_FAILURE; } g_free(content_type); return NS_OK; } @@ -414,75 +457,46 @@ nsGIOService::CreateAppFromCommand(nsACS nsIGIOMimeApp** appInfo) { GError *error = NULL; *appInfo = nsnull; GAppInfo *app_info = NULL, *app_info_from_list = NULL; GList *apps = g_app_info_get_all(); GList *apps_p = apps; - get_commandline_t g_app_info_get_commandline_ptr; - - void *libHandle = dlopen("libgio-2.0.so", RTLD_LAZY); - if (!libHandle) { - return NS_ERROR_FAILURE; - } - dlerror(); /* clear any existing error */ - g_app_info_get_commandline_ptr = - (get_commandline_t) dlsym(libHandle, "g_app_info_get_commandline"); - if (dlerror() != NULL) { - g_app_info_get_commandline_ptr = NULL; - } // Try to find relevant and existing GAppInfo in all installed application + // We do this by comparing each GAppInfo's executable with out own while (apps_p) { app_info_from_list = (GAppInfo*) apps_p->data; - /* This is a silly test. It just compares app names but not - * commands. This is due to old version of Glib/Gio. The required - * function which allows to do a regular check of existence of desktop file - * is possible by using function g_app_info_get_commandline. This function - * has been introduced in Glib 2.20. */ - if (app_info_from_list && strcmp(g_app_info_get_name(app_info_from_list), - PromiseFlatCString(appName).get()) == 0 ) - { - if (g_app_info_get_commandline_ptr) - { - /* Following test is only possible with Glib >= 2.20. - * Compare path only by using strncmp */ - if (strncmp(g_app_info_get_commandline_ptr(app_info_from_list), - PromiseFlatCString(cmd).get(), - strlen(PromiseFlatCString(cmd).get())) == 0) - { - app_info = app_info_from_list; - break; - } else { - g_object_unref(app_info_from_list); - } - } else { + if (!app_info) { + // If the executable is not absolute, get it's full path + char *executable = g_find_program_in_path(g_app_info_get_executable(app_info_from_list)); + + if (executable && strcmp(executable, PromiseFlatCString(cmd).get()) == 0) { + g_object_ref (app_info_from_list); app_info = app_info_from_list; - break; } - } else { - g_object_unref(app_info_from_list); + g_free(executable); } + + g_object_unref(app_info_from_list); apps_p = apps_p->next; } g_list_free(apps); if (!app_info) { app_info = g_app_info_create_from_commandline(PromiseFlatCString(cmd).get(), PromiseFlatCString(appName).get(), G_APP_INFO_CREATE_SUPPORTS_URIS, &error); } if (!app_info) { g_warning("Cannot create application info from command: %s", error->message); g_error_free(error); - dlclose(libHandle); return NS_ERROR_FAILURE; } nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info); NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*appInfo = mozApp); - dlclose(libHandle); return NS_OK; } diff --git a/xpcom/system/nsIGIOService.idl b/xpcom/system/nsIGIOService.idl --- a/xpcom/system/nsIGIOService.idl +++ b/xpcom/system/nsIGIOService.idl @@ -39,17 +39,17 @@ #include "nsISupports.idl" interface nsIUTF8StringEnumerator; interface nsIURI; /* nsIGIOMimeApp holds information about an application that is looked up with nsIGIOService::GetAppForMimeType. */ -// 66009894-9877-405b-9321-bf30420e34e6 prev uuid +// e77021b4-4012-407d-b686-7a1f18050109 prev uuid [scriptable, uuid(e77021b4-4012-407d-b686-7a1f18050109)] interface nsIGIOMimeApp : nsISupports { const long EXPECTS_URIS = 0; const long EXPECTS_PATHS = 1; const long EXPECTS_URIS_FOR_NON_FILES = 2; @@ -57,41 +57,45 @@ interface nsIGIOMimeApp : nsISupports readonly attribute AUTF8String name; readonly attribute AUTF8String command; readonly attribute long expectsURIs; // see constants above readonly attribute nsIUTF8StringEnumerator supportedURISchemes; void launch(in AUTF8String uri); void setAsDefaultForMimeType(in AUTF8String mimeType); void setAsDefaultForFileExtensions(in AUTF8String extensions); + void setAsDefaultForURIScheme(in AUTF8String uriScheme); }; /* * The VFS service makes use of two distinct registries. * * The application registry holds information about applications (uniquely * identified by id), such as which MIME types and URI schemes they are * capable of handling, whether they run in a terminal, etc. * * The MIME registry holds information about MIME types, such as which * extensions map to a given MIME type. The MIME registry also stores the * id of the application selected to handle each MIME type. */ -// prev id dea20bf0-4e4d-48c5-b932-dc3e116dc64b -[scriptable, uuid(47e372c2-78bb-4899-8114-56aa7d9cdac5)] +// prev id 47e372c2-78bb-4899-8114-56aa7d9cdac5 +[scriptable, uuid(74ca8791-330d-4786-9569-2a2a19f0b486)] interface nsIGIOService : nsISupports { /*** MIME registry methods ***/ /* Obtain the MIME type registered for an extension. The extension should not include a leading dot. */ AUTF8String getMimeTypeFromExtension(in AUTF8String extension); + /* Obtain the preferred application for opening a given URI scheme */ + nsIGIOMimeApp getAppForURIScheme(in AUTF8String aURIScheme); + /* Obtain the preferred application for opening a given MIME type */ nsIGIOMimeApp getAppForMimeType(in AUTF8String mimeType); /* Obtain the preferred application for opening a given MIME type */ nsIGIOMimeApp createAppFromCommand(in AUTF8String cmd, in AUTF8String appName); /* Obtain a description for the given MIME type */ ++++++ mozilla-language.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <[email protected]> # Parent db620d83124746201970dcf50c661957df979eca Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp --- a/intl/locale/src/nsLocaleService.cpp +++ b/intl/locale/src/nsLocaleService.cpp @@ -181,16 +181,17 @@ nsLocaleService::nsLocaleService(void) } #ifdef MOZ_WIDGET_QT const char* lang = QLocale::system().name().toAscii(); #else // Get system configuration const char* lang = getenv("LANG"); + const char* language = getenv("LANGUAGE"); #endif for( i = 0; i < LocaleListLength; i++ ) { nsresult result; // setlocale( , "") evaluates LC_* and LANG char* lc_temp = setlocale(posix_locale_category[i], ""); CopyASCIItoUTF16(LocaleList[i], category); category_platform = category; @@ -206,16 +207,21 @@ nsLocaleService::nsLocaleService(void) else { CopyASCIItoUTF16(lang, platformLocale); result = posixConverter->GetXPLocale(lang, xpLocale); } } if (NS_FAILED(result)) { return; } + // LANGUAGE is overriding LC_MESSAGES + if (i == LC_MESSAGES && language && *language) { + CopyASCIItoUTF16(language, platformLocale); + result = posixConverter->GetXPLocale(language, xpLocale); + } resultLocale->AddCategory(category, xpLocale); resultLocale->AddCategory(category_platform, platformLocale); } mSystemLocale = do_QueryInterface(resultLocale); mApplicationLocale = do_QueryInterface(resultLocale); } // if ( NS_SUCCEEDED )... #endif // XP_UNIX ++++++ mozilla-shared-nss-db.patch ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -1,13 +1,13 @@ From: Hans Petter Jansson <[email protected]> Wolfgang Rosenauer <[email protected]> Subject: use libnsssharedhelper if available at compile time - (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1) + (can be disabled by exporting MOZ_TB_NO_NSSHELPER=1) References: diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in -@@ -561,16 +561,20 @@ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNO +@@ -571,16 +571,20 @@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -22,30 +22,30 @@ + MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@ + export CL_INCLUDES_PREFIX = @CL_INCLUDES_PREFIX@ + MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@ COMPILER_DEPEND = @COMPILER_DEPEND@ MDDEPDIR := @MDDEPDIR@ - - MOZ_DEMANGLE_SYMBOLS = @MOZ_DEMANGLE_SYMBOLS@ - + CC_WRAPPER = @CC_WRAPPER@ diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in -@@ -8016,16 +8016,32 @@ AC_SUBST(QCMS_LIBS) +@@ -8610,16 +8610,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== - dnl OTS + dnl HarfBuzz dnl ======================================================== - MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)' - AC_SUBST(MOZ_OTS_LIBS) + MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)' + AC_SUBST(MOZ_HARFBUZZ_LIBS) dnl ======================================================== +dnl Check for nss-shared-helper +dnl ======================================================== + + PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper, -+ [MOZ_ENABLE_NSSHELPER=1], -+ [MOZ_ENABLE_NSSHELPER=]) ++ [MOZ_ENABLE_NSSHELPER=1], ++ [MOZ_ENABLE_NSSHELPER=]) + +if test "$MOZ_ENABLE_NSSHELPER"; then + AC_DEFINE(MOZ_ENABLE_NSSHELPER) @@ -54,21 +54,20 @@ +AC_SUBST(NSSHELPER_CFLAGS) +AC_SUBST(NSSHELPER_LIBS) + -+ +dnl ======================================================== + dnl OTS + dnl ======================================================== + MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)' + AC_SUBST(MOZ_OTS_LIBS) + + dnl ======================================================== dnl disable xul dnl ======================================================== - MOZ_ARG_DISABLE_BOOL(xul, - [ --disable-xul Disable XUL], - MOZ_XUL= ) - if test "$MOZ_XUL"; then - AC_DEFINE(MOZ_XUL) - else diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in --- a/security/manager/ssl/src/Makefile.in +++ b/security/manager/ssl/src/Makefile.in -@@ -133,19 +133,20 @@ REQUIRES = nspr \ - $(NULL) +@@ -117,19 +117,20 @@ CSRCS += md4.c + EXTRA_DEPS = $(NSS_DEP_LIBS) @@ -116,30 +115,34 @@ #include "nsNetUtil.h" #include "nsAppDirectoryServiceDefs.h" -@@ -1606,17 +1613,31 @@ nsNSSComponent::InitializeNSS(PRBool sho - // The call to ConfigureInternalPKCS11Token needs to be done before NSS is initialized, - // but affects only static data. - // If we could assume i18n will not change between profiles, one call per application - // run were sufficient. As I can't predict what happens in the future, let's repeat - // this call for every re-init of NSS. - +@@ -1658,18 +1665,34 @@ nsNSSComponent::InitializeNSS(PRBool sho ConfigureInternalPKCS11Token(); -- SECStatus init_rv = ::NSS_InitReadWrite(profileStr.get()); + // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs + // module by NSS_Initialize because we will load it in InstallLoadableRoots + // later. It also allows us to work around a bug in the system NSS in + // Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as + // "/usr/lib/nss/libnssckbi.so". + PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE; +- SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "", +- SECMOD_DB, init_flags); + SECStatus init_rv = SECFailure; +#ifdef MOZ_ENABLE_NSSHELPER -+ if (PR_GetEnv("MOZ_TB_NO_NSSHELPER")) { -+ init_rv = ::NSS_InitReadWrite(profileStr.get()); ++ if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) { ++ init_rv = ::NSS_Initialize(profileStr.get(), "", "", ++ SECMOD_DB, init_flags); + } else { -+ init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), 0); ++ init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), init_flags); + + if (init_rv != SECSuccess) { + PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get())); -+ init_rv = ::NSS_InitReadWrite(profileStr.get()); ++ init_rv = ::NSS_Initialize(profileStr.get(), "", "", ++ SECMOD_DB, init_flags); + } + } +#else -+ init_rv = ::NSS_InitReadWrite(profileStr.get()); ++ init_rv = ::NSS_Initialize(profileStr.get(), "", "", ++ SECMOD_DB, init_flags); +#endif if (init_rv != SECSuccess) { @@ -152,7 +155,7 @@ diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in --- a/toolkit/library/Makefile.in +++ b/toolkit/library/Makefile.in -@@ -189,17 +189,17 @@ else +@@ -169,17 +169,17 @@ ifndef MOZ_ENABLE_LIBXUL EXTRA_DSO_LDOPTS += \ $(MOZ_COMPONENT_LIBS) \ $(MOZ_JS_LIBS) \ @@ -161,12 +164,12 @@ DEFINES += -DIMPL_XREAPI --EXTRA_DSO_LDOPTS += $(NSPR_LIBS) -+EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(NSSHELPER_LIBS) +-EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) ++EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) $(NSSHELPER_LIBS) ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) CXXFLAGS += $(TK_CFLAGS) - EXTRA_DSO_LDOPTS += \ + OS_LIBS += \ -framework SystemConfiguration \ -framework QuickTime \ -framework IOKit \ ++++++ mozilla.sh.in ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -59,11 +59,20 @@ MOZ_APPNAME="%APPNAME" MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin" -export MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh" +MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh" +if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then + [ -h "/usr/bin/$MOZ_APPNAME" ] && \ + _link=$(readlink -f "/usr/bin/$MOZ_APPNAME") + if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then + export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME" + fi +else + export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME" +fi mozilla_lib=`file $MOZ_PROGRAM` LIB=lib -echo $mozilla_lib | grep -q -E 'x86-64|s390x|ppc64' && LIB=lib64 +echo $mozilla_lib | grep -q -E 'x86-64|s390x|64-bit.PowerPC' && LIB=lib64 BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins if [ ! -d $BROWSER_PLUGIN_DIR ]; then ++++++ tb-develdirs.patch ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -1,6 +1,12 @@ ---- config/autoconf.mk.in.orig 2009-02-11 20:12:19.000000000 +0100 -+++ config/autoconf.mk.in 2009-02-11 20:13:15.000000000 +0100 -@@ -60,11 +60,11 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@ +diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in +--- a/config/autoconf.mk.in ++++ b/config/autoconf.mk.in +@@ -56,21 +56,21 @@ MOZ_APP_NAME = @MOZ_APP_NAME@ + MOZ_APP_DISPLAYNAME = @MOZ_APP_DISPLAYNAME@ + MOZ_APP_VERSION = @MOZ_APP_VERSION@ + + MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@ + prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ @@ -10,7 +16,12 @@ datadir = @datadir@ mandir = @mandir@ -idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+idldir = @libdir@/$(MOZ_APP_NAME)3 ++idldir = $(datadir)/idl/$(MOZ_APP_NAME)3 installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + + MOZDEPTH = $(DEPTH)/mozilla + DIST = $(MOZDEPTH)/dist + LIBXUL_SDK = @LIBXUL_SDK@ + ++++++ tb-ssldap.patch ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -1,7 +1,7 @@ diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in --- a/mail/installer/package-manifest.in +++ b/mail/installer/package-manifest.in -@@ -240,16 +240,17 @@ +@@ -268,16 +268,17 @@ #ifdef XP_WIN32 @BINPATH@/nsldap32v60@DLL_SUFFIX@ @BINPATH@/nsldappr32v60@DLL_SUFFIX@ @@ -18,4 +18,4 @@ @BINPATH@/components/nsLoginInfo.js @BINPATH@/components/nsLoginManager.js @BINPATH@/components/nsLoginManagerPrompter.js - @BINPATH@/components/storage-Legacy.js + @BINPATH@/components/passwordmgr.manifest ++++++ thunderbird-3.1.10-source.tar.bz2 -> thunderbird-5.0-source.tar.bz2 ++++++ MozillaThunderbird/thunderbird-3.1.10-source.tar.bz2 /mounts/work_src_done/STABLE/MozillaThunderbird/thunderbird-5.0-source.tar.bz2 differ: char 11, line 1 ++++++ thunderbird-gio.patch ++++++ Bug 624341 - Update check for default mailer to work the new way (glib >= 2.27.1) diff --git a/mail/components/shell/nsMailGNOMEIntegration.cpp b/mail/components/shell/nsMailGNOMEIntegration.cpp --- a/mail/components/shell/nsMailGNOMEIntegration.cpp +++ b/mail/components/shell/nsMailGNOMEIntegration.cpp @@ -33,28 +33,30 @@ * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #include "nsMailGNOMEIntegration.h" #include "nsIGConfService.h" +#include "nsIGIOService.h" #include "nsCOMPtr.h" #include "nsIServiceManager.h" #include "prenv.h" #include "nsIFile.h" #include "nsIStringBundle.h" #include "nsIPromptService.h" #include "nsIPrefService.h" #include "nsIPrefBranch.h" #include "nsDirectoryServiceDefs.h" #include "nsDirectoryServiceUtils.h" #include "nsEmbedCID.h" #include "nsMemory.h" +#include "nsIStringBundle.h" #include <glib.h> #include <limits.h> #include <stdlib.h> static const char* const sMailProtocols[] = { "mailto" }; @@ -77,18 +79,19 @@ nsMailGNOMEIntegration::nsMailGNOMEInteg nsresult nsMailGNOMEIntegration::Init() { nsresult rv; // GConf _must_ be available, or we do not allow CreateInstance to succeed. nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); - if (!gconf) + if (!gconf && !giovfs) return NS_ERROR_NOT_AVAILABLE; // Check G_BROKEN_FILENAMES. If it's set, then filenames in glib use // the locale encoding. If it's not set, they use UTF-8. mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nsnull; if (GetAppPathFromLauncher()) return NS_OK; @@ -117,18 +120,18 @@ nsMailGNOMEIntegration::GetAppPathFromLa return PR_FALSE; if (g_path_is_absolute(launcher)) { mAppPath = launcher; tmp = g_path_get_basename(launcher); gchar *fullpath = g_find_program_in_path(tmp); if (fullpath && mAppPath.Equals(fullpath)) { mAppIsInPath = PR_TRUE; - g_free(fullpath); } + g_free(fullpath); } else { tmp = g_find_program_in_path(launcher); if (!tmp) return PR_FALSE; mAppPath = tmp; mAppIsInPath = PR_TRUE; } @@ -210,66 +213,117 @@ nsMailGNOMEIntegration::KeyMatchesAppNam return PR_FALSE; PRBool matches = mAppPath.Equals(commandPath); g_free(commandPath); return matches; } PRBool +nsMailGNOMEIntegration::CheckHandlerMatchesAppName(const nsACString &handler) const +{ + gint argc; + gchar **argv; + nsCAutoString command(handler); + + if (g_shell_parse_argv(command.get(), &argc, &argv, NULL)) { + command.Assign(argv[0]); + g_strfreev(argv); + } else { + return PR_FALSE; + } + + return KeyMatchesAppName(command.get()); +} + +PRBool nsMailGNOMEIntegration::checkDefault(const char* const *aProtocols, unsigned int aLength) { nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); PRBool enabled; nsCAutoString handler; + nsresult rv; for (unsigned int i = 0; i < aLength; ++i) { - handler.Truncate(); - nsresult rv = gconf->GetAppForProtocol(nsDependentCString(aProtocols[i]), - &enabled, handler); - if (NS_SUCCEEDED(rv)) - { - // The string will be something of the form: [/path/to/]app "%s" - // We want to remove all of the parameters and get just the binary name. + if (gconf) { + handler.Truncate(); + rv = gconf->GetAppForProtocol(nsDependentCString(aProtocols[i]), + &enabled, handler); + if (NS_SUCCEEDED(rv) && (!CheckHandlerMatchesAppName(handler) || !enabled)) { + return PR_FALSE; + } + } - gint argc; - gchar **argv; - - if (g_shell_parse_argv(handler.get(), &argc, &argv, NULL) && argc > 0) { - handler.Assign(argv[0]); - g_strfreev(argv); - } else + if (giovfs) { + handler.Truncate(); + nsCOMPtr<nsIGIOMimeApp> app; + rv = giovfs->GetAppForURIScheme(nsDependentCString(aProtocols[i]), + getter_AddRefs(app)); + if (NS_FAILED(rv) || !app) { return PR_FALSE; - - if (!KeyMatchesAppName(handler.get()) || !enabled) - return PR_FALSE; // the handler is disabled or set to another app + } + rv = app->GetCommand(handler); + if (NS_SUCCEEDED(rv) && !CheckHandlerMatchesAppName(handler)) { + return PR_FALSE; + } } } return PR_TRUE; } nsresult nsMailGNOMEIntegration::MakeDefault(const char* const *aProtocols, unsigned int aLength) { nsCAutoString appKeyValue; nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); if(mAppIsInPath) { // mAppPath is in the users path, so use only the basename as the launcher gchar *tmp = g_path_get_basename(mAppPath.get()); appKeyValue = tmp; g_free(tmp); } else { appKeyValue = mAppPath; } appKeyValue.AppendLiteral(" %s"); - for (unsigned int i = 0; i < aLength; ++i) { - nsresult rv = gconf->SetAppForProtocol(nsDependentCString(aProtocols[i]), - appKeyValue); + nsresult rv; + if (gconf) { + for (unsigned int i = 0; i < aLength; ++i) { + rv = gconf->SetAppForProtocol(nsDependentCString(aProtocols[i]), + appKeyValue); + NS_ENSURE_SUCCESS(rv, rv); + } + } + + if (giovfs) { + nsCOMPtr<nsIStringBundleService> bundleService = + do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); + + nsCOMPtr<nsIStringBundle> brandBundle; + rv = bundleService->CreateBundle(BRAND_PROPERTIES, getter_AddRefs(brandBundle)); + NS_ENSURE_SUCCESS(rv, rv); + + nsString brandShortName; + brandBundle->GetStringFromName(NS_LITERAL_STRING("brandShortName").get(), + getter_Copies(brandShortName)); + + // use brandShortName as the application id. + NS_ConvertUTF16toUTF8 id(brandShortName); + + nsCOMPtr<nsIGIOMimeApp> app; + rv = giovfs->CreateAppFromCommand(mAppPath, id, getter_AddRefs(app)); + NS_ENSURE_SUCCESS(rv, rv); + + for (unsigned int i = 0; i < aLength; ++i) { + rv = app->SetAsDefaultForURIScheme(nsDependentCString(aProtocols[i])); + NS_ENSURE_SUCCESS(rv, rv); + } } return NS_OK; } diff --git a/mail/components/shell/nsMailGNOMEIntegration.h b/mail/components/shell/nsMailGNOMEIntegration.h --- a/mail/components/shell/nsMailGNOMEIntegration.h +++ b/mail/components/shell/nsMailGNOMEIntegration.h @@ -37,16 +37,18 @@ * ***** END LICENSE BLOCK ***** */ #ifndef nsMailGNOMEIntegration_h_ #define nsMailGNOMEIntegration_h_ #include "nsIShellService.h" #include "nsStringGlue.h" +#define BRAND_PROPERTIES "chrome://branding/locale/brand.properties" + #define NS_MAILGNOMEINTEGRATION_CID \ {0xbddef0f4, 0x5e2d, 0x4846, {0xbd, 0xec, 0x86, 0xd0, 0x78, 0x1d, 0x8d, 0xed}} class nsMailGNOMEIntegration : public nsIShellService { public: NS_DECL_ISUPPORTS NS_DECL_NSISHELLSERVICE @@ -57,15 +59,16 @@ public: protected: virtual ~nsMailGNOMEIntegration() {}; PRBool KeyMatchesAppName(const char *aKeyValue) const; PRBool checkDefault(const char* const *aProtocols, unsigned int aLength); nsresult MakeDefault(const char* const *aProtocols, unsigned int aLength); private: PRBool GetAppPathFromLauncher(); + PRBool CheckHandlerMatchesAppName(const nsACString& handler) const; PRPackedBool mUseLocaleFilenames; PRPackedBool mCheckedThisSession; nsCString mAppPath; PRPackedBool mAppIsInPath; }; #endif ++++++ thunderbird-shared-nss-db.patch ++++++ --- /var/tmp/diff_new_pack.EoWQ1f/_old 2011-07-11 15:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.EoWQ1f/_new 2011-07-11 15:51:38.000000000 +0200 @@ -7,7 +7,7 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in -@@ -470,16 +470,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB +@@ -459,16 +459,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB XT_LIBS = @XT_LIBS@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@ @@ -25,19 +25,19 @@ MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@ COMPILER_DEPEND = @COMPILER_DEPEND@ MDDEPDIR := @MDDEPDIR@ - - MOZ_DEMANGLE_SYMBOLS = @MOZ_DEMANGLE_SYMBOLS@ + CC_WRAPPER = @CC_WRAPPER@ + CXX_WRAPPER = @CXX_WRAPPER@ diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in -@@ -6999,16 +6999,31 @@ AC_SUBST(QCMS_LIBS) +@@ -6796,16 +6796,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== - dnl OTS + dnl HarfBuzz dnl ======================================================== - MOZ_OTS_LIBS='$(DEPTH)/mozilla/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)' - AC_SUBST(MOZ_OTS_LIBS) + MOZ_HARFBUZZ_LIBS='$(DEPTH)/mozilla/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)' + AC_SUBST(MOZ_HARFBUZZ_LIBS) dnl ======================================================== +dnl Check for nss-shared-helper @@ -66,21 +66,21 @@ diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in --- a/mail/app/Makefile.in +++ b/mail/app/Makefile.in -@@ -127,16 +127,17 @@ APP_XPCOM_LIBS = $(XPCOM_LIBS) +@@ -124,16 +124,17 @@ MOZILLA_INTERNAL_API = 1 + APP_XPCOM_LIBS = $(XPCOM_LIBS) endif LIBS += \ $(STATIC_COMPONENTS_LINKER_PATH) \ - $(MOZ_JS_LIBS) \ $(EXTRA_DSO_LIBS) \ $(APP_XPCOM_LIBS) \ $(NSPR_LIBS) \ + $(NSSHELPER_LIBS) \ - $(TK_LIBS) \ $(NULL) - # Add explicit X11 dependency when building against X11 toolkits - ifneq (,$(filter gtk gtk2 xlib,$(MOZ_WIDGET_TOOLKIT))) - LIBS += $(XLDFLAGS) $(XLIBS) - endif + ifdef BUILD_STATIC_LIBS + LIBS += \ + $(MOZ_JS_LIBS) \ + $(TK_LIBS) \ + $(NULL) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
