--- thunderbird-9.0+build2.orig/comm-release-9.0+build2-source.tar.bz2.cdbs-config_list +++ thunderbird-9.0+build2/comm-release-9.0+build2-source.tar.bz2.cdbs-config_list @@ -0,0 +1,206 @@ +mozilla/build/autoconf/config.guess +mozilla/calendar/libical/config.h +mozilla/config/config.mk +mozilla/ldap/sdks/c-sdk/config/autoconf/config.guess +mozilla/ldap/sdks/c-sdk/config/autoconf/config.sub +mozilla/ldap/sdks/c-sdk/config/config.mk +mozilla/suite/themes/modern/global/config.css +mozilla/mozilla/build/autoconf/config.guess +mozilla/mozilla/build/autoconf/config.sub +mozilla/mozilla/config/config.mk +mozilla/mozilla/extensions/irc/locales/en-US/chrome/config.dtd +mozilla/mozilla/extensions/irc/xul/content/ceip/config.js +mozilla/mozilla/extensions/irc/xul/content/ceip/config.xul +mozilla/mozilla/extensions/irc/xul/content/config.css +mozilla/mozilla/extensions/irc/xul/content/config.js +mozilla/mozilla/extensions/irc/xul/content/config.xul +mozilla/mozilla/ipc/chromium/src/third_party/libevent/config.guess +mozilla/mozilla/ipc/chromium/src/third_party/libevent/config.h.in +mozilla/mozilla/ipc/chromium/src/third_party/libevent/config.sub +mozilla/mozilla/ipc/chromium/src/third_party/libevent/linux/config.h +mozilla/mozilla/ipc/chromium/src/third_party/libevent/mac/config.h +mozilla/mozilla/js/src/build/autoconf/config.guess +mozilla/mozilla/js/src/build/autoconf/config.sub +mozilla/mozilla/js/src/config/config.mk +mozilla/mozilla/js/src/ctypes/libffi/config.guess +mozilla/mozilla/js/src/ctypes/libffi/config.sub +mozilla/mozilla/js/src/tracevis/config.py +mozilla/mozilla/media/libtheora/lib/config.h +mozilla/mozilla/media/libvpx/vpx_ports/config.h +mozilla/mozilla/mobile/chrome/content/config.js +mozilla/mozilla/mobile/chrome/content/config.xul +mozilla/mozilla/mobile/locales/en-US/chrome/config.dtd +mozilla/mozilla/mobile/themes/core/config.css +mozilla/mozilla/modules/freetype2/builds/unix/config.guess +mozilla/mozilla/modules/freetype2/builds/unix/config.sub +mozilla/mozilla/nsprpub/build/autoconf/config.guess +mozilla/mozilla/nsprpub/build/autoconf/config.sub +mozilla/mozilla/nsprpub/config/config.mk +mozilla/mozilla/security/coreconf/config.mk +mozilla/mozilla/security/dbm/config/config.mk +mozilla/mozilla/security/dbm/src/config.mk +mozilla/mozilla/security/nss/cmd/crmf-cgi/config.mk +mozilla/mozilla/security/nss/cmd/crmftest/config.mk +mozilla/mozilla/security/nss/cmd/lib/config.mk +mozilla/mozilla/security/nss/cmd/libpkix/config.mk +mozilla/mozilla/security/nss/cmd/libpkix/testutil/config.mk +mozilla/mozilla/security/nss/lib/base/config.mk +mozilla/mozilla/security/nss/lib/certdb/config.mk +mozilla/mozilla/security/nss/lib/certhigh/config.mk +mozilla/mozilla/security/nss/lib/ckfw/builtins/config.mk +mozilla/mozilla/security/nss/lib/ckfw/capi/config.mk +mozilla/mozilla/security/nss/lib/ckfw/config.mk +mozilla/mozilla/security/nss/lib/ckfw/dbm/config.mk +mozilla/mozilla/security/nss/lib/ckfw/nssmkey/config.mk +mozilla/mozilla/security/nss/lib/crmf/config.mk +mozilla/mozilla/security/nss/lib/cryptohi/config.mk +mozilla/mozilla/security/nss/lib/dev/config.mk +mozilla/mozilla/security/nss/lib/freebl/config.mk +mozilla/mozilla/security/nss/lib/jar/config.mk +mozilla/mozilla/security/nss/lib/libpkix/config.mk +mozilla/mozilla/security/nss/lib/libpkix/include/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/certsel/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/checker/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/crlsel/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/params/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/results/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/store/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/top/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix/util/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix_pl_nss/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix_pl_nss/module/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix_pl_nss/pki/config.mk +mozilla/mozilla/security/nss/lib/libpkix/pkix_pl_nss/system/config.mk +mozilla/mozilla/security/nss/lib/nss/config.mk +mozilla/mozilla/security/nss/lib/pk11wrap/config.mk +mozilla/mozilla/security/nss/lib/pkcs12/config.mk +mozilla/mozilla/security/nss/lib/pkcs7/config.mk +mozilla/mozilla/security/nss/lib/pki/config.mk +mozilla/mozilla/security/nss/lib/smime/config.mk +mozilla/mozilla/security/nss/lib/softoken/config.mk +mozilla/mozilla/security/nss/lib/softoken/legacydb/config.mk +mozilla/mozilla/security/nss/lib/sqlite/config.mk +mozilla/mozilla/security/nss/lib/ssl/config.mk +mozilla/mozilla/security/nss/lib/sysinit/config.mk +mozilla/mozilla/security/nss/lib/util/config.mk +mozilla/mozilla/security/nss/lib/zlib/config.mk +mozilla/mozilla/security/nss/tests/pkcs11/netscape/suites/config.mk +mozilla/mozilla/security/nss/tests/pkcs11/netscape/suites/security/config.mk +mozilla/mozilla/security/nss/tests/pkcs11/netscape/suites/security/pkcs11/config.mk +mozilla/mozilla/security/nss/tests/pkcs11/netscape/suites/security/ssl/config.mk +mozilla/mozilla/security/nss/tests/pkcs11/netscape/trivial/config.h.in +mozilla/mozilla/testing/tps/config/config.json.in +mozilla/mozilla/toolkit/components/viewconfig/content/config.js +mozilla/mozilla/toolkit/components/viewconfig/content/config.xul +mozilla/mozilla/toolkit/crashreporter/google-breakpad/autotools/config.guess +mozilla/mozilla/toolkit/crashreporter/google-breakpad/autotools/config.sub +mozilla/mozilla/toolkit/crashreporter/google-breakpad/src/config.h.in +mozilla/mozilla/toolkit/locales/en-US/chrome/global/config.dtd +mozilla/mozilla/toolkit/locales/en-US/chrome/global/config.properties +mozilla/mozilla/toolkit/themes/pinstripe/global/config.css +mozilla/mozilla/toolkit/themes/winstripe/global/config.css +mozilla/mozilla/tools/jprof/stub/config.h +mozilla/mozilla/tools/leaky/config.h +mozilla/l10n/ar/toolkit/chrome/global/config.dtd +mozilla/l10n/ar/toolkit/chrome/global/config.properties +mozilla/l10n/be/toolkit/chrome/global/config.dtd +mozilla/l10n/be/toolkit/chrome/global/config.properties +mozilla/l10n/bg/toolkit/chrome/global/config.dtd +mozilla/l10n/bg/toolkit/chrome/global/config.properties +mozilla/l10n/bn-BD/toolkit/chrome/global/config.dtd +mozilla/l10n/bn-BD/toolkit/chrome/global/config.properties +mozilla/l10n/br/toolkit/chrome/global/config.dtd +mozilla/l10n/br/toolkit/chrome/global/config.properties +mozilla/l10n/ca/toolkit/chrome/global/config.dtd +mozilla/l10n/ca/toolkit/chrome/global/config.properties +mozilla/l10n/cs/toolkit/chrome/global/config.dtd +mozilla/l10n/cs/toolkit/chrome/global/config.properties +mozilla/l10n/da/toolkit/chrome/global/config.dtd +mozilla/l10n/da/toolkit/chrome/global/config.properties +mozilla/l10n/de/toolkit/chrome/global/config.dtd +mozilla/l10n/de/toolkit/chrome/global/config.properties +mozilla/l10n/el/toolkit/chrome/global/config.dtd +mozilla/l10n/el/toolkit/chrome/global/config.properties +mozilla/l10n/en-GB/toolkit/chrome/global/config.dtd +mozilla/l10n/en-GB/toolkit/chrome/global/config.properties +mozilla/l10n/es-AR/toolkit/chrome/global/config.dtd +mozilla/l10n/es-AR/toolkit/chrome/global/config.properties +mozilla/l10n/es-ES/toolkit/chrome/global/config.dtd +mozilla/l10n/es-ES/toolkit/chrome/global/config.properties +mozilla/l10n/et/toolkit/chrome/global/config.dtd +mozilla/l10n/et/toolkit/chrome/global/config.properties +mozilla/l10n/eu/toolkit/chrome/global/config.dtd +mozilla/l10n/eu/toolkit/chrome/global/config.properties +mozilla/l10n/fi/toolkit/chrome/global/config.dtd +mozilla/l10n/fi/toolkit/chrome/global/config.properties +mozilla/l10n/fr/toolkit/chrome/global/config.dtd +mozilla/l10n/fr/toolkit/chrome/global/config.properties +mozilla/l10n/fy-NL/toolkit/chrome/global/config.dtd +mozilla/l10n/fy-NL/toolkit/chrome/global/config.properties +mozilla/l10n/ga-IE/toolkit/chrome/global/config.dtd +mozilla/l10n/ga-IE/toolkit/chrome/global/config.properties +mozilla/l10n/gd/toolkit/chrome/global/config.dtd +mozilla/l10n/gd/toolkit/chrome/global/config.properties +mozilla/l10n/gl/toolkit/chrome/global/config.dtd +mozilla/l10n/gl/toolkit/chrome/global/config.properties +mozilla/l10n/he/toolkit/chrome/global/config.dtd +mozilla/l10n/he/toolkit/chrome/global/config.properties +mozilla/l10n/hu/toolkit/chrome/global/config.dtd +mozilla/l10n/hu/toolkit/chrome/global/config.properties +mozilla/l10n/id/toolkit/chrome/global/config.dtd +mozilla/l10n/id/toolkit/chrome/global/config.properties +mozilla/l10n/is/toolkit/chrome/global/config.dtd +mozilla/l10n/is/toolkit/chrome/global/config.properties +mozilla/l10n/it/toolkit/chrome/global/config.dtd +mozilla/l10n/it/toolkit/chrome/global/config.properties +mozilla/l10n/ja/toolkit/chrome/global/config.dtd +mozilla/l10n/ja/toolkit/chrome/global/config.properties +mozilla/l10n/ja-JP-mac/toolkit/chrome/global/config.dtd +mozilla/l10n/ja-JP-mac/toolkit/chrome/global/config.properties +mozilla/l10n/ko/toolkit/chrome/global/config.dtd +mozilla/l10n/ko/toolkit/chrome/global/config.properties +mozilla/l10n/lt/toolkit/chrome/global/config.dtd +mozilla/l10n/lt/toolkit/chrome/global/config.properties +mozilla/l10n/nb-NO/toolkit/chrome/global/config.dtd +mozilla/l10n/nb-NO/toolkit/chrome/global/config.properties +mozilla/l10n/nl/toolkit/chrome/global/config.dtd +mozilla/l10n/nl/toolkit/chrome/global/config.properties +mozilla/l10n/nn-NO/toolkit/chrome/global/config.dtd +mozilla/l10n/nn-NO/toolkit/chrome/global/config.properties +mozilla/l10n/pa-IN/toolkit/chrome/global/config.dtd +mozilla/l10n/pa-IN/toolkit/chrome/global/config.properties +mozilla/l10n/pl/toolkit/chrome/global/config.dtd +mozilla/l10n/pl/toolkit/chrome/global/config.properties +mozilla/l10n/pt-BR/toolkit/chrome/global/config.dtd +mozilla/l10n/pt-BR/toolkit/chrome/global/config.properties +mozilla/l10n/pt-PT/toolkit/chrome/global/config.dtd +mozilla/l10n/pt-PT/toolkit/chrome/global/config.properties +mozilla/l10n/rm/toolkit/chrome/global/config.dtd +mozilla/l10n/rm/toolkit/chrome/global/config.properties +mozilla/l10n/ro/toolkit/chrome/global/config.dtd +mozilla/l10n/ro/toolkit/chrome/global/config.properties +mozilla/l10n/ru/toolkit/chrome/global/config.dtd +mozilla/l10n/ru/toolkit/chrome/global/config.properties +mozilla/l10n/si/toolkit/chrome/global/config.dtd +mozilla/l10n/si/toolkit/chrome/global/config.properties +mozilla/l10n/sk/toolkit/chrome/global/config.dtd +mozilla/l10n/sk/toolkit/chrome/global/config.properties +mozilla/l10n/sl/toolkit/chrome/global/config.dtd +mozilla/l10n/sl/toolkit/chrome/global/config.properties +mozilla/l10n/sq/toolkit/chrome/global/config.dtd +mozilla/l10n/sq/toolkit/chrome/global/config.properties +mozilla/l10n/sv-SE/toolkit/chrome/global/config.dtd +mozilla/l10n/sv-SE/toolkit/chrome/global/config.properties +mozilla/l10n/ta-LK/toolkit/chrome/global/config.dtd +mozilla/l10n/ta-LK/toolkit/chrome/global/config.properties +mozilla/l10n/tr/toolkit/chrome/global/config.dtd +mozilla/l10n/tr/toolkit/chrome/global/config.properties +mozilla/l10n/uk/toolkit/chrome/global/config.dtd +mozilla/l10n/uk/toolkit/chrome/global/config.properties +mozilla/l10n/vi/toolkit/chrome/global/config.dtd +mozilla/l10n/vi/toolkit/chrome/global/config.properties +mozilla/l10n/zh-CN/toolkit/chrome/global/config.dtd +mozilla/l10n/zh-CN/toolkit/chrome/global/config.properties +mozilla/l10n/zh-TW/toolkit/chrome/global/config.dtd +mozilla/l10n/zh-TW/toolkit/chrome/global/config.properties --- thunderbird-9.0+build2.orig/debian/thunderbird.links.in +++ thunderbird-9.0+build2/debian/thunderbird.links.in @@ -0,0 +1,7 @@ +@MOZ_PREFIX@/lib/@MOZ_APP_NAME@-addons/extensions @MOZ_LIBDIR@/extensions +@MOZ_PREFIX@/lib/@MOZ_APP_NAME@-addons/plugins @MOZ_LIBDIR@/plugins +@MOZ_SYSTEM_DICTDIR@ @MOZ_LIBDIR@/dictionaries +/usr/share/hyphen @MOZ_LIBDIR@/hyphenation +@MOZ_LIBDIR@/thunderbird.sh /usr/bin/@MOZ_APP_NAME@ +@MOZ_LIBDIR@/chrome/icons/default/default256.png /usr/share/pixmaps/@MOZ_APP_NAME@.png +/etc/@MOZ_APP_NAME@/pref @MOZ_LIBDIR@/defaults/syspref --- thunderbird-9.0+build2.orig/debian/control.langpacks +++ thunderbird-9.0+build2/debian/control.langpacks @@ -0,0 +1,7 @@ + +Package: @MOZ_APP_NAME@-locale-@LANGCODE@ +Architecture: all +Depends: @MOZ_APP_NAME@, ${misc:Depends} +Description: @LANG@ language pack for Thunderbird + This package contains @LANG@ translations and search plugins + for Thunderbird --- thunderbird-9.0+build2.orig/debian/copyright +++ thunderbird-9.0+build2/debian/copyright @@ -0,0 +1,647 @@ +This package was debianized by Fabien Tassin on 2008-02-25 + +The package was downloaded from http://ftp.mozilla.org/pub/mozilla.org/thunderbird/ + +EDIT: downloaded from CVS (until 3.0 is released) using the following commands: + debian/rules get-orig-source (you need to install mozilla-devscripts >= 0.05) + +The source tarball is an aggregate of several different works in which the +main one, developed by the Mozilla Project, is thunderbird. + +The contents of the debian directory are licensed like the bulk of +thunderbird, tri-licensed under the GPL/LGPL/MPL. + +Other works include gzip, bzip2, sqlite, libjpeg, libpng, cairo, and others. +Please see the sections following the copyright statements for thunderbird for +these. + +If this file is incomplete, which I'm pretty sure is the case, because it's +difficult not to forget anything in this huge amount of data, please file +a bug or contact me. + +=== thunderbird + +Overall, the thunderbird project is licensed under the terms of the Mozilla +Public License version 1.1 or, at your option, under the terms of the GNU +General Public License version 2 or subsequent, or the terms of the GNU +Lesser General Public License version 2.1 or subsequent. + +On Debian systems, the complete text of the GNU General Public +License can be found in the file `/usr/share/common-licenses/GPL' ; +the complete text of the GNU Lesser General Public License can be +found in the file `/usr/share/common-licenses/LGPL'. + +The complete text of the Mozilla Public License can be found in the MPL file +in the same directory as this file. + +Some of the files are also licensed (single, dual or tri) under the terms of +the Netscape Public License (NPL) which can be found as amendments to the +MPL at the end of the file. Please refer to http://www.mozilla.org/MPL/relicensing-faq.html + +While the Mozilla Project is undergoing a global relicensing so that the +aim is to have a full tree with these tri-license terms, there are at the +moment quite some exceptions as following: + +(Note that I sometimes assumed files not explicitely licensed to be licensed +under the same terms as the files around them and that a lot of the +information has been extracted automatically, thus maybe leaving some doubt. +Again, if you find "bugs", please contact me by email or via the BTS.) + +The following files are not tri-licenced MPL/GPL/LGPL: + +- GPL only: + dom/tests/mochitest/ajax/jquery/dist/jquery.js + dom/tests/mochitest/ajax/jquery/src/jquery/jquery.js + +- MPL and GPL: + embedding/browser/activex/src/install/README.txt + +- MPL and LGPL: + gfx/cairo/cairo/* + +- GPL and LGP: + extensions/pref/system-pref/src/gconf/nsSystemPrefService.cpp + extensions/pref/system-pref/src/gconf/nsSystemPrefService.h + extensions/pref/system-pref/src/nsSystemPref.cpp + extensions/pref/system-pref/src/nsSystemPref.h + extensions/pref/system-pref/src/nsSystemPrefFactory.cpp + extensions/pref/system-pref/src/nsSystemPrefLog.h + netwerk/base/public/nsIIOService2.idl + netwerk/base/public/nsINetworkLinkService.idl + netwerk/streamconv/converters/mozTXTToHTMLConv.cpp + netwerk/streamconv/converters/mozTXTToHTMLConv.h + netwerk/streamconv/public/mozITXTToHTMLConv.idl + toolkit/system/dbus/nsDBusModule.cpp + toolkit/system/dbus/nsDBusService.cpp + toolkit/system/dbus/nsDBusService.h + toolkit/system/dbus/nsNetworkManagerListener.cpp + toolkit/system/dbus/nsNetworkManagerListener.h + +- NPL only (thus MPL): (EDIT: to investigate) + intl/uconv/ucvibm/864i.uf + intl/uconv/ucvibm/cp850.uf + intl/uconv/ucvibm/cp852.uf + intl/uconv/ucvibm/cp855.uf + intl/uconv/ucvibm/cp857.uf + intl/uconv/ucvibm/cp862.uf + intl/uconv/ucvibm/cp864.uf + intl/uconv/ucvmath/mathematica1.uf + intl/uconv/ucvmath/mathematica2.uf + intl/uconv/ucvmath/mathematica3.uf + intl/uconv/ucvmath/mathematica4.uf + intl/uconv/ucvmath/mathematica5.uf + intl/uconv/ucvmath/mtextra.uf + intl/uconv/ucvmath/texcmex-t1.uf + intl/uconv/ucvmath/texcmex-ttf.uf + intl/uconv/ucvmath/texcmmi-t1.uf + intl/uconv/ucvmath/texcmmi-ttf.uf + intl/uconv/ucvmath/texcmr-ttf.uf + intl/uconv/ucvmath/texcmsy-t1.uf + +- Public Domain: + aclocal.m4 + build/autoconf/freetype2.m4 + build/autoconf/gtk.m4 + build/autoconf/nspr.m4 + db/mork/src/morkDeque.cpp + db/mork/src/morkDeque.h + +The file db/mork/src/morkQuickSort.cpp is licensed under the following terms: + + Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +The following files come from X11R5, without any clear licensing terms: + + build/autoconf/install-sh + directory/c-sdk/config/autoconf/install-sh + nsprpub/build/autoconf/install-sh + +The embedding/qa/mozembed/public/nsIQABrowserUIGlue.idl file and the files +under the embedding/tests directory are licensed under the following terms: + + Copyright (c) 2002 Netscape Communications Corporation and + other contributors + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this Mozilla sample software and associated documentation files + (the "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +=== sqlite + +The db/sqlite3 directory contains a copy of sqlite with the following +licensing terms: + + The author disclaims copyright to this source code. In place of + a legal notice, here is a blessing: + + May you do good and not evil. + May you find forgiveness for yourself and forgive others. + May you share freely, never taking more than you give. + +=== dbm + +The dbm directory, except the files listed under the thunderbird section, is +licensed under the following terms: + + Copyright (c) 1991, 1993, 1994 + The Regents of the University of California. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +=== myspell + +The extensions/spellcheck/myspell directory is licensed under the following +terms: + + Copyright 2002 Kevin B. Hendricks, Stratford, Ontario, Canada + And Contributors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. All modifications to the source code must be clearly marked as + such. Binary redistributions based on modified source code + must be clearly marked as modified versions in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY KEVIN B. HENDRICKS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + KEVIN B. HENDRICKS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +=== boehm + +The gc/boehm directory, except the files listed under the thunderbird section, +is licensed under the following terms: + + Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers + Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved. + Copyright (c) 1996-1998 by Silicon Graphics. All rights reserved. + + THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED + OR IMPLIED. ANY USE IS AT YOUR OWN RISK. + + Permission is hereby granted to use or copy this program + for any purpose, provided the above notices are retained on all copies. + Permission to modify the code and to distribute modified code is granted, + provided the above notices are retained, and a notice that the code was + modified is included with the above copyright notice. + +=== cairo + +The gfx/cairo/cairo directory is licensed under the following terms: + + Copyright (c) 2003 University of Southern California + Copyright (c) 1999 Tom Tromey + Copyright (c) 2002, 2003 University of Southern California + Copyright (c) 2004 Calum Robinson + Copyright (c) 2004 David Reveman + Copyright (c) 2000, 2002, 2004 Keith Packard + Copyright (c) 2004, 2005 Red Hat, Inc + + Cairo is free software and is available to be redistributed and/or + modified under the terms of either the GNU Lesser General Public + License (LGPL) version 2.1 or the Mozilla Public License (MPL) version + 1.1. + +=== libpixman + +The gfx/cairo/libpixman directory is licensed under the following terms: +(from gfx/cairo/libpixman/COPYING) + + libpixregion + + Copyright 1987, 1998 The Open Group + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation. + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of The Open Group shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from The Open Group. + + + Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, + provided that the above copyright notice appear in all copies and that + both that copyright notice and this permission notice appear in + supporting documentation, and that the name of Digital not be + used in advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. + + ---------------------------------------------------------------------- + libic + + Copyright © 2001 Keith Packard + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of Keith Packard not be used in + advertising or publicity pertaining to distribution of the software without + specific, written prior permission. Keith Packard makes no + representations about the suitability of this software for any purpose. It + is provided "as is" without express or implied warranty. + + KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + ---------------------------------------------------------------------- + slim + + slim is Copyright © 2003 Richard Henderson + + Permission to use, copy, modify, distribute, and sell this software + and its documentation for any purpose is hereby granted without fee, + provided that the above copyright notice appear in all copies and that + both that copyright notice and this permission notice appear in + supporting documentation, and that the name of Richard Henderson not be + used in advertising or publicity pertaining to distribution of the + software without specific, written prior permission. Richard Henderson + makes no representations about the suitability of this software for + any purpose. It is provided "as is" without express or implied + warranty. + + RICHARD HENDERSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL RICHARD HENDERSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + +=== libjpeg + +The jpeg directory, except the files under the thunderbird section, are licensed +under the following terms: + + The authors make NO WARRANTY or representation, either express or implied, + with respect to this software, its quality, accuracy, merchantability, or + fitness for a particular purpose. This software is provided "AS IS", and you, + its user, assume the entire risk as to its quality and accuracy. + + This software is copyright (C) 1991-1998, Thomas G. Lane. + All Rights Reserved except as specified below. + + Permission is hereby granted to use, copy, modify, and distribute this + software (or portions thereof) for any purpose, without fee, subject to these + conditions: + (1) If any part of the source code for this software is distributed, then this + README file must be included, with this copyright and no-warranty notice + unaltered; and any additions, deletions, or changes to the original files + must be clearly indicated in accompanying documentation. + (2) If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the work of + the Independent JPEG Group". + (3) Permission for use of this software is granted only if the user accepts + full responsibility for any undesirable consequences; the authors accept + NO LIABILITY for damages of any kind. + + These conditions apply to any software derived from or based on the IJG code, + not just to the unmodified library. If you use our work, you ought to + acknowledge us. + + Permission is NOT granted for the use of any IJG author's name or company name + in advertising or publicity relating to this software or products derived from + it. This software may be referred to only as "the Independent JPEG Group's + software". + + We specifically permit and encourage the use of this software as the basis of + commercial products, provided that all warranty or liability claims are + assumed by the product vendor. + +=== bzip2 + +The modules/libbz2/src directory is licensed under the following terms: +(from modules/libbz2/src/LICENSE) + + This program, "bzip2", the associated library "libbzip2", and all + documentation, are copyright (C) 1996-2005 Julian R Seward. All + rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + + 3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Julian Seward, Cambridge, UK. + jseward@acm.org + bzip2/libbzip2 version 1.0.3 of 15 February 2005 + +=== libpng + +The directory modules/libimg/png is licensed under the following terms: +(from modules/libimg/png/LICENSE) + + This copy of the libpng notices is provided for your convenience. In case of + any discrepancy between this copy and the notices in the file png.h that is + included in the libpng distribution, the latter shall prevail. + + COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: + + If you modify libpng you may insert additional notices immediately following + this sentence. + + libpng version 1.2.6, September 12, 2004, is + Copyright (c) 2004 Glenn Randers-Pehrson, and is + distributed according to the same disclaimer and license as libpng-1.2.5 + with the following individual added to the list of Contributing Authors + + Cosmin Truta + + libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are + Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-1.0.6 + with the following individuals added to the list of Contributing Authors + + Simon-Pierre Cadieux + Eric S. Raymond + Gilles Vollant + + and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of the + library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is with + the user. + + libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are + Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-0.96, + with the following individuals added to the list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + + libpng versions 0.89, June 1996, through 0.96, May 1997, are + Copyright (c) 1996, 1997 Andreas Dilger + Distributed according to the same disclaimer and license as libpng-0.88, + with the following individuals added to the list of Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + + libpng versions 0.5, May 1995, through 0.88, January 1996, are + Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. + + For the purposes of this copyright and license, "Contributing Authors" + is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + + The PNG Reference Library is supplied "AS IS". The Contributing Authors + and Group 42, Inc. disclaim all warranties, expressed or implied, + including, without limitation, the warranties of merchantability and of + fitness for any purpose. The Contributing Authors and Group 42, Inc. + assume no liability for direct, indirect, incidental, special, exemplary, + or consequential damages, which may result from the use of the PNG + Reference Library, even if advised of the possibility of such damage. + + Permission is hereby granted to use, copy, modify, and distribute this + source code, or portions hereof, for any purpose, without fee, subject + to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + The Contributing Authors and Group 42, Inc. specifically permit, without + fee, and encourage the use of this source code as a component to + supporting the PNG file format in commercial products. If you use this + source code in a product, acknowledgment is not required but would be + appreciated. + + + A "png_get_copyright" function is available, for convenient use in "about" + boxes and the like: + + printf("%s",png_get_copyright(NULL)); + + Also, the PNG logo (in PNG format, of course) is supplied in the + files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). + + Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a + certification mark of the Open Source Initiative. + + Glenn Randers-Pehrson + glennrp@users.sourceforge.net + September 12, 2004 + +=== zlib + +The directories modules/zlib/src and security/nss/cmd/zlib are licensed under +the following terms: + + (C) 1995-2004 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + If you use the zlib library in a product, we would appreciate *not* + receiving lengthy legal documents to sign. The sources are provided + for free but without warranty of any kind. The library has been + entirely written by Jean-loup Gailly and Mark Adler; it does not + include third-party code. + + If you redistribute modified sources, we would appreciate that you include + in the file ChangeLog history information documenting your changes. Please + read the FAQ for more information on the distribution of modified source + versions. + +=== expat + +The directory parser/expat is licensed under the following terms: +(from parser/expat/COPYING) + + Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd + and Clark Cooper + Copyright (c) 2001, 2002 Expat maintainers. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --- thunderbird-9.0+build2.orig/debian/control +++ thunderbird-9.0+build2/debian/control @@ -0,0 +1,631 @@ +Source: thunderbird +Section: web +Priority: optional +Maintainer: Ubuntu Mozilla Team +Vcs-Bzr: https://code.launchpad.net/~mozillateam/thunderbird/thunderbird.maverick.ppa +Build-Depends: cdbs (>= 0.4.27), + debhelper (>= 5), + m4, + autotools-dev, + autoconf2.13, + quilt, + zip, + libx11-dev, + libxt-dev, + libxext-dev, + libgtk2.0-dev (>= 2.10), + libglib2.0-dev, + libpango1.0-dev (>= 1.14.0), + libidl-dev (>= 0.8.0), + libfontconfig1-dev, + libgconf2-dev (>= 1.2.1), + libgnomeui-dev (>= 2.2.0), + libstartup-notification0-dev, + libasound2-dev, + libcurl4-openssl-dev, + libdbus-glib-1-dev (>= 0.60), + lsb-release, + libiw-dev, + mesa-common-dev, + libnotify-dev, + libxrender-dev, + libfreetype6-dev (>= 2.0.1), + libgnomevfs2-dev (>= 1:2.0), + yasm (>= 1.1), + imagemagick, + docbook-to-man, + libkrb5-dev, + unzip +Standards-Version: 3.9.1 + +Package: thunderbird +Architecture: any +Depends: fontconfig, + psmisc, + debianutils (>= 1.16), + ${shlibs:Depends}, + ${misc:Depends} +Recommends: myspell-en-us | hunspell-dictionary | myspell-dictionary +Suggests: thunderbird-gnome-support (= ${binary:Version}), + latex-xft-fonts, + libthai0 +Replaces: mozilla-thunderbird, + thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3) +Conflicts: mozilla-thunderbird +Breaks: thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3) +Provides: mail-reader +Section: mail +Description: Email, RSS and newsgroup client with integrated spam filter + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + +Package: thunderbird-gnome-support +Architecture: any +Section: gnome +Depends: ${shlibs:Depends}, thunderbird (= ${binary:Version}), ${misc:Depends} +Description: Email, RSS and newsgroup client - GNOME support + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package depends on the GNOME libraries which allow Thunderbird to take + advantage of technologies such as GConf, GIO and libnotify + +Package: thunderbird-dev +Architecture: any +Section: devel +Depends: thunderbird (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, + ${nss:Depends}, + ${nspr:Depends}, + ${cairo:Depends} +Description: Email, RSS and newsgroup client - development files + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the headers and SDK for building plugins and extensions + with Thunderbird + +Package: thunderbird-dbg +Architecture: any +Section: debug +Priority: extra +Depends: thunderbird, ${shlibs:Depends}, ${misc:Depends} +Description: Email, RSS and newsgroup client - debug symbols + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the debugging symbols for Thunderbird + +Package: thunderbird-mozsymbols +Architecture: amd64 i386 armel +Section: debug +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Email, RSS and newsgroup client - Breakpad symbols + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the Firefox symbols in a format expected by Mozilla's + Breakpad. Eventually this package should go away and the symbol upload be + implemented in soyuz (or other builders that build this package) + +# Transitional packages below here + +Package: thunderbird-gnome-support-dbg +Architecture: any +Depends: thunderbird-gnome-support, thunderbird-dbg, ${misc:Depends} +Description: Email, RSS and newsgroup client - transitional package + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-bn-bd +Architecture: all +Depends: thunderbird-locale-bn, ${misc:Depends} +Description: Transitional Bengali language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-en-gb +Architecture: all +Depends: thunderbird-locale-en, ${misc:Depends} +Description: Transitional English language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-en-us +Architecture: all +Depends: thunderbird-locale-en, ${misc:Depends} +Description: Transitional English language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-es-ar +Architecture: all +Depends: thunderbird-locale-es, ${misc:Depends} +Description: Transitional Spanish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-es-es +Architecture: all +Depends: thunderbird-locale-es, ${misc:Depends} +Description: Transitional Spanish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-fy-nl +Architecture: all +Depends: thunderbird-locale-fy, ${misc:Depends} +Description: Transitional Western Frisian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-ga-ie +Architecture: all +Depends: thunderbird-locale-ga, ${misc:Depends} +Description: Transitional Irish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-nb-no +Architecture: all +Depends: thunderbird-locale-nb, ${misc:Depends} +Description: Transitional Norwegian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-nn-no +Architecture: all +Depends: thunderbird-locale-nn, ${misc:Depends} +Description: Transitional Norwegian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pa-in +Architecture: all +Depends: thunderbird-locale-pa, ${misc:Depends} +Description: Transitional Punjabi language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pt-br +Architecture: all +Depends: thunderbird-locale-pt, ${misc:Depends} +Description: Transitional Portugese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pt-pt +Architecture: all +Depends: thunderbird-locale-pt, ${misc:Depends} +Description: Transitional Portugese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-sv-se +Architecture: all +Depends: thunderbird-locale-sv, ${misc:Depends} +Description: Transitional Swedish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-ta-lk +Architecture: all +Depends: thunderbird-locale-ta, ${misc:Depends} +Description: Transitional Tamil language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-zh-cn +Architecture: all +Depends: thunderbird-locale-zh-hans, ${misc:Depends} +Description: Transitional Simplified Chinese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-zh-tw +Architecture: all +Depends: thunderbird-locale-zh-hant, ${misc:Depends} +Description: Transitional Traditional Chinese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +# Language packs below here + +Package: thunderbird-locale-af +Architecture: all +Depends: ${misc:Depends} +Description: Transitional package for unavailable language + This language is unavailable for the current version of Thunderbird + . + This is an empty transitional package to ensure a clean upgrade + process. You can safely remove this package after installation. + +Package: thunderbird-locale-ar +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Arabic language pack for Thunderbird + This package contains Arabic translations and search plugins + for Thunderbird + +Package: thunderbird-locale-be +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Belarusian language pack for Thunderbird + This package contains Belarusian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-bg +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Bulgarian language pack for Thunderbird + This package contains Bulgarian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-bn +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Bengali language pack for Thunderbird + This package contains Bengali translations and search plugins + for Thunderbird + +Package: thunderbird-locale-br +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Breton language pack for Thunderbird + This package contains Breton translations and search plugins + for Thunderbird + +Package: thunderbird-locale-ca +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Catalan; Valencian language pack for Thunderbird + This package contains Catalan; Valencian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-cs +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Czech language pack for Thunderbird + This package contains Czech translations and search plugins + for Thunderbird + +Package: thunderbird-locale-da +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Danish language pack for Thunderbird + This package contains Danish translations and search plugins + for Thunderbird + +Package: thunderbird-locale-de +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: German language pack for Thunderbird + This package contains German translations and search plugins + for Thunderbird + +Package: thunderbird-locale-el +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Greek language pack for Thunderbird + This package contains Greek translations and search plugins + for Thunderbird + +Package: thunderbird-locale-en +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: English language pack for Thunderbird + This package contains English translations and search plugins + for Thunderbird + +Package: thunderbird-locale-es +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Spanish; Castilian language pack for Thunderbird + This package contains Spanish; Castilian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-et +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Estonian language pack for Thunderbird + This package contains Estonian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-eu +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Basque language pack for Thunderbird + This package contains Basque translations and search plugins + for Thunderbird + +Package: thunderbird-locale-fi +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Finnish language pack for Thunderbird + This package contains Finnish translations and search plugins + for Thunderbird + +Package: thunderbird-locale-fr +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: French language pack for Thunderbird + This package contains French translations and search plugins + for Thunderbird + +Package: thunderbird-locale-fy +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Western Frisian language pack for Thunderbird + This package contains Western Frisian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-ga +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Irish language pack for Thunderbird + This package contains Irish translations and search plugins + for Thunderbird + +Package: thunderbird-locale-gd +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Gaelic; Scottish Gaelic language pack for Thunderbird + This package contains Gaelic; Scottish Gaelic translations and search plugins + for Thunderbird + +Package: thunderbird-locale-gl +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Galician language pack for Thunderbird + This package contains Galician translations and search plugins + for Thunderbird + +Package: thunderbird-locale-he +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Hebrew language pack for Thunderbird + This package contains Hebrew translations and search plugins + for Thunderbird + +Package: thunderbird-locale-hu +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Hungarian language pack for Thunderbird + This package contains Hungarian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-id +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Indonesian language pack for Thunderbird + This package contains Indonesian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-is +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Icelandic language pack for Thunderbird + This package contains Icelandic translations and search plugins + for Thunderbird + +Package: thunderbird-locale-it +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Italian language pack for Thunderbird + This package contains Italian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-ja +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Japanese language pack for Thunderbird + This package contains Japanese translations and search plugins + for Thunderbird + +Package: thunderbird-locale-ka +Architecture: all +Depends: ${misc:Depends} +Description: Transitional package for unavailable language + This language is unavailable for the current version of Thunderbird + . + This is an empty transitional package to ensure a clean upgrade + process. You can safely remove this package after installation. + +Package: thunderbird-locale-ko +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Korean language pack for Thunderbird + This package contains Korean translations and search plugins + for Thunderbird + +Package: thunderbird-locale-lt +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Lithuanian language pack for Thunderbird + This package contains Lithuanian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-mk +Architecture: all +Depends: ${misc:Depends} +Description: Transitional package for unavailable language + This language is unavailable for the current version of Thunderbird + . + This is an empty transitional package to ensure a clean upgrade + process. You can safely remove this package after installation. + +Package: thunderbird-locale-nb +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Bokmål, Norwegian; Norwegian Bokmål language pack for Thunderbird + This package contains Bokmål, Norwegian; Norwegian Bokmål translations and search plugins + for Thunderbird + +Package: thunderbird-locale-nl +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Dutch; Flemish language pack for Thunderbird + This package contains Dutch; Flemish translations and search plugins + for Thunderbird + +Package: thunderbird-locale-nn +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Norwegian Nynorsk; Nynorsk, Norwegian language pack for Thunderbird + This package contains Norwegian Nynorsk; Nynorsk, Norwegian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-pa +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Panjabi; Punjabi language pack for Thunderbird + This package contains Panjabi; Punjabi translations and search plugins + for Thunderbird + +Package: thunderbird-locale-pl +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Polish language pack for Thunderbird + This package contains Polish translations and search plugins + for Thunderbird + +Package: thunderbird-locale-pt +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Portuguese language pack for Thunderbird + This package contains Portuguese translations and search plugins + for Thunderbird + +Package: thunderbird-locale-rm +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Romansh language pack for Thunderbird + This package contains Romansh translations and search plugins + for Thunderbird + +Package: thunderbird-locale-ro +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Romanian language pack for Thunderbird + This package contains Romanian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-ru +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Russian language pack for Thunderbird + This package contains Russian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-si +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Sinhala; Sinhalese language pack for Thunderbird + This package contains Sinhala; Sinhalese translations and search plugins + for Thunderbird + +Package: thunderbird-locale-sk +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Slovak language pack for Thunderbird + This package contains Slovak translations and search plugins + for Thunderbird + +Package: thunderbird-locale-sl +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Slovenian language pack for Thunderbird + This package contains Slovenian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-sq +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Albanian language pack for Thunderbird + This package contains Albanian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-sr +Architecture: all +Depends: ${misc:Depends} +Description: Transitional package for unavailable language + This language is unavailable for the current version of Thunderbird + . + This is an empty transitional package to ensure a clean upgrade + process. You can safely remove this package after installation. + +Package: thunderbird-locale-sv +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Swedish language pack for Thunderbird + This package contains Swedish translations and search plugins + for Thunderbird + +Package: thunderbird-locale-ta +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Tamil language pack for Thunderbird + This package contains Tamil translations and search plugins + for Thunderbird + +Package: thunderbird-locale-tr +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Turkish language pack for Thunderbird + This package contains Turkish translations and search plugins + for Thunderbird + +Package: thunderbird-locale-uk +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Ukrainian language pack for Thunderbird + This package contains Ukrainian translations and search plugins + for Thunderbird + +Package: thunderbird-locale-vi +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Vietnamese language pack for Thunderbird + This package contains Vietnamese translations and search plugins + for Thunderbird + +Package: thunderbird-locale-zh-hans +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Simplified Chinese language pack for Thunderbird + This package contains Simplified Chinese translations and search plugins + for Thunderbird + +Package: thunderbird-locale-zh-hant +Architecture: all +Depends: thunderbird, ${misc:Depends} +Description: Traditional Chinese language pack for Thunderbird + This package contains Traditional Chinese translations and search plugins + for Thunderbird --- thunderbird-9.0+build2.orig/debian/thunderbird-dev.links.in +++ thunderbird-9.0+build2/debian/thunderbird-dev.links.in @@ -0,0 +1,14 @@ +%%ifdef MOZ_TREE_NSPR +@MOZ_LIBDIR@/libnspr4.so @MOZ_SDKDIR@/sdk/lib/libnspr4.so +@MOZ_LIBDIR@/libplc4.so @MOZ_SDKDIR@/sdk/lib/libplc4.so +@MOZ_LIBDIR@/libplds4.so @MOZ_SDKDIR@/sdk/lib/libplds4.so +%%else +/usr/include/nspr @MOZ_INCDIR@/nspr +/usr/bin/nspr-config @MOZ_SDKDIR@/sdk/bin/nspr-config +%%endif +%%ifndef MOZ_TREE_CAIRO +/usr/include/cairo @MOZ_INCDIR@/cairo +%%endif +@MOZ_LIBDIR@/libmozalloc.so @MOZ_SDKDIR@/sdk/lib/libmozalloc.so +@MOZ_LIBDIR@/libxpcom.so @MOZ_SDKDIR@/sdk/lib/libxpcom.so +@MOZ_LIBDIR@/libxul.so @MOZ_SDKDIR@/sdk/lib/libxul.so --- thunderbird-9.0+build2.orig/debian/thunderbird-dev.install.in +++ thunderbird-9.0+build2/debian/thunderbird-dev.install.in @@ -0,0 +1,10 @@ +debian/tmp@MOZ_INCDIR@/ +debian/tmp@MOZ_IDLDIR@/ + +debian/tmp@MOZ_SDKDIR@/sdk/lib/*.a +debian/tmp@MOZ_SDKDIR@/*.h +debian/tmp@MOZ_SDKDIR@/bin +debian/tmp@MOZ_SDKDIR@/idl +debian/tmp@MOZ_SDKDIR@/include +debian/tmp@MOZ_SDKDIR@/lib +debian/tmp@MOZ_SDKDIR@/sdk/bin/ --- thunderbird-9.0+build2.orig/debian/thunderbird-mozsymbols.install.in +++ thunderbird-9.0+build2/debian/thunderbird-mozsymbols.install.in @@ -0,0 +1,3 @@ +%%ifdef MOZ_ENABLE_BREAKPAD +@MOZ_DISTDIR@/*symbols.zip @MOZ_LIBDIR@ +%%endif --- thunderbird-9.0+build2.orig/debian/MPL +++ thunderbird-9.0+build2/debian/MPL @@ -0,0 +1,567 @@ + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + + ---------------------------------------------------------------------- + + AMENDMENTS + + The Netscape Public License Version 1.1 ("NPL") consists of the + Mozilla Public License Version 1.1 with the following Amendments, + including Exhibit A-Netscape Public License. Files identified with + "Exhibit A-Netscape Public License" are governed by the Netscape + Public License Version 1.1. + + Additional Terms applicable to the Netscape Public License. + I. Effect. + These additional terms described in this Netscape Public + License -- Amendments shall apply to the Mozilla Communicator + client code and to all Covered Code under this License. + + II. "Netscape's Branded Code" means Covered Code that Netscape + distributes and/or permits others to distribute under one or more + trademark(s) which are controlled by Netscape but which are not + licensed for use under this License. + + III. Netscape and logo. + This License does not grant any rights to use the trademarks + "Netscape", the "Netscape N and horizon" logo or the "Netscape + lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript", + "Smart Browsing" even if such marks are included in the Original + Code or Modifications. + + IV. Inability to Comply Due to Contractual Obligation. + Prior to licensing the Original Code under this License, Netscape + has licensed third party code for use in Netscape's Branded Code. + To the extent that Netscape is limited contractually from making + such third party code available under this License, Netscape may + choose to reintegrate such code into Covered Code without being + required to distribute such code in Source Code form, even if + such code would otherwise be considered "Modifications" under + this License. + + V. Use of Modifications and Covered Code by Initial Developer. + V.1. In General. + The obligations of Section 3 apply to Netscape, except to + the extent specified in this Amendment, Section V.2 and V.3. + + V.2. Other Products. + Netscape may include Covered Code in products other than the + Netscape's Branded Code which are released by Netscape + during the two (2) years following the release date of the + Original Code, without such additional products becoming + subject to the terms of this License, and may license such + additional products on different terms from those contained + in this License. + + V.3. Alternative Licensing. + Netscape may license the Source Code of Netscape's Branded + Code, including Modifications incorporated therein, without + such Netscape Branded Code becoming subject to the terms of + this License, and may license such Netscape Branded Code on + different terms from those contained in this License. + + VI. Litigation. + Notwithstanding the limitations of Section 11 above, the + provisions regarding litigation in Section 11(a), (b) and (c) of + the License shall apply to all disputes relating to this License. + + EXHIBIT A-Netscape Public License. + + "The contents of this file are subject to the Netscape Public + License Version 1.1 (the "License"); you may not use this file + except in compliance with the License. You may obtain a copy of + the License at http://www.mozilla.org/NPL/ + + Software distributed under the License is distributed on an "AS + IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + implied. See the License for the specific language governing + rights and limitations under the License. + + The Original Code is Mozilla Communicator client code, released + March 31, 1998. + + The Initial Developer of the Original Code is Netscape + Communications Corporation. Portions created by Netscape are + Copyright (C) 1998-1999 Netscape Communications Corporation. All + Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the + terms of the _____ license (the "[___] License"), in which case + the provisions of [______] License are applicable instead of + those above. If you wish to allow use of your version of this + file only under the terms of the [____] License and not to allow + others to use your version of this file under the NPL, indicate + your decision by deleting the provisions above and replace them + with the notice and other provisions required by the [___] + License. If you do not delete the provisions above, a recipient + may use your version of this file under either the NPL or the + [___] License." --- thunderbird-9.0+build2.orig/debian/thunderbird.sh.in +++ thunderbird-9.0+build2/debian/thunderbird.sh.in @@ -0,0 +1,113 @@ +#!/bin/sh + +set -e + +# Firefox launcher containing a Profile migration helper for +# temporary profiles used during alpha and beta phases. + +# Authors: +# Alexander Sack +# Fabien Tassin +# Steve Langasek +# Chris Coulson +# License: GPLv2 or later + +MOZ_LIBDIR=@MOZ_LIBDIR@ +MOZ_APP_LAUNCHER=`which $0` +EXE=@MOZ_APP_NAME@-bin +MOZ_APP_NAME=@MOZ_APP_NAME@ +MOZ_APP_BASENAME=@MOZ_APP_BASENAME@ +MOZ_PROFILE_PREFIX=@MOZ_PROFILE_PREFIX@ + +export MOZ_APP_LAUNCHER + +while [ ! -x $MOZ_LIBDIR/$EXE ] ; do + if [ -L "$MOZ_APP_LAUNCHER" ] ; then + MOZ_APP_LAUNCHER=`readlink -f $MOZ_APP_LAUNCHER` + MOZ_LIBDIR=`dirname $MOZ_APP_LAUNCHER` + else + echo "Can't find $MOZ_LIBDIR/$EXE" + exit 1 + fi +done + +LD_LIBRARY_PATH=${MOZ_LIBDIR}:${MOZ_LIBDIR}/plugins${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"} +export LD_LIBRARY_PATH + +usage () { + $MOZ_LIBDIR/$EXE -h | sed -e 's,/.*/,,' + echo + echo " -g or --debug Start within debugger" + echo " -d or --debugger Specify debugger to start with (eg, gdb or valgrind)" + echo " -a or --debugger-args Specify arguments for debugger" +} + +moz_debug=0 +moz_debugger_args="" +moz_debugger="gdb" + +while [ $# -gt 0 ]; do + case "$1" in + -h | --help ) + usage + exit 0 + ;; + -g | --debug ) + moz_debug=1 + shift + ;; + -d | --debugger) + moz_debugger=$2; + if [ "${moz_debugger}" != "" ]; then + shift 2 + else + echo "-d requires an argument" + exit 1 + fi + ;; + -a | --debugger-args ) + moz_debugger_args=$2; + if [ "${moz_debugger_args}" != "" ] ; then + shift 2 + else + echo "-a requires an argument" + exit 1 + fi + ;; + -- ) # Stop option processing + shift + break + ;; + * ) + break + ;; + esac +done + +if [ $MOZ_APP_NAME != $MOZ_APP_BASENAME ] && + [ ! -e ${HOME}/${MOZ_PROFILE_PREFIX}${MOZ_APP_NAME} ] && + [ -d ${HOME}/${MOZ_PROFILE_PREFIX}${MOZ_APP_BASENAME} ] ; then + cp -r ${HOME}/${MOZ_PROFILE_PREFIX}${MOZ_APP_BASENAME} ${HOME}/${MOZ_PROFILE_PREFIX}${MOZ_APP_NAME} +fi + +if [ $moz_debug -eq 1 ] ; then + debugger=`which $moz_debugger` + if [ ! -x $debugger ] ; then + echo "Invalid debugger" + exit 1 + fi + + case `basename $debugger` in + gdb) + exec $debugger $moz_debugger_args --args $MOZ_LIBDIR/$EXE "$@" + ;; + valgrind) + exec $debugger $moz_debugger_args $MOZ_LIBDIR/$EXE "$@" + ;; + *) + exec $debugger $moz_debugger_args $MOZ_LIBDIR/$EXE "$@" + ;; + esac +else + exec $MOZ_LIBDIR/$EXE "$@" +fi --- thunderbird-9.0+build2.orig/debian/thunderbird.desktop.in +++ thunderbird-9.0+build2/debian/thunderbird.desktop.in @@ -0,0 +1,132 @@ +[Desktop Entry] +Encoding=UTF-8 +%%ifdef MOZ_OFFICIAL_BRANDING +Name=Thunderbird Mail +Name[ast]=Veceru de corréu Thunderbird +Name[ca]=Client de correu Thunderbird +Name[cs]=Poštovní klient Thunderbird +Name[da]=Mozilla Thunderbird - e-post/nyhedsgruppe +Name[de]=Thunderbird-E-Mail und -Nachrichten +Name[es]=Cliente de correo Thunderbird +Name[fi]=Thunderbird-sähköposti +Name[fr]=Messagerie Thunderbird +Name[gl]=Cliente de correo Thunderbird +Name[he]=Mozilla Thunderbird דוא״ל/חדשות +Name[hr]=Mozilla Thunderbird e-pošta/novosti +Name[hu]=Thunderbird levelezőkliens +Name[it]=Email Mozilla Thunderbird +Name[ko]=Mozilla Thunderbird +Name[nl]=Mozilla Thunderbird e-mail/nieuws +Name[pl]=Klient poczty Thunderbird +Name[pt_BR]=Cliente de E-mail Thunderbird +Name[ru]=Почтовый клиент Thunderbird +Name[sk]=Thunderbird - poštový klient a novin +Name[sv]=E-postklienten Thunderbird +Name[ug]=Mozilla Thunderbird ئېلخەت/خەۋەر +Name[zh_CN]=Thunderbird 邮件/新闻 +Name[zh_TW]=Thunderbird 郵件 +Comment=Send and receive mail with Thunderbird +Comment[ast]=Lleer y escribir corréu electrónicu +Comment[ca]=Llegiu i escriviu correu +Comment[cs]=Čtení a psaní pošty +Comment[da]=Skriv/læs e-post/nyhedsgruppe med Mozilla Thunderbird +Comment[de]=E-Mails und Nachrichten mit Thunderbird lesen und schreiben +Comment[es]=Lea y escriba correos y noticias con Thunderbird +Comment[fi]=Lue ja kirjoita sähköposteja +Comment[fr]=Lire et écrire des courriels +Comment[gl]=Lea e escriba correo electrónico +Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות Mozilla Thunderbird +Comment[hr]=Čitajte/šaljite e-poštu s Thunderbird +Comment[hu]=Levelek írása és olvasása a Thunderbirddel +Comment[it]=Per leggere e scrivere email +Comment[ja]=メールの読み書き +Comment[ko]=Mozilla Thunderbird 메일/뉴스 읽기 및 쓰기 클라이언트 +Comment[nl]=E-mail/nieuws lezen en schrijven met Mozilla Thunderbird +Comment[pl]=Czytanie i wysyłanie e-maili +Comment[pt_BR]=Ler e escrever suas mensagens +Comment[ru]=Читайте и пишите письма +Comment[sk]=Čítajte a píšte poštu, čítajte novinky pomocou programu Mozilla Thunderbird +Comment[sv]=Läs och skriv e-post +Comment[ug]=ئېلخەت ۋە خەۋەرلەرنى Mozilla Thunderbird دا كۆرۈش ۋە يېزىش +Comment[zh_CN]=阅读邮件或新闻 +Comment[zh_TW]=以 Mozilla Thunderbird 讀寫郵件或新聞 +%%else +Name=@MOZ_DISPLAY_NAME@ Mail +Name[ast]=Veceru de corréu @MOZ_DISPLAY_NAME@ +Name[ca]=Client de correu @MOZ_DISPLAY_NAME@ +Name[cs]=Poštovní klient @MOZ_DISPLAY_NAME@ +Name[da]=@MOZ_DISPLAY_NAME@ - e-post/nyhedsgruppe +Name[de]=@MOZ_DISPLAY_NAME@-E-Mail und -Nachrichten +Name[es]=Cliente de correo @MOZ_DISPLAY_NAME@ +Name[fi]=@MOZ_DISPLAY_NAME@-sähköposti +Name[fr]=Messagerie @MOZ_DISPLAY_NAME@ +Name[gl]=Cliente de correo @MOZ_DISPLAY_NAME@ +Name[he]=@MOZ_DISPLAY_NAME@ דוא״ל/חדשות +Name[hr]=@MOZ_DISPLAY_NAME@ e-pošta/novosti +Name[hu]=@MOZ_DISPLAY_NAME@ levelezőkliens +Name[it]=Email @MOZ_DISPLAY_NAME@ +Name[ko]=@MOZ_DISPLAY_NAME@ +Name[nl]=@MOZ_DISPLAY_NAME@ e-mail/nieuws +Name[pl]=Klient poczty @MOZ_DISPLAY_NAME@ +Name[pt_BR]=Cliente de E-mail @MOZ_DISPLAY_NAME@ +Name[ru]=Почтовый клиент @MOZ_DISPLAY_NAME@ +Name[sk]=@MOZ_DISPLAY_NAME@ - poštový klient a novin +Name[sv]=E-postklienten @MOZ_DISPLAY_NAME@ +Name[ug]=@MOZ_DISPLAY_NAME@ ئېلخەت/خەۋەر +Name[zh_CN]=@MOZ_DISPLAY_NAME@ 邮件/新闻 +Name[zh_TW]=@MOZ_DISPLAY_NAME@ 郵件 +Comment=Send and receive mail with @MOZ_DISPLAY_NAME@ +Comment[ast]=Lleer y escribir corréu electrónicu +Comment[ca]=Llegiu i escriviu correu +Comment[cs]=Čtení a psaní pošty +Comment[da]=Skriv/læs e-post/nyhedsgruppe med @MOZ_DISPLAY_NAME@ +Comment[de]=E-Mails und Nachrichten mit @MOZ_DISPLAY_NAME@ lesen und schreiben +Comment[es]=Lea y escriba correos y noticias con @MOZ_DISPLAY_NAME@ +Comment[fi]=Lue ja kirjoita sähköposteja +Comment[fr]=Lire et écrire des courriels +Comment[gl]=Lea e escriba correo electrónico +Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות @MOZ_DISPLAY_NAME@ +Comment[hr]=Čitajte/šaljite e-poštu s @MOZ_DISPLAY_NAME@ +Comment[hu]=Levelek írása és olvasása a @MOZ_DISPLAY_NAME@del +Comment[it]=Per leggere e scrivere email +Comment[ja]=メールの読み書き +Comment[ko]=@MOZ_DISPLAY_NAME@ 메일/뉴스 읽기 및 쓰기 클라이언트 +Comment[nl]=E-mail/nieuws lezen en schrijven met @MOZ_DISPLAY_NAME@ +Comment[pl]=Czytanie i wysyłanie e-maili +Comment[pt_BR]=Ler e escrever suas mensagens +Comment[ru]=Читайте и пишите письма +Comment[sk]=Čítajte a píšte poštu, čítajte novinky pomocou programu @MOZ_DISPLAY_NAME@ +Comment[sv]=Läs och skriv e-post +Comment[ug]=ئېلخەت ۋە خەۋەرلەرنى @MOZ_DISPLAY_NAME@ دا كۆرۈش ۋە يېزىش +Comment[zh_CN]=阅读邮件或新闻 +Comment[zh_TW]=以 @MOZ_DISPLAY_NAME@ 讀寫郵件或新聞 +%%endif +GenericName=Mail Client +Exec=@MOZ_APP_NAME@ %u +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=@MOZ_APP_NAME@ +Categories=Application;Network;Email; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;x-scheme-handler/mailto; +StartupWMClass=@MOZ_DISPLAY_NAME@ +StartupNotify=true +GenericName[ast]=Client de correu +GenericName[ca]=Client de correu +GenericName[da]=E-postklient +GenericName[de]=E-Mail-Anwendung +GenericName[es]=Cliente de correo +GenericName[fi]=Sähköpostiohjelma +GenericName[fr]=Client de messagerie +GenericName[gl]=Cliente de correo electrónico +GenericName[he]=לקוח דוא״ל +GenericName[hr]=Klijent e-pošte +GenericName[hu]=Levelezőkliens +GenericName[it]=Client email +GenericName[ko]=메일 클라이언트 +GenericName[nl]=E-mailprogramma +GenericName[ru]=Почтовый клиент +GenericName[sk]=Poštový klie +GenericName[ug]=ئېلخەت دېتالى +GenericName[zh_CN]=邮件新闻客户端 +GenericName[zh_TW]=郵件用戶端 --- thunderbird-9.0+build2.orig/debian/control.langpacks.unavail +++ thunderbird-9.0+build2/debian/control.langpacks.unavail @@ -0,0 +1,9 @@ + +Package: @MOZ_APP_NAME@-locale-@LANGCODE@ +Architecture: all +Depends: ${misc:Depends} +Description: Transitional package for unavailable language + This language is unavailable for the current version of Thunderbird + . + This is an empty transitional package to ensure a clean upgrade + process. You can safely remove this package after installation. --- thunderbird-9.0+build2.orig/debian/control.in +++ thunderbird-9.0+build2/debian/control.in @@ -0,0 +1,257 @@ +Source: @MOZ_APP_NAME@ +Section: web +Priority: optional +Maintainer: Ubuntu Mozilla Team +Vcs-Bzr: https://code.launchpad.net/~mozillateam/thunderbird/thunderbird.maverick.ppa +Build-Depends: cdbs (>= 0.4.27), + debhelper (>= 5), + m4, + autotools-dev, + autoconf2.13, + quilt, + zip, + libx11-dev, + libxt-dev, + libxext-dev, + libgtk2.0-dev (>= 2.10), + libglib2.0-dev, + libpango1.0-dev (>= 1.14.0), + libidl-dev (>= 0.8.0), + libfontconfig1-dev, + libgconf2-dev (>= 1.2.1), + libgnomeui-dev (>= 2.2.0), + libstartup-notification0-dev, + libasound2-dev, + libcurl4-openssl-dev, + libdbus-glib-1-dev (>= 0.60), + lsb-release, + libiw-dev, + mesa-common-dev, + libnotify-dev, @SYSLIBS_BD@ + libgnomevfs2-dev (>= 1:2.0), + yasm (>= 1.1), + imagemagick, + docbook-to-man, + libkrb5-dev, + unzip +Standards-Version: 3.9.1 + +Package: @MOZ_APP_NAME@ +Architecture: any +Depends: fontconfig, + psmisc, + debianutils (>= 1.16), + ${shlibs:Depends}, + ${misc:Depends} +Recommends: myspell-en-us | hunspell-dictionary | myspell-dictionary +Suggests: @MOZ_APP_NAME@-gnome-support (= ${binary:Version}), + latex-xft-fonts, + libthai0 +Replaces: mozilla-thunderbird, + thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3) +Conflicts: mozilla-thunderbird +Breaks: thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3) +Provides: mail-reader +Section: mail +Description: Email, RSS and newsgroup client with integrated spam filter + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + +Package: @MOZ_APP_NAME@-gnome-support +Architecture: any +Section: gnome +Depends: ${shlibs:Depends}, @MOZ_APP_NAME@ (= ${binary:Version}), ${misc:Depends} +Description: Email, RSS and newsgroup client - GNOME support + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package depends on the GNOME libraries which allow Thunderbird to take + advantage of technologies such as GConf, GIO and libnotify + +Package: @MOZ_APP_NAME@-dev +Architecture: any +Section: devel +Depends: @MOZ_APP_NAME@ (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, + ${nss:Depends}, + ${nspr:Depends}, + ${cairo:Depends} +Description: Email, RSS and newsgroup client - development files + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the headers and SDK for building plugins and extensions + with Thunderbird + +Package: @MOZ_APP_NAME@-dbg +Architecture: any +Section: debug +Priority: extra +Depends: @MOZ_APP_NAME@, ${shlibs:Depends}, ${misc:Depends} +Description: Email, RSS and newsgroup client - debug symbols + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the debugging symbols for Thunderbird + +Package: @MOZ_APP_NAME@-mozsymbols +Architecture: amd64 i386 armel +Section: debug +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Email, RSS and newsgroup client - Breakpad symbols + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the Firefox symbols in a format expected by Mozilla's + Breakpad. Eventually this package should go away and the symbol upload be + implemented in soyuz (or other builders that build this package) + +# Transitional packages below here + +Package: thunderbird-gnome-support-dbg +Architecture: any +Depends: thunderbird-gnome-support, thunderbird-dbg, ${misc:Depends} +Description: Email, RSS and newsgroup client - transitional package + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-bn-bd +Architecture: all +Depends: thunderbird-locale-bn, ${misc:Depends} +Description: Transitional Bengali language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-en-gb +Architecture: all +Depends: thunderbird-locale-en, ${misc:Depends} +Description: Transitional English language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-en-us +Architecture: all +Depends: thunderbird-locale-en, ${misc:Depends} +Description: Transitional English language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-es-ar +Architecture: all +Depends: thunderbird-locale-es, ${misc:Depends} +Description: Transitional Spanish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-es-es +Architecture: all +Depends: thunderbird-locale-es, ${misc:Depends} +Description: Transitional Spanish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-fy-nl +Architecture: all +Depends: thunderbird-locale-fy, ${misc:Depends} +Description: Transitional Western Frisian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-ga-ie +Architecture: all +Depends: thunderbird-locale-ga, ${misc:Depends} +Description: Transitional Irish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-nb-no +Architecture: all +Depends: thunderbird-locale-nb, ${misc:Depends} +Description: Transitional Norwegian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-nn-no +Architecture: all +Depends: thunderbird-locale-nn, ${misc:Depends} +Description: Transitional Norwegian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pa-in +Architecture: all +Depends: thunderbird-locale-pa, ${misc:Depends} +Description: Transitional Punjabi language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pt-br +Architecture: all +Depends: thunderbird-locale-pt, ${misc:Depends} +Description: Transitional Portugese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pt-pt +Architecture: all +Depends: thunderbird-locale-pt, ${misc:Depends} +Description: Transitional Portugese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-sv-se +Architecture: all +Depends: thunderbird-locale-sv, ${misc:Depends} +Description: Transitional Swedish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-ta-lk +Architecture: all +Depends: thunderbird-locale-ta, ${misc:Depends} +Description: Transitional Tamil language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-zh-cn +Architecture: all +Depends: thunderbird-locale-zh-hans, ${misc:Depends} +Description: Transitional Simplified Chinese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-zh-tw +Architecture: all +Depends: thunderbird-locale-zh-hant, ${misc:Depends} +Description: Transitional Traditional Chinese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +# Language packs below here --- thunderbird-9.0+build2.orig/debian/thunderbird.manpages.in +++ thunderbird-9.0+build2/debian/thunderbird.manpages.in @@ -0,0 +1 @@ +debian/@MOZ_APP_NAME@.1 --- thunderbird-9.0+build2.orig/debian/thunderbird-gnome-support.install.in +++ thunderbird-9.0+build2/debian/thunderbird-gnome-support.install.in @@ -0,0 +1,2 @@ +debian/tmp@MOZ_LIBDIR@/components/libmozgnome.so +#debian/@MOZ_APP_NAME@.xml /usr/share/gnome-control-center/default-apps --- thunderbird-9.0+build2.orig/debian/control.in.THIS +++ thunderbird-9.0+build2/debian/control.in.THIS @@ -0,0 +1,263 @@ +Source: @MOZ_APP_NAME@ +Section: web +Priority: optional +Maintainer: Ubuntu Mozilla Team +Vcs-Bzr: https://code.launchpad.net/~mozillateam/thunderbird/thunderbird.maverick.ppa +Build-Depends: cdbs (>= 0.4.27), + debhelper (>= 5), + m4, + autotools-dev, + autoconf2.13, + quilt, + patchutils (>= 0.2.25), + bzip2, + zip, + libx11-dev (>= 2:1.0), + libxt-dev, + libgtk2.0-dev (>= 2.12), + liborbit2-dev, + libidl-dev (>= 0.8.0), + libxft-dev, + libfreetype6-dev, + libxrender-dev, + libxinerama-dev, + libgnome2-dev (>= 2.16), + libgconf2-dev, + libgnomeui-dev (>= 2.16), + libstartup-notification0-dev, + libasound2-dev, + libcurl4-openssl-dev, + libdbus-glib-1-dev (>= 0.60), + mozilla-devscripts, + lsb-release, + libiw-dev, + mesa-common-dev, + libnotify-dev, @EXTRA_BD@ + libgnomevfs2-dev (>= 1:2.16), + yasm, + imagemagick, + docbook-to-man, + libglib2.0-dev (>= 2.12), + sharutils, + libkrb5-dev +Standards-Version: 3.9.1 + +Package: @MOZ_APP_NAME@ +Architecture: any +Depends: fontconfig, + psmisc, + debianutils (>= 1.16), + ${shlibs:Depends}, + ${misc:Depends} +Recommends: myspell-en-us | hunspell-dictionary | myspell-dictionary +Suggests: @MOZ_APP_NAME@-gnome-support (= ${binary:Version}), + latex-xft-fonts, + libthai0 +Replaces: mozilla-thunderbird, + thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3) +Conflicts: mozilla-thunderbird +Breaks: thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3) +Provides: mail-reader +Section: mail +Description: Email, RSS and newsgroup client with integrated spam filter + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + +Package: @MOZ_APP_NAME@-gnome-support +Architecture: any +Section: gnome +Depends: ${shlibs:Depends}, @MOZ_APP_NAME@ (= ${binary:Version}), ${misc:Depends} +Description: Email, RSS and newsgroup client - GNOME support + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package depends on the GNOME libraries which allow Thunderbird to take + advantage of technologies such as GConf, GIO and libnotify + +Package: @MOZ_APP_NAME@-dev +Architecture: any +Section: devel +Depends: @MOZ_APP_NAME@ (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, + ${nss:Depends}, + ${nspr:Depends}, + ${cairo:Depends} +Description: Email, RSS and newsgroup client - development files + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the headers and SDK for building plugins and extensions + with Thunderbird + +Package: @MOZ_APP_NAME@-dbg +Architecture: any +Section: debug +Priority: extra +Depends: @MOZ_APP_NAME@, ${shlibs:Depends}, ${misc:Depends} +Description: Email, RSS and newsgroup client - debug symbols + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the debugging symbols for Thunderbird + +Package: @MOZ_APP_NAME@-mozsymbols +Architecture: amd64 i386 armel +Section: debug +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Email, RSS and newsgroup client - Breakpad symbols + Thunderbird is a full-featured email, RSS and newsgroup client that makes + emailing safer, faster and easier than ever before. It supports different mail + accounts (POP, IMAP, Gmail), has a simple mail account setup wizard, one- + click address book, tabbed interface, an integrated learning spam filter, + advanced search and indexing capabilities, and offers easy organization + of mails with tagging and virtual folders. It also features unrivalled + extensibility. + . + This package contains the Firefox symbols in a format expected by Mozilla's + Breakpad. Eventually this package should go away and the symbol upload be + implemented in soyuz (or other builders that build this package) + +# Transitional packages below here + +Package: thunderbird-gnome-support-dbg +Architecture: any +Depends: thunderbird-gnome-support, thunderbird-dbg, ${misc:Depends} +Description: Email, RSS and newsgroup client - transitional package + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-bn-bd +Architecture: all +Depends: thunderbird-locale-bn, ${misc:Depends} +Description: Transitional Bengali language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-en-gb +Architecture: all +Depends: thunderbird-locale-en, ${misc:Depends} +Description: Transitional English language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-en-us +Architecture: all +Depends: thunderbird-locale-en, ${misc:Depends} +Description: Transitional English language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-es-ar +Architecture: all +Depends: thunderbird-locale-es, ${misc:Depends} +Description: Transitional Spanish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-es-es +Architecture: all +Depends: thunderbird-locale-es, ${misc:Depends} +Description: Transitional Spanish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-fy-nl +Architecture: all +Depends: thunderbird-locale-fy, ${misc:Depends} +Description: Transitional Western Frisian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-ga-ie +Architecture: all +Depends: thunderbird-locale-ga, ${misc:Depends} +Description: Transitional Irish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-nb-no +Architecture: all +Depends: thunderbird-locale-nb, ${misc:Depends} +Description: Transitional Norwegian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-nn-no +Architecture: all +Depends: thunderbird-locale-nn, ${misc:Depends} +Description: Transitional Norwegian language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pa-in +Architecture: all +Depends: thunderbird-locale-pa, ${misc:Depends} +Description: Transitional Punjabi language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pt-br +Architecture: all +Depends: thunderbird-locale-pt, ${misc:Depends} +Description: Transitional Portugese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-pt-pt +Architecture: all +Depends: thunderbird-locale-pt, ${misc:Depends} +Description: Transitional Portugese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-sv-se +Architecture: all +Depends: thunderbird-locale-sv, ${misc:Depends} +Description: Transitional Swedish language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-ta-lk +Architecture: all +Depends: thunderbird-locale-ta, ${misc:Depends} +Description: Transitional Tamil language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-zh-cn +Architecture: all +Depends: thunderbird-locale-zh-hans, ${misc:Depends} +Description: Transitional Simplified Chinese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +Package: thunderbird-locale-zh-tw +Architecture: all +Depends: thunderbird-locale-zh-hant, ${misc:Depends} +Description: Transitional Traditional Chinese language pack for Thunderbird + This is a transitional package to ensure that upgrades work correctly. + It can be safely removed + +# Language packs below here --- thunderbird-9.0+build2.orig/debian/vendor.js +++ thunderbird-9.0+build2/debian/vendor.js @@ -0,0 +1,9 @@ +// Use LANG environment variable to choose locale +pref("intl.locale.matchOS", true); + +// Disable default mailer checking. +pref("mail.shell.checkDefaultMail", false); + +// Don't disable our bundled extensions in the application directory +pref("extensions.autoDisableScopes", 11); +pref("extensions.shownSelectionUI", true); --- thunderbird-9.0+build2.orig/debian/rules +++ thunderbird-9.0+build2/debian/rules @@ -0,0 +1,520 @@ +#!/usr/bin/make -f + +DISTRIB_VERSION_MAJOR = $(shell lsb_release -s -r | cut -d '.' -f 1) +DISTRIB_VERSION_MINOR = $(shell lsb_release -s -r | cut -d '.' -f 2) + +include $(CURDIR)/debian/config/branch.mk + +MOZ_APP_BASENAME := thunderbird +MOZ_MOZDIR := mozilla + +# Various build options +# tree = use in-tree libs, system = use system libs +MOZ_OVERRIDE_SHLIBS ?= +# 1 = Enable crashreporter (if supported) +MOZ_ENABLE_BREAKPAD ?= 0 +# 1 = Disable official branding and crash reporter (the crash reporter builds but is not enabled in application.ini) +MOZ_BUILD_UNOFFICIAL ?= 1 +# 1 = Build without jemalloc suitable for valgrind debugging +MOZ_VALGRIND ?= 0 +# 1 = Profile guided build +MOZ_BUILD_PGO ?= 0 +# 1 = Build and run the testsuite +MOZ_WANT_UNIT_TESTS ?= 0 +# 1 = Turn on debugging bits and disable optimizations +MOZ_DEBUG ?= 0 +# 1 = Disable optimizations +MOZ_NO_OPTIMIZE ?= 0 + +# Whether to use in-tree or system libs +# tree = force in-tree, system = force system, default = use upstream default +MOZ_USE_CAIRO ?= default +MOZ_USE_NSPR ?= default +MOZ_USE_NSS ?= default +MOZ_USE_SQLITE ?= default +MOZ_USE_HUNSPELL ?= default +MOZ_USE_VPX ?= default + +# Build-dependencies when using system libraries +NSPR_SYSTEM_BD = libnspr4-dev (>= 4.8.8) +CAIRO_SYSTEM_BD = libcairo2-dev (>= 1.10.0), libfreetype6-dev, libpixman-1-dev (>= 0.19.2) +SQLITE_SYSTEM_BD = libsqlite3-dev (>= 3.7.5) +HUNSPELL_SYSTEM_BD = libhunspell-dev +VPX_SYSTEM_BD = libvpx-dev +NSS_SYSTEM_BD = libnss3-dev (>= 3.12.10) + +# Build-dependencies when using in-tree libraries +CAIRO_TREE_BD = libxrender-dev + +# Additional build-dependencies +EXTRA_SYSTEM_BD = \n\tlibfreetype6-dev (>= 2.0.1),\n\tlibjpeg62-dev,\n\tlibpng12-dev,\n\tzlib1g-dev,\n\tlibbz2-dev,\n\tlibevent-dev, +EXTRA_DEFAULT_BD = \n\tlibfreetype6-dev (>= 2.0.1), + +DEFAULT_TREE_LIBS = CAIRO NSPR NSS SQLITE HUNSPELL VPX +DEFAULT_SYSTEM_LIBS = + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) +# Other things which should be defined before including the CDBS rules +DEB_TAR_SRCDIR := mozilla +# We need this to execute before the debian/control target gets called +clean:: pre-auto-update-debian-control + +-include /usr/share/cdbs/1/rules/tarball.mk +-include /usr/share/cdbs/1/rules/debhelper.mk +-include /usr/share/cdbs/1/rules/patchsys-quilt.mk +-include /usr/share/cdbs/1/class/makefile.mk +include $(CURDIR)/debian/build/get-orig-source.mk + +MOZ_OBJDIR := $(DEB_BUILDDIR)/$(MOZ_MOZDIR)/obj-$(DEB_HOST_GNU_TYPE) +MOZ_DISTDIR := $(MOZ_OBJDIR)/$(MOZ_MOZDIR)/dist + +# Define other variables used throughout the build +MOZ_APP_NAME := $(shell dpkg-parsechangelog | sed -n 's/^Source: *\(.*\)$$/\1/ p') +MOZ_APP_NAME_SUFFIX := $(shell echo $(MOZ_APP_NAME) | sed 's/\($(MOZ_APP_BASENAME)\)\-*\(.*\)/\2/' ) + +DEB_MAKE_MAKEFILE := client.mk +# Without this, CDBS passes CFLAGS and CXXFLAGS options to client.mk, which breaks the build +DEB_MAKE_EXTRA_ARGS := +# These normally come from autotools.mk, which we no longer include (because we +# don't want to run configure) +ifeq (1, $(MOZ_BUILD_PGO)) + DEB_MAKE_BUILD_TARGET := profiledbuild +endif +DEB_MAKE_INSTALL_TARGET := install DESTDIR=$(CURDIR)/debian/tmp +DEB_MAKE_CLEAN_TARGET := distclean +DEB_DH_STRIP_ARGS := --dbg-package=$(MOZ_APP_NAME)-dbg +# We don't want build-tree/mozilla/README to be shipped as a doc +DEB_INSTALL_DOCS_ALL := $(NULL) + +MOZ_VERSION = $(shell cat $(DEB_BUILDDIR)/mail/config/version.txt) +MOZ_PREFIX := /usr +MOZ_LIBDIR = $(MOZ_PREFIX)/lib/$(MOZ_APP_NAME)-$(MOZ_VERSION) +MOZ_INCDIR = $(MOZ_PREFIX)/include/$(MOZ_APP_NAME)-$(MOZ_VERSION) +MOZ_IDLDIR = $(MOZ_PREFIX)/share/idl/$(MOZ_APP_NAME)-$(MOZ_VERSION) +MOZ_SDKDIR = $(MOZ_PREFIX)/lib/$(MOZ_APP_NAME)-devel-$(MOZ_VERSION) + +NSPR_DEPENDS := $(NULL) +NSS_DEPENDS := $(NULL) +CAIRO_DEPENDS := $(NULL) +DEB_DH_GENCONTROL_ARGS_$(MOZ_APP_NAME)-dev = -- -Vnspr:Depends=$(NSPR_DEPENDS) -Vnss:Depends=$(NSS_DEPENDS) -Vcairo:Depends=$(CAIRO_DEPENDS) +DEB_AUTO_UPDATE_DEBIAN_CONTROL = no + +MOZ_PYTHON := $(shell which python) +DISTRIB := $(shell lsb_release -i -s) + +NO_AUTO_REFRESH_LOCALES ?= 0 + +CFLAGS = -g +CXXFLAGS = -g +LDFLAGS = $(shell echo $$LDFLAGS | sed -e 's/-Wl,-Bsymbolic-functions//') + +ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + MOZ_WANT_UNIT_TESTS=0 +endif + +ifeq (1,$(MOZ_VALGRIND)) + MOZ_BUILD_UNOFFICIAL = 1 +endif + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + MOZ_BUILD_PGO = 0 + MOZ_NO_OPTIMIZE = 1 +endif + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + MOZ_NO_OPTIMIZE = 1 + MOZ_DEBUG = 1 + MOZ_BUILD_UNOFFICIAL = 1 +endif + +ifeq (1, $(MOZ_BUILD_PGO)) + # See https://bugzilla.mozilla.org/show_bug.cgi?id=602245 + MOZ_WANT_UNIT_TESTS = 0 + # We don't really want the crash reporter on for PGO builds yet + MOZ_ENABLE_BREAKPAD = 0 + MOZ_BUILD_UNOFFICIAL = 1 +endif + +include $(CURDIR)/debian/build/testsuite.mk + +ifneq ($(MOZ_APP_NAME),$(MOZ_APP_BASENAME)) + # We don't want to make builds which change MOZ_APP_NAME official + MOZ_BUILD_UNOFFICIAL = 1 +endif + +# enable the crash reporter only on i386, amd64 and armel +ifeq (,$(filter i386 amd64 armel,$(DEB_HOST_ARCH))) + MOZ_ENABLE_BREAKPAD = 0 +endif + +BRANDING = $(CHANNEL) +ifneq (,$(filter release beta, $(BRANDING))) + BRANDING = official +endif +ifeq (1,$(MOZ_BUILD_UNOFFICIAL)) +ifneq (,$(filter official aurora, $(BRANDING))) + BRANDING = nightly +endif +endif +ifeq (official,$(BRANDING)) + BRANDING_DIR = other-licenses/branding/thunderbird + MOZ_BRANDING_OPTION = --enable-official-branding +else + BRANDING_DIR = mail/branding/$(BRANDING) + MOZ_BRANDING_OPTION = --with-branding=$(BRANDING_DIR) +endif +MOZ_DISPLAY_NAME = $(shell cat $(DEB_BUILDDIR)/$(BRANDING_DIR)/locales/en-US/brand.properties \ + | grep brandShortName | sed -e 's/brandShortName\=//') + +export LDFLAGS +export DEB_BUILD_HARDENING=1 +ifeq (1,$(shell test "$(DISTRIB_VERSION_MAJOR)$(DISTRIB_VERSION_MINOR)" -ge "1010" && echo "1")) + MOZ_SYSTEM_DICTDIR = /usr/share/hunspell +else + MOZ_SYSTEM_DICTDIR = /usr/share/myspell/dicts +endif +export MOZCONFIG=$(CURDIR)/debian/config/mozconfig +ifneq (1,$(MOZ_BUILD_UNOFFICIAL)) + export BUILD_OFFICIAL=1 +endif +ifeq (1,$(MOZ_ENABLE_BREAKPAD)) + # Needed to enable crashreported in application.ini + export MOZILLA_OFFICIAL=1 +endif +ifeq (1,$(MOZ_BUILD_PGO)) + CC = $(shell which gcc-4.5) + CXX = $(shell which g++-4.5) + export CC + export CXX +endif +ifdef LOCAL_BRANCH +export LOCAL_REPO=$(shell dirname $(LOCAL_BRANCH)) +endif + +ifeq ($(MOZ_APP_BASENAME),$(MOZ_APP_NAME)) +# We need to add an epoch to the version of the thunderbird-locale- packages. Don't do this for thunderbird-trunk-locale- though +LOCALE_PACKAGES := $(shell cat $(CURDIR)/debian/control | grep "^Package:[[:space:]]*$(MOZ_APP_NAME)-locale\-" | sed -n -e 's/^Package\:[[:space:]]*\([^[:space:]]*\)/\1/ p') +DEB_VERSION := $(shell dpkg-parsechangelog | sed -n -e '/^Version:/s/.*: //p') +$(foreach locale_package, $(LOCALE_PACKAGES), $(eval DEB_DH_GENCONTROL_ARGS_$(locale_package) = -- -v1:$(DEB_VERSION))) +endif + +DEB_DH_GENCONTROL_ARGS_$(MOZ_APP_NAME)-gnome-support = -- -Vunity:Depends="$(UNITY_DEPENDS)" + +# Defines used for the Mozilla text preprocessor +DEB_DEFINES = -DMOZ_LIBDIR="$(MOZ_LIBDIR)" -DMOZ_APP_NAME="$(MOZ_APP_NAME)" -DMOZ_APP_BASENAME="$(MOZ_APP_BASENAME)"\ + -DMOZ_INCDIR="$(MOZ_INCDIR)" -DMOZ_IDLDIR="$(MOZ_IDLDIR)" -DMOZ_VERSION="$(MOZ_VERSION)" -DDEB_HOST_ARCH="$(DEB_HOST_ARCH)" \ + -DMOZ_DISPLAY_NAME="$(MOZ_DISPLAY_NAME)" -DMOZ_SYSTEM_DICTDIR="$(MOZ_SYSTEM_DICTDIR)" -DMOZ_OVERRIDE_SHLIBS="$(MOZ_OVERRIDE_SHLIBS)" \ + -DMOZ_BRANDING_OPTION="$(MOZ_BRANDING_OPTION)" -DTOPSRCDIR="$(CURDIR)" -DDEB_HOST_GNU_TYPE="$(DEB_HOST_GNU_TYPE)" \ + -DMOZ_PREFIX="$(MOZ_PREFIX)" -DMOZ_SDKDIR="$(MOZ_SDKDIR)" -DMOZ_DISTDIR="$(MOZ_DISTDIR)" \ + -DMOZ_OBJDIR="$(MOZ_OBJDIR)" -DDEB_BUILDDIR="$(DEB_BUILDDIR)" -DMOZ_PYTHON="$(MOZ_PYTHON)" -DMOZ_PROFILE_PREFIX="." + +SHLIB_OVERRIDE = $(if $(shell test "system" = "$(MOZ_OVERRIDE_SHLIBS)" && echo "1"), $(eval MOZ_USE_$(1) = system), \ + $(if $(shell test "tree" = "$(MOZ_OVERRIDE_SHLIBS)" && echo "1"), $(eval MOZ_USE_$(1) = tree),)) +DEFINE_DEFAULT_TREE_LIB = $(if $(shell test "system" != "$(MOZ_USE_$(1))" && echo "1"), $(eval DEB_DEFINES += -DMOZ_TREE_$(1)); $(eval MOZ_TREE_$(1) = 1),) +DEFINE_DEFAULT_SYSTEM_LIB = $(if $(shell test "tree" = "$(MOZ_USE_$(1))" && echo "1"), $(eval DEB_DEFINES += -DMOZ_TREE_$(1)); $(eval MOZ_TREE_$(1) = 1),) + +$(foreach lib, $(DEFAULT_TREE_LIBS) $(DEFAULT_SYSTEM_LIBS), $(call SHLIB_OVERRIDE,$(lib))) +$(foreach lib, $(DEFAULT_TREE_LIBS) $(DEFAULT_SYSTEM_LIBS), $(eval DEB_DEFINES += -DMOZ_USE_$(lib)="$(MOZ_USE_$(lib))")) +$(foreach lib, $(DEFAULT_TREE_LIBS), $(call DEFINE_DEFAULT_TREE_LIB,$(lib))) +$(foreach lib, $(DEFAULT_SYSTEM_LIBS), $(call DEFINE_DEFAULT_SYSTEM_LIB,$(lib))) + +ifeq (1, $(MOZ_ENABLE_BREAKPAD)) + DEB_DEFINES += -DMOZ_ENABLE_BREAKPAD +endif +ifeq (1, $(MOZ_VALGRIND)) + DEB_DEFINES += -DMOZ_VALGRIND +endif +ifeq (1,$(MOZ_NO_OPTIMIZE)) + DEB_DEFINES += -DMOZ_NO_OPTIMIZE +endif +ifeq (1,$(MOZ_WANT_UNIT_TESTS)) + DEB_DEFINES += -DMOZ_WANT_UNIT_TESTS +endif +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + DEB_DEFINES += -DDEB_BUILD_GNU_TYPE="$(DEB_BUILD_GNU_TYPE)" +endif +ifeq (1,$(MOZ_BUILD_PGO)) + DEB_DEFINES += -DMOZ_BUILD_PGO +endif +ifneq (,$(filter aurora beta, $(CHANNEL))) + DEB_DEFINES += -DMOZ_UPDATE_CHANNEL="$(CHANNEL)" +endif +ifeq (1,$(MOZ_DEBUG)) + DEB_DEFINES += -DMOZ_DEBUG +endif +ifneq (,$(findstring armel,$(DEB_HOST_ARCH))) + DEB_DEFINES += -DDEB_ENABLE_THUMB2 +endif +ifeq (official, $(BRANDING)) + DEB_DEFINES += -DMOZ_OFFICIAL_BRANDING +endif + +ifneq (1, $(MOZ_TREE_NSPR)) + NSPR_DEPENDS = libnspr4-dev +endif +ifneq (1, $(MOZ_TREE_CAIRO)) + CAIRO_DEPENDS = libcairo2-dev +endif +ifneq (1, $(MOZ_TREE_NSS)) + NSS_DEPENDS = libnss3-dev +endif + +DEBIAN_EXECUTABLES = \ + $(MOZ_APP_NAME)$(MOZ_LIBDIR)/thunderbird.sh \ + $(NULL) + +subst_files = \ + debian/config/mozconfig \ + debian/$(MOZ_APP_NAME).dirs \ + debian/$(MOZ_APP_NAME).install \ + debian/$(MOZ_APP_NAME).links \ + debian/$(MOZ_APP_NAME).manpages \ + debian/thunderbird.sh \ + debian/$(MOZ_APP_NAME).xml \ + debian/$(MOZ_APP_NAME).desktop \ + debian/$(MOZ_APP_NAME)-dev.install \ + debian/$(MOZ_APP_NAME)-dev.links \ + debian/$(MOZ_APP_NAME)-gnome-support.install \ + debian/$(MOZ_APP_NAME)-mozsymbols.install \ + debian/$(MOZ_APP_NAME).preinst \ + debian/apport/blacklist \ + debian/apport/native-origins \ + debian/apport/source_$(MOZ_APP_NAME).py \ + $(NULL) + +SYSLIBS_BD = $(NULL) +APPEND_BDS = $(if $(shell test "x$(1)" != "x" && echo "1" ), $(eval SYSLIBS_BD += \n\t$(1),),) +$(foreach lib, $(DEFAULT_TREE_LIBS) $(DEFAULT_SYSTEM_LIBS), $(if $(shell test "$(MOZ_TREE_$(lib))" != "1" && echo "1"), $(call APPEND_BDS,$($(lib)_SYSTEM_BD)),$(call APPEND_BDS,$($(lib)_TREE_BD)))) +ifeq (system, $(MOZ_OVERRIDE_SHLIBS)) +SYSLIBS_BD += $(EXTRA_SYSTEM_BD) +else ifneq (tree, $(MOZ_OVERRIDE_SHLIBS)) +SYSLIBS_BD += $(EXTRA_DEFAULT_BD) +endif + +debian/control:: debian/control.in debian/control.langpacks debian/control.langpacks.unavail debian/config/locales.shipped debian/config/locales.all + @echo "" + @echo "*****************************" + @echo "* Refreshing debian/control *" + @echo "*****************************" + @echo "" + + @sed -e 's/@SYSLIBS_BD@/$(SYSLIBS_BD)/g' \ + -e 's/@MOZ_APP_NAME@/$(MOZ_APP_NAME)/g' < debian/control.in > debian/control + + @perl debian/build/dump-langpack-control-entries.pl -i $(CURDIR)/debian/config -t $(CURDIR)/debian > debian/control.tmp + + @sed -e 's/@MOZ_APP_NAME@/$(MOZ_APP_NAME)/g' < debian/control.tmp >> debian/control && rm -f debian/control.tmp + +BRANCH := +ifneq (,$(MOZ_APP_NAME_SUFFIX)) + BRANCH = -$(MOZ_APP_NAME_SUFFIX) +endif +$(subst_files): $(foreach file, $(subst_files), $(subst $(BRANCH),,$(file).in)) + $(MOZ_PYTHON) $(DEB_BUILDDIR)/$(MOZ_MOZDIR)/config/Preprocessor.py -Fsubstitution --marker="%%" $(DEB_DEFINES) $(CURDIR)/$(subst $(BRANCH),,$@.in) > $(CURDIR)/$@ + +debian/stamp-buildsymbols: debian/stamp-makefile-build +ifeq (1, $(MOZ_ENABLE_BREAKPAD)) + # create build symbols + cd $(MOZ_OBJDIR); \ + $(MAKE) buildsymbols MOZ_SYMBOLS_EXTRA_BUILDID=$(shell date -d "`dpkg-parsechangelog | grep Date: | sed -e 's/^Date: //'`" +%y%m%d%H%M%S)-$(DEB_HOST_GNU_CPU) +endif + touch $@ + +compare-locales/scripts/compare-locales: + cp -r $(CURDIR)/debian/compare-locales $(CURDIR) + chmod +x $(CURDIR)/compare-locales/scripts/* + +debian/stamp-langpack-xpi-build: compare-locales/scripts/compare-locales + @echo "" + @echo "********************************" + @echo "* Building language pack xpi's *" + @echo "********************************" + @echo "" + + rm -rf $(CURDIR)/debian/l10n-mergedirs + mkdir $(CURDIR)/debian/l10n-mergedirs + + @export PATH=$(CURDIR)/compare-locales/scripts/:$$PATH ; \ + export PYTHONPATH=$(CURDIR)/compare-locales/lib ; \ + cd $(MOZ_OBJDIR)/mail/locales ; \ + while read line ; \ + do \ + line=`echo $$line | sed 's/#.*//' | sed '/^$$/d'` ; \ + if [ ! -z "$$line" ] ; \ + then \ + language=`echo $$line | sed 's/\([^:]*\):*\([^:]*\)/\1/'` ; \ + echo "" ; \ + echo "" ; \ + echo "* Building $${language}" ; \ + echo "" ; \ + $(MAKE) merge-$$language LOCALE_MERGEDIR=$(CURDIR)/debian/l10n-mergedirs/$$language || exit 1 ; \ + $(MAKE) langpack-$$language LOCALE_MERGEDIR=$(CURDIR)/debian/l10n-mergedirs/$$language || exit 1 ; \ + fi \ + done < $(CURDIR)/debian/config/locales.shipped + + touch $@ + +common-build-arch:: debian/stamp-testsuite + +common-build-indep:: debian/stamp-langpack-xpi-build + +common-binary-arch:: debian/stamp-buildsymbols + +common-binary-post-install-indep:: + @echo "" + @echo "**********************************" + @echo "* Installing language pack xpi's *" + @echo "**********************************" + @echo "" + + @while read line ; \ + do \ + line=`echo $$line | sed 's/#.*//' | sed '/^$$/d'` ; \ + if [ ! -z "$$line" ] ; \ + then \ + language=`echo $$line | sed 's/\([^:]*\):*\([^:]*\)/\1/'` ; \ + pkgname=`echo $$line | sed 's/\([^:]*\):*\([^:]*\)/\2/'` ; \ + id=`python $(CURDIR)/debian/build/get-xpi-id.py $(CURDIR)/$(MOZ_DISTDIR)/linux-$(DEB_HOST_GNU_CPU)/xpi/$(MOZ_APP_NAME)-$(MOZ_VERSION).$${language}.langpack.xpi` ; \ + [ $$? -eq 0 ] || exit 1 ; \ + echo "Installing $(MOZ_APP_NAME)-$(MOZ_VERSION).$${language}.langpack.xpi to $${id}.xpi in $(MOZ_APP_NAME)-locale-$${pkgname}" ; \ + dh_installdirs -p$(MOZ_APP_NAME)-locale-$${pkgname} usr/lib/$(MOZ_APP_NAME)-addons/extensions ; \ + cp $(CURDIR)/$(MOZ_DISTDIR)/linux-$(DEB_HOST_GNU_CPU)/xpi/$(MOZ_APP_NAME)-$(MOZ_VERSION).$${language}.langpack.xpi \ + $(CURDIR)/debian/$(MOZ_APP_NAME)-locale-$${pkgname}/usr/lib/$(MOZ_APP_NAME)-addons/extensions/$${id}.xpi ; \ + fi \ + done < $(CURDIR)/debian/config/locales.shipped + +binary-install/$(MOZ_APP_NAME):: + convert -resize 32x32 debian/$(MOZ_APP_NAME)/usr/share/pixmaps/$(MOZ_APP_NAME).png debian/$(MOZ_APP_NAME)/usr/share/pixmaps/$(MOZ_APP_NAME).xpm +ifeq (1,$(MOZ_ENABLE_BREAKPAD)) + install -m 0644 $(CURDIR)/debian/apport/blacklist $(CURDIR)/debian/$(MOZ_APP_NAME)/etc/apport/blacklist.d/$(MOZ_APP_NAME) +endif + install -m 0644 $(CURDIR)/debian/apport/native-origins $(CURDIR)/debian/$(MOZ_APP_NAME)/etc/apport/native-origins.d/$(MOZ_APP_NAME) + +GNOME_SUPPORT_FILES = libmozgnome.so + +binary-post-install/$(MOZ_APP_NAME):: + $(foreach file,$(GNOME_SUPPORT_FILES),rm -fv debian/$(MOZ_APP_NAME)/usr/lib/firefox-*/components/$(file);) true + +ifeq (1, $(MOZ_TREE_NSPR)) +binary-post-install/$(MOZ_APP_NAME)-dev:: + rm -f debian/$(MOZ_APP_NAME)-dev$(MOZ_INCDIR)/nspr/md/_linux.cfg + dh_link -p$(MOZ_APP_NAME)-dev $(MOZ_INCDIR)/nspr/prcpucfg.h $(MOZ_INCDIR)/nspr/md/_linux.cfg +endif + +common-binary-predeb-arch:: + $(foreach file,$(DEBIAN_EXECUTABLES),chmod a+x debian/$(file);) + # we want the gnome dependencies not to be in the main package at shlibdeps runtime, hence we dont + # install them at binary-install/* stage, but copy them over _after_ the shlibdeps had been generated + $(foreach file,$(GNOME_SUPPORT_FILES),mv debian/$(MOZ_APP_NAME)-gnome-support$(MOZ_LIBDIR)/components/$(file) debian/$(MOZ_APP_NAME)$(MOZ_LIBDIR)/components/;) true + +ifeq (1, $(MOZ_TREE_NSS)) +binary-predeb/$(MOZ_APP_NAME):: + $(foreach lib,libsoftokn3.so libfreebl3.so libnssdbm3.so, \ + LD_LIBRARY_PATH=debian/$(MOZ_APP_NAME)$(MOZ_LIBDIR):$$LD_LIBRARY_PATH \ + $(MOZ_DISTDIR)/bin/shlibsign -v -i debian/$(MOZ_APP_NAME)$(MOZ_LIBDIR)/$(lib);) +endif + +pre-build:: $(subst_files) + $(shell /usr/bin/docbook-to-man $(CURDIR)/debian/thunderbird.sgml > $(CURDIR)/debian/$(MOZ_APP_NAME).1) + +get-compare-locales: + mkdir -p compare-locales-tmp + hg clone http://hg.mozilla.org/build/compare-locales compare-locales-tmp +ifdef HGTAG + cd compare-locales-tmp; \ + hg update $(HGTAG); \ + printf "TAG=%s" $(HGTAG) > REV +else + cd compare-locales-tmp; \ + CHANGESET=`hg summary | grep parent | cut -d ' ' -f 2 | cut -d : -f 2`; \ + printf "CHANGESET=%s" $$CHANGESET > REV +endif + cd compare-locales-tmp; \ + find . -name *.pyc | xargs rm -f; \ + rm -rf .hg .hgtags .hgignore tests *.py + rm -rf debian/compare-locales + mv compare-locales-tmp debian/compare-locales + +refresh-supported-locales: real-refresh-supported-locales debian/control + +real-refresh-supported-locales: + @echo "" + @echo "****************************************" + @echo "* Refreshing list of shipped languages *" + @echo "****************************************" + @echo "" + + @if [ ! -f $(CURDIR)/upstream-shipped-locales ] ; \ + then \ + if [ ! -z $(TARBALL) ] ; \ + then \ + tarball_opts="-o $(TARBALL)" ; \ + else \ + tarball_opts="" ; \ + fi ; \ + python debian/build/extract-file.py -d $(CURDIR) $$tarball_opts upstream-shipped-locales ; \ + touch $(CURDIR)/upstream-shipped-locales.stamp ; \ + fi +ifdef LANGPACK_O_MATIC + @perl debian/build/refresh-supported-locales.pl -s $(CURDIR)/upstream-shipped-locales -l $(LANGPACK_O_MATIC) -o $(CURDIR)/debian/config -b $(CURDIR)/debian/config/locales.blacklist +else + @perl debian/build/refresh-supported-locales.pl -s $(CURDIR)/upstream-shipped-locales -o $(CURDIR)/debian/config -b $(CURDIR)/debian/config/locales.blacklist +endif + @if [ -f $(CURDIR)/upstream-shipped-locales.stamp ] ; \ + then \ + rm -f $(CURDIR)/upstream-shipped-locales $(CURDIR)/upstream-shipped-locales.stamp ; \ + fi + +pre-auto-refresh-supported-locales: + cp debian/config/locales.shipped debian/config/locales.shipped.old + +auto-refresh-supported-locales: pre-auto-refresh-supported-locales real-refresh-supported-locales + @if ! cmp -s debian/config/locales.shipped debian/config/locales.shipped.old ; \ + then \ + echo "" ; \ + echo "****************************************************************************" ; \ + echo "* List of shipped locales is out of date. Please refresh and try again *" ; \ + echo "* To refresh, run \"debian/rules refresh-supported-locales\" in the source *" ; \ + echo "* directory. If you are in bzr, you will need to pass the location of the *" ; \ + echo "* upstream tarball, using \"TARBALL=/path/to/tarball\". If extra information *" ; \ + echo "* is required for new locales, you will also need to pass the location of *" ; \ + echo "* langpack-o-matic, using \"LANGPACK_O_MATIC=/path/to/langpack-o-matic\" *" ; \ + echo "****************************************************************************" ; \ + echo "" ; \ + rm -f debian/config/locales.shipped.old ; \ + exit 1 ; \ + fi + rm -f debian/config/locales.shipped.old + +pre-auto-update-debian-control: + cp debian/control debian/control.old + touch debian/control.in + +post-auto-update-debian-control: + @if ! cmp -s debian/control debian/control.old ; \ + then \ + echo "" ; \ + echo "*************************************************************************" ; \ + echo "* debian/control file is out of date. Please refresh and try again *" ; \ + echo "* To refresh, run \"debian/rules debian/control\" in the source directory *" ; \ + echo "*************************************************************************" ; \ + echo "" ; \ + rm -f debian/control.old ; \ + exit 1 ; \ + fi + rm -f debian/control.old + +ifeq (1, $(NO_AUTO_REFRESH_LOCALES)) +clean:: post-auto-update-debian-control +else +clean:: auto-refresh-supported-locales post-auto-update-debian-control +endif + rm -f $(subst_files) + rm -f debian/stamp-* + rm -rf debian/l10n-mergedirs + rm -rf compare-locales --- thunderbird-9.0+build2.orig/debian/thunderbird.sgml +++ thunderbird-9.0+build2/debian/thunderbird.sgml @@ -0,0 +1,129 @@ + manpage.1'. You may view + the manual page with: `docbook-to-man manpage.sgml | nroff -man | + less'. A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + + + The docbook-to-man binary is found in the docbook-to-man package. + Please remember that if you create the nroff version in one of the + debian/rules file targets (such as build), you will need to include + docbook-to-man in your Build-Depends control field. + + --> + + + Alexander"> + Sack"> + + September 28, 2003"> + + 1"> + asac@jwsdot.com"> + + THUNDERBIRD"> + + + Debian"> + MPL"> + "> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + thunderbird - Mail User Agent (MUA) and newsgroup/RSS + client for X11 derived from the Mozilla suite. + + + + thunderbird + + + + + + DESCRIPTION + + Thunderbird provides IMAP/POP support, a built-in RSS reader, + support for HTML mail, powerful quick search, saved search + folders, advanced message filtering, junk mail controls, + message grouping, labels, return receipts, smart address book + LDAP address completion, import tools, and the ability to + manage multiple identities in email and newsgroup accounts. + Thunderbird provides enterprise and government grade security + such as S/MIME, digital signing, message encryption, and support + for certificates and security devices. + + + + OPTIONS + + + + + + + If no profile is given to the -P option, the profile + manager will pop-up. You will be allowed to create or + select a profile. Thunderbird then launches with the + selected profile. + + + + + + SEE ALSO + +The Thunderbird Homepage: +http://www.mozilla.org/projects/thunderbird/ + +The Debian Thunderbird FAQ: +http://www.jwsdot.com/debian/faq.html + + +
+ + + + --- thunderbird-9.0+build2.orig/debian/thunderbird.preinst.in +++ thunderbird-9.0+build2/debian/thunderbird.preinst.in @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +APP_NAME=@MOZ_APP_NAME@ + +# Remove a no-longer used conffile +rm_conffile() { + local PKGNAME="$1" + local CONFFILE="$2" + + [ -e "$CONFFILE" ] || return 0 + + local md5sum="$(md5sum $CONFFILE | sed -e 's/ .*//')" + local old_md5sum="$(dpkg-query -W -f='${Conffiles}' $PKGNAME | \ + sed -n -e "\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")" + # The quotes above confuse gedit, which considers the rest of the script to be inside quotes, so balance that out' + if [ "$md5sum" != "$old_md5sum" ]; then + echo "Obsolete conffile $CONFFILE has been modified by you." + echo "Saving as $CONFFILE.dpkg-bak ..." + mv -f "$CONFFILE" "$CONFFILE".dpkg-bak + else + echo "Removing obsolete conffile $CONFFILE ..." + rm -f "$CONFFILE" + fi +} + +case "$1" in +install|upgrade) + if dpkg --compare-versions "$2" lt "5.0~b1"; then + rm_conffile "${APP_NAME}" "/etc/${APP_NAME}/profile/localstore.rdf" + rm_conffile "${APP_NAME}" "/etc/${APP_NAME}/profile/mimeTypes.rdf" + rm_conffile "${APP_NAME}" "/etc/${APP_NAME}/profile/prefs.js" + rm_conffile "${APP_NAME}" "/etc/${APP_NAME}/profile/US/localstore.rdf" + rm_conffile "${APP_NAME}" "/etc/${APP_NAME}/profile/US/localstore.rdf" + fi +esac + +#DEBHELPER# --- thunderbird-9.0+build2.orig/debian/docs +++ thunderbird-9.0+build2/debian/docs @@ -0,0 +1 @@ +debian/MPL --- thunderbird-9.0+build2.orig/debian/thunderbird.install.in +++ thunderbird-9.0+build2/debian/thunderbird.install.in @@ -0,0 +1,33 @@ +debian/tmp@MOZ_LIBDIR@/chrome/icons +debian/tmp@MOZ_LIBDIR@/components/*.manifest +debian/tmp@MOZ_LIBDIR@/components/*.so +debian/tmp@MOZ_LIBDIR@/defaults/messenger +debian/tmp@MOZ_LIBDIR@/isp +debian/tmp@MOZ_LIBDIR@/omni.jar +debian/tmp@MOZ_LIBDIR@/*.so +debian/tmp@MOZ_LIBDIR@/@MOZ_APP_NAME@-bin +%%ifdef MOZ_ENABLE_BREAKPAD +debian/tmp@MOZ_LIBDIR@/crashreporter +%%endif +debian/tmp@MOZ_LIBDIR@/plugin-container +debian/tmp@MOZ_LIBDIR@/chrome.manifest +debian/tmp@MOZ_LIBDIR@/blocklist.xml +debian/tmp@MOZ_LIBDIR@/extensions/\{972ce4c6-7e08-4474-a285-3208198ce6fd\} /usr/lib/@MOZ_APP_NAME@-addons/extensions + +debian/tmp@MOZ_LIBDIR@/*.ini + +%%ifdef MOZ_UPDATE_CHANNEL +debian/tmp@MOZ_LIBDIR@/defaults/pref/channel-prefs.js +%%endif + +debian/@MOZ_APP_NAME@.desktop /usr/share/applications + +debian/apport/source_@MOZ_APP_NAME@.py /usr/share/apport/package-hooks/ + +debian/thunderbird.sh @MOZ_LIBDIR@ +#debian/distribution.ini @MOZ_LIBDIR@/distribution +debian/vendor.js @MOZ_LIBDIR@/defaults/pref + +debian/thunderbird.js /etc/@MOZ_APP_NAME@/pref + + --- thunderbird-9.0+build2.orig/debian/thunderbird.dirs.in +++ thunderbird-9.0+build2/debian/thunderbird.dirs.in @@ -0,0 +1,4 @@ +@MOZ_PREFIX@/lib/@MOZ_APP_NAME@-addons/extensions +@MOZ_PREFIX@/lib/@MOZ_APP_NAME@-addons/plugins +/etc/apport/blacklist.d +/etc/apport/native-origins.d --- thunderbird-9.0+build2.orig/debian/thunderbird.js +++ thunderbird-9.0+build2/debian/thunderbird.js @@ -0,0 +1,4 @@ +// This file can be used to configure global preferences for Firefox +// Example: Homepage +//pref("browser.startup.homepage", "http://www.weebls-stuff.com/wab/"); + --- thunderbird-9.0+build2.orig/debian/changelog +++ thunderbird-9.0+build2/debian/changelog @@ -0,0 +1,4582 @@ +thunderbird (9.0+build2-0ubuntu0.10.10.1~mts1) maverick; urgency=low + + * New upstream stable release (THUNDERBIRD_9_0_BUILD2) + + * Don't unconditionally overwrite SourcePackage when reporting bugs with + the nightly apport hook + - update debian/apport/source_thunderbird.py.in + * Set "Channel = Unavailable" if channel-prefs.js doesn't contain a + channel name + - update debian/apport/source_thunderbird.py.in + * Ensure that create-tarball can handle there not being a locale blacklist + - update debian/build/create-tarball.py + * Use makedirs to create the local cache directory + - update debian/build-create-tarball.py + * Drop patches fixed upstream: + - remove debian/patches/only-add-ENABLE_JIT-to-CXXFLAGS-if-jit-is-enabled.patch + - update debian/patches/series + * Drop xpt.py and xpidl from $LIBDIR. xpidl is gone, and xpt.py isn't included + there in the upstream SDK + - update debian/thunderbird-dev.links.in + * Add patch from upstream to hopefully fix PowerPC FTBFS (bmo: 703534) aka + Build failure on platforms without YARR JIT + - add debian/patches/fix-build-failure-without-yarr-jit.patch + - update debian/patches/series + * Fix LP: #901838 - Ugly busy pointer, due to libxcursor no longer matching + the cursor bitmap to a nice themed pointer + - add debian/patches/fix-cursor-handling.patch + - update debian/patches/series + + -- Chris Coulson Mon, 19 Dec 2011 22:45:16 +0000 + +thunderbird (8.0+build1-0ubuntu0.10.10.1~mts2) maverick; urgency=low + + * New upstream stable release (THUNDERBIRD_8_0_BUILD1) + + * Don't disable our bundled addons on upgrade + - update debian/vendor.js + * Move custom scripts to debian/build + - move debian/get-xpi-id.py to debian/build/get-xpi-id.py + - move debian/refresh-supported-locales.pl to + debian/build/refresh-supported-locales.pl + - move debian/extract-file.py to debian/build/extract-file.py + - move debian/testsuite.mk to debian/build + - update debian/rules + * Shrink the default mozconfig right down so that we use mostly upstream + defaults, rather than overriding them with our own options. It is still + possible to override them though. We also drop the pkg-config checks in + debian/rules which allowed a fallback build configuration when dependencies + aren't satisfied. Really, the build should just fail here rather than + continuing in some undesirable fallback mode + - update debian/thunderbird-dev.links.in + - update debian/mozconfig.in + - update debian/control.in + - update debian/rules + * Refresh build-depends, as this hasn't been done for a while: + - Drop patchutils, libxft-dev, libxinerama-dev, libgnome2-dev, sharutils + and bzip2. These don't appear to be needed + - Drop liborbit2-dev - only appears to be required if there is no libidl + - Add libglib2.0-dev, libext-dev, libfontconfig1-dev and libpango1.0-dev, + as the configure script checks for these directly + - Add minimum versions to libgconf2-dev, libgnomevfs2-dev, yasm and + libgnomeui-dev + - Specify minimum versions for libnspr4-dev, libcairo2-dev, libsqlite3-dev + and libnss3-dev when using system versions of those libs + * Introduce a branch config file (debian/config/branch.mk) which holds + settings which shouldn't be merged between branches (eg, whether + the crash reporter should be enabled) + - add debian/config/branch.mk + - update debian/rules + * Move debian/locales.* to debian/config + - move debian/locales.shipped => debian/config/locales.shipped + - move debian/locales.unavail => debian/config/locales.unavail + - update debian/rules + - update debian/build/refresh-supported-locales.pl + * Move debian/mozconfig.in to debian/config + * Touch debian/control.in during clean to force a refresh of debian/control, + so we can check if it is out-of-date and fail if it is + - update debian/rules + * Refresh patches: + - update debian/patches/ctypes-callback-reentry-fix.patch + * Drop the mozilla-devscripts dependency. We were only using this for creating + tarballs anyway. Instead, implement our own get-orig-source target, which + also fixes some problems we were having + - update debian/control.in + - remove debian/moz-rev.sh + - update debian/rules + - remove debian/mozclient/mozclient.mk + - remove debian/mozclient/thunderbird.conf + - update debian/config/branch.mk + - add debian/build/create-source + - add debian/build/get-orig-source.mk + - remove debian/mozclient/thunderbird-remove.binonly.sh + * Dropped patches fixed upstream: + - remove debian/patches/build-fix-for-no-ENABLE_YARR_JIT.patch + - remove debian/patches/compile-pldhash-as-C++.patch + * Lots of workflow improvements for dealing with language packs: + - update debian/rules + - add debian/build/extract-file.py + - add debian/build/dump-langpack-control-entries.pl + - update debian/build/refresh-supported-locales.pl + - add debian/config/locales.all + - update debian/config/locales.shipped + - remove debian/config/locales.unavailable + - update debian/control + - update debian/build/create-tarball.py + * Turn off the one-time addon selection dialog (LP: #888307) + - update debian/vendor.js + + -- Chris Coulson Thu, 10 Nov 2011 20:41:32 +0000 + +thunderbird (7.0.1+build1+nobinonly-0ubuntu0.10.10.1~mts1) maverick; urgency=low + + * New upstream stable release (THUNDERBIRD_7_0_1_BUILD1) + + -- Chris Coulson Thu, 29 Sep 2011 23:04:58 +0100 + +thunderbird (7.0+build1+nobinonly-0ubuntu0.10.10.1~mts1) maverick; urgency=low + + * New upstream stable release (THUNDERBIRD_7_0_BUILD1) + + * Make sure we actually install the crashreporter and apport blacklist file + for branches which use Breakpad + - update debian/thunderbird.install.in + * Drop the Mail/News reference in the desktop file - just set the name to + "Thunderbird Mail". This needs translating for other locales though + - update debian/thunderbird.desktop.in + * Drop patches fixed upstream: + - remove debian/patches/fix-sdk-bin-install.patch + - remove debian/patches/cairo-lcd-filter.patch + - update debian/patches/series + * Look in the correct location for the staged langpack xpi's. They moved + from dist/install to dist/linux-$(DEB_HOST_GNU_CPU) + - update debian/rules + * Simplify thunderbird-dev.install a bit by installing everything in + /usr/include/ + - update debian/thunderbird-dev.install.in + * Fix jsreftest failures by setting the correct timezone and locale + - update debian/testsuite.mk + * Add ${misc:Depends} dependency to transitional language packs + - update debian/control.langpacks.unavail + * Disable elfhack permanently. It doesn't give us any of the performance + wins that the official mozilla.org builds get, due to -Wl,-z,relro + - update debian/rules + - update debian/mozconfig.in + * Fix "format not a string literal and no format arguments" error + - add debian/patches/printf-fix.patch + - update debian/patches/series + * Refresh shipped locales + - refresh debian/locales.shipped and debian/locales.unavailable + - refresh debian/control + * Add upstream patch to only add ENABLE_JIT=1 to CXXFLAGS if any of trace/ + method/yarr jit is enabled. Fixes a build failure on PPC + - add debian/patches/only-add-ENABLE_JIT-to-CXXFLAGS-if-jit-is-enabled.patch + - update debian/patches/series + * Add upstream patch to fix build failure with ENABLE_YARR_JIT=0 + - add debian/patches/build-fix-for-no-ENABLE_YARR_JIT.patch + - update debian/patches/series + * Add upstream patch to work around a linker bug + - add debian/patches/compile-pldhash-as-C++.patch + - update debian/patches/series + * Don't error out whilst creating the source package if mozilla-devscripts + or cdbs aren't installed. This enables us to create source packages + on machines which don't have these available + - update debian/rules + - update debian/mozclient/thunderbird.mk + + -- Chris Coulson Fri, 23 Sep 2011 11:59:41 +0100 + +thunderbird (6.0.2+build2+nobinonly-0ubuntu0.10.10.1~mts1) maverick; urgency=low + + * New upstream stable release (THUNDERBIRD_6_0_2_BUILD2) + + -- Chris Coulson Mon, 05 Sep 2011 12:32:08 +0100 + +thunderbird (6.0+build2+nobinonly-0ubuntu0.10.10.1~mts1) maverick; urgency=low + + * New upstream stable release (THUNDERBIRD_6_0_BUILD2) + + * Update desktop file translations + - update debian/thunderbird-trunk.desktop.in + * Refresh shipped locales + - refresh debian/locales.shipped and debian/locales.unavailable + - refresh debian/control + * Drop the profile migrator, as it doesn't really make any sense with the new + release cycle. Instead, just copy the thunderbird profile (if it exists) to + thunderbird-trunk (if it doesn't exist) + - remove debian/migrator/xulapp-profilemigrator + - update debian/thunderbird.sh.in + - update debian/thunderbird.install.in + - update debian/rules + - update debian/control.in + * Drop patches fixed upstream: + - remove debian/patches/powerpc-build-fix.patch + - update debian/patches/series + * xpt_link and xpt_dump have been replaced by xpt.py + - update debian/thunderbird-dev.install.in + - update debian/thunderbird-dev.links.in + * Fix LP: #807805 - invalid language packs created because get-xpi-id.py + exits with "xml.parsers.expat.ExpatError: XML or text declaration not at + start of entity" exception when the install.rdf starts with empty lines + - update debian/get-xpi-id.py + * Refresh patches + - update debian/patches/add-syspref-dir.patch + * Explicitly specify the mozilla-release repo, as client.py still pulls + from mozilla-beta + - update debian/mozclient/thunderbird.conf + + -- Chris Coulson Fri, 12 Aug 2011 17:32:26 +0100 + +thunderbird (5.0+build1+nobinonly-0ubuntu0.10.10.1~mts1) maverick; urgency=low + + * New upstream stable release from the miramar channel (THUNDERBIRD_5_0_BUILD1) + + -- Chris Coulson Mon, 27 Jun 2011 22:23:40 +0100 + +thunderbird (5.0~b2+build1+nobinonly-0ubuntu0.10.10.1~mfn2) maverick; urgency=low + + * Parse the correct file for the version number + - update debian/rules + - update debian/mozclient/thunderbird.conf + + -- Chris Coulson Thu, 23 Jun 2011 23:36:02 +0100 + +thunderbird (5.0~b2+build1+nobinonly-0ubuntu0.10.10.1~mfn1) maverick; urgency=low + + * New upstream release from the miramar channel (THUNDERBIRD_5_0b2_BUILD1) + + * Add transitional ta-lk language pack to pull in thunderbird-locale-ta + - update debian/control.in + - refresh debian/control + * Add Bulgarian to locales.unavailable so we get a transitional language + pack + - update debian/locales.unavailable + - refresh debian/control + * Add a Vcs-Bzr URL + - update debian/control.in + - refresh debian/control + * Refresh shipped locales from latest tarball + - refresh debian/locales.shipped and debian/locales.unavailable + - refresh debian/control + + -- Chris Coulson Thu, 23 Jun 2011 21:07:09 +0100 + +thunderbird (5.0~b1+build2+nobinonly-0ubuntu0.10.10.1~mfn2) maverick; urgency=low + + * New upstream beta release (THUNDERBIRD_5_0b1_BUILD2) + + * Switch to comm-miramar + - update debain/mozclient/thunderbird.conf + * Align packaging with firefox: + - rename debian/apport/blacklist => debian/apport/thunderbird.in + - rename debian/control => debian/control.in + - rename debian/thunderbird-dev.install => + debian/thunderbird-dev.install.in + - rename debian/thunderbird-gnome-support.install => + debian/thunderbird-gnome-support.install.in + - rename debian/thunderbird.desktop => debian/thunderbird.desktop.in + - rename debian/thunderbird.install => debian/thunderbird.install.in + - rename debian/thunderbird.manpages => debian/thunderbird.manpages.in + - update debian/apport/thunderbird.in + - update debian/control.in + - update debian/rules + - update debian/thunderbird.sh.in + - update debian/thunderbird.xml.in + - update debian/thunderbird-dev.install.in + - update debian/thunderbird-gnome-support.install + - update debian/thunderbird.desktop.in + - update debian/thunderbird.install.in + - update debian/thunderbird.manpages + - added debian/thunderbird-dev.links.in + - added debian/thunderbird-mozsymbols.install.in + - added debian/thunderbird.dirs.in + - added debian/thunderbird.links.in + * Build language packs directly from the thunderbird source + + Include compare-locales FIREFOX_5_0b1_BUILD1 from + http://hg.mozilla.org/build/compare-locales. It's needed for merging + en-US strings with incomplete locales + + Pull l10n data in to tarball from bzr + - update debian/mozclient/thunderbird.conf + + Configure build for creating language packs by configuring with + "--with-l10n-base=" + - update debian/mozconfig.in + + Store the list of locales to ship, and provide a way of automatically + generating that list and the control file entries from the upstream + source. Also provide a way to blacklist languages. We map languages + to package names using langpack-o-matic (and also get descriptions + from there too) + - update debian/rules + - add debian/locales.shipped + - add debian/control.langpacks + - add debian/control.langpacks.unavail + - update debian/control + - add debian/locales.unavailable + - add debian/refresh-supported-locales.pl + + Add common-build-indep hook to build the translation xpi's + - update debian/rules + + Add common-binary-post-install-indep to install the xpi's in to the correct + debian packages + - update debian/rules + - add debian/get-xpi-id.py + + When rebuilding debian/control in the clean target, fail the build + if the control file was out-of-date. This ensures that we don't + accidentally drop language packs, and forces me to maintain an + up-to-date control file in bzr + - update debian/rules + * Rewrite the launcher script to not wrap around the upstream start + scripts, but start the Thunderbird binary directly. The upstream start + scripts contain a lot of complexity for dealing with things that we don't + need to worry about, and are quite slow. Also, add in the hooks for the + new profile migrator + - update debian/thunderbird.sh.in + * Replace the old profile migrator. The previous one relied on hard-coded + values and fragile shell script that isn't really scalable enough + now that stable Ubuntu releases see new major Thunderbird versions. The + new profile migrator doesn't require any hard-coded values, and should + be lower maintenance + - add debian/migrator/xulapp-profilemigrator + - remove debian/migrator/main.c + - update debian/rules + - update debian/thunderbird.sh.in + - update debian/control.in + * Build with "make -f client.mk" and using a mozconfig, rather than the + autoconf/configure/make steps used previously. The client.mk contains the + sequencing for doing PGO builds + - add debian/mozconfig.in + - update debian/rules + * Add cairo LCD filter patch from Firefox + - add debian/patches/cairo-lcd-filter.patch + - update debian/patches/series + * Refreshed patches: + - update debian/patches/fix-sdk-bin-install.patch + - update debian/patches/no-dynamic-nss-softokn.patch + - update debian/patches/add-syspref-dir.patch + * Support running the Mozilla test suite at build time. Currently, we run + the following targets: check, jstestbrowser, xpcshell-tests, reftest, + crashtest and mochitest. Not enabled yet + - add debian/testsuite.mk + - update debian/rules + * Don't touch $LIBDIR/.autoreg on install or removal. This has no effect + with the components registration changes in Gecko >= 2.0 + - update debian/thunderbird.postinst.in + - remove debian/thunderbird.prerm.in + * Backport patch from mozilla-central to fix powerpc build failure + - add debian/patches/powerpc-build-fix.patch + - update debian/patches/series + * Ensure that the files in /etc/thunderbird/profile are cleaned up on + upgrade + - update debian/thunderbird.preinst.in + * Drop unneeded patches: + - drop debian/patches/bz420391_attXXXX_fix_unix_installer.patch (only + seemed to be needed for static builds) + - remove bz532198_lp488354_ns_invokebyindex_not_thumb2_safe.patch + (fixed upstream) + - remove debian/patches/bz591331_att469858_breakpad_allow_ptrace.patch + (fixed upstream) + - remove debian/patches/bzXXX_ftbfs_static_with_system_hunspell.patch + (not doing static builds now) + - remove debian/patches/bzXXX_linker_flag_ordering.patch (not doing + static builds now) + - remove debian/patches/fix_installdir.patch (not sure what it was + needed for) + - remove debian/patches/fix_sdk_install_mimecrypt.patch (fixed upstream) + - remove debian/patches/lp682742_arm_it_instruction.patch (fixed + upstream) + - remove debian/patches/lp_710648_arm_it_instruction_breakpad.patch + (fixed upstream) + - remove debian/patches/use-MOZ_APP_LAUNCHER-for-launcher-exec.patch + (fixed upstream) + - update debian/patches/series + + -- Chris Coulson Fri, 03 Jun 2011 00:40:53 +0100 + +thunderbird (3.1.10+build1+nobinonly-0ubuntu0.10.10.1) maverick-security; urgency=low + + * New upstream release v3.1.10 (THUNDERBIRD_3_1_10_BUILD1) + - see USN-1122-1 + + -- Micah Gersten Sun, 24 Apr 2011 03:42:28 -0500 + +thunderbird (3.1.8+build3+nobinonly-0ubuntu0.10.10.1) maverick-security; urgency=low + + * New upstream release v3.1.8 (THUNDERBIRD_3_1_8_BUILD3) + - see USN-1050-1 + + [ Chris Coulson ] + * Refresh patches after landing of bmo: 506601 aka Transition LDAP SDKs + to Mercurial (from cvs) + - update debian/patches/no_dynamic_nss_softokn.patch + + -- Micah Gersten Wed, 23 Feb 2011 01:34:25 -0600 + +thunderbird (3.1.7+build3+nobinonly-0ubuntu0.10.10.1) maverick-security; urgency=low + + * New upstream release v3.1.7 (THUNDERBIRD_3_1_7_BUILD3) + - see USN-1020-1 + + * Drop patch after upstream landing of bmo: 551152 aka Symlinked components + break everything + - drop debian/patches/lp518422.patch + - update debian/patches/series + * Drop patch to allow building with system NSPR less than 4.8.6 since the + minimum NSPR is now 4.8.6 + - drop debian/patches/fix_build_w_nspr_less_than_486.patch + - update debian/patches/series + + -- Chris Coulson Wed, 08 Dec 2010 15:50:42 +0000 + +thunderbird (3.1.6+build1+nobinonly-0ubuntu0.10.10.1) maverick-security; urgency=low + + * New upstream release v3.1.6 (THUNDERBIRD_3_1_6_BUILD1) + - see USN-1011-2 + + -- Chris Coulson Wed, 27 Oct 2010 08:51:00 -0400 + +thunderbird (3.1.5+build1+nobinonly-0ubuntu0.10.10.1) maverick-security; urgency=low + + * New upstream release v3.1.5 (THUNDERBIRD_3_1_5_BUILD1) + - see USN-998-1 + + * Bump minimum system NSPR to 4.8.6 after landing of (bmo: 567620) aka + Bump minimum required version for system NSPR to 4.8.6 + - update debian/rules + * Bump minimum system NSS to 3.12.8 after landing of (bmo: 600104) aka + Bump minimum required version for system NSS to 3.12.8 + - update debian/rules + + -- Micah Gersten Sun, 03 Oct 2010 21:33:10 -0500 + +thunderbird (3.1.4+build2+nobinonly-0ubuntu3) maverick; urgency=low + + * Fix LP: #630281 - After upgrade keyboard "mail" shortcut does not work. + Set the default client launcher to MOZ_APP_LAUNCHER rather than the + executable in our volatile install directory. Define MOZ_APP_LAUNCHER + in the launcher shell script + - add bz593948_att474767_lp630281_moz_app_launcher_for_default_client.patch + - update debian/patches/series + - update debian/thunderbird.sh.in + + -- Chris Coulson Tue, 21 Sep 2010 21:05:31 +0100 + +thunderbird (3.1.4+build2+nobinonly-0ubuntu2) maverick; urgency=low + + * Add translations for the .desktop file; Thanks to David Planella for + coordinating and the translators for their contributions. + - update debian/thunderbird.desktop + + Croatian + + Galician + + Uyghur + * Add GenericName for select .desktop translations + - update debian/thunderbird.desktop + + Catalan + + German + + Russian + + -- Micah Gersten Thu, 16 Sep 2010 11:25:47 -0500 + +thunderbird (3.1.4+build2+nobinonly-0ubuntu1) maverick; urgency=low + + * New upstream release v3.1.4 (THUNDERBIRD_3_1_4_BUILD2) + + [ Micah Gersten ] + * fix LP: #630902 - Thunderbird's .desktop file does not contain slovak + translation; Thanks to Pavol Klačanský for the translations + - update debian/thunderbird.desktop + + [ Chris Coulson ] + * Fix LP: #637434 - components.list is not installed + - update debian/thunderbird.install + * De-fuzz patches + - update debian/patches/add_syspref_dir.patch + + -- Chris Coulson Wed, 15 Sep 2010 20:49:25 +0100 + +thunderbird (3.1.3+build1+nobinonly-0ubuntu1) maverick; urgency=low + + * New upstream release v3.1.3 (THUNDERBIRD_3_1_3_BUILD1) + + * Add patch to allow building with system NSPR less than 4.8.6 + - add debian/patches/fix_build_w_nspr_less_than_486.patch + - update debian/series + + -- Micah Gersten Thu, 02 Sep 2010 11:05:12 -0500 + +thunderbird (3.1.2+nobinonly-0ubuntu1) maverick; urgency=low + + * New upstream release v3.1.2 (THUNDERBIRD_3_1_2_RELEASE) (LP: #598935) + - fix LP: #594280 - Thunderbird startup-notification bug + - fix LP: #386356 - E-mails can be moved to non-existant folders + + * fix LP: #614190 - Add Traditional and Simplified Chinese translations to + desktop file; Thanks to Cheng-Chia Tseng for Traditional Chinese and + Aron Xu for Simplified Chinese + - update debian/thunderbird.desktop + * fix LP: #610867 - Missing French GenericName translations in .desktop file + - update debian/thunderbird.desktop + * Add build depends on libnotify-dev, libiw-dev, mesa-common-dev since + xulrunner-1.9.2 based apps require them + - update debian/control + * Update mozclient to reference comm-1.9.2 branch + - update debian/rules + - update debian/mozclient/thunderbird.conf + * Make all .install files install from thunderbird-3* dir + - update debian/*.install + * Refresh patches + - update debian/patches/fix_install_sdk_bin.patch + - update debian/patches/fix_installdir.patch + * Update thunderbird.install for 3.1.x files + - update debian/thunderbird.install + * Add patch so Thunderbird doesn't esxperience LP 518422; Thanks to + Alexander Sack for the original patch + - update debian/patches/series + - add debian/patches/lp518422.patch + * Update profile migrator from 3.0 to 3.1 and include beta 3.1 participation + - update debian/migrator/main.c + - update debian/thunderbird.sh.in + * Drop Thunderbird 2 migration code in the shell wrapper since there's no + migration path in Maverick + - update debian/thunderbird.sh.in + + -- Micah Gersten Fri, 20 Aug 2010 09:36:36 -0500 + +thunderbird (3.0.6+build2+nobinonly-0ubuntu1) maverick; urgency=low + + * New upstream release v3.0.6 (THUNDERBIRD_3_0_6_BUILD2) + - see USN-958-1 + + [ Chris Coulson ] + * Fix LP: #600217 - StartupWMClass value in thunderbird.desktop file is + not correct + - update debian/thunderbird.desktop + + [ Micah Gersten ] + * Fix LP: #590452 - Thunderbird needs change for dictionary transition; + Use hunspell dictionaries for Maverick and later + - update debian/rules + * Fix LP: #569762 - Thunderbird's .desktop file does not contain russian + translation; Thanks to Igor Zubarev for the translation + - update debian/thunderbird.desktop + * Fix LP: #563535 - thunderbird -g fails due to invoking "$LIBDIR/$META_NAME" + instead of "$LIBDIR/$META_NAME"-bin + - update debian/thunderbird.sh.in + * Fix LP: #411691 - many Exception... "update.locale file doesn't exist" in + console + - update debian/rules + + -- Micah Gersten Tue, 13 Jul 2010 08:59:50 -0500 + +thunderbird (3.0.5+build2+nobinonly-0ubuntu1) maverick; urgency=low + + * New upstream release v3.0.5 (THUNDERBIRD_3_0_5_BUILD2) + - see USN-943-1 + - fix LP: #556829 - thunderbird-bin crashed with SIGSEGV in + nsQueryInterface::operator() + - fix LP: #571296 - Thunderbird 3 "Message Pane" always visible + + [ Micah Gersten ] + * Drop patch after upstream landing of (bmo: 544481) aka + Build fails on Ubuntu Lucid Lynx using 'dash' shell + - drop debian/patches/fix-build-glitch.patch + - update debian/patches/series + + -- Micah Gersten Wed, 26 May 2010 12:28:42 -0500 + +thunderbird (3.0.4+nobinonly-0ubuntu4) lucid; urgency=low + + [ Micah Gersten ] + * fix LP: #509248 - Thunderbird 3 Shows only English dictionary in Spell + menu; Don't install Thunderbird dictionaries; Link Thunderbird dictionaries + folder to system dictionaries; Create symlink in postinst if dictionaries + dir is empty + - update debian/thunderbird.postinst.in + - update debian/thunderbird.install + - update debian/rules + + [ Chris Coulson ] + * Fix LP: #543060 - gnome integration should work even without -gnome-support. + Move the gnome components to the main thunderbird package whilst using + thunderbird-gnome-support to pull in the gnome dependencies: + - update debian/rules + - remove debian/thunderbird-gnome-support.postinst.in + - remove debian/thunderbird-gnome-support.prerm.in + - add replaces/breaks to thunderbird on previous versions of + thunderbird-gnome-supportm to ensure the upgrade works + + -- Chris Coulson Tue, 20 Apr 2010 16:18:24 +0100 + +thunderbird (3.0.4+nobinonly-0ubuntu3) lucid; urgency=high + + * fix LP: #563893 - Thunderbird will not launch do to a recursive symlink; + Test if old profile directory is a symlink before migration + - update debian/thunderbird.sh.in + * Add NEWS file regarding problem with last version + - add debian/thunderbird.NEWS + + -- Micah Gersten Thu, 15 Apr 2010 12:19:31 -0500 + +thunderbird (3.0.4+nobinonly-0ubuntu2) lucid; urgency=low + + * fix LP: #558620 - Thunderbird moves profile folder to .thunderbird.upstream; + Add symlink from old profile directory to new profile directory + - update debian/thunderbird.sh.in + * fix LP: #199003 - thunderbird-gnome-support provides gnome-www-browser; + drop Provides for thunderbird-gnome-support package + - update debian/control + * fix LP: #563059 - NS_InvokeByIndex in xptcinvoke_arm.cpp is not Thumb-2 + safe for Thunderbird in Lucid + - update debian/patches/series + - add debian/patches/bz532198_lp488354_ns_invokebyindex_not_thumb2_safe.patch + + -- Micah Gersten Wed, 14 Apr 2010 10:42:43 -0500 + +thunderbird (3.0.4+nobinonly-0ubuntu1) lucid; urgency=low + + * New upstream release v3.0.4 (THUNDERBIRD_3_0_4_RELEASE) + + [ Micah Gersten ] + * fix LP: #539375 - Thunderbird is not listed Ubuntu Software Center's "Mail" + section; Add Email to Categories in .desktop file + - update debian/thunderbird.desktop + * Bump minimum system NSS to 3.12.6 after upstream landing of (bmo: 545755) + aka Update Mozilla stable branches to NSS 3.12.6 and minimal support for + RFC 5746 + - update debian/rules + + [ Ricardo Perez Lopez ] + * fix LP: #543590 - Thunderbird .desktop file lacks of Spanish translations + - update debian/thunderbird.desktop + + [ Gabor Kelemen ] + * fix LP: #331794 - No Hungarian entry in the .desktop file + - update debian/thunderbird.desktop + + -- Micah Gersten Fri, 02 Apr 2010 00:00:41 -0500 + +thunderbird (3.0.3+nobinonly-0ubuntu2) lucid; urgency=low + + * fix LP: #526290 - Thunderbird 3 hyperlinks broken; installing + the thunderbird-gnome-support package does not trigger component + re-registration. This caused users that install thunderbird-gnome-support + after first run without gnome integration until they upgrade/reinstall + thunderbird main package. We fix this by adding a postinst.in/prerm.in + for the -gnome-support package that touches $PKGLIBDIR/.autoreg to trigger + component reregistration on next start. + - add debian/thunderbird-gnome-support.postinst.in + - add debian/thunderbird-gnome-support.prerm.in + - update debian/rules + * fix LP: #527138 - enigmail is uninstallable in lucid, needs update to 1.0 - blocked + by missing tbird sdk; add missing SDK and headers to thunderbird-dev package; + this allows extensions with native components like enigmail and traybiff to build. + To fix this we add INSTALL_SDK=1 to DEB_MAKE_EXTRA_ARGS in rules and add the + appropriate paths to a fresh thunderbird-dev.install package. + - update debian/rules + - add debian/thunderbird-dev.install + * fix SDK packaging for system-nspr/nss; we install links for nspr-config and + /usr/include/nspr (and nss-config and /usr/include/nss) to the tbird sdk if + system nspr/nss is used + - update debian/rules + * fix build failures on hardy-jaunty; DEB_MAKE_EXTRA_ARGS doesnt exist in the + cdbs versions available there; using DEB_MAKE_ENVVARS is supposed to work + everywhere; hence we use that to set INSTALL_SDK + - update debian/rules + * the sdk binaries (xpt_* and xpidl) seems to get not installed for applications + != xulrunner; we work around by patching toolkits packager.mk to install them + into "installdir" + - add debian/patches/fix_install_sdk_bin.patch + - update debian/patches/series + * mailnews does not install enough mime headers for enigmail when using + INSTALL_SDK=1; we add nsStreamConverter.h, mimecryp.h and mimemoz2.h to + EXPORT. + - add debian/patches/fix_sdk_install_mimecrypt.patch + - update debian/patches/series + * install xpidl and xpt_link/xpt_dump to pkglibdir of thunderbird-dev package + - update debian/thunderbird-dev.install + + -- Alexander Sack Mon, 22 Mar 2010 23:51:02 +0100 + +thunderbird (3.0.3+nobinonly-0ubuntu1) lucid; urgency=low + + * New upstream release v3.0.3 (THUNDERBIRD_3_0_3_RELEASE) + + * fix LP: #458148 - Thunderbird and Sunbird claim to be able to open PNG, + JPEG and GIF files + - update debian/thunderbird.desktop + * fix failure in build due to unrecognized line-end-escapes in Makefile + (Thanks kees for the original patch) + - add debian/patches/fix-build-glitch.patch + - update debian/patches/series + + -- Micah Gersten Mon, 08 Mar 2010 08:28:50 -0600 + +thunderbird (3.0.1+nobinonly-0ubuntu1) lucid; urgency=low + + * New upstream release v3.0.1 (THUNDERBIRD_3_0_1_RELEASE) + - fix LP: #257483 - thunderbird-bin crashed with Badwindow Error + - fix LP: #499603 - thunderbird-bin crashed with SIGSEGV when trying to + Edit as New + + * Fix FTBFS on Sparc by disabling jit (LP: #523627) + - update debian/rules + * Drop cairo FTBFS patch after upstream landing + - drop debian/patches/bz466250_att349521_fix_ftbfs_with_cairo_fb.patch + - update debian/series + + -- Micah Gersten Sun, 21 Feb 2010 12:15:33 -0600 + +thunderbird (3.0+nobinonly-0ubuntu1) lucid; urgency=low + + * New Upstream Release 3.0 (THUNDERBIRD_3_0_RELEASE) + - LP: #50902 - Thunderbird displays useless dialog + - LP: #52667 - Thunderbird doesn't support RFC-2369 + - LP: #49033 - Doesn't recognize upper case extension (.JPG) + - LP: #56465 - Per folder column widths + - LP: #68456 - CTRL-Shift-K bound to 2 functions + - LP: #79337 - Typo in Server Information for Add Account Wizard + - LP: #1084 - No scroll on full headers list + - LP: #62071 - Middle click on scrollbar pastes instead of jumping + - LP: #119358 - Weak default authentication mode + - LP: #120672 - No option to empty junk folder with right click + - LP: #96566 - movemail doesn't work with default privs + - LP: #122529 - Non-Thunderbird IMAP folders not visible to Thunderbird + - LP: #241276 - Not able to paste image into thunderbird compose window + - LP: #244635 - scrollboxes scroll to offset 0 when resized + - LP: #259387 - "Edit Message as New" broken for eml messages + - LP: #120281 - Editing a message from the drafts folder leaves line breaks + - LP: #115484 - Dialogue boxes too large for 1024x768 resolution + - LP: #320034 - Mail with self referencing headers breaks threading + - LP: #160794 - shortcuts different in windows and linux + - LP: #280987 - thunderbird keeps asking a password when working off-line + - LP: #369150 - Thunderbird splits email addresses with non-ascii characters + and a comma in From: field + - LP: #135066 - Thunderbird doesn't use Ubuntu icon theme + - LP: #297301 - after authentication error the password is forgotten + - LP: #487541 - thunderbird-bin crashed with SIGSEGV (AFS filesystem) + - LP: #485224 - Thunderbird saves double attachment file name endings on + FAT32 and NTFS + - LP: #482496 - When using SCIM ANTHY, autosaving fails, and then get asked + about sending in UTF-8 + + [ Fabien Tassin ] + * Add build-depends on autoconf2.13, autotolls-dev, mozilla-devscripts + libglib2.0-dev (>= 2.12), libstartup-notification0-dev, libbz2-dev, + libpixman-1-dev, libdbus-1-dev (>= 1.0.0), libdbus-glib-1-dev (>= 0.60), + libhal-dev (>= 0.5.8), libasound2-dev, libreadline5-dev | libreadline-dev, + libkrb5-dev + * Update build-depends minimums for libx11-dev (>= 2:1.0), + libgtk2.0-dev (>= 2.12), zlib1g-dev (>= 1:1.2.3), libpng12-dev (>= 1.2.0), + libjpeg62-dev (>= 6b), libcairo2-dev (>= 0.5.8), libgnome2-dev (>= 2.16), + libgnomevfs2-dev (>= 1:2.16), libgnomeui-dev (>= 2.16), + libnss3-dev (>= 3.12.0~1.9b3) + * Bump standards version to 3.8.0 + * Replace ${Source-Version} by ${binary:Version} in control file + - update debian/control + * Bump requirement for system nspr to >= 4.8 since Mozilla bug 492464 landed + * Bump requirement for system nss to >= 3.12.3 since Mozilla bug 485052 landed + * Use in-source hunspell when hunspell 1.2 is not available + * Add conditionnal support for --with-libxul-sdk controlled by + $(USE_SYSTEM_XUL) + - update debian/rules + * Add postinst/prerm scripts to maintain .autoreg + - update debian/rules + - add debian/thunderbird.postinst.in + - add debian/thunderbird.prerm.in + * Add thunderbird to the list of Preferred Applications in Gnome + - add debian/thunderbird.xml + - update debian/thunderbird-gnome-support.install + * Target the 'default' branch instead of tip + - add debian/moz-rev.sh + - update debian/mozclient/thunderbird.conf + * Import the mozclient project files from mozilla-devscripts + - add debian/mozclient/thunderbird.mk + - add debian/mozclient/thunderbird.conf + - add debian/mozclient/thunderbird-remove.binonly.sh + - update debian/rules + * Import compare.mk from mozilla-devscripts and fix it for embedded tarballs + for which the depth of dist/bin could vary + - add debian/mozclient/compare.mk + - update debian/mozclient/thunderbird-3.0.mk + - update debian/rules + * Drop mozilla-thunderbird, mozilla-thunderbird-dev packages + - update debian/control + * Add new doc files + - add debian/MPL + - add debian/docs + * Fix FTBFS with cairo 1.8.4 that is built with directfb, + triggering some new code, even when directfb was not wanted/detected + in configure + - add debian/patches/bz466250_att349521_fix_ftbfs_with_cairo_fb.patch + - update debian/patches/series + * Drop Thunderbird 2 Patches: + - drop debian/patches/18_arm_xpcom_unused_attribute.dpatch + - drop debian/patches/38_arm_xpcom_optim.dpatch + - drop debian/patches/412610_attachment_309958.patch + - drop debian/patches/82_prefs.dpatch + - drop debian/patches/autoconf-regen + - drop debian/patches/bz280419_att_267284-readonly-download.patch + - drop debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc.patch + - drop debian/patches/bz335810-pango-cursor-up-down-fix + - drop debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch + - drop debian/patches/bz344818_att264996_detect_xrender + - drop debian/patches/bzXXX_ftbfs_fontconfig.patch + - drop debian/patches/force-no-pragma-visibility-for-gcc-4.2_4.3 + - drop debian/patches/ftbfs_gcc44_elif.patch + - drop debian/patches/gnome-mime-handling + - drop debian/patches/hunspell-support + - drop debian/patches/lp345189_absolute_font_sizing.patch + - drop debian/patches/mailnews_mime_export + - drop debian/patches/main-fsh + - drop debian/patches/moz-user-dir-for-xre-profiles + - drop debian/patches/reply-to-list-support + - drop debian/patches/ship_movemail_rdf + - drop debian/patches/syspref-folder-support + - drop debian/patches/system-cairo-fix + - drop debian/patches/ubuntu-printing-patch + * Add Thunderbird 3 Patches: + - add debian/patches/bz420391_attXXXX_fix_unix_installer.patch + - add debian/patches/bzXXX_ftbfs_static_with_system_hunspell.patch + - add debian/patches/fix_installdir.patch + - add debian/patches/no_dynamic_nss_softokn.patch + + [ Alexander Sack ] + * add -dbg packages: thunderbird-3.0-dbg thunderbird-3.0-gnome-support-dbg + - update debian/control + + [ Micah Gersten ] + * Add ${misc:Depends} on thunderbird, thunderbird-gnome-support, and + thunderbird-dev + - update debian/control + * Bump minimum system cairo to 1.8.8 + - update debian/rules + * Add migrator/wrapper from Firefox to import settings from daily builds + - update debian/rules + - add debian/migrator/main.c + - add debian/thunderbird.sh.in + * Add system prefs patch from xulrunner-1.9.1 + - update debian/patches/series + - add debian/patches/add_syspref_dir.patch + + -- Micah Gersten Sun, 14 Feb 2010 21:04:09 -0600 + +thunderbird (2.0.0.23+build1+nobinonly-0ubuntu1) karmic; urgency=low + + * security/stability update 2.0.0.23 (USN-817-1) + * adjust patches to changed codebase + - update debian/patches/autoconf-regen + + -- Alexander Sack Mon, 17 Aug 2009 16:36:51 +0200 + +thunderbird (2.0.0.22+build1+nobinonly-0ubuntu3) karmic; urgency=low + + * drop gcc-4.3 armel dependency in karmic (LP: #401165) + - update debian/control + - update debian/rules + + -- Alexander Sack Tue, 04 Aug 2009 16:41:14 +0200 + +thunderbird (2.0.0.22+build1+nobinonly-0ubuntu2) karmic; urgency=low + + [ Loic Minier ] + * fix LP: #385325 - crash in JS due to usage of wrong floating point number format; + thanks Michael Casadevall for the research and locating the fix; patch created from + hg rev 2538:3f78d5e894bc aka bmo #322806 + - add debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc + - update debian/patches/series + + [ Michael Casadevall ] + * fix LP: #385325 - stack corruption issues on ARM EABI by cherry picking + patch from 1.9 branch. + - add debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch + - update debian/patches/series + * fix build failures on armel by changing default compiler on ARM to gcc-4.3 + and adding armel specific build depend accordingly + - update debian/rules + - update debian/control + + -- Alexander Sack Fri, 10 Jul 2009 16:18:46 +0200 + +thunderbird (2.0.0.22+build1+nobinonly-0ubuntu1.nspr474) karmic; urgency=low + + * security/stability update 2.0.0.22 (USN-782-1) + * add patch to fix ftbfs with gcc 4.4 (s/elif/else/) + - add debian/patches/ftbfs_gcc44_elif.patch + - update debian/patches/series + * fix LP: #345189 - thunderbird 2 treats pixel sized system fonts as + if they were point sized, which causes for to HUGE fonts + - add debian/patches/lp345189_absolute_font_sizing.patch + - update debian/patches/series + * fix LP: #137221 - thunderbird-gnome-support package required for + gnome capabilities; the gnome parts were always loadable modules and + fail to load gracefully if depends cannot be fulfilled anyway; in turn + we ship gnome components in the main thunderbird package and apply a bit + magic in debian/rules to strip the gnome related dependencies from it; + on top of this thunderbird-gnome-support becomes an empty package which gets + all the dependencies for convenience; the purpose of new gnome-support is + hence to install all required depends; in order to add the required depends + to the gnome-support package we introduce a new substvar "shlibs:GnomeShlibs" + and refer to it in control + - remove debian/thunderbird-gnome-support.install + - update debian/rules + - update debian/control + * the change for LP: #137221 moves files from thunderbird-gnome-support to + thunderbird package; adding Replaces to thunderbird package accordingly + - update debian/control + * fix LP: #145716 - panel launcher breaks on upgrade; we provide a + compatibility link for the old mozilla-thunderbird binary + - update debian/thunderbird.links + * drop not used control.in from debian/ dir + - remove debian/control.in + * pick up latest nspr (>= 4.7.4) to potentially fix armel build (LP: #385325) + - update debian/control + + -- Alexander Sack Tue, 16 Jun 2009 14:02:03 +0200 + +thunderbird (2.0.0.21+nobinonly-0ubuntu1) jaunty; urgency=low + + * security/stability update 2.0.0.21 (USN-741-1) + + -- Alexander Sack Wed, 18 Mar 2009 16:41:35 +0100 + +thunderbird (2.0.0.19+nobinonly-0ubuntu1) jaunty; urgency=low + + * security/stability update 2.0.0.19 (USN-701-1) + * fix LP: #301626 - thunderbird disables FORTIFY; we add patch required + to enable fortify and drop CPPFLAGS that disabled it accordingly + - add debian/patches/412610_attachment_309958.patch + - update debian/patches/series + - update debian/rules + + -- Alexander Sack Sat, 03 Jan 2009 20:36:12 +0100 + +thunderbird (2.0.0.18+nobinonly-0ubuntu1) jaunty; urgency=low + + * security/stability update 2.0.0.18 (USN-668-1) + * fix LP: #302388: add arm(el) xpcom patches from icedove package + - add debian/patches/18_arm_xpcom_unused_attribute.dpatch + - add debian/patches/38_arm_xpcom_optim.dpatch + - update debian/patches/series + * rerun autoconf2.13 to adjust configure patch + - update debian/patches/autoconf-regen + + [ Saïvann Carignan ] + * Fix LP: #194970, LP: #190688 - desktop-file-validate warnings: among others + we update Icon field to not use a file extension + - update debian/thunderbird.desktop + + -- Alexander Sack Wed, 26 Nov 2008 12:18:33 +0100 + +thunderbird (2.0.0.17+nobinonly-0ubuntu1) intrepid; urgency=low + + * RELEASE security/stability update 2.0.0.17 (USN-647-1) + + -- Alexander Sack Thu, 25 Sep 2008 15:27:29 +0200 + +thunderbird (2.0.0.16+nobinonly-0ubuntu2) intrepid; urgency=low + + * fix LP: #251602 - crashes in fortify; we use CPPFLAGS=-U_FORTIFY_SOURCE + now. + + -- Alexander Sack Fri, 25 Jul 2008 10:41:52 +0200 + +thunderbird (2.0.0.16+nobinonly-0ubuntu1) intrepid; urgency=low + + * RELEASE security/stability update 2.0.0.16 (USN-629-1) + + * fix LP: #195059 - Thunderbird package description ends with "XXX Todo"; + thanks to Andrew Starr-Bochicchio for drafting this + - update debian/control + + * drop patches applied upstream + - drop debian/patches/bz419350_attachment_306066.patch + - update debian/patches/series + + * adjust patches diverged upstream + - update debian/patches/ubuntu-look-and-feel-report-a-bug-menuitem + + * add explicit -lfontconfig to linker flags used for gfx/ps module + to fix ftbfs in intrepid + - add debian/patches/bzXXX_ftbfs_fontconfig.patch + - update debian/patches/series + + -- Alexander Sack Thu, 24 Jul 2008 15:34:31 +0200 + +thunderbird (2.0.0.14+nobinonly-0ubuntu2) intrepid; urgency=low + + * fix "ftbfs with gcc 4.3 because of include of not shipped iostream.h" + - add debian/patches/bz419350_attachment_306066.patch + - update debian/patches/series + + -- Alexander Sack Fri, 02 May 2008 15:19:13 +0200 + +thunderbird (2.0.0.14+nobinonly-0ubuntu1) intrepid; urgency=low + + * 2.0.0.14 security/stability update (USN-605-1) + * don't force gcc/g++ 4.2 as compiler anymore (4.3 is now in intrepid) + and drop the versioned build-depends accordingly. + - update debian/rules + - update debian/control + * drop patches applied upstream: + - delete debian/patches/bz399589_fix_missing_symbol_with_new_nss.patch + - update debian/patches/series + + -- Alexander Sack Wed, 27 Feb 2008 13:19:09 +0100 + +thunderbird (2.0.0.12+nobinonly-0ubuntu1) hardy; urgency=low + + * USN-582-1 - 2.0.0.12 security/stability update + * update autoconf-regen patch + - update debian/patches/autoconf-regen + + -- Alexander Sack Wed, 27 Feb 2008 13:19:09 +0100 + +thunderbird (2.0.0.9+nobinonly-0ubuntu2) hardy; urgency=low + + * fix missing nss symbol + - add debian/patches/bz399589_fix_missing_symbol_with_new_nss.patch + - update debian/patches/series + * download attachments to /tmp as read-only to prevent data-loss + (LP: #87101) + - add debian/patches/bz280419_att_267284-readonly-download.patch + - update debian/patches/series + + -- Alexander Sack Thu, 14 Feb 2008 21:21:19 +0100 + +thunderbird (2.0.0.9+nobinonly-0ubuntu1) hardy; urgency=low + + * 2.0.0.9 stability update: + * drop keep_version_2006.patch patch as we don't ship a pre-release + build anymore + - delete debian/patches/keep_version_2006.patch + - update debian/patches/series + * Bump Standards-Version to 3.7.3 + - update debian/control + * make Build-Depends more diff friendly + - update debian/control + + [ Fabien Tassin ] + * Ship movemail.rdf (LP: #148942) + - add debian/patches/ship_movemail_rdf + - update debian/patches/series + * Fix typo in french description of the update-notifier file + - update debian/thunderbird-restart-required.update-notifier + * Add XRender detection code in configure + - add debian/patches/bz344818_att264996_detect_xrender + - update debian/patches/autoconf-regen + - update debian/patches/series + * Add a menu file for thunderbird + - add debian/thunderbird.menu + + -- Alexander Sack Sat, 29 Dec 2007 22:20:38 +0100 + +thunderbird (2.0.0.8~pre071022+nobinonly-0ubuntu0.7.10) gutsy-security; urgency=low + + * 2.0.0.8 security/stability update (pre fetched from CVS): + * MFSA 2007-29 aka CVE-2007-5339 (browser), CVE-2007-5340 (javascript) + * MFSA 2007-30 aka CVE-2007-1095 + * MFSA 2007-31 aka CVE-2007-2292 + * MFSA 2007-32 aka CVE-2007-3511, CVE-2006-2894 + * MFSA 2007-33 aka CVE-2007-5334 + * MFSA 2007-34 aka CVE-2007-5337 + * MFSA 2007-35 aka CVE-2007-5338 + * MFSA 2007-36 aka CVE-2007-4841 (windows only) + + Packaging: + * debian/patches/bz389801-theme-crash-with-GtkOptionMenu-indicator_size-and-indicator_spacing.patch: + drop patch - applied upstream + * debian/patches/fix-rss.rdf-install-dir: drop patch - applied upstream. + * debian/patches/keep_version_2006.patch: stick with version info 2.0.0.6 + * debian/patches/autoconf-regen: rerun autoconf2.13 + * debian/patches/series: adapt series file accordingly. + + -- Alexander Sack Mon, 22 Oct 2007 13:00:15 +0200 + +thunderbird (2.0.0.6+nobinonly-0ubuntu1) gutsy; urgency=low + + * repack orig.tar.gz to not contain binary only files found in LP: #121734 + * debian/remove.binonly.sh: debian/remove.binonly.sh import script to + remove binary-only files + + -- Alexander Sack Mon, 08 Oct 2007 18:36:36 +0200 + +thunderbird (2.0.0.6-0ubuntu5) gutsy; urgency=low + + * add Recommends: myspell-en-us | hunspell-dictionary | myspell-dictionary + (LP: #138751). + + -- Alexander Sack Fri, 05 Oct 2007 11:37:57 +0200 + +thunderbird (2.0.0.6-0ubuntu4) gutsy; urgency=low + + * debian/thunderbird.links: install upstream-compatibility links to + system nss3 and nspr4 files (LP: #133171). + + -- Alexander Sack Mon, 24 Sep 2007 10:58:41 +0200 + +thunderbird (2.0.0.6-0ubuntu3) gutsy; urgency=low + + * debian/patches/bz389801-theme-crash-with-GtkOptionMenu-indicator_size-and-indicator_spacing.patch, + series: prefetch latest patch from bugzilla 389801 to theme dependent + top-crash. (LP: #129007) + * debian/thunderbird.desktop: add finish and swedish translations to + .desktop file (LP: #126112). + + -- Alexander Sack Wed, 19 Sep 2007 18:21:22 +0200 + +thunderbird (2.0.0.6-0ubuntu2) gutsy; urgency=low + + * debian/rules, debian/control: use gcc-4.2/g++-4.2 on all architectures + * debian/patches/autoconf-regen: update configure patch to enable + force-no-pragma-visibility-for-gcc-4.2_4.3 patch during build + * debian/patches/force-no-pragma-visibility-for-gcc-4.2_4.3, + debian/patches/series: don't use visibility gcc pragmas; fix build-failure + on gcc 4.2 and 4.3. + + -- Alexander Sack Thu, 30 Aug 2007 13:49:33 +0200 + +thunderbird (2.0.0.6-0ubuntu1) gutsy; urgency=low + + * 2.0.0.5 security/stability update: + * MFSA 2007-27 aka CVE-2007-3845, SA26201, VU#783400, + VU##403150: "Unescaped URIs passed to external programs" + * MFSA 2007-26 aka CVE-2007-3844: "Privilege escalation through + chrome-loaded about:blank windows" + + -- Alexander Sack Thu, 2 Aug 2007 14:54:14 +0200 + +thunderbird (2.0.0.5-0ubuntu1) gutsy; urgency=low + + * 2.0.0.5 security/stability update: + * MFSA 2007-23 aka CVE-2007-3670: Remote code execution by + launching Firefox from Internet Explorer. + * MFSA 2007-18 aka CVE-2007-3670: Crashes with evidence of memory + corruption. + + * debian/thunderbird.desktop: include more desktop file translations. + + -- Alexander Sack Mon, 23 Jul 2007 11:24:27 +0200 + +thunderbird (2.0.0.4-0ubuntu1) gutsy; urgency=low + + * final release upload; build with updated original tarball. + * debian/rules: --disable-freetype2 in an attempt to tackle bad fonts + * debian/patches/82_prefs.dpatch|series: import default font fixes + from xulrunner 1.8.1.4-1 patchset (thanks to Mike Hommey + ) + + -- Alexander Sack Mon, 18 Jun 2007 14:51:58 +0200 + +thunderbird (2.0.0.4~rc1-0ubuntu1) gutsy; urgency=low + + * stability/security upstream release 2.0.0.4 (rc1) + - CVE-2007-2867 aka MFSA 2007-12 (l): Crashes with evidence of memory + corruption (rv:1.8.0.12/1.8.1.4) - layout engine + - CVE-2007-2868 aka MFSA 2007-12 (j): Crashes with evidence of memory + corruption (rv:1.8.0.12/1.8.1.4) - javascript engine + - CVE-2007-1558 aka MFSA 2007-15: Security Vulnerability in APOP + Authentication + * debian/patches/gcc-workaround-visibility-hidden, debian/patches/series: + applied upstream -> dropped visibility workaround patch + * debian/patches/gnome-mime-handling: updated patch for bz273524 in + response to upstream landing of bz373955 + * debian/patches/autoconf-regen: rerun autoconf accordingly + + -- Alexander Sack Thu, 5 Jun 2007 10:54:00 +0200 + +thunderbird (2.0.0.0-0ubuntu3~.mt1) gutsy; urgency=low + + * mozilla team feisty backport build + + -- Alexander Sack Fri, 25 May 2007 11:17:00 +0200 + +thunderbird (2.0.0.0-0ubuntu3) gutsy; urgency=low + + * debian/thunderbird.links: add link to not break security manager + breakage (usr/lib/nss/libnssckbi.so usr/lib/thunderbird/libnssckbi.so) + + -- Alexander Sack Fri, 4 May 2007 00:19:00 +0200 + +thunderbird (2.0.0.0-0ubuntu2) gutsy; urgency=low + + * debian/control[.in]: fix ftbfs because of missing docbook-to-man + Build-Depends. + + -- Alexander Sack Thu, 3 May 2007 18:33:00 +0200 + +thunderbird (2.0.0.0-0ubuntu1) gutsy; urgency=low + + * bump version to 2.0.0.0 in preparation of official upload + * debian/patches/mailnews_mime_export: added patch to export mime headers: + mimecryp.h + mimemoz2.h - needed by enigmail + * debian/patches/series: add patch to quilt series accordingly + * debian/rules: use --with-user-appdir configure option to set MOZ_USER_DIR + * debian/patches/moz-user-dir-for-xre-profiles: fix xre dir provider to + honour MOZ_USER_DIR + * debian/patches/ubuntu-mail-app-xre-name: drop old nsXREAppData tweak to + use .mozilla-thunderbird as profile directory + * debian/patches/syspref-folder-support: add syspref folder support + * debian/patches/reply-to-list-support: port reply-to-list-support to 2.0 + branch + * debian/patches/series: update quilt patch series accordingly + + -- Alexander Sack Mon, 23 Apr 2007 13:15:00 +0200 + +thunderbird (1.99.rc1+2.0-1) feisty; urgency=low + + * branch firefox-trunk package for 2.0 thunderbird package + * debian/control.in, debian/control: add transition packages: + mozilla-thunderbird, mozilla-thunderbird-dev; disable dom-inspector + package as there is nearly no hope that it ever will get maintained + upstream again. + * debian/rules: remove inspector extension from configure; add excludes + to dh_install of thunderbird and thunderbird-dev package: + - + DEB_DH_INSTALL_ARGS_thunderbird := -Xgnome -Ximgicon -Xmozlibthai + DEB_DH_INSTALL_ARGS_thunderbird-dev := -Xnspr -Xnss + + -- Alexander Sack Wed, 18 Apr 2007 13:35:34 +0200 + +firefox-trunk (2.99+2cvs20070328-0ubuntu0) feisty; urgency=low + + * update upstream cvs + + -- Alexander Sack Wed, 28 Mar 2007 11:00:00 +0200 + +firefox-trunk (2.99+1-3.0a.20070201-0ubuntu0) feisty; urgency=low + + * package firefox 3 preview + * rewrite packaging, make use of cdbs with quilt patch + system. + + imported initial patches + + -- Alexander Sack Thu, 22 Feb 2007 09:00:00 +0200 + +firefox (2.0.0.1+1-0ubuntu2) feisty; urgency=low + + * browser/app/Makefile.in: link firefox-bin with + --no-as-needed again. (regression from + 2.0.0.1+1-0ubuntu1) + * browser/components/feeds/src/FeedWriter.js: fix + RSS preview/subscription for flat chrome + (Closes lp#61182) + * debian/rules: set BUILD_OFFICIAL and MOZILLA_OFFICIAL environment + so build gets a proper BUILD_ID (Closes LP#). + + -- Alexander Sack Mon, 19 Feb 2007 12:45:00 +0100 + +firefox (2.0.0.1+1-0ubuntu1) feisty; urgency=low + + * repackage with new upstream mozilla.org and split up patches + into distinct feature patches available at + http://people.ubuntu.com/~asac/firefox-patches/ + * make use of original source tarball as distributed from + ftp.mozilla.org + * debian/rules: use --enable-official-branding to produce + official firefox branding; remove icons in debian/ dir; + add more garbage cleanup + * debian/firefox.links: /usr/share/pixmaps/firefox.png and + usr/share/pixmaps/mozilla-firefox.png now link to + usr/share/firefox/icons/mozicon128.png + * drop FeedWriter.js patch, no rational available. + * xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp, + xpcom/reflect/xptcall/src/md/unix/Makefile.in, + xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips.cpp, + xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_m68k.cpp, + xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s, + configure.in, config/rules.mk, security/coreconf/Linux.mk: + drop debian architecture patches for + not ubuntu platforms + * debian/control: taking over maintainership + * configure.in: update hidden visibility patch from bugzilla + * configure.in: drop + * Makefile.in: drop explicit export of nss as build system is not + broken anymore + * browser/app/Makefile.in: drop linker tweaks for now. + * browser/app/profile/firefox.js: drop override for homepage + * browser/locales/en-US/chrome/branding/brand.properties: drop further + branding hacks not needed anymore + * browser/components/search/nsSearchService.js: drop not needed + official browser hacks + * prefs-size.diff: removed garbage file from source + + -- Alexander Sack Wed, 15 Feb 2007 23:15:00 +0100 + +firefox (2.0.0.1+0dfsg-0ubuntu2) feisty; urgency=low + + * Build using hunspell instead of myspell. + - debian/control: Build-depend on libhunspell-dev instead of libmyspell-dev. + - config/autoconf.mk.in: Add MOZ_MYSPELL_CFLAGS. + - extensions/spellcheck/myspell/src/Makefile.in: Use MOZ_MYSPELL_CFLAGS. + - extensions/spellcheck/myspell/src/mozMySpell.h: Include hunspell.cxx + instead of myspell.cxx. + - configure.in, configure: Overwrite myspell detection with hunspell. + + -- Matthias Klose Thu, 18 Jan 2007 11:57:14 +0000 + +firefox (2.0.0.1+0dfsg-0ubuntu1) feisty; urgency=low + + * New upstream security update: + - CVE-2006-6507, MFSA 2006-76: XSS using outer window's Function object. + - CVE-2006-6506, MFSA 2006-75: RSS Feed-preview referrer leak. + - CVE-2006-6504, MFSA 2006-73: SVG Processing Remote Code Execution. + - CVE-2006-6503, MFSA 2006-72: XSS by setting img.src to javascript: URI. + - CVE-2006-6502, MFSA 2006-71: LiveConnect crash finalizing JS objects. + - CVE-2006-6501, MFSA 2006-70: Privilege escallation using watch point. + - CVE-2006-6497, CVE-2006-6498, CVE-2006-6499, MFSA 2006-68: Crashes + with evidence of memory corruption. + * debian/rules: use original upstream icons (Closes LP#68180). + * debian/debsearch.src: make feisty the default debsearch target. + * browser/base/content/utilityOverlay.js: change Launchpad translation/help + pages for Feisty. + + -- Kees Cook Thu, 21 Dec 2006 09:51:22 -0800 + +firefox (2.0+0dfsg-0ubuntu3) edgy; urgency=low + + * Patch from upstream CVS to fix RSS preview/subscription, thanks to Mike + Connor and Martin Jürgens (Closes: LP#61182) + + -- Matt Zimmerman Mon, 23 Oct 2006 10:20:25 +0100 + +firefox (2.0+0dfsg-0ubuntu2) edgy; urgency=low + + * uudecode debsearch.gif too. Fixes FTBFS + * Make edgy the default debsearch target. Closes: Malone: #61687 + + -- Tollef Fog Heen Mon, 23 Oct 2006 08:52:11 +0200 + +firefox (2.0+0dfsg-0ubuntu1) edgy; urgency=low + + * Bump version to 2.0 (no upstream changes from rc3) + * browser/components/search/nsSearchService.js + - Set MOZ_OFFICIAL to "official", distributionID to "com.ubuntu" + * debian/branding: new subdirectory with images + * debian/rules: + - build: uudecode and substitute images in source tree, use debian/branding/icon64.png + instead of debian/firefox.png + - clean: restore images in source tree, remove uudecoded versions + + -- Matt Zimmerman Fri, 20 Oct 2006 15:56:42 -0700 + +firefox (1.99+2.0rc3+dfsg-0ubuntu1) edgy; urgency=low + + * New upstream version 2.0rc3, UVF exception approved by Matt Zimmerman. + * configure: Fix bashism to let the gcc visibility=hidden bug detection + work. + * configure{,.in}: Change MOZ_APP_DISPLAYNAME from 'BonEcho' to 'Firefox' to + make UserAgent string work with web sites which evaluate it. + * browser/base/content/utilityOverlay.js: Open the Launchpad + translation/help pages for Edgy, not Dapper. + * For the sake of automatic vulnerability tracking: All 1.5.0.x and earlier + vulnerabilities were fixed in the 2.0 branch as well: + CVE-2005-0752 CVE-2005-1531 CVE-2005-1532 CVE-2005-2114 CVE-2006-0749 + CVE-2006-1731 CVE-2006-1732 CVE-2006-1733 CVE-2006-1734 CVE-2006-1735 + CVE-2006-1736 CVE-2006-1737 CVE-2006-1738 CVE-2006-1739 CVE-2006-1740 + CVE-2006-1741 CVE-2006-1742 CVE-2006-1790 CVE-2006-2775 CVE-2006-2776 + CVE-2006-2777 CVE-2006-2778 CVE-2006-2779 CVE-2006-2780 CVE-2006-2782 + CVE-2006-2783 CVE-2006-2784 CVE-2006-2785 CVE-2006-2786 CVE-2006-2787 + CVE-2006-2788 CVE-2006-3113 CVE-2006-3677 CVE-2006-3801 CVE-2006-3802 + CVE-2006-3803 CVE-2006-3805 CVE-2006-3806 CVE-2006-3807 CVE-2006-3808 + CVE-2006-3809 CVE-2006-3810 CVE-2006-3811 CVE-2006-3812 CVE-2006-4253 + CVE-2006-4340 CVE-2006-4565 CVE-2006-4566 CVE-2006-4567 CVE-2006-4568 + CVE-2006-4569 CVE-2006-4571 + + -- Martin Pitt Thu, 19 Oct 2006 09:28:15 +0200 + +firefox (1.99+2.0rc2+dfsg-0ubuntu3) edgy; urgency=low + + * debian/firefox-runner: Disable Pango if a Sinhala locale is present. LP + 66270. + + -- Colin Watson Sun, 15 Oct 2006 20:29:26 +0100 + +firefox (1.99+2.0rc2+dfsg-0ubuntu2) edgy; urgency=low + + * Delete /usr/lib/firefox/components/compreg.dat in the postinst. + This is a partial workaround for LP 30791. + + -- Ian Jackson Thu, 12 Oct 2006 12:19:11 +0100 + +firefox (1.99+2.0rc2+dfsg-0ubuntu1) edgy; urgency=low + + * New upstream version 2.0rc2. + * Fix/workaround for epiphany GtkSocket lifetype crash: + apply patch id=241087 from Mozilla Bugzilla #241535 to fix LP #63814. + * Change application name to `Firefox', as requested by mdz. + Files changed: + - browser/locales/en-US/chrome/branding/brand.dtd + - browser/locales/en-US/chrome/branding/brand.properties; + New values: + - brandShortName and brandFullName: `Bon Echo' => `Firefox' + - vendorShortName: `Mozilla' => `Ubuntu' + * Make preferences dialogue fit again (bah!). + + -- Ian Jackson Tue, 10 Oct 2006 18:49:32 +0100 + +firefox (1.99+2.0b2+dfsg-1ubuntu3) edgy; urgency=low + + * Remove /usr/lib/mozilla-thunderbird from the LD_LIBRARY_PATH + if we find it there. Workaround for LP 57923. + * Remove pocket name (eg `-security') from distribution identifier in + the browser user agent string. LP 55289. + + -- Ian Jackson Tue, 3 Oct 2006 19:01:34 +0100 + +firefox (1.99+2.0b2+dfsg-1ubuntu2) edgy; urgency=low + + * Ship xpidl et al, in firefox-dev. Relates to Debian #362190. + Fixes Malone #61160. + + -- Ian Jackson Thu, 21 Sep 2006 16:33:50 +0100 + +firefox (1.99+2.0b2+dfsg-1ubuntu1) edgy; urgency=low + + * Merged from Debian unstable; new upstream version. + * Remaining differences between + Debian and Ubuntu in no particular order: + - Build libnspr and libnss and corresponding -dev packages from this + source package. Plus changes to make these libs build nicely. + - Various changes to preferences, default bookmarks and search engines. + - Support for `Get Help Online' and `Translate This Application'. + - Size changes for various dialogue boxes to make the contents fit. + - Downloads go to separate `Desktop' folder by default. + - Fix some underquoted m4 arguments. + - Minor changes in directories, symlinks and debian/control + to cope with Ubuntu and Debian's different histories. + - disable File / Import (wizard is nonfunctional). + Malone #28563, Debian #350599, Mozilla Bugzilla 117844. + - Change `Latest Headlines' to `Latest BBC Headlines' to properly + disclose the source up front, and use a corresponding RSS URL. + - Default for FIREFOX_DSP is none. + - Pango support is enabled only if an installed locale seems to need + it. + - Note in README.Debian about how to run xpcshell. + - Disable xprint. + - No build dependency on libxp-dev; build-depend on zip instead. + - Various icon changes. + - Some currently-unused directory merging code in firefox.preinst. + - Less detail in the user agent string. + - Belt-and-braces removal for some cruft left over by some versions of + the Mozilla build system. + - Better firefox.menu entry (says `Firefox Web Browser'). + - Build dynamically linked, since in Ubuntu embedders use firefox. + - EbmedWindow::GetVisibility bugfix, Malone 40320, upstream 312998. + - Pass FC_ANY_METRICS to Fontconfig where appropriate. + - Extensive Thai language patch. + - Print in serif by default even though default display is sans. + - Some fixes to the (upstream-unused) nss makefiles. + - Strip PostScript/ from printer names. + - Better message about updates of read-only extension. + - Include pointer to the Gecko Runtime (GRE registration). + - Prevent websites from disabling context menus. + All of these changes are fully documented in the changelog below. + Please see those changelog entries for full details. Much historical + information about changes either taken up by Debian or upstream, or + dropped by us, is retained in this changelog. + + -- Ian Jackson Wed, 13 Sep 2006 16:40:06 +0100 + +firefox (1.99+2.0b2+dfsg-1) experimental; urgency=low + + * New upstream beta release. + + * extensions/inspector/build/src/Makefile.in, + extensions/inspector/build/src/inspector.pkg, + extensions/inspector/build/src/nsInspectorModule.cpp: Removed, the problem + was lying in debian/rules. /me goes hiding under a rock. + * layout/inspector/public/Makefile.in: Reverted previous changes. + * debian/rules: Don't exclude inspector files when dh_installing the firefox + package. We need the inspector.xpt file from the components directory. The + files for the dom-inspector package are already excluded from the + firefox.install file anyway. + * debian/firefox-dom-inspector.install, + debian/firefox-dom-inspector.links: Simplified. + * debian/control: + + Turn firefox-dom-inspector into an arch: all package, since the binary + component has been merged into the firefox binary. + + Adjust dependencies for binNMU safety. + * xpcom/reflect/xptcall/src/md/unix/Makefile.in, configure.in, configure: + Use ${host_cpu} instead of uname -m so that firefox can safely build on + s390x with a s390 target, and on amd64 with an x86 target. + * uriloader/exthandler/unix/nsGNOMERegistry.cpp, + uriloader/exthandler/unix/nsGNOMERegistry.h, + uriloader/exthandler/unix/nsOSHelperAppService.cpp, + uriloader/exthandler/unix/nsMIMEInfoUnix.cpp, + uriloader/exthandler/unix/nsMIMEInfoUnix.h: Adapted patch from bz#273524 to + make helper applications with parameters work. (Closes: #355511) + * debian/copyright: Adjusted with updated information for firefox 2.0, which + is now properly tri-licensed \o/. (Closes: #330295) + * debian/rules: Install the MPL file taken from the upstream LICENSE file. + + -- Mike Hommey Fri, 1 Sep 2006 08:36:26 +0200 + +firefox (1.5.dfsg+1.5.0.6-3) unstable; urgency=low + + * browser/app/Makefile.in: Workaround to force link the xpcom library to + the firefox binary despite -Wl,--as-needed in the LDFLAGS. + (Closes: #378667) + * debian/firefox.install: Don't install xpt_link, xpt_dump, xpidl, + xpicleanup, xpcshell nor regxpcom. They are of no use to firefox users and + are provided with xulrunner anyway. (Closes: #362190) + + -- Mike Hommey Sun, 20 Aug 2006 19:49:25 +0200 + +firefox (1.5.dfsg+1.5.0.6-2) unstable; urgency=low + + * debian/firefox.desktop: + - Polish translation from Ian Jackson by way of an Ubuntu user. + (Closes: #382079) + - Patch from Ian Jackson to stop claiming dav:// URLs when firefox + doesn't understand them. (Closes: #382080) + * editor/libeditor/text/nsPlaintextEditor.cpp: Apply patch from + bz#271815 to fix OverTheSpot mode used by many Asian language input + modules. (Closes: #379935) + + -- Eric Dorland Tue, 15 Aug 2006 00:09:55 -0400 + +firefox (1.5.dfsg+1.5.0.6-1) unstable; urgency=low + + * New upstream release. + + -- Eric Dorland Thu, 3 Aug 2006 13:17:45 -0400 + +firefox (1.5.dfsg+1.5.0.5-1) unstable; urgency=high + + [ Eric Dorland ] + * New upstream release. Urgency high because it fixes MFSA 2006-44 to + MFSA 2006-56 excluiding MFSA-2006-49. (Closes: #380463) + + [ Mike Hommey ] + * debian/firefox.prerm: Remove /usr/lib/firefox/.autoreg instead of + /var/lib/firefox/.autoreg. + * browser/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in: + Removed very old and now useless changes. + * xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp: Removed + useless new line that showed up in the diff.gz. + + -- Eric Dorland Sun, 30 Jul 2006 17:08:38 -0400 + +firefox (1.99+2.0b1+dfsg-1) experimental; urgency=low + + * New upstream beta targetted at experimental: + - Much better search plugins handling. They can be added and removed at + will, and even better, system-wise search plugins can be ignored at the + profile level. (Closes: #352195, #320957, #296425, #308005) + * browser/components/shell/src/Makefile.in: Correctly install the + setDefaultBrowser component. + * config/rules.mk: Don't install extensions in the chrome. + * debian/firefox.links: Link /usr/lib/firefox/dictionaries to + /usr/share/myspell/dicts. + * config/autoconf.mk.in, configure, configure.in: Add the + --enable-system-myspell argument to configure to use the system myspell + library. + * extensions/spellcheck/myspell/src/Makefile.in: Use the system myspell + library when asked to. + * debian/rules: + - Add --enable-system-myspell to configure call. + - Do shlibsign libfreebl's (there can be several depending on the arch). + * debian/control: Add libmyspell-dev to build dependencies. + * browser/components/microsummaries/src/Makefile.in, config/Makefile.in: + Add rules so that make clean cleans everything. + * allmakefiles.sh: Removed references to nonexisting Makefiles in + extensions/xmlextras/base. + * configure, configure.in: Apply patches from bz#334866, bz#319012 and + bz#335949 + fixups to workaround gcc visibility hidden bugs, especially + #331460 (an instance of which is actually still present in C++, + see gcc#26905). + * extensions/inspector/build/src/Makefile.in, + extensions/inspector/build/src/inspector.pkg, + extensions/inspector/build/src/nsInspectorModule.cpp: Added missing files + for the DOM Inspector component. + * extensions/inspector/build/src/Makefile.in, + layout/inspector/public/Makefile.in: Adapted so that the DOM Inspector + component would build correctly and the xpt would be installed in + the extensions directory. + * extensions/reporter/Makefile.in: Install missing reporter's preference. + + -- Mike Hommey Fri, 21 Jul 2006 07:05:25 +0200 + +firefox (1.5.dfsg+1.5.0.4-3) unstable; urgency=low + + [ Eric Dorland ] + * debian/control: + - Fix silly typo of binutils. (Closes: #378582) + - Standards-Version to 3.7.2.1. + + [ Mike Hommey ] + * debian/rules: + - Use a specific LD_LIBRARY_PATH at link time so that we don't need to + link against indirect dependencies. (Closes: #378378) + - Run shlibsign after the files are stripped so that it is accurate and + FIPS mode can correctly work. + - Removed old commented out OPTFLAGS that were kept in case gcc 4.0 did + no better than gcc 3.x. + - Removed old exported variables that are useless nowadays. + - Removed dh_strip call in binary-indep. Who wants to strip + arch-independant files ;) + * debian/presubj: Added notes about plugins and crash reports. + * security/manager/Makefile.in, security/nss/cmd/shlibsign/Makefile: + Don't build nor install the .chk files but still build shlibsign. + * debian/firefox.install: Don't install .chk files since we generate them + after dh_strip. + * security/nss/cmd/shlibsign/manifest.mn: Don't build in shlibsign/mangle. + It doesn't build anyway. + + -- Eric Dorland Wed, 19 Jul 2006 23:56:22 -0400 + +firefox (1.5.dfsg+1.5.0.4-2) unstable; urgency=low + + [ Eric Dorland ] + * netwerk/base/public/security-prefs.js: Disable SSLv2 by default. I + thought the weak cipher warning took care of this. (Closes: #371153) + * debian/firefox-runner: Simplify the dsp autodetection and add aoss to + the roster. (Closes: #372848) + * firefox-restart-required.update-notifier, firefox.postinst, + firefox.install: Add update-notifier to indicate that firefox needs to + be restarted on upgrade. Based on Ian Jackson's patch, but reworked a + little. Also with a bad French translation. Translators, assemble! + (Closes: #365865) + * config/rules.mk, debian/control: Apply patch from Thiemo Seufer to + remove mips -xgot hack and build depend on the appropriate binutils on + mips and mipsel. (Closes: #374372) + * debian/presubj, debian/README.Debian: Add a bit more information about + disabling Pango, which often seems to be the source of problems. + * debian/firefox-runner: + - Print out MOZ_NO_REMOTE in verbose mode. + - Fix some unreachable logic, Thanks Daniel Jacobowitz. + + [ Mike Hommey ] + * debian/rules: + - Fix for Gecko date extraction from client.mk. + - Disabled strict aliasing from optimized builds. + - Added -Wl,--as-needed to the LDFLAGS, so that we don't get indirect + libraries linked. + * config/static-config.mk: Add MOZ_XFT_LIBS to STATIC_EXTRA_LIBS. It used to + get linked as a side effect of linking to indirect libraries, but should + be linked directly since Xft symbols are used. + * debian/firefox-restart-required.update-notifier: Fixed the french + translation. ;) + * content/html/content/src/nsGenericHTMLElement.cpp, + content/html/content/src/nsHTMLInputElement.cpp, + dom/src/base/nsGlobalWindow.cpp: Fixed crasher and potential crashers. + Reported bz#343953. + + -- Eric Dorland Sun, 9 Jul 2006 02:37:28 -0400 + +firefox (1.5.dfsg+1.5.0.4-1) unstable; urgency=low + + * The "Post-DebConf Hangover" release. + + [ Eric Dorland ] + * New upstream release. Fixes various security issues. MFSA 2006-31 to + MFSA 2006-43, excluding MFSA 2006-40. + * debian/control: + - Standards-Version to 3.7.2.0. + - Set priority of -dbg to extra and Section to devel. + * gfx/src/gtk/nsFontMetricsPango.cpp, + intl/lwbrk/src/nsJISx4501LineBreaker.cpp, + intl/unicharutil/util/nsUnicharUtils.h, + intl/unicharutil/util/nsUnicharUtils.cpp, + layout/generic/nsTextFrame.cpp: Patch from Jurij Smakov (from + bz#161826) to fix alignment issues on sparc64. (Closes: #354725) + + [ Mike Hommey ] + * Applied distclean patch from xulrunner (in + debian/patches/01_distclean.dpatch), except for the javaxpcom stuff we + don't build anyway. + * browser/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}, + config/static-rules.mk: More cleaning for firefox. + * nsprpub/configure: Apply change to nsprpub/configure.in. + (Closes: #350616) + * gfx/src/gtk/nsFontMetricsPango.cpp: Some more changes so that it + actually builds without errors, and use PR_Malloc and PR_Free instead + of malloc and free. + + -- Eric Dorland Fri, 2 Jun 2006 12:13:18 -0400 + +firefox (1.5.dfsg+1.5.0.3-2) unstable; urgency=low + + * debian/firefox.desktop: Add spanish translation, just in time for + DebConf 6! Thanks Ian Jackson. (Closes: #365870) + * debian/firefox-runner: Actually apply the patch from Morita Sho in + #364566. I'm a moron. (Closes: #365956, #365960) + * debian/control: Standards-Version to 3.7.1.0. Go policy team! + + -- Eric Dorland Thu, 4 May 2006 01:38:18 -0400 + +firefox (1.5.dfsg+1.5.0.3-1) unstable; urgency=critical + + * The "secure enough for ya!" release. + * New upstream release. Contains security fixes, hence severity + critical. + - Fixes CVE-2006-1993 aka MFSA 2006-30. (Closes: #364810) + + [ Mike Hommey ] + * security/manager/Makefile.in, debian/firefox.install: Build and + install the .chk file again. That will make the FIPS mode work again. + * debian/control: Bumped Standards-Version to 3.7.0.0. No changes. + * debian/rules: Fix the navigator.ProductSub value for dumb scripts. + Closes: #364640, #365099. We now use the date of the client.mk file, + which is likely to be the closest value to the release date, instead of + useless build date. + Add the debian version after the firefox version string. + * debian/rules: Use dpkg-architecture to find out the host and build that + we want to pass to the configure script. (Closes: #365738) + + [ Eric Dorland ] + * debian/firefox-runner: + - Quote the APPLICATION_ID variable to handle profiles with a space + in the name. Inspired by Morita Sho's patch. (Closes: #364566) + - echo MOZ_DISABLE_PANGO on verbose. + * debian/rules: It's baaaackkk. Reenable xprint. + + -- Eric Dorland Wed, 3 May 2006 00:32:49 -0400 + +firefox (1.5.dfsg+1.5.0.3-0ubuntu3) dapper; urgency=low + + * Thai-related crash fix (Malone 45395): + - nsCopySupport.cpp, nsCopySupport::HTMLCopy: + do not crash if htmlConverter->Convert fails. + - nsHTMLFormatConverter.cpp, nsHTMLFormatConverter::Convert: + properly report failure if dataStr.IsEmpty. + - nsJISx4501LineBreaker.cpp: fix printf(stderr -> fprintf. + * Add Polish translation for firefox.desktop (Malone 45447). + Thanks to contribution from Tomasz Dominikowski. + * Do not attempt to merge /usr/lib/mozilla-firefox and /usr/lib/firefox + and make the former a link to the latter; this is unfortunately + error-prone and makes more problems than it solves. + Fixes Malone 44487; regresses the plugins directory confusion bug. + * Include MFSA and CVE numbers in changelog entry for 1.5.dfsg-1. + + -- Ian Jackson Tue, 23 May 2006 17:45:30 +0100 + +firefox (1.5.dfsg+1.5.0.3-0ubuntu2) dapper; urgency=low + + * Fix memory leak in large clipboard handling. Malone 41093. + Mozilla Bugzilla 289897; applied attachments 218749, 218753. + * Provide symlink /usr/lib/mozilla-firefox -> /usr/lib/firefox + (and shuffle stuff across if both directories exist). + * Remove update-notifier `restart required' on removal so that if you + remove firefox you're no longer asked to restart it. Malone 36739. + * Increase size of prefs window explicitly. Malone 43528. + * Suppress the error if /var/lib/locales/supported.d/* can't be read + (probably because it doesn't exist). If you get EIO or EACCES or some + such then having pango mysteriously disabled will be the least of your + worries. Malone 44016. + * Really use firefox_1.5.dfsg+1.5.0.3.orig.tar.gz from Debian. + + -- Ian Jackson Fri, 12 May 2006 19:20:30 +0100 + +firefox (1.5.dfsg+1.5.0.3-0ubuntu1) dapper; urgency=low + + * New upstream version, 1.5.0.3, security/stability fix from upstream: + MFSA 2006-30, CVE-2006-1993: Deleted + object reference when designMode="on" + This package is based on Debian's firefox_1.5.dfsg+1.5.0.3.orig.tar.gz + but has none of the corresponding Debian changes. + + -- Ian Jackson Wed, 10 May 2006 12:13:30 +0100 + +firefox (1.5.dfsg+1.5.0.2-3) unstable; urgency=low + + * debian/rules, debian/control: Build the -dbg package again. + * debian/firefox.1: Fix some incorrect references to mozilla. Thanks + Loïc Minier. (Closes: #364101) + * debian/firefox-runner: Patch from Mikhail Gusarov to be able to use + Network Audio Server's dsp wrapper. (Closes: #363124) + * debian/firefox.install: Fix screwed up path to firefox.xpm. (Closes: + #364359) + * debian/README.Debian: Document that firefox doesn't allow connections + on certain ports. Thanks W. Borgert. (Closes: #362785) + + -- Eric Dorland Sun, 23 Apr 2006 22:41:15 -0400 + +firefox (1.5.dfsg+1.5.0.2-2) unstable; urgency=critical + + * The "ftp-master's aren't my friends today" release. + * debian/rules, debian/control: Don't build the -dbg package for now, to + get around NEW queue processing. + + -- Eric Dorland Thu, 20 Apr 2006 22:33:18 -0400 + +firefox (1.5.dfsg+1.5.0.2-1) unstable; urgency=critical + + [ Eric Dorland ] + * New upstream release. Contains security fixes, hence severity + critical. + - Fixes the following vulnerabilites (Thanks Alexander Sack for + compiling the list): CVE-2006-1724, CVE-2006-0884, + CVE-2006-1730, CVE-2006-1729, CVE-2006-1728, CVE-2006-1727, + CVE-2006-1045, CVE-2006-0748, CVE-2006-1726, CVE-2006-1725, + CVE-2005-2353. (Closes: #362656) + * debian/firefox-runner: Patch from Paul Collins to fix some lingering + ProfileManager launch issues. (Closes: #356250) + * browser/components/preferences/privacy.xul, + browser/locales/en-US/chrome/browser/preferences/preferences.dtd: + Patch from Ian Jackson to make the preferences window bigger for + people with high rez displays. His changelog entry reads: + * Make Preferences window not chop off various elements: + - specify a width of 50em instead of 42em + - do not specify a height + - add another to the bottom of privacy.xul's prefpane. + I have no idea why this is necessary :-(. + Malone 36985. + * configure.in, configure: Small typo in configure.in that wasn't + setting TARGET_XPCOM_ABI properly and breaking binary extensions on + some arches. (Closes: #359228) + + [ Mike Hommey ] + * debian/rules: Disable elf-dynstr-gc, which is pretty useless nowadays. + * security/coreconf/rules.mk: Fix perl code that got broken by newer make. + Taken from bz#325148. + * browser/app/Makefile.in: Apply patch from bz#314927 to install default.xpm + in the correct place. + * debian/rules, debian/firefox.dirs, debian/firefox.install: Updated to fit + this change. + * security/coreconf/rules.mk: Force use of the -g flag in the CFLAGS. + + -- Eric Dorland Sun, 16 Apr 2006 18:40:02 -0400 + +firefox (1.5.dfsg+1.5.0.2-0ubuntu2) dapper; urgency=low + + * Increase sizes of various dialogue boxes so that all of the contents + fit. Malone 26225, 36985, and probably others. + * Set MOZ_DISABLE_PANGO=1 to disable pango, unless some locale is + selected as supported which would need pango for rendering; the + default can be overridden by setting MOZ_DISABLE_PANGO to 0 or 1. + Malone 32561 (workaround). + * Use update-notifier to request a firefox restart. Malone 36739. + * Added Spanish translation to firefox.desktop. + Malone 39972. Thanks to Rocco Stanzione for the patch. + * Add a couple of missing trailing newlines. + Malone 39972 again. Thanks Rocco Stanzione for the report. + * EbmedWindow::GetVisibility bugfix, Malone 40320, upstream 312998, + thanks to chpe for the patch and discussion. + * Add FC_ANY_METRICS set to FcTrue to all patterns that are going to be + used for finding (rather than enumerating) fonts. Malone 42559. + + -- Ian Jackson Tue, 2 May 2006 18:59:32 +0100 + +firefox (1.5.dfsg+1.5.0.2-0ubuntu1) dapper; urgency=low + + * New upstream version, 1.5.0.2. + Described as `stability and security fixes' by upstream but many + changes are included and producing a complete list is infeasible :-(. + Fixes are known to be included for: + - MFSA 2006-29, CVE-2006-1725: Spoofing with translucent windows + - MFSA 2006-28, CVE-2006-1726: Security check of + js_ValueToFunctionObject() can be circumvented + - MFSA 2006-27, CVE-2006-0748: Table Rebuilding Code Execution + Vulnerability + - MFSA 2006-25, CVE-2006-1727: Privilege escalation through Print Preview + - MFSA 2006-24, CVE-2006-1728: Privilege escalation using + crypto.generateCRMFRequest + - MFSA 2006-23, CVE-2006-1729: File stealing by changing input type + - MFSA 2006-22, CVE-2006-1730: CSS Letter-Spacing Heap Overflow + Vulnerability + - MFSA 2006-20, CVE-2006-1529, CVE-2006-1530, CVE-2006-1531, + CVE-2006-1723, CVE-2006-1724: Crashes with evidence of memory + corruption. + This package is based on Debian's firefox_1.5.dfsg+1.5.0.2.orig.tar.gz + but has none of the corresponding Debian changes. + + -- Ian Jackson Wed, 26 Apr 2006 16:53:22 +0100 + +firefox (1.5.dfsg+1.5.0.1-5) unstable; urgency=low + + [ Mike Hommey ] + * debian/rules: + - Add -g to the build flags when building with DEB_BUILD_OPTIONS=nostrip. + If we ask for nostrip, we want the debugging + symbols, right? ;) + - Changed the way we identificate ourselves in vendor.js. + * layout/build/Makefile.in, layout/build/nsLayoutModule.cpp: Remove useless + useragent setter at startup so that general.useragent.product and + general.useragent.productSub set in our vendor.js preference file work at + startup time. + * security/coreconf/Linux.mk: + - Patch from Martin Michlmayr for mips64 builds. + - Don't use x86 as CPU_ARCH when building on an unsupported architecture. + * security/manager/Makefile.in, security/nss/lib/ckfw/builtins/Makefile, + security/nss/lib/manifest.mn: Don't build the stuff we don't need, and + dynamically link libnssckbi to both libplc4 and libplds4 instead of + linking statically. + * debian/firefox.postinst, debian/firefox.prerm, + debian/firefox-gnome-support.postinst, debian/firefox-gnome-support.prerm: + Touch a .autoreg file at configure time, or removal of gnome-support and + remove it with the package. This will trigger autoregistration of the + components if the compreg.dat and xpti.dat files are older than the + .autoreg file. We used to remove compatibility.ini for that reason, but + stopped doing that because firefox was supposed to do that correctly, + which actually only correctly works on new upstream versions, not new + debian revisions, or installation of gnome-support. + * xpfe/components/killAll/Makefile.in: Correctly install the killAll + component. + + [ Eric Dorland ] + * debian/control: + - Set Section of firefox-gnome-support and + mozilla-firefox-gnome-support to gnome. + - Standards-Version to 3.6.2.2. + - debhelper build-dep to >= 5.0. + - Add firefox-dbg package. + * debian/compat: Set to 5. + * debian/rules: + - Remove silly CVS tarball cleanup target. + - Add arch-independant debhelper calls, and make other debhelper + calls arch-dependent. + - Add --dbg-package=firefox-dbg to dh_strip call. + - Always build with the -g flag. (Based on a change Mike made) + - Patch from Andreas Jochens to use -mminimal-toc when building on + ppc64. (Closes: #361035) + - Use --disable-strip, --disable-strip-libs in configure parameters. + Thanks Ian Jackson. + - Use .upstream instead of .orig to make it more clear and not + confuse the clean target. Thanks Ian Jackson. (Closes: #362186) + - Disable xprint support for now, while the Xorg 7 transition sorts + itself out. Should be reenabled next release. + * debian/firefox.xpm: Add more Debian compliant menu icon. + * debian/firefox.install, debian/rules: Install new Debian compliant + icon. + * debian/firefox.desktop: Add StartupNotify=true for pretty waiting + cursor. Thanks Sven Arvidsson. (Closes: #361527) + * debian/firefox-dom-inspector.preinst, + debian/firefox-dom-inspector.links, + debian/firefox-dom-inspector.install: Install non-architecture + specific bits of the inspector into /usr/share/firefox. + * debian/firefoxrc: Disable the dsp wrapper by default. esddsp is just + too buggy to allow this to continue. May reenable later if they clean + up their act. Leaving the bugs open for now. + * debian/firefox.NEWS: + - Document the dsp wrapper changes. + - Remove old mozilla-firefox entries. + * debian/firefox.1: Fix typo of firefox, thanks Andrew Rendle. (Closes: + #362413) + * debian/firefox.install: We don't get .chk files anymore for some + reason. + + -- Eric Dorland Fri, 14 Apr 2006 15:52:41 -0400 + +firefox (1.5.dfsg+1.5.0.1-4) unstable; urgency=low + + [ Mike Hommey ] + * debian/firefox-runner, debian/firefox.1: Patch from Ian Jackson to + make -P, -CreateProfile and -ProfileManager options correctly work + again, and improve the manual page. (Closes: #356250) + * debian/firefox.desktop: + - Fix trivial syntax problems. (Closes: #356263) + - Added Japanese and Korean translations. + * debian/firefox.dirs: Removed remainings of the time when we had a file + in /usr/sbin. (Closes: #356268) + * debian/firefox-gnome-support.prerm, + debian/firefox-gnome-support.postinst: Removed bashisms. (Closes: + #349946) + * debian/README.Debian: + - Replaced the bug reporting information by an invitation to read + /usr/share/bug/firefox/presubj. (Closes: #356269) + - Changed the heading to "Firefox for Debian". + + [ Eric Dorland ] + * debian/firefox-gnome-support.postinst, + debian/firefox-gnome-support.prerm: Add forgotten #DEBHELPER# token. + + -- Eric Dorland Sun, 12 Mar 2006 21:34:14 -0500 + +firefox (1.5.dfsg+1.5.0.1-3) unstable; urgency=low + + [ Eric Dorland ] + * debian/control: Use strict dependencies for the transition packages, + no reason a transition package should be upgraded before the real + package. + * debian/README.Debian: Fix all references to + /etc/mozilla-firefox/mozilla-firefoxrc. (Closes: #351956) + * debian/firefox.desktop: Patch from Ian Jackson to add more + translations and more inline with the GNOME HIG. (Closes: #351807) + * widget/src/gtk2/nsWindow.cpp: Apply new ignore extended mouse buttons + patch from Peter Colberg (Closes: #351972) + * debian/firefox.1: Lower case first letter of -ContentLocale. + * debian/firefox.1, debian/firefox-runner: Add -no-remote switch to turn + on MOZ_NO_REMOTE. Use it for profile related commands as + well. (Closes: #351717, #344849) + * wikipedia.gif.uu, wikipedia.src, rules, firefox.install: Patch from + Ian Jackson to add wikipedia search engine. (Closes: #354107) + + [ Mike Hommey ] + * modules/libpref/src/init/all.js: Set default fonts for all languages to + serif, sans-serif and monospace. It might solve a lot of fonts problems. + * config/config.mk, config/make-jars.pl, configure.in, + security/nss/lib/fortcrypt/swfort/pkcs11/config.mk, + extensions/inspector/Makefile.in: Allow building without zip when + building flat chrome. + * configure: Ran autoconf accordingly to changes in configure.in. + * debian/control: Removed build dependency on zip. + * debian/rules: Build flat chrome. + * debian/firefox.install: Changed wildcards accordingly. + * config/rules.mk: + + Don't build chromelist.txt files. + + Fixed "jar" build so that inspector files don't get duplicated in the + extension directory. + + -- Eric Dorland Sun, 26 Feb 2006 11:45:15 -0500 + +firefox (1.5.dfsg+1.5.0.1-2) unstable; urgency=low + + [ Mike Hommey ] + * debian/firefox-runner: export MOZ_DISABLE_PANGO. (Closes: #351959) + * debian/README.Debian: changed reference to the rc file in /etc. + (Closes: #351956) + + [ Eric Dorland ] + * debian/firefox.preinst: Fix {}'s bashism. Thanks Jeff King. (Closes: + #351811) + * modules/libpref/src/init/all.js: Make print.postscript.print_command + space-safe. Thanks Ian Jackson. (Closes: #351809) + * debian/firefox-runner: Don't completely override + $MOZ_PLUGIN_PATH. Thanks Ian Jackson. (Closes: #351806) + + -- Eric Dorland Thu, 9 Feb 2006 01:23:35 -0500 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu12) dapper; urgency=low + + * Sponsored upload for Theppitak Karoonboonyanan + * Updated Thai word breaking patch: + - load `libthai.so.0' instead of `libthai.so'. + - print debug message only when DEBUG is defined. + - debian/control: Suggests libthai0 + + -- Michael Vogt Thu, 13 Apr 2006 13:25:14 +0200 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu11) dapper; urgency=low + + * Fix silly lack of [ ] quoting in AC_DEFUN use. + Malone 36659, Mozilla bugzilla 298457. + * Make Preferences window not chop off various elements: + - specify a width of 50em instead of 42em + - do not specify a height + - add another to the bottom of privacy.xul's prefpane. + I have no idea why this is necessary :-(. + Malone 36985. + * Fix broken UTF-8 in .desktop file (again). Malone 37779. + * Document how to use xpcshell in README.Debian. Malone 35333. + * Clarify updateReadOnlyMessage to refer to `system package manager' + which will help the misunderstanding in Malone 31284. + + -- Ian Jackson Wed, 12 Apr 2006 17:18:52 +0100 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu10) dapper; urgency=low + + * Generate `firefox-dbg' package with debugging symbols. + This involves changing debian/compat to 5, which should be safe. + * Fix Norwegian translation in firefox.desktop. (Malone 30603.) + * Fix trivial syntax problems in firefox.desktop. (Malone 33567.) + * Remove x-directory/webdav x-directory/webdav-prefer-directory + from MimeType list in desktop file. (Malone 35928.) + * Use `about.png.upstream' instead of `about.png.orig' is the saved + original version for the branding; *.orig tends to get clobbered. + + -- Ian Jackson Fri, 24 Mar 2006 18:49:46 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu9) dapper; urgency=low + + * added thai linebreaking support (thanks to Theppitak Karoonboonyanan) + + -- Michael Vogt Tue, 14 Mar 2006 15:16:52 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu8) dapper; urgency=low + + * debian/rules: + - renamed the idl directory to match the .pc name, + replace mozilla-firefox by firefox for firefox-config too + + -- Sebastien Bacher Mon, 13 Mar 2006 15:12:43 +0100 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu7) dapper; urgency=low + + * Pointing the .pc files to /usr/include/firefox is not enough, + better install the headers there too. + + -- Matthias Klose Sat, 11 Mar 2006 17:41:24 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu6) dapper; urgency=low + + * Replace Ubuntu Bugzilla bookmark with Launchpad's `Request + support with Ubuntu' ticket creation page. (Malone 28896.) + * Reinstate `Translate This Application' in Help menu, despite the fact + that Launchpad doesn't do this yet - you just get a page saying there + are no translations for Firefox. mdz assures us that this will be + done some time during dapper's service life. + * Make -P, -CreateProfile and -ProfileManager imply sensible + values for -a, and document -a in firefox(1). (Malone 31746.) + * Fix md5sum mismatch which causes spurious conffile prompt on + bookmarks.html. + * Set browser.startup.homepage_override.mstone to ignore, + to avoid the silly thing where the first time after the upgrade, + firefox looks like it has lost your home page because it is so keen to + tell you about the release notes. (Malone 33895.) + * Change `Latest Headlines' to `Latest BBC Headlines' to properly + disclose the source up front, and use a corresponding RSS URL. + * Revert the `you have chosen to open' dialogue, as discussed on + ubuntu-devel. + * Fix firefox-*.pc files to contain correct references to libs and + includes, just like the mozilla-*.pc files. (Malone 34200.) + + -- Ian Jackson Thu, 9 Mar 2006 19:56:58 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu5) dapper; urgency=low + + * Disable `Translate This Application' and don't try to have `Get Help + Online' translated because we don't know how to translate firefox: + https://launchpad.net/products/rosetta/+spec/rosetta-firefox-support + + -- Ian Jackson Fri, 24 Feb 2006 14:49:23 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu4) dapper; urgency=low + + * Disable (by default) the `you have chosen to open' dialogue box; + instead, we just take the default (which is to open with the + application from the Gnome MIME database). This behaviour is + controlled by browser.helperApps.defaultNoAsk.openFile. + + Bookmark, search and translation reference regression fixes: + * Restore `Translate This Application' and `Get Help Online' + * Add Ubuntu and Free Software links back to bookmarks + + Bookmark, search and translation references improvements: + * Add Wikipedia to search box. + * Remove `Quick searches' from bookmarks (these just replicate + entries from the search box, and are broken anyway). + + * Get rid of README.Ubuntu - the contents are now no longer relevant. + + -- Ian Jackson Thu, 23 Feb 2006 14:44:42 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu3) dapper; urgency=low + + * Move /usr/lib/libxpcom*.so etc. back to /usr/lib/firefox; avoids + clashes with other packages (eg mozilla). + * Add rpath setting for /usr/lib/firefox to all .pc files in + firefox-dev. This is suboptimal, but at least it allows programs + which use firefox-dev at compile-time to find firefox's .so's. + * Take some redundant and perhaps privacy-leaking information out + of the default User-Agent (Malone 30677). + + -- Ian Jackson Fri, 10 Feb 2006 17:42:12 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu2) dapper; urgency=low + + * Fix stupid FTBFS on default.xpm introduced in last upload. + * Retrospectively insert CVE numbers into 1ubuntu1 changelog entry. + + -- Ian Jackson Thu, 9 Feb 2006 12:45:15 +0000 + +firefox (1.5.dfsg+1.5.0.1-1ubuntu1) dapper; urgency=low + + Changes since 1.5.dfsg-4ubuntu6: + * New upstream version (1.5.0.1) - security and stability fixes, + allegedly. (About 7000 lines of diff, so not reviewed for Ubuntu.) + Security fixes included: + - CVE-2006-0292, CVE-2006-0293, MFSA 2006-01: JavaScript garbage-collection + hazards + - CVE-2006-0294, MFSA 2006-02: Changing position:relative to static + corrupts memory + - CVE-2005-4134, MFSA 2006-03: Long document title causes startup denial of + Service + - CVE-2006-0295, MFSA 2006-04: Memory corruption via QueryInterface on + Location, Navigator objects + - CVE-2006-0296, MFSA 2006-05: Localstore.rdf XML injection through + XULDocument.persist() + - CVE-2006-0297, MFSA 2006-06: Integer overflows in E4X, SVG and Canvas + - CVE-2006-0298, MFSA 2006-07: Read beyond buffer while parsing XML + - CVE-2006-0299, MFSA 2006-08: "AnyName" entrainment and access control + hazard + * Fix Norwegian translation in .desktop file. (Malone #30603.) + * mkdir /usr/include/mozilla in firefox-dev.preinst to avoid + maintainer script sometimes preventing installation. + * Move the shlibs needed for gtkmozembed to /usr/lib (avoids + need for rpath and nonsense in firefox-gtkmozembed.pc). + * Work around new GNU make braindamage by adding seddery to + security/coreconf/rules.mk. + + Expected-permanent differences between Ubuntu and Debian: + * Build nspr and nss for use by all other programs in the distribution + (Packages: libnspr-dev, libnss-dev, libnspr4, libnss3. Fairly main + changes to parts of the build system.) This is so that mozilla + can be in Ubuntu universe. + * Disable xprint. (xprint is not used in Ubuntu.) + * Slightly different arrangements do with with transitional arrangements + related to package renaming from mozilla-firefox-*. + * Removed transitional packages mozilla-firefox-dom-inspector and + mozilla-firefox-gnome-support (not needed in Ubuntu). + * Build firefox-dev; applications which embed a browser in Ubuntu + generally embed Firefox rather than mozilla. This also means that we + build firefox with dynamic linking so that embedders and load ff. + * Debian package search replaced by Ubuntu package search (and defaults + to searching only in dapper, not all releases). + * Changes to various icons (and their installation paths). + * Strip CUPS/ from the front of displayed printer names, since + all printing in Ubuntu is done via CUPS. + + Other differences remaining between Ubuntu and Debian: + * debian/rules clean removes various junk left over by the mozilla build + system. (Debian #350616.) + * Exclude libssl3.so from dpkg_shlibdeps as this triggers a bug in + fakeroot on amd64 in Ubuntu. + * Set FIREFOX_DSP=none by default. Will sometimes break sound from eg + Flash. See https://launchpad.net/malone/bugs/29760 for rationale. + (Debian maintainers notified but no bug filed.) + * Append our plugin path to any previous value of MOZ_PLUGIN_PATH. + (Malone 29412. Debian #351806) + * firefox.desktop file has more translations and consistently calls the + application `Firefox Web Browser' (for better UI in the menus - this + change is also in firefox.menu). Debian #351807. + * Default printing command doesn't break if printer name contains + spaces (actually a preference, in all.js). (Debian #351809, + Mozilla Bugzilla #326245). + * security/coreconf/rules.mk adjusted with awful seddery to cope with + GNU make change to POSIXly interpretation of backslash line-joining. + See http://lists.debian.org/debian-devel/2005/12/msg00988.html. + Mozilla Bugzilla #325148. + * security/coreconf/ruleset.mk has a set -e added. + * Use GNOME mime database instead of mailcap. Patch imported from Red + Hat; see debian/gnome-mime-handling.diff. + * Change various preferences: + - Ubuntu-specific default homepage + - Ubuntu-specific release notes + - default homepage can be locale-specific + - middlebutton paste disabled + - do not load a special home page on first start after an upgrade + - disable File / Import (wizard is nonfunctional). + Malone #28563, Debian #350599, Mozilla Bugzilla 117844. + - save files to Desktop by default + - README.Ubuntu file (still rather full of junk) + - Prevent websites disabling the right-button context menu. + - Default font for display is sans, but: + - Default CSS for printing uses a serif font. + + -- Ian Jackson Tue, 7 Feb 2006 17:14:17 +0000 + +firefox (1.5.dfsg+1.5.0.1-1) unstable; urgency=low + + * The "those Ubuntu guys are great after all" release. + * New upstream release. (Closes: #351442) + + [ Mike Hommey ] + * debian/presubj: Added indications to try to reproduce without extensions + before actually filing a bug, and a hint to the safe mode. + * debian/firefox.install: added the reporter chrome files. (Closes: #344888) + * widget/src/gtk2/nsWindow.cpp: Revert additional stale patch for + extended mouse buttons support. + * debian/firefox.postinst, debian/firefox.prerm: unbashified. + (Closes: #349946) + * debian/control, debian/firefox-gnome-support.postinst, + debian/firefox-gnome-support.prerm: Let the firefox-gnome-support + package provide gnome-www-browser and handle a gnome-www-browser + alternative. Thanks Loïc Minier. (Closes: #350788) + * debian/firefox-runner: Enable Pango support by default. The + MOZ_ENABLE_PANGO environment variable is now useless. (Closes: #338716) + * debian/README.Debian: Change the paragraph about Pango to hint about + the MOZ_DISABLE_PANGO variable. + + [ Eric Dorland ] + * content/events/src/nsEventStateManager.cpp, + modules/libpref/src/init/all.js, widget/public/nsGUIEvent.h: Apply + patch from Ian Jackson to revert a stale patch for multiple mouse + button support that was fixed in a different way in 1.5 + (Closes: #348375) + * debian/firefox.preinst: Check md5sum's of old conffiles before cp'ing + them on upgrade. This won't stop all unnecessary conffile prompting in + all situations (especially from really old versions), but should + definitely should work for upgrading from testing or stable. (Closes: + #345112) + * debian/firefox.install: + - Remove run-mozilla.sh. (Closes: #348902) + - Reorganize things a bit. + - Move profile into /etc/firefox here, instead of in the rules file. + * debian/firefox.install, debian/firefox.preinst, debian/firefox.links, + debian/firefox.dirs, debian/rules: Move chrome, defaults, greprefs + into /usr/share/firefox for more FHS goodnesss. + * debian/firefox.1: Document -new-tab and -new-window options, and + remove deprecated -remote option. (Closes: #348699) + * debian/firefox-runner: Apply patch to properly URL escape local + files. Thanks Morita Sho. (Closes: #348451) + * browser/app/profile/firefox.js: + - Reallow 40-bit ciphers, since now firefox warns people who + use them. (Closes: #349624) + - Enable bidi UI elements for our bi-directional friends. + (Closes: #348069) + * debian/rules: Remove glob pattern from dh_install invocation. Thanks + Ian Jackson. (Closes: #350571) + * browser/base/content/aboutDialog.xul: Fix spurious scrollbar in the + about dialog box. Thanks Ian Jackson. (Closes: #350608) + * js/src/fdlibm/fdlibm.h: Patch to fix little endianess of + mipsel. Thanks Ian Jackson and Thiemo Seufer. (Closes: #350621) + * browser/base/content/search.xml: Patch from Ian Jackson to remove + misleading Clear option from search box context menu. (Closes: #350611) + * debian/watch: Fix regex to actually find the upstream tarballs. + * modules/libpref/src/init/all.js: Cope better with printers with spaces + in the name. Thanks Ian Jackson. + * toolkit/components/passwordmgr/base/nsPasswordManager.cpp: Take patch + from bz#235336 as suggested by Ian Jackson to allow password manager + to work with sites that only have a password field, no username. + + -- Eric Dorland Mon, 6 Feb 2006 23:10:29 -0500 + +firefox (1.5.dfsg-4) unstable; urgency=low + + [ Eric Dorland ] + * debian/control, debian/rules: + - Remove Kerberos options, it is now loaded dynamically. + - Use /usr/share/firefox now for finding default.xpm. + * debian/firefox.install, debian/firefox.links, debian/firefox.preinst: + Start moving some clearly non-arch specific things + (/usr/lib/firefox/searchplugins, /usr/lib/firefox/icons, + /usr/lib/firefox/res) out of /usr/lib/firefox and into + /usr/share/firefox to make things more FHS friendly. Can't believe no + one ever called me on this before. + * toolkit/components/remote/nsGTKRemoteService.cpp, + widget/src/xremoteclient/XRemoteClient.cpp: Apply patch from bz#312154 + to fix remote interface on PPC (and probably other arches). (Closes: + #343913) + * xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_m68k.cpp: Patch from + Zack Weinberg to fix FTBFS on m68k. (Closes: #343687) + * xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp: Patch from Antti + P Miettinen to fix small optimization problem with newer gcc's + (Closes: #344846) + + [ Mike Hommey ] + * debian/firefox-runner: Cleaned up now useless variables. + + -- Eric Dorland Tue, 10 Jan 2006 10:11:34 -0500 + +firefox (1.5.dfsg-3) unstable; urgency=low + + * debian/control: + - Need explicit build dependency on gtk >= 2.8. + - Upgrade Standards-Version to 3.6.2.1. No changes. + - Add compatibility packages for mozilla-firefox-dom-inspector + and mozilla-firefox-gnome-support and make all the upgrade packages + Architecture: all. (Closes: #343879, #344379) + * debian/watch: Add watch file. + * debian/about.png.uu: Add uuencoded version of previous about box + graphic. + * debian/rules: uudecode and install the about.png into the right + location. + * debian/firefox-runner: Add MOZ_PLUGIN_PATH to include plugins at the + old location for now. (Closes: #344085, #341682) + * widget/src/gtk2/nsWindow.cpp: Patch from bz#305970 to fix broken + contextual menu on Save File As. (Closes: #344430) + + * config/mkdepend/imakemdep.h, security/nss/lib/pki1/pki1.h: Remove some + patches that are now useless (suggested by Mike Hommey). + * mailnews/extensions/palmsync/palm.html, + browser/themes/pinstripe/browser/browser.css, + gfx/src/mac/nsNativeThemeMac.h, + directory/c-sdk/ldap/docs/draft-ietf-ldapext-ldap-c-api-05.txt, + layout/html/tests/table/bugs/bug123862.html, + layout/html/tests/table/bugs/bug119786.html, + layout/html/tests/table/bugs/bug101759.html, + layout/html/tests/table/bugs/bug14489.html, + layout/html/tests/table/bugs/bug222846.html, + layout/html/tests/block/bugs/155333-1.html, + layout/html/tests/block/bugs/185411-2.html, + layout/html/tests/block/bugs/13599.html, + layout/html/tests/block/bugs/53960.html, + layout/html/tests/block/bugs/155333-2.html, + layout/html/tests/block/bugs/38157-a.html, + layout/html/tests/block/bugs/38157-b.html, + layout/html/tests/block/bugs/46918.html, + layout/html/tests/block/printing/145305-11.html, + layout/html/tests/block/printing/145305-21.html, + layout/html/tests/block/printing/145305-13.html, + layout/html/tests/block/printing/145305-17.html, + layout/html/tests/block/printing/145305-19.html, + layout/html/tests/block/printing/145305-4.html, + layout/html/tests/block/printing/127145-1.html, + layout/html/tests/block/printing/145305-3.html, + layout/html/tests/block/printing/145305-7.html, + layout/html/tests/block/printing/145305-9.html, + layout/html/tests/frameset/core/r3.html, + layout/html/tests/frameset/core/r4.html, + layout/html/tests/frameset/core/blank2.html, + xpinstall/packager/stage_mfcembed.pl, xpinstall/packager/stage_gre.pl, + embedding/qa/testembed/Tests.cpp, + embedding/qa/testembed/nsihttpchanneltests.cpp, + embedding/qa/testembed/BrowserImpl.cpp, + embedding/qa/testembed/Tests.h, embedding/qa/testembed/QaUtils.cpp, + embedding/qa/testembed/resource.h, + embedding/qa/testembed/DomWindow.cpp, + embedding/qa/testembed/QaUtils.h, build/unix/abs2rel.pl, + xpfe/bootstrap/icons/windows/readme.txt, + security/nss/cmd/ssltap/ssltap-manual.html: Fix mess my subversion + repository made of line endings. This should reduce the size of the + diff.gz dramatically. + + -- Eric Dorland Sat, 24 Dec 2005 03:23:02 -0500 + +firefox (1.5.dfsg-2) unstable; urgency=low + + * browser/locales/en-US/chrome/branding/brand.dtd, + browser/locales/en-US/chrome/branding/brand.properties: Change brand + name from Deer Park to Firefox. About box graphic still needs to be + fixed. *grumble* *grumble* (Closes: #343704) + + -- Eric Dorland Sat, 17 Dec 2005 13:45:14 -0500 + +firefox (1.5.dfsg-1) unstable; urgency=low + + * New upstream release. No actual code changes from RC3. Took the + opportunity to completely empty the /other-licenses directory of the + upstream tarball. + * configure, configure.in: Change MOZ_APP_DISPLAYNAME to Firefox, so we + can be called Firefox without using + --enable-official-branding. *grumble* + * config/autoconf.mk.in, gfx/src/gtk/mozilla-decoder.cpp, configure.in: + Apply patch from bz#305185 to fix problems building against gtk+ 2.8. + * debian/control: + - Build-Depend on libfreetype6-dev since we do link + against it directly. + - Add mozilla-firefox package for easy transition. + - Conflict against older mozilla-firefox packages. + * debian/firefox-runner: + - Fix typo. (Closes: #341113) + - Check /usr/lib/mozilla-firefox/plugins for plugins too for the + time being. (Closes: #341682) + * debian/firefox-dom-inspector.preinst: Remove, not needed since the + name change. + * debian/firefox.preinst: + - Remove old upgrade code. + - Move old mozilla-firefox configs into place on install. + * debian/mozilla-firefox.preinst: Move upgrade code in here. Remove + mozilla-firefox alternative. + * debian/mozilla-firefox.postrm: Remove /etc/mozilla-firefox on purge. + + * Some patches missed when merging from Mike Hommey: + * browser/locales/en-US/searchplugins/answers.src: Change updateDays to + 0. + * config/mkdepend/imakemdep.h: Define for amd64. + * configure, configure.in: Visibility patch for recent gcc's. (Closes: + #341766) + * modules/libpref/src/nsPrefService.cpp: Patch to load preferences from + defaults/syspref. + * content/events/src/nsEventStateManager.cpp: Extended mouse events + patch. + * gfx/idl/nsIFreeType2.idl, gfx/src/freetype/nsFreeType.cpp, + gfx/src/freetype/nsFreeType.h, gfx/src/ps/nsFontMetricsPS.h, + gfx/src/x11shared/nsFontFreeType.cpp, + gfx/src/x11shared/nsFontFreeType.h, + layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp: Patch to + use new freetype API. + + -- Eric Dorland Fri, 16 Dec 2005 11:37:23 -0500 + +firefox (1.4.99+1.5rc3.dfsg-2) unstable; urgency=low + + * The "Grand Renaming" release. Thanks to Mike Hommey for sherperding + the 1.5 series through experimental. Now it's my turn to muck it up. A + transition packages will be in the next release. + * debian/mozilla-firefox*: Rename to firefox*. + * debian/firefox.install, debian/firefox-dom-inspector.install, + debian/firefox-gnome-support.install, debian/firefox-runner, + firefox-xremote-client, firefox.1, firefox.desktop, firefox.dirs, + debian/firefox.js, debian/firefox.links, debian/firefox.manpages, + debian/firefox.menu, debian/firefox.mime, debian/firefox.postinst, + debian/firefox.prerm, debian/firefox.png.uu, debian/README.Debian, + debian/control, debian/rules: Search/Replace mozilla-firefox -> + firefox where appropriate. + * debian/firefox.links: Link old icon name to new. + * debian/README.Debian: Fix path to .mozilla/firefox/rc. (Closes: + #335433) + * config/autoconf.mk.in: Set mozappdir to /usr/lib/firefox. + + -- Eric Dorland Sun, 27 Nov 2005 20:03:02 -0500 + +mozilla-firefox (1.4.99+1.5rc3.dfsg-1) experimental; urgency=low + + * New upstream 1.5 preview release. Release Candidate 3. + * debian/mozilla-firefox-runner: Removed the ping stuff, it's now done by + firefox itself. + + -- Mike Hommey Fri, 18 Nov 2005 07:24:05 +0100 + +mozilla-firefox (1.4.99+1.5rc2.dfsg-1) experimental; urgency=low + + * New upstream 1.5 preview release. Release Candidate 2. + * xpcom/typelib/xpidl/xpidl.c: Fix crash when no file is given on the + command line (Closes: #323639). Also fix the error message about extra + arguments given showing before the crash. + * configure.in, configure: Work around dash's bug #337294 so that we can + build fine when sh is dash (Closes: #211010, #256384). + * debian/mozilla-firefox-runner: + - Removed the code to detect the JVM and set LD_ASSUME_KERNEL=2.2.5 for + b0rked 1.3 JVMs: it's been a long time they've not been ABI compatible. + - Removed setting of MOZILLA_FIVE_HOME. We already have a default one + built-in. + - Removed /usr/lib/mozilla/plugins from EXTENT_LD_LIB_PATH, since we never + get the plugins from there. + - Removed cleanup of the profile. It is correctly done by firefox, now. + + -- Mike Hommey Fri, 11 Nov 2005 08:07:05 +0100 + +mozilla-firefox (1.4.99+1.5rc1.dfsg-1) experimental; urgency=low + + * New upstream 1.5 preview release. Release Candidate 1. + * debian/mozilla-firefox.install: Don't install + /usr/lib/mozilla-firefox/extensions/reporter@mozilla.org, it got moved in + the chrome. + + -- Mike Hommey Tue, 1 Nov 2005 22:01:15 +0100 + +mozilla-firefox (1.4.99+1.5beta2.dfsg-1) experimental; urgency=low + + * build/unix/run-mozilla.sh, netwerk/base/src/nsStandardURL.cpp: + Reverted debian changes: they got applied upstream. + * configure: Applied configure.in changes by hand. + * debian/rules: Disabled both the installer and the updater, we don't need + them. + + -- Mike Hommey Fri, 7 Oct 2005 15:06:05 +0200 + +mozilla-firefox (1.4.99+1.5beta1.dfsg-5) experimental; urgency=low + + * debian/control: Bumped Standards-Version to 3.6.2. + * nsprpub/configure.in: Reverted changed. + * configure.in: Use -fvisibility=hidden in all cases. There is another bug + in gcc that makes it generate position dependent code when using the + system wrappers. + * configure, nsprpub/configure: Applied configure.in changes with + autoconf2.13. + * debian/rules: Put back the /usr/share/pixmaps/mozilla-firefox.xpm file. + + -- Mike Hommey Mon, 3 Oct 2005 18:46:50 +0200 + +mozilla-firefox (1.4.99+1.5beta1.dfsg-4) experimental; urgency=low + + * xpcom/typelib/xpt/src/Makefile.in: Reverted changes. + * configure.in, nsprpub/configure.in: Added a detection of the gcc bug about + visibility for builtins, and use -fvisibility=hidden instead of the system + wrappers in case the bug is found. + * configure, nsprpub/configure: Applied configure.in changes with + autoconf2.13. (Really closes: #329642) + + -- Mike Hommey Tue, 27 Sep 2005 20:16:34 +0200 + +mozilla-firefox (1.4.99+1.5beta1.dfsg-3) experimental; urgency=low + + * Sync with unstable branch. + * xpcom/typelib/xpt/src/Makefile.in: disable visibility stuff for ppc, as a + workaround for FTBFS. (Closes: #329642) + + -- Mike Hommey Mon, 26 Sep 2005 18:35:11 +0200 + +mozilla-firefox (1.0.7-1) unstable; urgency=high + + * New upstream release. Contains fixes for various security issues. + * debian/mozilla-firefox-runner: Remove /usr/lib from + LD_LIBRARY_PATH. (Closes: #321789) + + -- Eric Dorland Thu, 22 Sep 2005 01:23:10 -0400 + +mozilla-firefox (1.4.99+1.5beta1.dfsg-2) experimental; urgency=low + + * debian/rules: enabled support for canvas. + + -- Mike Hommey Tue, 20 Sep 2005 07:56:01 +0200 + +mozilla-firefox (1.4.99+1.5beta1.dfsg-1) experimental; urgency=low + + * Cleaned-up source tarball from trademarked content and CVS directories. + * debian/mozilla-firefox-small.xpm, debian/mozilla-firefox.xpm: Removed. + * debian/mozilla-firefox.dirs, debian/rules: + + Create /usr/lib/mozilla-firefox/chrome/icons/default and move + default.xpm in it. (Closes: #327828) + + Stop using our own xpm icons, upstream provide them, now. + * debian/rules: changed the build system a bit. + * xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s: Somewhat these + files disappeared. Put them back. (Closes: #328074) + + -- Mike Hommey Tue, 13 Sep 2005 18:25:48 +0200 + +mozilla-firefox (1.4.99+1.5beta1-2) experimental; urgency=critical + + * Sync with unstable branch. + * netwerk/base/src/nsStandardURL.cpp: Apply the patch for the 1.8 branch + from bz#307259 to fix CAN-2005-2871. (Closes: #327452) + * debian/mozilla-firefox-gnome-support.install, debian/rules: Move out + imgicon module in mozilla-firefox-gnome-support. (Closes: #327451) + + -- Mike Hommey Sun, 11 Sep 2005 10:45:34 +0200 + +mozilla-firefox (1.0.6-5) unstable; urgency=critical + + * xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp: Fix for previous + arm fix. Thanks Steve. (Closes: #325535) + * netwerk/base/src/nsStandardURL.cpp: Patch from bz#307259 to fix + CAN-2005-2871, a buffer overflow vulnerability in IDN + processing. (Closes: #327452) + + -- Eric Dorland Sat, 10 Sep 2005 23:03:26 -0400 + +mozilla-firefox (1.4.99+1.5beta1-1) experimental; urgency=low + + * New upstream beta release. + + Find toolbar doesn't show up when in text fields. Closes: #280852. + + Better use of GTK2 themes. The most common case was highlighted menu + item text appearing in white on a white background. Closes: #223696, + #257430, #258181, #266334, #278559, #289326, #297320, #310098. + + Download manager correctly closes. Closes: #259015, #269975. + + Doesn't crash with the http://ln.hixie.ch/resources/style/orange + stylesheet. Closes: #277987. + + Locale extensions can properly be disabled. Closes: #279749 (to check). + + Doesn't crash on + http://einsteinmg.dyndns.org/cgi-bin/remangle.cgi?=0x27b9b660 anymore. + Closes: #294372. + + Downloads don't freeze when a modal window opens. Closes: #211332. + + Use GTK stock images. Closes: #281660. + * Sync with unstable branch changes. + * browser/app/profile/firefox.js, debian/firefox.js: + + Removed outdated extensions.update.autoUpdateEnabled and + extensions.update.autoUpdate; + + Removed general.useragent.locale. + + Allow extensions updates. It works correctly with system-wide installed + ones, now. + * netwerk/protocol/http/src/nsHttpConnectionMgr.cpp, + nsprpub/pr/include/md/_linux.cfg, widget/src/gtk2/mozdrawingarea.c, + widget/src/gtk2/nsDragService.cpp: Reversed changes, since they got + applied upstream. + * xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp: correctly set + __attribute__. Closes: #325535. + * debian/rules: + + set --enable-extensions=default instead of a full list. + We will get the default set of extensions provided by upstream, and + won't need to check if they changed. + + set --enable-pango. + + set --enable-system-cairo. + * debian/control: added build dependency on libgnomeui-dev and libcairo2-dev. + * debian/mozilla-firefox.install, debian/rules: don't install files in + /usr/lib/mozilla-firefox/chrome/icons/ anymore. + * debian/mozilla-firefox-runner: Force MOZ_DISABLE_PANGO to 1 if + MOZ_ENABLE_PANGO is not set. + * debian/README.Debian: + + Removed the note about IDN, it is now enabled by default, with correct + whitelist set. + + Added a note about MOZ_ENABLE_PANGO. + + Changed notes about application update, extensions, and packaged + extensions. + * modules/libpref/src/init/all.js: + + Set general.config.obscure_value to 0, we don't care about the config + file not to be "obscured". + + Set general.config.filename to firefox.cfg. + * debian/firefox.cfg: Create configuration to lock some properties. + * debian/mozilla-firefox.install: Install this firefox.cfg in + /usr/lib/mozilla-firefox + + -- Mike Hommey Fri, 9 Sep 2005 17:40:40 +0200 + +mozilla-firefox (1.0.6-4) unstable; urgency=low + + * xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp: Patch + from Steve Langasek to fix unused vs. used gcc attribute on alpha and + arm. (Closes: #325535) + * browser/app/profile/firefox.js: Revert patch to remove the "I'm + feeling lucky" search. Some like it, some hate it, so upstream + behaviour wins. If you still feel strongly about it, make your case + upstream. + * gfx/src/gtk/nsFontMetricsXft.cpp: Apply patch from bz#252033 to work + around a bug in XRender that might be causing #319349. + + -- Eric Dorland Tue, 6 Sep 2005 02:10:07 -0400 + +mozilla-firefox (1.0.99+deerpark-alpha2-2) experimental; urgency=low + + * Sync with unstable branch changes, except the controversial "I'm feeling + lucky" change. I prefer waiting for the controversy to get to a + conclusion. + * debian/rules, debian/control: Remove build dependency on libmng-dev and + the --with-system-mng option to configure, the MNG support has been + removed upstream. + * debian/rules: Explicitely set the svg-renderer as cairo. It will use an + old cairo version bundled with firefox, but there's no other solution for + the moment. We have to wait for upstream 0.9.x and greater support + (hoped for 1.5). + + -- Mike Hommey Sun, 4 Sep 2005 09:01:54 +0200 + +mozilla-firefox (1.0.6-3) unstable; urgency=low + + * debian/rules, nsprpub/pr/include/md/_linux.cfg, + security/coreconf/Linux.mk: Apply patch from Andreas Jochens to allow + ppc64 builds. (Closes: #322617) + * debian/mozilla-firefox.prerm: Move -depth option to find to suppress + warnings. Thanks Mike Hommey. + * debian/presubj: Have bugzilla bug URL point to a page where you can + enter a bug. + * browser/app/profile/firefox.js: removed the "I'm feeling lucky" from + the keyword.URL, so now if you enter search terms in the address bar + you will be presented with search results and not taken to the first + result. Thanks Torok Edwin. (Closes: #321823) + + -- Eric Dorland Mon, 22 Aug 2005 01:20:28 -0400 + +mozilla-firefox (1.0.6-2) unstable; urgency=medium + + * modules/libpr0n/src/imgLoader.cpp, modules/libpr0n/src/imgLoader.h: + Apply ported patch from Serge Belyshev from bz#293307 to fix problem + with gcc-4.0 on amd64. (Closes: #319336) + * debian/rules: Remove silly --enable-freetype configure line. Thanks + Antony Gelberg. (Closes: #319886) + + -- Eric Dorland Sat, 30 Jul 2005 02:11:03 -0400 + +mozilla-firefox (1.0.6-1) unstable; urgency=low + + * New upstream release. (Closes: #318672) + * debian/rules: Remove hack to use gcc 3.4 on amd64, since now we're all + on gcc 4.0. (Closes: #318684) + * debian/control: + - Remove gcc 3.4 build depends on amd64 + - Explicitly build depend on libxinerama-dev. + * gfx/src/gtk/nsScreenGtk.cpp: Patch from Loic Minier to fix + gdk_property_get warnings. + * widget/src/gtk2/mozdrawingarea.c: Patch from Loic Minier to fix + crashes under GTK 2.7. (Closes: #318903) + + -- Eric Dorland Wed, 20 Jul 2005 02:57:44 -0400 + +mozilla-firefox (1.0.99+deerpark-alpha2-1) experimental; urgency=low + + * New upstream alpha release. Be aware that you WILL have troubles with + debian packages for firefox extensions. + * Reverted patches that got incorporated upstream. + * content/events/src/nsEventStateManager.cpp: Some changes to the previous + patch to fit changes in API. + * debian/update-mozilla-firefox-chrome, + debian/update-mozilla-firefox-chrome.8, + debian/mozilla-firefox-dom-inspector.post(inst|rm), + debian/mozilla-firefox-gnome-support.post(inst|rm), + debian/theme/*, debian/inspector/*: Removed. + * debian/mozilla-firefox.postinst: Removed call to + update-mozilla-firefox-chrome. + * debian/mozilla-firefox-dom-inspector.install: Only install files from + /usr/lib/mozilla-firefox/extensions/inspector@mozilla.org + * debian/mozilla-firefox.dirs: Don't create /var/lib/mozilla-firefox/*, + /usr/lib/mozilla-firefox/extensions nor /usr/lib/mozilla-firefox/plugins. + * debian/mozilla-firefox.install: + - Don't install regxpchrome, chrome/pipnss.jar and chrome/help.jar which + don't exist anymore. + - Install manifest files in addition to jar files in chrome. + - Install classic.jar in the normal chrome directory (awaiting EM + modifications so that it can actually go back in the extensions + directory). + - Don't install debian/theme/00classic and debian/theme/Uninstall, + which got removed. + - Get the theme in the correct directory (it's not in + defaults/profile/extensions anymore). + - Install the reporter extension. + - Selectively install subdirectories of /usr/lib/mozilla-firefox/defaults, + since some of them are useless. + - Install the unixprint plugin. + * debian/mozilla-firefox.manpages: Removed manual page for + update-mozilla-firefox-chrome. + * debian/mozilla-firefox.links: Removed all links in + /var/lib/mozilla-firefox/. + * debian/rules: + - Enable freetype in the build, we'll see if deerpark is any better than + 1.0.x. + - Commented out OPTFLAGS set for some architectures. We will see if gcc + 4.0 is doing any better. + - Enabled SVG support. (Closes: #215990) + - Enabled some more extensions to fit extensions provided by upstream. + - Added needed --enable-application=browser to the ./configure call. + - Don't install update-mozilla-firefox-chrome. + - Don't create installed-chrome.txt. + - Don't remove installed-extensions.txt, it doesn't exist anyway. + - Don't move classic theme's install.rdf, it's already at the correct + place. + - Remove unneeded removals of preferences files which are not there + anymore. + * debian/mozilla-firefox.preinst: Clean-up old generated files (those in + /var/lib/mozilla-firefox and + /usr/lib/mozilla-firefox/extensions/*/uninstall/Uninstall. (Note that for + the latter, some packages do provide them, but they were overwritten by + update-mozilla-firefox-chrome. They have actually no use, and it is safe + to remove them. Extensions packages will eventually remove them anyway) + * debian/mozilla-firefox.prerm: Put -depth option of find before -type d. + + -- Mike Hommey Sat, 16 Jul 2005 10:18:40 +0200 + +mozilla-firefox (1.0.5-1) unstable; urgency=high + + * New upstream release, fixes security issues. (Closes: #318061) + * debian/rules: Disable freetype in the build for the time being. This + *might* break printing in some cases. + * gfx/idl/nsIFreeType2.idl, gfx/src/freetype/nsFreeType.cpp, + gfx/src/freetype/nsFreeType.h, gfx/src/ps/nsFontMetricsPS.cpp, + gfx/src/ps/nsFontMetricsPS.h, gfx/src/x11shared/nsFontFreeType.cpp, + gfx/src/x11shared/nsFontFreeType.h, + layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp: Patch + from bz#234035 to try to get building with the new freetype. (Closes: + #314243) + + -- Eric Dorland Sat, 16 Jul 2005 00:43:54 -0400 + +mozilla-firefox (1.0.4-3) unstable; urgency=low + + * debian/mozilla-firefox.desktop: Add Czech translation from Jan + Outrata. (Closes: #311376) + * xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_ipf64.cpp, + xpcom/reflect/xptcall/public/xptcstubsdecl.inc: Revert patch from + David Mosberger for 7+ args on ia64 that was added 1.0.3-2. + * xpcom/reflect/xptcall/src/md/unix/xptcstubs_ipf32.cpp, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf32.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_ipf64.cpp, + xpcom/reflect/xptcall/public/genstubs.pl: Better patch from bz#291378 + which has been accepted upstream for ia64 7+ args fix. + * xpcom/reflect/xptcall/public/xptcstubsdecl.inc: Call genstubs.pl to + regenerate this file. + * dom/src/base/nsGlobalWindow.cpp, + embedding/components/windowwatcher/src/nsWindowWatcher.cpp: Fix + injection spoofing, patch from bz#296850. Fixes CAN-2004-0718. + + -- Eric Dorland Thu, 9 Jun 2005 23:54:41 -0400 + +mozilla-firefox (1.0.4-2) unstable; urgency=critical + + * debian/control: Build-depend on libxft-dev not libxft2-dev to appease + finicky sparc buildd. + + -- Eric Dorland Mon, 16 May 2005 21:17:57 -0400 + +mozilla-firefox (1.0.4-1) unstable; urgency=critical + + * New upstream release. Fixes CAN-2005-1477 and CAN-2005-1476. (Closes: #308620) + * debian/update-mozilla-firefox-chrome.8: Patch from A Costa to fix the + spelling of maintenace. (Closes: #305968) + * debian/mozilla-firefox.desktop: Patch from Steinar H. Gunderson to add + a Norwegian translation. (Closes: #305983) + + -- Eric Dorland Thu, 12 May 2005 22:59:47 -0400 + +mozilla-firefox (1.0.3-2) unstable; urgency=high + + * browser/app/profile/firefox.js: Disable SSLv2 and 40-bit ciphers by + default. + * debian/mozilla-firefox.NEWS: Explain the SSL change. + * extensions/transformiix/source/base/Double.cpp: Patch from David + Mosberger-Tang (fixed up by me) to fix unaligned access on ia64 (and + perhaps other platforms). (Closes: #303518) + * xpcom/reflect/xptcall/public/xptcstubsdecl.inc, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_ipf64.cpp: Another patch + from David Mosberger-Tang to fix extension loading on ia64. (Closes: + #303515) + + -- Eric Dorland Thu, 21 Apr 2005 01:25:02 -0400 + +mozilla-firefox (1.0.3-1) unstable; urgency=low + + * New upstream release, fixes various security issues, so urgency high. + * js/src/fdlibm/fdlibm.h: Fix from David Mosberger to define ia64 as + little-endian arch (also added for mipsel). (Closes: #303438) + + -- Eric Dorland Sun, 17 Apr 2005 23:13:01 -0400 + +mozilla-firefox (1.0.2-3) unstable; urgency=high + + * gfx/src/freetype/nsFreeType.cpp, + netwerk/protocol/http/src/nsHttpConnectionMgr.cpp, + security/nss/lib/pki1/oiddata.h, security/nss/lib/pki1/pki1.h, + widget/src/gtk2/nsDragService.cpp: Fixes for gcc-4.0, + bz#289238. (Closes: #301485) + * js/src/jsstr.c: Fix for JS memory access security bug, patch from + bz#288688. (Closes: #302775) + + -- Eric Dorland Wed, 6 Apr 2005 01:36:11 -0400 + +mozilla-firefox (1.0.2-2) unstable; urgency=high + + * Last upload should of been marked urgency=high because of the security + fixes. + * debian/mozilla-firefox.postinst: Fix ridiculous typos. (Closes: + #300685) + * debian/mozilla-firefox-runner: Use pgrep to detect esd and arts + instead. Thanks Craig Small for the advice. (Closes: #302086) + + -- Eric Dorland Fri, 1 Apr 2005 01:18:18 -0500 + +mozilla-firefox (1.0.2-1) unstable; urgency=low + + * New upstream release. Fixes CAN-2005-0399, CAN-2005-0401, + CAN-2005-0402. (Closes: #301243) + * debian/control: Update suggest for xprint rename. (Closes: #300976) + * xpcom/reflect/xptcall/src/md/unix/{Makefile.in, + xptcinvoke_asm_parisc_linux.s, xptcstubs_asm_parisc_linux.s}: Apply + patch from Ivar (Contributed by Randolph Chung) to fix Firefox on + hppa. (Closes: #286038) + + -- Eric Dorland Fri, 25 Mar 2005 02:30:10 -0500 + +mozilla-firefox (1.0.1-3) unstable; urgency=low + + * widget/src/gtk2/nsGtkKeyUtils.cpp: Patch from bz#108170 to fix broken + keymap for Germans. (Closes: #299781) + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in: avoid + crashing when extension's install.rdf is broken. (Closes: #298796) + (MH) + * debian/mozilla-firefox.prerm: Remove + /usr/lib/mozilla-firefox/defaults/profile/extensions/Extensions.rdf on + uninstall. (Closes: #298636) + * debian/mozilla-firefox.postinst: Add little echo to tell people to + restart firefox after upgrades. + * debian/presubj: Add a note there about restarting firefox before + submitting bugs. + * debian/mozilla-firefox-runner: Properly quote $@ expansion. (Closes: + #300195) + * browser/locales/en-US/searchplugins/ + {yahoo.src,google.src,eBay.src,dictionary.src,creativecommons.src, + amazondotcom.src}: Set updateCheckDays to 0, which avoids duplicated + search entries in the menu. (Closes: #299006, #299813) + + -- Eric Dorland Sun, 20 Mar 2005 17:08:12 -0500 + +mozilla-firefox (1.0.1-2) unstable; urgency=high + + * Changes by Mike Hommey: + * Urgency: high due to RC bug fix. + * debian/update-mozilla-firefox-chrome: Re-initialize Extensions.rdf + inside the script instead of relying on mozilla-firefox's default + behaviour, which just fails when defaults/profile/extensions/ \ + Extensions.rdf doesn't exist (and it seems some people like to remove + files in /etc). (Closes: #294175) + + * Changes by Eric Dorland: + * debian/mozilla-firefox.menu: Capitalize "browsers". Thanks Gerfried + Fuchs. + * debian/mozilla-firefox-runner: Fix from Marc Horowitz to fix sound + device detection. (Closes: #297088) + * toolkit/content/widgets/tabbrowser.xml: Apply patch from bz#283063, to + fix a memory leak when closing tabs. (Closes: #296749) + * xpfe/global/resources/content/bindings/browser.xml, + xpfe/global/resources/content/bindings/tabbrowser.xml, + toolkit/content/widgets/browser.xml, + toolkit/content/widgets/tabbrowser.xml: Apply patches from bz#131456 + to fix various tab related memory leaks. (Closes: #280586) + * netwerk/protocol/http/src/nsHttpHandler.cpp: Patch from bz#265536 to + differentiate between AMD64 and i386. (Closes: #282592) + + -- Eric Dorland Sat, 5 Mar 2005 18:46:09 -0500 + +mozilla-firefox (1.0.1-1) unstable; urgency=high + + * New upstream release. (Closes: #296851) + - This release fixes the Secunia window injection bug, + CAN-2004-1156. (Closes: #293664) + + * Changes by Mike Hommey: + * debian/rules: Some clean-up. + * debian/control: Changed my maintainer address. + * debian/README.Debian: Add a note about automatic updates for + extensions. (Closes: #296761) + + * Changes by Eric Dorland: + * browser/app/profile/firefox.js: Remove disable IDN pref, it's the + default now anyway. + + -- Eric Dorland Tue, 1 Mar 2005 02:03:48 -0500 + +mozilla-firefox (1.0+dfsg.1-6) unstable; urgency=high + + * The "And I thought IE had security bugs!" release. + * toolkit/content/widgets/tabbrowser.xml, + xpfe/global/resources/content/bindings/tabbrowser.xml: Fix + "Firetabbing" vulnerability from bugzilla#280056, fixes + CAN-2005-0231. (Closes: #294415) + * modules/plugin/base/src/nsPluginHostImpl.cpp: Fix "Fireflashing" + vulnerability from bugzilla#280664, fixes CAN-2005-0232. (Also Closes: + #294415) + * build/unix/run-mozilla.sh: Patch from Javier Fernández-Sanguino Peña + to fix insecure temp file usage in run-mozilla.sh. (Closes: #294127) + * netwerk/base/src/nsStandardURL.cpp, netwerk/base/src/nsStandardURL.h: + Patch from bugzilla#261934 to make the network.enableIDN preference + work and again. + * browser/app/profile/firefox.js: Disable IDN by default. This doesn't + close #293975, but drops its severity. + * debian/README.Debian: Add warning and describe how to enable IDN. + + -- Eric Dorland Wed, 9 Feb 2005 22:56:17 -0500 + +mozilla-firefox (1.0+dfsg.1-5) unstable; urgency=low + + * debian/mozilla-firefox.desktop: Don't translate "Mozilla Firefox" into + French. + * browser/app/profile/firefox.js: Set mozilla.widget.raise-on-setfocus + to false to prevent unecessary window raising. (Closes: #292049) + * debian/rules: Don't compile statically on mips and mipsel, since it's + broken for now. + + -- Eric Dorland Sun, 6 Feb 2005 15:02:36 -0500 + +mozilla-firefox (1.0+dfsg.1-4) unstable; urgency=low + + * debian/mozilla-firefox.desktop: Add French translations from Jerome + Warnier. I will accept more, but closing this bug. (Closes: #292506) + * debian/README.Debian: Update the Emacs keybindings instructions. + (Closes: #291691) + * debian/mozilla-firefox.1: + - Remove -splash from the manpage, it has never worked. (Closes: + #287088) + - Add units to -height and -width description. (Closes: #285142) + + -- Eric Dorland Wed, 2 Feb 2005 01:42:53 -0500 + +mozilla-firefox (1.0+dfsg.1-3) experimental; urgency=low + + * debian/mozilla-firefox.desktop: Add %u to the exec line so that apps + know it can handle URLs. (Closes: #290132) + * debian/README.Debian: + - Improve button reversal instructions. Thanks Christian Mayrhuber + - Fix reference to ~/.firefox. + * debian/rules: Enable static building. This will build firefox as one + large binary (mostly) and should speed a few things up, especially + program load time. I'd like to hear about any speedup (or slow down) + you exprience. Porters, please build this for your arch to make sure + this doesn't break anything. + + -- Eric Dorland Thu, 20 Jan 2005 01:40:34 -0500 + +mozilla-firefox (1.0+dfsg.1-2) unstable; urgency=medium + + * debian/mozilla-firefox-gnome-support.postrm, + debian/mozilla-firefox-dom-inspector.postrm: Don't die if + update-mozilla-firefox-chrome dies. (Closes: #287355) + + -- Eric Dorland Sun, 9 Jan 2005 23:51:10 -0500 + +mozilla-firefox (1.0+dfsg.1-1) unstable; urgency=low + + * Not a new upstream release. + * other-licenses/branding/firefox, other-licenses/7zstub/firefox: Remove + these from the .orig.tar.gz, since they are not DFSG-free. We're not + using the files anyway, so out they go. (Not sure the 7zstub stuff is + non-free, but it's Windows only so no harm) + * debian/rules: + - Remove explicit low-optimization on alpha, since Falk + Hueffner claims it works. + - Move entire defaults/profile directory into /etc/mozilla-firefox, + rather than just the bookmarks.html. (Closes: #285538) + * debian/mozilla-firefox.links: Link entire defaults/profile now. + * debian/mozilla-firefox.preinst: Add upgrade code to remove old + defaults/profile to make way for new symlink. + * debian/mozilla-firefox.dirs: Just create etc/mozilla-firefox. + + -- Eric Dorland Sun, 19 Dec 2004 01:31:44 -0500 + +mozilla-firefox (1.0-5) unstable; urgency=medium + + * Changes by Mike Hommey: + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in: Make the + extensions upgrade work again. (Closes: #282143) + * debian/rules: Better DEB_BUILD_OPTIONS handling, better debugging + build (DEB_BUILD_OPTIONS="nostrip debug") + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in, + toolkit/mozapps/extensions/content/extensions.js: Allow users to + disable globally installed extensions. + + * Changes by Eric Dorland: + * debian/rules: Remove explicit low-optimization on sparc. Apparently + there was an issue for a number of arches that required lower + optimization settings, but it is now resolved. So porters, please + check -O2 on arm, alpha, powerpc and ia64 and let me know if it's + safe. Thanks David S. Miller. (Closes: #284533) + + -- Eric Dorland Tue, 7 Dec 2004 01:06:48 -0500 + +mozilla-firefox (1.0-4) unstable; urgency=medium + + * debian/control: Make mozilla-firefox-gnome-support and xprt-xprintorg + Suggests, no Recommends after a look at policy. (Closes: #282432) + * debian/README.Debian: + - Refer to .mozilla/firefox, not .firefox. + - Explain how to reenable emacs style keybindings. (Closes: #282321) + + -- Eric Dorland Sat, 27 Nov 2004 20:40:10 -0500 + +mozilla-firefox (1.0-3) unstable; urgency=low + + * Changes by Mike Hommey + * The "becoming more and more an iceweasel" release. + * debian/firefox.js: + + Enable firefox's internal locale autodetection. + + Disable default browser question at startup. (Closes: #280752) + * debian/mozilla-firefox-runner: Removed our locale autodetection. + That means now locales installed in user profiles are automatically + used, and that there is no need for /var/lib/mozilla-firefox/locales.d + anymore. + * debian/mozilla-firefox.dirs: Removed creation of + /var/lib/mozilla-firefox/locales.d. + * debian/rules: Removed creation of the locale file in + /var/lib/mozilla-firefox/locales.d. + * debian/presubj: Put some more recent information. + * htmlparser/src/nsParser.cpp: Applied patch from bz#57717 so that empty + html files don't get when viewing source. + * browser/base/content/aboutDialog.css: increase the User Agent element + height as in bz#238137 (but up to MacOSX's height) to show the full User + Agent string. + * xpcom/io/nsAppDirectoryServiceDefs.h, + xpcom/io/nsAppFileLocationProvider.cpp, + xpfe/components/search/src/nsInternetSearchService.cpp: Applied patch from + bz#123315 so that Internet search services in user profiles are supported. + (Closes: #219053) + * debian/mozilla-firefox-runner: + + Remove compatibility.ini only if it is older than + /usr/lib/mozilla-firefox/components.ini. That way, we only rebuild it + after an update-mozilla-firefox-chrome. + + Detect if we're being run through sudo without the -H option, in which + case we force setting of $HOME. (Closes: #218156) + * browser/app/profile/firefox.js: Sync'ed with debian/firefox.js. + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in: + + Removed some error messages that get there because firefox is trying to + write in the /usr/lib/mozilla-firefox directory as a user. They are + useless and lead users to think something is going wrong while it's the + (stupid but) normal way firefox works. + + Avoid creation of directories when attempting to read files, that + throwed uncaught exceptions breaking some stuff in several different + ways when extensions don't follow the new scheme for extensions. + + Avoid copying stuff from + /usr/lib/mozilla-firefox/defaults/profile/extensions/ to + /usr/lib/mozilla-firefox/extensions/, that's the *very* old way of + installing extensions, which, since the old scheme has been thrown away, + won't work anyway, if any extension provides files out there. + + CheckForMismatches: Avoid to disable already disabled global extensions, + and don't propose to upgrade the locked extensions. That fixes a + never-ending loop occuring when running firefox for the first time in a + user account, while some global extensions are expired. + (Closes: #278722, #281537) + * debian/mozilla-firefox.prerm, debian/mozilla-firefox.preinst: Moved + removal of links to /usr/lib/mozilla-firefox/defaults/profile/extensions/ + sitting in /usr/lib/mozilla-firefox/extensions/, if any remaining, from + prerm to preinst. We remove them once and for all, they won't be created + by us anymore. + * debian/update-mozilla-firefox-chrome: + + Removed support for extensions in + /usr/lib/mozilla-firefox/defaults/profile/extensions/. + + Removed some clean-up that had been introduced to help the Extensions + Manager not to die, and which, actually, did not work out quite so well. + Anyways, with the changes this time, the EM is supposed to support much + more problems than ever before (as usual ;) ) so we don't need that + anymore. + + Avoid stupid mv error messages when firefox-bin -register fails (which + is not supposed to happen, but you're never too careful) + * debian/update-mozilla-firefox-chrome, debian/mozilla-firefox.preinst: + Move removal of some very old stuff to preinst, to do it once and for all + instead of doing it every time we run update-mozilla-firefox-chrome. + * netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp: Applied patch from + bz#124561 to get a prompt for username/password in case anonymous login + fails. + * debian/mozilla-firefox-runner: + + Added check for more arguments so that the url in the command line get + detected more accurately. + + When a file name is given on the command line, prepend "file://" and + change spaces into %20. (Closes: #281800) + + * Changes by Eric Dorland + * debian/mozilla-firefox.prerm: Patch from Philipp Weis to fix order of + find arguments. (Closes: #280852) + * debian/mozilla-firefox.desktop: Support new mime type handler in Gnome + 2.8. (Closes: #281274) (MH: I added some more myme-types) + * debian/mozilla-firefox.postinst: Run update-desktop-database if it + exists. + * widget/src/gtk/nsWidget.cpp: We don't use gtk anymore, might as well + revert these patches. Thanks Stephane Despret. + + -- Eric Dorland Thu, 18 Nov 2004 22:16:28 -0500 + +mozilla-firefox (1.0-2) unstable; urgency=low + + * Changes by Mike Hommey + * The "don't do too much on the same day, it's bad for health" release. + * debian/firefox.js: Re-activated the extensions update service, and + removed the update url. + * browser/app/profile/firefox.js: Sync'ed with debian/firefox.js. + * debian/mozilla-firefox-dom-inspector.preinst: Removed old inspector.js + file. + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in, + toolkit/mozapps/extensions/content/extensions.js: Disabled possibility + to update locked extensions and themes. Locked extensions being the + ones installed by the packaging system, they should be updated through + that. + * toolkit/mozapps/update/src/nsUpdateService.js.in: Disabled application + update functionnality. Firefox should be updated through the packaging + system. + * browser/components/prefwindow/content/pref-advanced.xul: Removed the + preferences panel item to activate application update, since it is + totally disabled. + * debian/mozilla-firefox-runner: Remove compatibility.ini instead of + compreg.dat. (Eric: This will cause a rebuild of the compreg.dat) + + * Changes by Eric Dorland: + * debian/mozilla-firefox.NEWS: Fix typos. + * README.Debian: + - Add note about application update being completely disabled. + - Fix path to XUL.mfsal + + -- Eric Dorland Wed, 10 Nov 2004 22:56:22 -0500 + +mozilla-firefox (1.0-1) unstable; urgency=medium + + * New upstream release (Closes: #280449) + + * Changes by Mike Hommey: + * netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp: Apply new patch + #164795 from bz#266835 + some tweaks as previously. This might lead to + encoding problems with the password, but it is supposed to be ASCII + anyway. + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in: Reworked the + previous patches so that the Extensions Manager shows extensions that + have been disabled due to version mismatch, and added a workaround so + that components registration works correctly. + * debian/update-mozilla-firefox-chrome: Removed part that is useless due + to last changes in the Extensions Manager. + * Make the inspector a real extension again: + - debian/inspector/00dom-inspector: File for + /var/lib/mozilla-firefox/extensions.d. + - debian/inspector/Uninstall: Uninstall file needed in extension + directory. + - debian/inspector/install.rdf: install.rdf taken from older versions, + and adapted to newer versions, adding registered chrome. + - debian/mozilla-firefox-dom-inspector.dirs: Removed. Everything will + be created by dh_install. + - debian/mozilla-firefox-dom-inspector.install: install + debian/inspector.rdf and most inspector files in the right place in + /usr/lib/mozilla-firefox/extensions/{641d8d09-7dda-4850-8228-ac0ab65e2ac9} + and /var/lib/mozilla-firefox + * Make the classic theme a real extension, even though it's still in + the main package: + - debian/theme/00classic: File for + /var/lib/mozilla-firefox/extensions.d. + - debian/theme/Uninstall: Uninstall file needed in extension + directory. + - debian/mozilla-firefox.install: Install all files in the right + place in + /usr/lib/mozilla-firefox/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} + - debian/mozilla-firefox.dirs: Removed creation of + /usr/lib/mozilla-firefox/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome, + it will be done by dh_install. + - browser/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in: + Added chrome to be registered. + * Removed support for /var/lib/mozilla-firefox/chrome.d: + - debian/mozilla-firefox.dirs: Removed creation of the directory. + - debian/rules: Removed creation of files there, and put the + installed-chrome.txt, excluding inspector and classic theme stuff, + directly in /usr/lib/mozilla-firefox/chrome. + - debian/update-mozilla-firefox-chrome: Removed all + /var/lib/mozilla-firefox/chrome.d related stuff. + - debian/mozilla-firefox.links: Removed installed-chrome.txt link. + - toolkit/mozapps/extensions/src/nsExtensionManager.js.in: disable + extensions that fail to install chrome. + * debian/mozilla-firefox-runner: Remove user profile compreg.dat at + launch time. + * Moved some files in /var/lib/mozilla-firefox: + - debian/mozilla-firefox.links: Add a symlink for Extensions.rdf + and components.ini, from /usr to /var. + - debian/mozilla-firefox.prerm: Don't remove files we don't + provide and remove files at their new locations. + - debian/mozilla-firefox.preinst: Remove + /var/lib/mozilla-firefox/installed-chrome.txt. + - debian/update-mozilla-firefox-chrome: Create links for + Extensions.rdf and components.ini after register call, and remove + components.ini before. + * Clean-up in files generated by update-mozilla-firefox-chrome: + - debian/mozilla-firefox.links: Put all the links generated by + update-mozilla-firefox-chrome into the package. + - debian/mozilla-firefox.prerm: Remove all /var files generated + in the remove target, and changed the way we clean-up + /var/lib/mozilla-firefox. + * debian/mozilla-firefox.install: Removed chromelist.txt. + * Add support for extensions preferences: + - debian/update-mozilla-firefox-chrome: Handle + /usr/lib/mozilla-firefox/defaults.ini file. + - debian/mozilla-firefox.links: Add a symlink to /var for + defaults.ini. + - toolkit/mozapps/extensions/src/nsExtensionManager.js.in: Added + defaults registration in -register command. + - mozilla-firefox-dom-inspector.install: Move inspector.js into + the appropriate extension specific directory. + * Move preferences back into /usr: + - debian/rules: Don't move the prefs into + /etc/mozilla-firefox/pref, and put the vendor thing into /usr + as well, and remove firefox-l10.js file. + - debian/mozilla-firefox.preinst: remove old prefs in /etc and + old symlink /usr/lib/mozilla-firefox/defaults/pref. + - debian/firefox.js: new Debian default preferences file. + - debian/mozilla-firefox.install: install firefox.js in + /etc/mozilla-firefox/pref. + - debian/mozilla-firefox.links: rename + /usr/lib/mozilla-firefox/defaults/pref symlink to + /usr/lib/mozilla-firefox/defaults/syspref. + - toolkit/mozapps/extensions/src/nsExtensionManager.js.in: Added + a hook so that defaults/syspref gets registered in defaults.ini + after all other extensions preferences. + * debian/mozilla-firefox.preinst: only clean-up stuff if we are + upgrading from a version known to still have the files. Added some + more clean-up. + * debian/mozilla-firefox.install: Removed useless init.d. + * modules/libpref/src/init/all.js: Fixed all chrome URLs which refered to + mozilla stuff. + * debian/update-mozilla-firefox-chrome: Remove some more files before running + firefox-bin -register. + + * Changes by Eric Dorland: + * debian/mozilla-firefox.NEWS: Add warning about broken extension and + locale packages with this release. + * debian/mozilla-firefox-runner: Comment out warning about xprint, + xprint isn't necessarily needed for printing since postscript was + reenabled. (Closes: #279858) + + -- Eric Dorland Wed, 10 Nov 2004 00:33:44 -0500 + +mozilla-firefox (0.99+1.0RC1-4) unstable; urgency=low + + * debian/mozilla-firefox-runner: + - Fixed to run properly with dash. (Closes: #279549). + - Fixed indentation. + - Added a basic debugger support. + * debian/mozilla-firefox.1: Added information about debugger options. + * debian/rules: Added a debug option to DEB_BUILD_OPTIONS. If you want to + build a fully gdb'able package, use DEB_BUILD_OPTIONS="noopt nostrip + debug" + * netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp: Apply new patch from + bz#266835. + - Further change this patch to use Append rather than AppendLiteral, + which doesn't seem to exist. (ED) + + -- Mike Hommey Thu, 4 Nov 2004 22:01:51 +0900 + +mozilla-firefox (0.99+1.0RC1-3) unstable; urgency=low + + * netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp: Apply patch from + bz#266835 to fix anonymous user password issue. (Closes: #226784) + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in: (MH) + - Fully apply previous patches, which for some reason left a spurious code + line which made the extensions manager not like expired extensions + anymore. (Closes: #279140) + - Enhanced extensions manager so that the behaviour described in + https://bugzilla.mozilla.org/show_bug.cgi?id=247846#c14 *actually* + works. Extensions packagers are invited to move their chrome files + accordingly, and remove /var/lib/mozilla-firefox/chrome.d files so that + extensions chrome don't get registered when they are forced-disable due + to version mismatch or some other reason. + * debian/mozilla-firefox-runner: + - Fix some thinkos. (MH) + - Fix for loading files from the command line. (Closes: #279018) (MH) + - Removed setting --display from $DISPLAY, let it get it from the + environment, but pass --display if it is set. (Mike, + I'm worried this will screw up some session + managers, let me know what you think, we can revert it) + - Removed FIREFOX_OPEN_IN stuff, so that firefox now obeys to "open + links from other applications in" setting. (Closes: #279073) (MH) + - Enhanced command line parsing, and drop empty arguments. + (Closes: #279138) (MH) + - No need for a find to look for XUL.mfasl, we already have its + location from the path list taken from profiles.ini. (MH) + - Better detection of dsp wrapper, when FIREFOX_DSP=auto. + (Closes: #254611) (MH) + - Correctly open local files even when firefox was not previously + running. (Closes: #279018) (MH) + * debian/mozilla-firefox.1: (MH) + - Removed references to FIREFOX_OPEN_IN. + - Added the -safe-mode option. + * debian/mozilla-firefoxrc: Removed FIREFOX_OPEN_IN. (MH) + + -- Eric Dorland Tue, 2 Nov 2004 00:46:28 -0500 + +mozilla-firefox (0.99+1.0RC1-2) unstable; urgency=medium + + * browser/app/profile/firefox.js: Disable browser update checking by + default. + * debian/mozilla-firefox-runner: Apply patch from Aurelien Jarno to fix + variable name typo. (Closes: #278844) + + -- Eric Dorland Fri, 29 Oct 2004 23:50:59 -0400 + +mozilla-firefox (0.99+1.0RC1-1) unstable; urgency=medium + + * New upstream release. + * layout/xul/base/src/nsImageBoxFrame.{cpp,h}: Remove some conflicts + from a previous patch. + + -- Eric Dorland Thu, 28 Oct 2004 23:33:46 -0400 + +mozilla-firefox (0.10.1+1.0PR-5) unstable; urgency=low + + * debian/rules: (MH) + - Use upstream extensions set. This will eventually get a + correct help menu and fix some yet undiscovered UI issues. + (Closes: #257946) + - Added support for DEB_BUILD_OPTIONS=noopt. + - Changed OPTFLAGS assignment. + - Remove whitespace characters in version number for UserAgent + branding. + - Install mozilla-firefox-runner into /usr/lib/mozilla-firefox/firefox + (Closes: #278477) + * debian/mozilla-firefox.links: (MH) + - Link /usr/bin/firefox and /usr/bin/mozilla-firefox to + /usr/lib/mozilla-firefox/firefox. + - Removed obsolete profile/US links. + * debian/mozilla-firefox.dirs: Create /etc/mozilla/profile instead of + /etc/mozilla/profile/US. (MH) + * toolkit/xre/nsAppRunner.cpp: Fix crash in nsCmdLineService::Initialize + when argc is changed by gtk (when treating gtk specific arguments) + (MH) + * debian/mozilla-firefox-runner (Changes by MH): + - Removed workaround for bug #122990. First, xmlterm is not an activated + extension, and secondly, if it still requires the TERM environment + variable, it is the user's duty to set it to whatever he wants, not + firefox's start script's. + - Removed the ulimit -c setting. First, it is set by default to 0 on a + newly installed debian, and secondly, it is user's choice to set it or + not if he needs to get core files. + - Removed unused shell variables. + - Removed unsetting AUDIODEV variable. If it still crashes, it does belong + to some other code than firefox. The AUDIODEV environment variable is + used nowhere in firefox code: + http://lxr.mozilla.org/aviarybranch/search?string=AUDIODEV + Note that there is a "A crash which occurred when AUDIODEV doesn't + contain "/" was fixed." log message in esound version 0.2.33 changes and + that the bug may have belonged there. + - Replaced ${HOME}/.mozilla-firefoxrc file by a ${HOME}/.mozilla/firefox/rc + file. The former is still supported, though, but will bring a warning + message. If both are present, only the latter is taken into account. + - Changed the way system and user FIREFOX_DSP and FIREFOX_OPEN_IN + variables are handled. First, use system values defined in + /etc/mozilla-firefox/mozilla-firefoxrc, then override with + ${HOME}/.mozilla/firefox/rc and then with runtime environment variables. + - Don't die when DISPLAY is not set. Display can be passed by --display + option, and if not set and needed (some options don't require it), + firefox will complain. + - Some shell code simplifications by using some coreutils. + - Added better command line parsing. + - Added verbosity mode. + - Removed setting of FONTCONFIG_PATH, /usr/lib/mozilla-firefox/res/Xft + doesn't exist + - Factorized localization detection. + * debian/mozilla-firefox.1 (MH): + - Made some clean-up between dashes and hyphens. + - Removed obsolete options and added new ones. + - Added informations about some debian specific stuff. + * debian/update-mozilla-firefox-chrome: Changed the way we move files to + /var/lib/mozilla-firefox. It will avoid creating files with a * in their + name whenever registration failed. (MH) + * debian/README.Debian: Update java instructions, tell them to just use + java-package. + + -- Eric Dorland Thu, 28 Oct 2004 21:30:40 -0400 + +mozilla-firefox (0.10.1+1.0PR-4) unstable; urgency=medium + + * This release mostly courtesy Mike Hommey. + * layout/src/xul/base/src/nsImageBoxFrame.*: Backported patch from + bz#255372. (Closes: #278046) + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in: Force locking + globally installed extensions, that will prevent extensions packages + files to be unexpectedly removed by firefox. + * debian/control: Add Mike Hommey as an Uploader. + * debian/mozilla-firefox.install: Removed content-packs.jar which is + mozilla-browser specific. + * debian/mozilla-firefox.dirs: + - Remove leading /'s. + - Create + /usr/lib/mozilla-firefox/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} + /chrome directory so that preview is shown in the Themes Manager. Yes, + this is stupid, but it is the way firefox wants it (and it's not even + created by make install, nor in the official binary tarball. It is + only created at run time, but you know what ? under *nix, a normal + user can't create that directory) (Closes: #276404) + * debian/rules: Add a /etc/mozilla-firefox/pref/vendor.js file adding + the debian package version to the UserAgent. (Closes: #268654) + * debian/README.Debian: Update java instructions. I'd love some more + definitive pointers. (Closes: #277983) + + -- Eric Dorland Tue, 26 Oct 2004 00:11:48 -0400 + +mozilla-firefox (0.10.1+1.0PR-3) experimental; urgency=low + + * debian/control: + - Rename the mozilla-firefox-gnome-vfs package + mozilla-firefox-gnome-support since it does more than vfs. No + need for Replaces or anything, since it never actually made it to + the archive. + - Remove strict build dependencies on g++ and binutils, since the + fixed versions have hit sarge. + - Remove hppa build depends, since gcc has also been fixed there. + - Build-depend on libgnome2-dev and libgconf2-dev to build in more + gnome support. + - Have mozilla-firefox recommend it's gnome support. + * debian/rules: + - Remove hppa CC redefinitions. + - Exclude *gnome* not just *gnomevfs*. + - dh_install for gnome-support. + * debian/mozilla-firefox-gnome-vfs.*: Rename to + mozilla-firefox-gnome-support.*. + * debian/mozilla-firefox-gnome-support.install: Grab *gnome*, not just + *gnomevfs*. + + -- Eric Dorland Thu, 21 Oct 2004 23:04:53 -0400 + +mozilla-firefox (0.10.1+1.0PR-2) experimental; urgency=low + + * debian/mozilla-firefox-runner: + - Patch from Sam Morris to handle cleanup of directories with + unusual names. + - Fix return value check, patch from rgselk. (Closes: #269690) + * debian/mozilla-firefox.1: List full path to firefox-bin. (Closes: + #275563) + * debian/rules: + - --with-gssapi=/usr, enable Negotiate extension. (Closes: + #274258) + - Enable gnomevfs support, + * debian/control: + - Build-depend on libkrb5-dev. + - Build-depend on libgnomevfs2-dev. + - New gnomevfs package, based on work by Mike Hommey. (Closes: + #262062) + * debian/mozilla-firefox-gnome-vfs.post{inst,rm}: Added, same as + corresponding files from mozilla-firefox-dom-inspector. + * debian/mozilla-firefox-gnome-vfs.install: Install gnomevfs components. + * browser/app/profile/firefox.js: Set + network.negotiate-auth.trusted-uris to https:// to enable the + negotiate extension over secure links. + * config/rules.mk: Tweak patch from Thiemo Seufer to include svg_doc in + non-optimization. (Closes: #273353) + + -- Eric Dorland Sun, 17 Oct 2004 21:25:08 -0400 + +mozilla-firefox (0.10.1+1.0PR-1) experimental; urgency=critical + + * New upstream release, fixes security issue bz#259708. (Closes: + #274493) + + -- Eric Dorland Sun, 3 Oct 2004 03:32:43 -0400 + +mozilla-firefox (0.10+1.0PR-1) experimental; urgency=low + + * New upstream release. (Closes: #273700, #267003) + * toolkit/mozapps/extensions/src/nsExtensionManager.js.in, + netwerk/dns/src/nsIDNService.cpp, + modules/libpr0n/decoders/bmp/nsBMPDecoder.cpp, + gfx/src/windows/nsImageWin.cpp, gfx/src/shared/gfxImageFrame.cpp, + browser/app/profile/firefox.js: Resolve conflicts between my tree and + upstream. + * browser/app/Makefile.in: Fix $(DESTDIR) variable. + * accessible/src/atk/nsAccessibleWrap.cpp, + accessible/src/atk/nsAccessibleWrap.h: Apply patch from bugzilla for + alpha fix that's more likely to make it into CVS. + * debian/update-mozilla-firefox-chrome: Patch from Mike Hommey to make + update-mozilla-firefox-chrome more verbose on -v. + * debian/rules: + - Remove typeaheadfind for new find toolbar to work. (Mike Hommey) + (Closes: #267170) + - Changes to reflect new upstream files. + * debian/control: + - Remove build-depend on libcairo-dev. + - Build depend on libxt-dev, seems to be necessary now. (Closes: + #274311) + * debian/docs: Removed, as browser/README.html disappeared. (Mike Hommey) + * debian/mozilla-firefox.dirs: + - Changes to reflect new upstream files. + - Removed obsolete libnullplugin.so. + * debian/mozilla-firefox.install: + - Remove .jar's that aren't there anymore. + - Removed obsolete libnullplugin.so. + * debian/mozilla-firefox-dom-inspector.dirs, + debian/mozilla-firefox-dom-inspector.install, debian/rules: Upstream + doesn't consider DOM Inspector as a real extension, and do not provide + the appropriate files to make it appear in the extensions + manager. Removed all the extension related stuff in the package. (Mike + Hommey) + * other-licenses/libart_lgpl: Removed, was for SVG, no longer needed. + * modules/plugin/samples/default/unix/*: Reverted debian specific + changes, we don't want them in the diff since libnullplugin won't get + installed. + + -- Eric Dorland Fri, 1 Oct 2004 18:50:46 -0400 + +mozilla-firefox (0.9.3-6) unstable; urgency=high + + * gfx/src/gtk/fontEncoding.properties: Uncomment symbol fonts. (Closes: + #272927) + * debian/control: Build-depend on binutils (>= 2.15-4) but only on mips + and mipsel. (Closes: #273353) + * configure.in, configure, rules.mk: Patch from Thiemo Seufer to + increase stability and performance on mips. (Closes: #272159) + * debian/mozilla-firefox-runner: Detect failure of ping() + better. (Closes: #267393) + * layout/html/document/src/html.css: Testing fix for xprint problems. + + -- Eric Dorland Mon, 27 Sep 2004 17:07:37 -0400 + +mozilla-firefox (0.9.3-5) unstable; urgency=high + + * debian/update-mozilla-firefox-chrome: Apply another patch form Mike + Hommey to fix a few more issues in the script. (Closes: #271480) + * Fixes to Secunia security bugs, ported from bugzilla: + (Closes: #271888) + - browser/base/content/browser.js, + xpfe/communicator/resources/content/contentAreaDD.js: Fix for + drag and drop exploit, bz#250862. + - caps/include/nsScriptSecurityManager.h, caps/src/caps.properties, + caps/src/nsScriptSecurityManager.cpp: Fix for enablePrivilege + exploit, bz#253942. + - gfx/src/shared/gfxImageFrame.cpp, gfx/src/windows/nsImageWin.cpp, + modules/libpr0n/decoders/bmp/nsBMPDecoder.cpp: Fix for various + overflows in the BMP code, bz#255067. + - netwerk/dns/src/nsIDNService.cpp: Fix for bug in non-ASCII + characters in domain names, bz#256316 + - content/xbl/src/nsXBLPrototypeHandler.cpp: Clipboard injection + fix, bz#257523. + + -- Eric Dorland Thu, 16 Sep 2004 20:06:47 -0400 + +mozilla-firefox (0.9.3-4) unstable; urgency=high + + * Urgency high, go into testing dammit! + * Apply patch from Mike Hommey as -3.1, which wasn't actually + released. See below. (Closes: #271480) + * debian/rules: Patch from Matthew Mueller to fix underquoted + argument. (Closes: #271432) + * debian/control: Build depend on binutils (>= 2.15-3) with fixed mips + support. We still need a fixed gcc. + + -- Eric Dorland Mon, 13 Sep 2004 20:41:27 -0400 + +mozilla-firefox (0.9.3-3.1) unstable; urgency=low + + * debian/rules: removed + /usr/lib/mozilla-firefox/defaults/profile/extensions/installed-extensions.txt + * debian/update-mozilla-firefox-chrome: + + Added a "verbose" mode. + + Added warning messages (only shown in verbose mode) about some + extensions specific issues. This is intended to be useful for extensions + maintainers. + + Check if the installed-extensions.txt file disappears, which tells if the + mozilla-firefox -register went ok. + * debian/update-mozilla-firefox-chrome.8: + + Fixed typos. + + Added reference to the -v option for the verbose mode. + * debian/mozilla-firefox-runner: enhanced the profile directory check. It + didn't work if the path indicated in the profiles.ini was not absolute. + + -- Mike Hommey Mon, 13 Sep 2004 20:31:21 +0900 + +mozilla-firefox (0.9.3-3) unstable; urgency=high + + * Acknowlege NMU from Mike Hommey. He did a fantastic job in porting a + large amount of fixes from upstream CVS. I owe him several large + beverages of his choice. (Closes: #259046, #259836) + * Port all of Mike's changes to my local CVS. + * debian/mozilla-firefox-runner: + - Pass command-line arguments to get_locale so they can actually + be used. (Closes: #240058) + - Apply patch from Mike Hommey to use the profiles.ini to find the + path to the profile to clean XUL.mfasl. (Closes: #267326) + * debian/update-mozilla-firefox-chrome: Patch from Mike Hommey to fix + some bashisms introduced by his NMU. + * xpcom/reflect/xptcall/src/md/unix/Makefile.in, + xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s, + xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips.cpp, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.m4, + xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s: Patch from + Thiemo Seufer to fix mips. This requires patches to gcc and binutils + to work and fully close #270621. + + -- Eric Dorland Wed, 8 Sep 2004 21:13:35 -0400 + +mozilla-firefox (0.9.3-2.2) unstable; urgency=high + + * The "never edit the diff file unless you're sure nothing will be + missing" release. + * debian/mozilla-firefox.prerm: restore the uncut version. + * debian/control, debian/rules: Use gcc-3.2 to build on hppa, because of + toolchain bug #254549. + + -- Mike Hommey Mon, 23 Aug 2004 19:45:54 +0900 + +mozilla-firefox (0.9.3-2.1) unstable; urgency=high + + * Non Maintainer Upload for RC Fixes. + * Applied changes to toolkit/mozapps/extensions/src/nsExtensionManager.js.in + and toolkit/mozapps/extensions/locale/extensions.properties to solve some + issues with extensions management. (taken from CVS) + * Applied other changes to + toolkit/mozapps/extensions/src/nsExtensionManager.js.in, + toolkit/mozapps/extensions/public/nsIExtensionManager.idl and + mozilla/toolkit/xre/nsAppRunner.cpp to be able to use -register + instead of -list-global-items for extensions/components/chrome + registration through update-mozilla-firefox-chrome, thus not needing + Xvfb anymore (-register option doesn't require a X server). + (taken from CVS) + * Applied some more changes to + toolkit/mozapps/extensions/src/nsExtensionManager.js.in in order to + avoir overlayinfo deletion during extensions registration process. + (taken from CVS) + * Final changes to toolkit/mozapps/extensions/src/nsExtensionManager.js.in + to avoid registering out of date extensions so that firefox doesn't enter + a loop at startup when no profile was found, and to only write in the + installed-extensions-processed.txt file the list of actually installed + extensions. Note that for packaged extensions installing their files + directly into the chrome or components directories, that only means they + won't appear in the Extensions Manager. They will still be available in + the GUI. + * All these fixes improve the Extensions Manager. Closes: #259046. + * accessible/src/atk/nsAccessibleWrap.cpp, + accessible/src/atk/nsAccessibleWrap.h: fixed 32-bit abuse of gobject + (Steve Langasek). Closes: #259836. + * debian/control: Removed dependency upon xvfb. + * debian/update-mozilla-firefox-chrome: + + Removed use of Xvfb. + + Removed creation of a root default profile, but kept the fake home + hack to avoid creation of a .mozilla directory in root's home. + + Changed extensions handling so that the overall process is cleaner. + Extensions packages will have to move extensions {uid} directories + to /usr/lib/mozilla-firefox/extensions/, while the current location + is still supported for compatibility purpose (but is strongly not + recommended). + + Removed use of regxpcom and regchrome, since what they both do is + done by firefox-bin -register. + * debian/rules: force GnomeVFS support to be disabled. (Josselin Mouette) + * debian/README.Debian: + + Added a note about potential problems with packaged "old" extensions. + + Added a note about how to manually disable packaged extensions in user + profile. + + Removed some old notes that don't apply anymore. + * debian/mozilla-firefox-dom-inspector.install, debian/rules: Move + extensions files to /usr/lib/mozilla-firefox/extensions/ instead of + /usr/lib/mozilla-firefox/defaults/profile/extensions/. + * debian/mozilla-firefox.links: Move installed-extensions.txt symlink + from /usr/lib/mozilla-firefox/defaults/profile/extensions/ to + /usr/lib/mozilla-firefox/extensions/. + * debian/mozilla-firefox.prerm: More cleanup on removal of package. + + -- Mike Hommey Sun, 22 Aug 2004 21:43:47 +0900 + +mozilla-firefox (0.9.3-2) unstable; urgency=low + + * xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.m4: Comment out + NARGSAVE, like I did in 0.9.1-7, should fully fix #262571. + * debian/mozilla-firefox.preinst: Remove brace expansion + bashism. (Closes: #264200) + * debian/control: Depend on debianutils (>= 1.16) since we use mktemp + -d. (Closes: #263958) + * debian/mozilla-firefox-runner: Make -contentLocale COUNTRY, not + lang-COUNTRY. (Closes: #263940) + + -- Eric Dorland Sun, 8 Aug 2004 23:41:02 -0400 + +mozilla-firefox (0.9.3-1) unstable; urgency=low + + * New upstream release. (Closes: #263193) + * debian/update-mozilla-firefox-chrome.8: Add manpage from Mark Suter + for update-mozilla-firefox-chrome.8. (Closes: #263149) + * debian/mozilla-firefox.manpages: Add update-mozilla-firefox-chrome.8. + * debian/control: Add build-deps on gcc-3.4 for amd64. (Closes: #262679) + + -- Eric Dorland Wed, 4 Aug 2004 20:21:22 -0400 + +mozilla-firefox (0.9.1-7) unstable; urgency=low + + * debian/mozilla-firefox-runner: + - Reintroduce check for command-line arguments (I broke this last + release). (Closes: #262692, #262462, #262537, #262588, #262727) + - Allow overriding of -contentLocale and -UILocale. (Closes: + #240058) + * xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s: Comment out + NARGSAVE reassignment, it is defined elsewhere. (Closes: #262571) + * debian/rules: Force amd64 to build with gcc 3.4. (Closes: #262679) + + -- Eric Dorland Mon, 2 Aug 2004 10:16:46 -0400 + +mozilla-firefox (0.9.1-6) unstable; urgency=low + + * widget/src/gtk2/keysym2ucs.c: Patch from Eugeniy Meshcheryakov to + allow mozilla firefox to enter a ghe with upturn. (Closes: #261543) + * debian/mozilla-firefox-runner: + - Remove some mail and composer cruft. + - Add warning if DISPLAY is not set. (Closes: #261465) + + -- Eric Dorland Thu, 29 Jul 2004 22:49:59 -0400 + +mozilla-firefox (0.9.1-5) unstable; urgency=low + + * debian/control: Goodbye mozilla-firebird transition package. + * debian/mozilla-firefox-runner: Add -a firefox flag when running + firefox-bin. (Closes: #259237) + * debian/mozilla-firefox.desktop: Add GenericName field. + * debian/update-mozilla-firefox-chrome: Fix quoting problem with + {*}. (Closes: #257243) + * debian/rules: + - Re-enable postscript printing support, since the security + issues turned out to be bogus. (Closes: #257628) + - Disable SVG support, it's still too broken to be usable. + (Closes: #259544) + + -- Eric Dorland Sun, 18 Jul 2004 20:09:14 -0400 + +mozilla-firefox (0.9.1-4) unstable; urgency=low + + * The "Let's try unstable" release. There are still issues, but there + are issues with 0.8 as well, so no more point in waiting. + * debian/update-mozilla-firefox-chrome: + - Copy over empty Extensions.rdf file on update. (Closes: #257243) + - Increase sleep to 15 seconds, hopefully this will work on most + people's machines. + * My apologies to Mike Hommey for mispelling his name in last release. + + -- Eric Dorland Sun, 11 Jul 2004 23:51:24 -0400 + +mozilla-firefox (0.9.1-3) experimental; urgency=low + + * Ok, I was wrong, we're still in experimental. I think we need to fix a + few more issues before getting this in unstable, like #257258, and + make sure the hacky extensions mechanism is more bullet-proof. + * debian/rules: --disable-installer, since we don't use it. + * debian/update-mozilla-firefox-chrome: + - Wait 8 seconds instead of 5 for the hack, might help some + people reporting problems. + - Remove ${LIBDIR}/extensions/{*}. I may move that to + /var/lib/mozilla-firefox eventually, but let's leave it for now. + * debian/mozilla-firefox.png.uu: Make a nicer png icon, based on the + about box graphic. + * debian/mozilla-firefox.preinst: Remove old config files in + /etc/mozilla-firefox/pref. (Closes: #257711, 257557) + * browser/app/profile: firefox.js: Revert change to app.version, + apparently it breaks extensions. (Closes: #257941) + + -- Eric Dorland Wed, 7 Jul 2004 21:26:55 -0400 + +mozilla-firefox (0.9.1-2) experimental; urgency=low + + * The "Mike Homey, lord of the bugs" release. Thanks to Mike for being a + huge help with bug triage. That's right, help with bugs and your name + could have a prestigious place in the changelog. + * I'd like my next release to be to unstable, so let me know about + profile transition bugs, etc. + * debian/control: Build-depend on libcairo1-dev. + * debian/rules: Enable svg support using cairo renderer. (Closes: + #215990) + * debian/mozilla-firefox-xremote-client: Add -a firefox switch to make + the remote client find firefox only. Thanks Jonathan Black. (Closes: + #256967) + * debian/mozilla-firefox.desktop: Make comment Gnome HIG + compliant. (Closes: #257592) + * browser/app/profile/firefox.js: + - app.version = 0.9.1. + - Disable app updates by default. We're debian, we handle updates. + * debian/update-mozilla-firefox-chrome: + - Remove installed-extensions-processed.txt before regenerating. + (Closes: #257243) + - Take some, but not all advice from Alexandru Fomin. Improve Xvfb + and extension registration hacks. + + -- Eric Dorland Sun, 4 Jul 2004 16:58:17 -0400 + +mozilla-firefox (0.9.1-1) experimental; urgency=low + + * New upstream release. + * config/autoconf.mk.in: Alright, /usr/lib/firefox-0.9 was a bad idea, + use /usr/lib/mozilla-firefox. Change all the instances + /usr/lib/firefox-0.9 back to /usr/lib/mozilla-firefox. I feel + silly. (Closes: #256991) + * debian/mozilla-firefox-runner: Actually check for the existence of the + .mozilla/firefox directory before trying to clean it. + * debian/update-mozilla-firefox-runner: + - Call firefox-bin, not firefox you silly goose. + - Use mozilla-firefox tempfile, not mozilla-browser. + - The horrible hackiness continues: For my previous hack to work, + I need to preseed a profile directory in the home directory I + create. Now things should work. (Closes: #256812) + + -- Eric Dorland Thu, 1 Jul 2004 17:16:29 -0400 + +mozilla-firefox (0.9-1) experimental; urgency=low + + * New upstream release. There may be regressions from 0.8. (Closes: + #254522) + * widget/src/gtk/nsGtkMozRemoteHelper.cpp, + widget/src/gtk2/nsGtkMozRemoteHelper.cpp, + widget/src/xremoteclient/XRemoteClient.cpp: Fix previously applied to + fix -remote behaviour undone. Mozilla now includes the program name in + the properties to distinguish between various Mozilla apps. + * xpcom/reflect/xptcall/src/md/unix/Makefile.in: remove extra endif. + * dom/public/idl/core/nsIDOMNSDocument.idl: Reintroduce referrer + attribute that got lost somehow. + * content/events/src/nsEventStateManager.cpp: Fix a strange broken + function call to GetContainer. + + * debian/rules: + - Follow upstream and --enable-single-profile and + --disable-profilesharing. + - Replace /usr/lib/mozilla-firefox with /usr/lib/firefox-0.9. + - --user-app-dir=.mozilla to jive with new location. + - Remove dom-inspector extension dir from the regular package. + * debian/control: Depend on xvfb for insane hack below. + * debian/mozilla-firefox.install: + - Replace /usr/lib/mozilla-firefox with /usr/lib/firefox-0.9. + - Remove ipc dir, mozipcd. + - Add init.d, greprefs dirs. + * debian/mozilla-firefox.dirs: + - Add /var/lib/mozilla-firefox/extensions{,.d} + * debian/mozilla-firefox-dom-inspector.dirs: Add + /var/lib/mozilla-firefox/extensions.d. + * debian/mozilla-firefox-dom-inspector.install: + - Replace /usr/lib/mozilla-firefox with /usr/lib/firefox-0.9. + - Install dom-inspector extension dir. + * debian/mozilla-firefox.links: + - Replace /usr/lib/mozilla-firefox with /usr/lib/firefox-0.9. + - Link /usr/lib/mozilla-firefox to /usr/lib/firefox-0.9. + - Link installed-extensions.txt to our place in + /var/lib/mozilla-firefox. + * debian/mozilla-firefox-runner: + - Replace /usr/lib/mozilla-firefox with /usr/lib/firefox-0.9. + - Fix xprintorg typo. (Closes: #255706) + - Search .mozilla/firefox for XUL.mfasl files. + * debian/mozilla-firefox-xremote-client: Replace + /usr/lib/mozilla-firefox with /usr/lib/firefox-0.9. + * debian/update-mozilla-firefox-chrome: + - Replace /usr/lib/mozilla-firefox with /usr/lib/firefox-0.9. + - Capture return values from reg* commands on error, stolen + from mozilla source. + - Remove returns from check_running. + - Pull in snippets from /var/lib/mozilla-firefox/extensions.d + to generate installed-extensions.txt for new extensions mechanism. + - An insane hack, but necessary because of upstream: Launch a Xvfb + to run firefox to generate the necessary extension metadata. I've + been told this will not be necessary in the next version. + + -- Eric Dorland Mon, 28 Jun 2004 23:40:59 -0400 + +mozilla-firefox (0.8-12) unstable; urgency=low + + * The "Last Chance Before 0.9" release. + * debian/mozilla-firefox-runner: Fix unescaped \n, thanks Olly + Betts. (Closes: #252436) + * debian/update-mozilla-firefox-chrome: Watch out for empty + LD_LIBRARY_PATH. Thanks George Cristian Birzan. (Closes: #254142) + * debian/README.Debian: Restructure and update a bit. + * debian/presubj: Add bug information from README.Debian for reportbug. + * debian/mozilla-firefox.install: Install the presubj. + + -- Eric Dorland Mon, 14 Jun 2004 19:39:27 -0400 + +mozilla-firefox (0.8-11) unstable; urgency=low + + * Apply amd64 fix from #249211. + * debian/README.Debian: Shamelessly stole the java plugin installation + instructions from the mozilla package. (Closes: #243513) + * nsCommonWidget.cpp, nsCommonWidget.h, nsWindow.cpp: Apply patch (with + some hand massaging) from upstream bugzilla bug #209342 to fix initial + window placement. (Closes: #235209, 241519) + * nsprpub/pr/src/misc/prnetdb.c: Apply patch from Miquel van Smoorenburg + to prevent unless reverse DNS lookups. (Closes: #251978) + * debian/mozilla-firefox-runner: Apply patch from Jasper Spaans to fix + remote xprint printing. (Closes: #252072) + + -- Eric Dorland Tue, 1 Jun 2004 23:12:36 -0400 + +mozilla-firefox (0.8-10) unstable; urgency=low + + * debian/mozilla-firefox.install: Don't install uuencoded file. (Closes: + #251441) + * debian/mozilla-firefox-runner: unset AUDIODEV which can cause + crashes. Thanks Christopher Armstrong. (Closes: #236231) + * update-mozilla-firefox-chrome: Port security fix from #249613 to + handle insecure tempfile creation. + * debian/rules: Following the advice of #247585 I'm disabling postscript + printing. Perhaps this will alleviate some of the other printing + problems. + + -- Eric Dorland Sun, 30 May 2004 01:47:52 -0400 + +mozilla-firefox (0.8-9) unstable; urgency=low + + * debian/control: + - Suggest latex-xft-fonts for MathML fonts. Thanks Michael + JasonSmith. (Closes: #216925) + - Build depend on libx11-dev & libxp-dev instead of xlibs-dev to + reflect new X packages. + * widget/src/gtk2/nsWindow.cpp: Apply patch from Peter Colberg to ignore + unused mouse buttons. (Closes: #244305) + * debian/README.Debian: Document the fact that the loopback interface + has to be up and unfiltered for things to work right. + + -- Eric Dorland Wed, 5 May 2004 23:30:42 -0400 + +mozilla-firefox (0.8-8) unstable; urgency=low + + * security/nss/lib/freebl/unix_rand.c: Remove code that called netstat + to gain so entropy. It's pretty useless on a Linux system. Thanks + Wichert. (Closes: #241200) + * debian/README.Debian: Add note about changing the button order in the + dialog boxes. (Closes: #240261) + * debian/control: Add dummy package for mozilla-firebird to smooth + upgrades. (Closes: #235577) + + -- Eric Dorland Sat, 3 Apr 2004 16:19:34 -0500 + +mozilla-firefox (0.8-7) unstable; urgency=low + + * debian/mozilla-firefox-runner: + - Cleanup XUL.mfasl whenever firefox is run with no + command-line. (Closes: #238717) + - Add patch from Laurent Buffler to add config to allow + new tabs to be opened instead of new windows. (Closes: #239323) + * debian/mozilla-firefoxrc: Put the new FIREFOX_OPEN_IN variable in + there and document it's use. + + -- Eric Dorland Sat, 27 Mar 2004 17:21:51 -0500 + +mozilla-firefox (0.8-6) unstable; urgency=low + + * debian/control: Build-depend on g++-3.3 (>= 3.3.3-4) to work around + broken 3.3.3-3 release. (Closes: #238318, #238241, #238441, #238523, + #238534) + * debian/rules: Install new small-firefox icon. + * debian/mozilla-firefox{.png, .xpm, -small.xpm}: Use the new DFSG-free + icons, the old pretty ones are trademarked and not DSFG-free. I know, + it's stupid. Complain to the Mozilla Foundation, not me. (Closes: + #234869) + + -- Eric Dorland Sun, 21 Mar 2004 22:09:16 -0500 + +mozilla-firefox (0.8-5) unstable; urgency=low + + * Rebuild with g++-3.3 3.3.3-2 to work around broken g++. (Closes: + #238318) + + -- Eric Dorland Wed, 17 Mar 2004 21:38:58 -0500 + +mozilla-firefox (0.8-4) unstable; urgency=low + + * debian/README.Debian: + - Tell people not to remove their ~/.firefox directory. Just move it + out of the way. (Closes: #235594) + - Add notes about the sound dsp. (Closes: #236678) + * debian/mozilla-firefox-runner: + - Don't redirect stderr. (Closes: #236160) + - Add get_locale code from Aurelien Jarno (Closes: #235521) + - Fix dsp auto-detection code. (Closes: #236678) + * debian/rules: Add default locale file. + * debian/mozilla-firefox.dirs: Add locales dir. + + * browser/app/profile/all.js, + content/events/src/nsEventStateManager.cpp, + modules/libpref/src/init/all.js, widget/public/nsGUIEvent.h, + widget/src/gtk/nsWidget.cpp: Reapply extended mouse events patch from + Derek Upham. (Closes: #235385, #230876) + * browser/base/content/browser-sets.inc: Make ESC stop animations + again. (Closes: #235474) + + -- Eric Dorland Tue, 16 Mar 2004 00:31:19 -0500 + +mozilla-firefox (0.8-3) unstable; urgency=low + + * debian/mozilla.firefox.menu: Change the case of + mozilla-Firefox. (Closes: #234982, #234755) + * debian/NEWS.Debian: Move to debian/mozilla-firefox.NEWS so that it + actually gets installed. (Closes: #234700) + * debian/update-mozilla-firefox-chrome: Setup dummy home directory to + capture silly .firefox directory. (Closes: #234855) + * debian/mozilla-firefox.png.uu, debian/mozilla-firefox.xpm: Use the + new, pretty mozilla-firefox icons. (Closes: #234869) + * debian/rules: Install the pretty icon in the right places. + + -- Eric Dorland Thu, 26 Feb 2004 21:10:27 -0500 + +mozilla-firefox (0.8-2) unstable; urgency=low + + * The "what he taketh, he giveth back" release. + * debian/rules: + - Disable the wallet extension, this really closes #222447. + - Remove some more cruft left over from the patch system. + - Reinstall the dom-inspector. + * debian/control: Add the dom-inspector back, now that it is supported + upstream. + * debian/mozilla-firefox-dom-inspector.{install,dirs,postinst,postrm}: + Bring these files back. + * docshell/base/nsWebShell.cpp: Only do keyword lookup on when DNS + entries don't exist. (Closes: #233916, #218033, #211524) + + -- Eric Dorland Mon, 23 Feb 2004 21:48:03 -0500 + +mozilla-firefox (0.8-1) unstable; urgency=low + + * The "Let's Change Our Name Every Other Day" release. + * New upstream release, mozilla-firebird has been renamed to + mozilla-firefox. Let's hope it lasts. (Closes: #231903, #222447) + * debian/mozilla-firebird.*: Renamed to debian/mozilla-firefox.*. + + * debian/README.Debian: Update for firefox, remove blurb about the + inspector. + * debian/NEWS.Debian: Explain how to move your configs over. I may make + this automatic if enough people complain, but I'm loathe to muck + around in pople's home directories. + + * debian/control: + - Rename the package. + - Tweak description to list Firefox's previous aliases. + - Remove conflicts on mozilla-firebird-dom-inspector. + + * debian/rules: + - s/firebird/firefox/g, s/MozillaFirebird/firebird/g. + - Comment out some old inspector code. + - Remove unused patch subsystem. + - Disable gtktest. We don't need no stinking tests. + - Remove disable plaintext editor line, not sure why it's there. + - Disable LDAP support. We don't use it. + - Remove executable bit on *.so files. + - Remove useless preference files. + - Exclude the inspector files. + - Don't remove installed-chrome, we don't install it anymore. + - user-app-dir = .firefox. (Closes: #212301) + - export MOZILLA_OFFICIAL for the build ID. (Closes: #231133) + + * debian/mozilla-firefox-runner: + - s/firebird/firefox/g. + - Remove composer and editor functions. + - Use .firefox directory. + + * debian/mozilla-firefox.install: + - s/firebird/firefox/g, s/MozillaFirebird/firefox/g. + - Don't install timebombgen. + - Install icons directory. + - Don't install installed-chrome.txt, we just remove it anyway. + + * debian/mozilla-firefox.desktop, debian/mozilla-firefox.dirs, + debian/mozilla-firefox.manpages, debian/mozilla-firefox.links, + debian/mozilla-firefox.menu, debian/mozilla-firefox.mime, + debian/mozilla-firefoxrc, debian/mozilla-firefox.postinst, + debian/mozilla-firefox.prerm, debian/update-mozilla-firefox-chrome, + debian/mozilla-firefox.1, debian/mozilla-firefox-xremote-client: + s/firebird/firefox/g, s/MozillaFirebird/firefox/g. + + * debian/mozilla-firefox.links: Link mozilla-firefox.1 to firefox.1. + + * debian/mozilla-firefox.preinst: Remove, at least with the rename I can + erase some of my previous blunders. + + * debian/mozilla-firefox.{png.uu,xpm}: Use the package icon. + + * browser/app/nsBrowserApp.cpp: Change package name to Firefox, so now + the ~/.firefox is used. (Closes: #196550) + + * browser/app/profile/all.js: Merge in autoscroll fixes. + * browser/base/content/browser-sets.inc: Merge in upstream stop button + fix. + * modules/plugin/samples/default/unix/nullplugin.c: Merge in removal of + commented code. + * nsprpub/pr/include/md/_linux.cfg, nsprpub/pr/include/md/_linux.h, + security/coreconf/Linux.mk: Merge in hppa build fixes from upstream. + * config/autoconf.mk.in: Install into /usr/lib/mozilla-firefox now. + * content/base/src/nsDocumentViewer.cpp: Remove redundant stop patch + since it has been merged upstream. + * content/events/src/nsEventStateManager.cpp, + modules/libpref/src/init/all.js, widget/src/gtk/nsWidget.cpp: Revert + back to upstream version. There was a patch here to add support for + extended mouse buttons, but I'm removing it since I don't trust that + it works in the new version correctly. Send me another patch if you + want this functionality back. + * toolkit/components/passwordmgr/base/nsPasswordManager.cpp: Revert this + back to upstream, I'm not sure which patches I applied to this file, + likely something to try and fix the double password prompt. + * widget/src/xremoteclient/XRemoteClient.cpp, + widget/src/xremoteclient/XRemoteClient.h: Revert to upstream version, + I believe it does the right thing now, but the patch I used does not + apppear to have been used. Restore the properties to _FIREFOX_* + though. + * widget/src/gtk/nsGtkMozRemoteHelper.cpp, + widget/src/gtk2/nsGtkMozRemoteHelper.cpp: Change the _FIREBIRD_* to + _FIREFOX_* here as well. + * content/base/src/nsDocument.cpp: Comment out nsDocument::GetDomConfig, + needed to get things to compile. + + -- Eric Dorland Sun, 15 Feb 2004 21:28:45 -0500 + +mozilla-firebird (0.7-7) unstable; urgency=low + + * debian/mozilla-firebird-runner: Open a new window when loading a + regular file. (Closes: #228853) + + -- Eric Dorland Thu, 29 Jan 2004 22:12:30 -0500 + +mozilla-firebird (0.7-6) unstable; urgency=medium + + * The "Indian-giver-christmas" release. + * Urgency medium since we're closing some critical bugs that need to get + in before a freeze. + * Completely remove mozilla-firebird-dom-browser. No one stepped up to + help fix it's brokeness in 0.7 and I don't use it or particularly care + about it. So it is no more. If someone steps up to take responsibility + I might put it back, but otherwise it may RIP. (Closes: #222085) + * debian/mozilla-firebird-runner: Remove XUL.mfasl uncoditionally + now. There is a corner case where this file is corrupted on upgrade + when firebird was running. This is a total hack, and not an elegant + solution, but at least it fixes the problem. (Closes: #224779, + #224323) + * debian/control: Conflict against old mozilla-firebird-dom-inspector + since it doesn't work anymore. + + -- Eric Dorland Thu, 25 Dec 2003 15:54:21 -0500 + +mozilla-firebird (0.7-5) unstable; urgency=low + + * browser/base/content/browser-sets.inc: Patch to make ESC stop actually + work. (Closes: #223382) + * debian/rules: Turn down optimizations on sparc. (Closes: #223760) + + -- Eric Dorland Sun, 14 Dec 2003 23:01:59 -0500 + +mozilla-firebird (0.7-4) unstable; urgency=low + + * The "All of Takuo's hard work really pays off" release. + * toolkit/components/passwordmgr/base/nsPasswordManager.cpp: Patch from + upstream bugzilla (#220214) to fix double password prompt + problem. (Closes: #222696) + * xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.m4: Stolen + patch from mozilla package to make mozilla-firebird build on + mips. (Closes: #222743) + * content/base/src/nsDocumentViewer.cpp: Port yet another patch to allow + the ESC key to stop animated gifs. (Closes: #223382) + + -- Eric Dorland Mon, 8 Dec 2003 23:59:16 -0500 + +mozilla-firebird (0.7-3) unstable; urgency=low + + * debian/control: Add dependency on psmisc since we use fuser. Thanks + Daniel Schröter. + * widget/src/xremoteclient/XRemoteClient.{cpp,h}: Apply patch from + bugzilla to fix -remote behaviour on modern WMs. Thanks Nikolai + Prokoschenko. (Closes: #197632) + * nsprpub/pr/src/misc/prdtoa.c: Apply fix from mozilla package (#215067) + to fix building on arm. This is a partial fix to #222743. + * debian/patches: Remove these. Put everything in CVS. + + -- Eric Dorland Fri, 5 Dec 2003 20:03:46 -0500 + +mozilla-firebird (0.7-2) unstable; urgency=low + + * Apply excellent patch from Alexander Sack to fix the + issues with mozilla running and firebird not starting. (Closes: + #216264) + * browser/app/profile/all.js: Set the default of "general.autoScroll" to + false because it annoyes me. (Closes: #221661) + + -- Eric Dorland Wed, 19 Nov 2003 20:59:55 -0500 + +mozilla-firebird (0.7-1) unstable; urgency=low + + * New upstream release. (Closes: #216019) + * debian/patches/dom-inspector.diff: Remove, and apply directly into my + CVS. + * debian/patches/pref.diff: Removed, doesn't seem applicable anymore. + * debian/rules: export MOZ_FIREBIRD=1. + * debian/control: + - Change Chimera to Camino. (Closes: #220821) + - Fix typos in descriptions. (Closes: #218202) + - Add build-deps on m4. (Closes: #219681) + + -- Eric Dorland Wed, 12 Nov 2003 23:01:35 -0500 + +mozilla-firebird (0.6.1-8) unstable; urgency=low + + * Apply patch to make forward and back buttons work on mice. (Closes: + #211606) + * debian/rules: Use -O optimization on alpha, so it will build + again. (Closes: #213603) + + -- Eric Dorland Fri, 3 Oct 2003 00:07:44 -0400 + +mozilla-firebird (0.6.1-7) unstable; urgency=low + + * Rebuild with the latest and greatest from unstable. This seems to fix + the problems with bookmarks people were having, at least for me. No + idea why. Please reopen if this doesn't fix it for you. (Closes: + #209339, #211706, #211286, #211146, #212011) + + -- Eric Dorland Mon, 22 Sep 2003 00:00:08 -0400 + +mozilla-firebird (0.6.1-6) unstable; urgency=low + + * Patch from Eric Wong to make plugin requests + less annoying. (Closes: #196609) + * debian/rules: Stop building libart. + * debian/mozilla-firebird.links: Fix path to bookmarks file. (Partial + fix to #211286) + + -- Eric Dorland Wed, 17 Sep 2003 20:22:56 -0400 + +mozilla-firebird (0.6.1-5) unstable; urgency=low + + * The "sorry Chris Gray" release. + * debian/rules: disable SVG. This was causing drag and drop to lock up + X and possibly fixes #208630. (Closes: #209371) + * debian/mozilla-firebird-runner: Remove XUL.mfasl if we have upgraded, + since it can cause problems. (Closes: #200073, #202130, #207351) + + -- Eric Dorland Sat, 13 Sep 2003 20:15:37 -0400 + +mozilla-firebird (0.6.1-4) unstable; urgency=low + + * The "pleasing Chris Gray" release. + * other-licenses/libart_gpl: Add this library for svg. + * debian/rules: + - Enable svg. + - Move bookmarks.html file into /etc. (Closes: #207398) + * debian/mozilla-firebird.links: Add links back to files moved to /etc. + * security/coreconf/Linux2.6.mk: Add this as a copy of Linux2.5.mk to + get mozilla-firebird to build on 2.6. (Closes: #207821) + + -- Eric Dorland Sun, 31 Aug 2003 04:40:30 -0400 + +mozilla-firebird (0.6.1-3) unstable; urgency=low + + * debian/mozilla-firebird.prerm: Remove mozilla alternative on + remove. (Closes: #205310) + * debian/debsearch.{gif.uu,src}: Debian search plugin graciously + contributed by Fergus McKenzie-Kay . + * debian/rules: + - uudecode and clean up debsearch.gif.uu. + - Steal platform specific optimization code from mozilla + package. Thanks Brian Nelson. (Closes: #206309) + * debian/mozilla-firebird.install: Install the above files. + * debian/control: Update Standards-Version to 3.6.1. + + -- Eric Dorland Sun, 24 Aug 2003 19:09:11 -0400 + +mozilla-firebird (0.6.1-2) unstable; urgency=low + + * The "Stop Pestering Me Already!" release. + * debian/control: Only recommend xprt-xprintorg, don't require + it. (Closes: #204176) + + -- Eric Dorland Sun, 10 Aug 2003 20:00:11 -0400 + +mozilla-firebird (0.6.1-1) unstable; urgency=low + + * New upstream release. (Closes: #203518, #201203) + * debian/control: + - Standards-Version to 3.6.0. + - Don't provide www-browser anymore. (Closes: #201035) + - Depend on xprt-xprintorg so printing will work. (Closes: #202418) + * debian/mozilla-firebird.preinst: Remove www-browser alternative. + * debian/mozilla-firebird.postinst: Don't install www-browser alternative. + * debian/mozilla-firebird.prerm: Don't remove www-browser alternative + anymore. + * debian/README.Debian: Added note about configuration breaking on + upgrade. (Closes: #202130) + * debian/patches/classic.diff: Removed. Not sure what it's point was. + * debian/rules: Add --disable-pedantic to the configure options. + + -- Eric Dorland Sun, 3 Aug 2003 14:58:12 -0400 + +mozilla-firebird (0.6-8) unstable; urgency=low + + * debian/patches/alpha-build-fix.diff: Steal patch from mozilla to allow + building on alpha. (Closes: #198638) + * debian/patches/hppa-build-fix.diff: Steal patch from mozilla to allow + building on hppa, clean it up so it applies cleanly. (Closes: #199068) + * debian/mozilla-firebird.png.uu: Added uuencoded nice png icon. + * debian/rules: Add code to decode and clean up the new icon file. + * debian/mozilla-firebird.install: Install new icon. + * debian/mozilla-firebird.desktop: Use the new icon. + + -- Eric Dorland Fri, 27 Jun 2003 23:21:56 -0400 + +mozilla-firebird (0.6-7) unstable; urgency=low + + * debian/mozilla-firebird.1: Stole the mozilla manpage for my own + nefarious purposes. (Closes: #196638) + * debian/mozilla-firebird.postrm: Add slave links to the + mozilla-firebird manpage. (Closes: #197145) + * debian/mozilla-firebird-xremote-client: Set up the environment + properly so it returns correct information. (Closes: #197632) + * debian/mozilla-firebird.xpm: Added icon from + http://iconpacks.mozdev.org/phoenix/iconshots/flame48true.png to have + a nice menu icon. (Closes: #197565) + * Updated the README.Debian with some helpful bug reporting tips. + * debian/rules: Replaced dh_installmanpages with dh_installman. + + -- Eric Dorland Sun, 22 Jun 2003 15:15:37 -0400 + +mozilla-firebird (0.6-6) unstable; urgency=low + + * debian/mozilla-firebird.postinst: Add priority 0 alternative on + mozilla. (Closes: #196444) + * debian/control: Add build-depends on libxrender-dev, libmng-dev, + libpng12-dev, libjpeg62-dev. + * debian/rules: + - Build with system jpeg, mng and png libs. + - Exclude inspector files from mozilla-firebird. + (Closes: #196432, #196509) + + -- Eric Dorland Sat, 7 Jun 2003 15:19:23 -0400 + +mozilla-firebird (0.6-5) unstable; urgency=low + + * The "Mike Hommey is my homey" release. + * Thanks to Mike Hommey for his excellent work on this + version (it's 99% his), which I've shamelessly stolen. + * Added a README.Debian file. + * Added a separate mozilla-firebird-dom-inspector package. + * debian/patches/dom-inspector.diff: + - add DOM Inspector to Tools menu. (note: DOM Inspector is still + not very well integrated with Firebird) + - remove modern skin references. + * debian/patches/xpinstall.diff: remove unneeded chrome registrations + from xpinstall/packager/unix/browser.jst. + * debian/patches/classic.diff: remove + themes/classic/global/win/preview.gif from jar file and modify + preview image reference in rdf file to Preview.png. + * debian/patches/pref.diff: remove preview image constraints in + browser/components/prefwindow/skin/pref.css file to avoid deformation + of preview image in classic theme. + * debian/mozilla-firebird.preinst: added #DEBHELPER#. + * debian/mozilla-firebird.install: + - Don't install the modern.jar and embed-sample.jar files. + - Remove files related to dom-inspector. + * debian/rules: + - enabling xinerama support. + - disabling build of chatzilla and venkman. + - moved /var/lib/mozilla-firebird/chrome.d/99default to + /var/lib/mozilla-firebird/chrome.d/00all + - remove references to embed-sample.jar in + /var/lib/mozilla-firebird/chrome.d/00all + - Add some comments. + - Change == to =, for more strict /bin/sh's. + * debian/control: Build-Depend on libidl-dev (>= 0.8.0) because the + configure script requires at least this version. + * debian/copyright: Make this a real debian copyright file. + + -- Eric Dorland Thu, 5 Jun 2003 01:00:32 -0400 + +mozilla-firebird (0.6-4) unstable; urgency=low + + * debian/rules: Change -O2 to -O for building on powerpc. + * debian/mozilla-firebird.preinst: Delete + /usr/lib/mozilla-firebird/defaults/pref on upgrade to facilitate + transition to prefs in /etc. Thanks to all who reported this. + + -- Eric Dorland Tue, 27 May 2003 21:45:06 -0400 + +mozilla-firebird (0.6-3) unstable; urgency=low + + * First attempt at a debian upload. (Closes: #163270) + * debian/rules: + + Small fix to Mike Hommey's chrome patch. + + Suggestion from Bernhard R. Link to install + /usr/lib/mozilla-firebird/defaults/pref to + /etc/mozilla-firebird/pref + + Add dh_installmime call. + * debian/mozilla-firebird.mime: Install mime type handlers for firebird. + * debian/mozilla-firebird.links: Link + /usr/lib/mozilla-firebird/defaults/pref to /etc/mozilla-firebird/pref + * debian/mozilla-firebird.install: Don't install the inspector.jar. + + -- Eric Dorland Mon, 26 May 2003 00:28:40 -0400 + +mozilla-firebird (0.6-2) unstable; urgency=low + + * debian/rules: + + Add --with-user-appdir=.mozilla-firebird, since it still + defaults to .phoenix. + + Don't use the ${prefix} variable, use /usr, since ${prefix} + doesn't seem to work. + + Use --without-system-nspr. + * debian/mozilla-firebird.install: + + Be picky about what chrome files we install, since there's + quite a few we don't need, and a bunch of empty dirs. + * Excellent patch from Mike Hommey to add a + update-mozilla-firebird-chrome script. + + -- Eric Dorland Sat, 24 May 2003 13:00:44 -0400 + +mozilla-firebird (0.6-1) unstable; urgency=low + + * New upstream release. + * Renamed to mozilla-firebird. + * Changed phoenix to mozilla-firebird where appropriate. + * debian/mozilla-firebird.links: Add link mozilla-firebird to + MozillaFirebird. + * debian/control: + + Standars-Version to 3.5.10.0. + + Build-depend on gtk2 libs now. + + Build-depend on libidl-dev. + + Add Provides x-www-browser. + * debian/rules: + + Enable building with the gtk2 libs. + + Make mozilla-firebird-xremote-client executable in install target. + * debian/mozilla-firebird.desktop: Added gnome menu entry. + * debian/mozilla-firebird.{prerm,postinst}: Add alternatives to + www-browser and x-www-browser. + + -- Eric Dorland Mon, 19 May 2003 20:43:39 -0400 + +phoenix (0.5-4) unstable; urgency=low + + * debian/control: Depend on fontconfig. + * debian/rules: Add source-tarball-from-cvs to build a orig tarball from + a checked out cvs tree. Now I can provide source package. And there + was much rejoicing. + + -- Eric Dorland Fri, 17 Jan 2003 21:06:47 -0500 + +phoenix (0.5-3) unstable; urgency=low + + * debian/phoenix-xremote-client: Added to send remote commands to + phoenix. Just a wrapper that calls phoenix-bin -remote. + * debian/phoenix-runner: + + Use phoenix-xremote-client. + + Replace MOZILLA_DSP with PHOENIX_DSP. + * debian/phoenixrc: phoenix-runner uses this file to determine what dsp + to start. + * debian/phoenix.install: + + Install phoenix-xremote-client, and don't install + mozilla-xremote-client. + + Install phoenixrc. + + -- Eric Dorland Mon, 23 Dec 2002 02:52:21 -0500 + +phoenix (0.5-2) unstable; urgency=low + + * debian/control: + + Add Provides: www-browser. + + Build-depend on libxft2-dev, libnspr-dev. + * debian/rules: + + Use xft and the system nspr. + + Install phoenix-runner. + * debian/phoenix-runner: Stolen from the mozilla package to run phoenix. + + -- Eric Dorland Sat, 21 Dec 2002 02:03:11 -0500 + +phoenix (0.5-1) unstable; urgency=low + + * New upstream release. + * debian/phoenix.install: Fix paths to phoenix libs. + * debian/control: + + Standards-Version to 3.5.8 + + Improve build-deps. + * debian/rules: + + Have configure options here, no more .mozconfig. + + Steal some patch code from Colin. + * debian/patches/mozappdir.diff: Change the mozappdir. + + -- Eric Dorland Mon, 9 Dec 2002 02:43:13 -0500 + +phoenix (0.4-3) unstable; urgency=low + + * debian/phoenix.menu: Add menu entry. + * Rebuild to fix libstdc++ dependency. + * .mozonfig: Disable more tests. + + -- Eric Dorland Wed, 20 Nov 2002 19:13:18 -0500 + +phoenix (0.4-2) unstable; urgency=low + + * debian/control: + + Add build-depends. + + Fix section and description. + * .mozconfig: + + Use system zlib. + + -- Eric Dorland Wed, 13 Nov 2002 19:03:52 -0500 + +phoenix (0.4-1) unstable; urgency=low + + * Initial release. + + -- Eric Dorland Mon, 11 Nov 2002 23:09:41 -0500 --- thunderbird-9.0+build2.orig/debian/compat +++ thunderbird-9.0+build2/debian/compat @@ -0,0 +1 @@ +5 --- thunderbird-9.0+build2.orig/debian/thunderbird.xml.in +++ thunderbird-9.0+build2/debian/thunderbird.xml.in @@ -0,0 +1,13 @@ + + + + + + @MOZ_DISPLAY_NAME@ + @MOZ_APP_NAME@ + @MOZ_APP_NAME@ %s + @MOZ_APP_NAME@ + false + + + --- thunderbird-9.0+build2.orig/debian/config/locales.blacklist +++ thunderbird-9.0+build2/debian/config/locales.blacklist @@ -0,0 +1 @@ +# List of upstream locales to blacklist --- thunderbird-9.0+build2.orig/debian/config/branch.mk +++ thunderbird-9.0+build2/debian/config/branch.mk @@ -0,0 +1,6 @@ +CHANNEL = release +MOZ_BUILD_UNOFFICIAL = 0 +MOZ_ENABLE_BREAKPAD = 1 + +COMM_REPO = http://hg.mozilla.org/releases/comm-release +L10N_REPO = http://hg.mozilla.org/releases/l10n/mozilla-release --- thunderbird-9.0+build2.orig/debian/config/locales.shipped +++ thunderbird-9.0+build2/debian/config/locales.shipped @@ -0,0 +1,51 @@ +# List of shipped locales. This list is automatically generated. Do not edit by hand +ar:ar +be:be +bg:bg +bn-BD:bn +br:br +ca:ca +cs:cs +da:da +de:de +el:el +en-GB:en +es-AR:es +es-ES:es +et:et +eu:eu +fi:fi +fr:fr +fy-NL:fy +ga-IE:ga +gd:gd +gl:gl +he:he +hu:hu +id:id +is:is +it:it +ja:ja +ko:ko +lt:lt +nb-NO:nb +nl:nl +nn-NO:nn +pa-IN:pa +pl:pl +pt-BR:pt +pt-PT:pt +rm:rm +ro:ro +ru:ru +si:si +sk:sk +sl:sl +sq:sq +sv-SE:sv +ta-LK:ta +tr:tr +uk:uk +vi:vi +zh-CN:zh-hans +zh-TW:zh-hant --- thunderbird-9.0+build2.orig/debian/config/mozconfig.in +++ thunderbird-9.0+build2/debian/config/mozconfig.in @@ -0,0 +1,103 @@ +%%ifdef DEB_BUILD_GNU_TYPE +ac_add_options --build=@DEB_BUILD_GNU_TYPE@ +%%endif +ac_add_options --host=@DEB_HOST_GNU_TYPE@ +ac_add_options --prefix=@MOZ_PREFIX@ +ac_add_options --libexecdir=@MOZ_LIBDIR@ +ac_add_options --with-l10n-base=@TOPSRCDIR@/@DEB_BUILDDIR@/l10n +ac_add_options --srcdir=@TOPSRCDIR@/@DEB_BUILDDIR@ +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/@MOZ_OBJDIR@ +ac_add_options --disable-install-strip +ac_add_options --disable-updater +ac_add_options --enable-application=mail +ac_add_options --enable-startup-notification +ac_add_options --with-distribution-id=com.ubuntu +%%ifdef DEB_ENABLE_THUMB2 +ac_add_options --enable-thumb2 +%%endif +%%if MOZ_OVERRIDE_SHLIBS == system +ac_add_options --with-system-jpeg=/usr +ac_add_options --with-system-png=/usr +ac_add_options --with-system-zlib=/usr +ac_add_options --with-system-bz2=/usr +ac_add_options --with-system-libevent=/usr +ac_add_options --enable-system-pixman +ac_add_options --disable-tree-freetype +%%elif MOZ_OVERRIDE_SHLIBS == tree +ac_add_options --without-system-jpeg +ac_add_options --without-system-png +ac_add_options --without-system-zlib +ac_add_options --without-system-bz2 +ac_add_options --without-system-libevent +ac_add_options --disable-system-pixman +ac_add_options --enable-tree-freetype +%%endif +%%ifdef MOZ_NO_OPTIMIZE +ac_add_options --disable-optimize +%%else +%%ifndef MOZ_VALGRIND +ac_add_options --enable-optimize +%%else +ac_add_options --enable-optimize="-g -O -freorder-blocks" +%%endif +%%endif +%%ifdef MOZ_VALGRIND +ac_add_options --disable-jemalloc +ac_add_options --enable-valgrind +mk_add_options MOZ_MAKE_FLAGS=-j4 +%%endif +%%ifdef MOZ_WANT_UNIT_TESTS +ac_add_options --enable-tests +ac_add_options --enable-ipdl-tests +%%else +ac_add_options --disable-tests +ac_add_options --disable-ipdl-tests +%%endif +%%if MOZ_USE_CAIRO == system +ac_add_options --enable-system-cairo +%%elif MOZ_USE_CAIRO == tree +ac_add_options --disable-system-cairo +%%endif +%%if MOZ_USE_NSPR == system +ac_add_options --with-system-nspr +%%elif MOZ_USE_NSPR == tree +ac_add_options --without-system-nspr +%%endif +%%if MOZ_USE_NSS == system +ac_add_options --with-system-nss +%%elif MOZ_USE_NSS == tree +ac_add_options --without-system-nss +%%endif +%%if MOZ_USE_SQLITE == tree +ac_add_options --disable-system-sqlite +%%elif MOZ_USE_SQLITE == system +ac_add_options --enable-system-sqlite +%%endif +%%if MOZ_USE_HUNSPELL == tree +ac_add_options --disable-system-hunspell +%%elif MOZ_USE_HUNSPELL == system +ac_add_options --enable-system-hunspell +%%endif +%%if MOZ_USE_VPX == tree +ac_add_options --without-system-libvpx +%%elif MOZ_USE_VPX == system +ac_add_options --with-system-libvpx=/usr +%%endif +%%ifdef MOZ_ENABLE_BREAKPAD +ac_add_options --enable-crashreporter +%%else +ac_add_options --disable-crashreporter +%%endif +ac_add_options @MOZ_BRANDING_OPTION@ +%%ifdef MOZ_BUILD_PGO +mk_add_options PROFILE_GEN_SCRIPT='xvfb-run -a @MOZ_PYTHON@ @TOPSRCDIR@/@MOZ_OBJDIR@/_profile/pgo/profileserver.py' +%%endif +%%ifdef MOZ_UPDATE_CHANNEL +ac_add_options --enable-update-channel=@MOZ_UPDATE_CHANNEL@ +%%endif +%%ifdef MOZ_DEBUG +ac_add_options --enable-debug +%%else +ac_add_options --disable-debug +%%endif +ac_add_options --disable-elf-hack --- thunderbird-9.0+build2.orig/debian/config/locales.all +++ thunderbird-9.0+build2/debian/config/locales.all @@ -0,0 +1,53 @@ +# List of all language packs, past and present. Please don't delete any entries from this file +af:Afrikaans +ar:Arabic +be:Belarusian +bg:Bulgarian +bn:Bengali +br:Breton +ca:Catalan; Valencian +cs:Czech +da:Danish +de:German +el:Greek +en:English +es:Spanish; Castilian +et:Estonian +eu:Basque +fi:Finnish +fr:French +fy:Western Frisian +ga:Irish +gd:Gaelic; Scottish Gaelic +gl:Galician +he:Hebrew +hu:Hungarian +id:Indonesian +is:Icelandic +it:Italian +ja:Japanese +ka:Georgian +ko:Korean +lt:Lithuanian +mk:Macedonian +nb:Bokmål, Norwegian; Norwegian Bokmål +nl:Dutch; Flemish +nn:Norwegian Nynorsk; Nynorsk, Norwegian +pa:Panjabi; Punjabi +pl:Polish +pt:Portuguese +rm:Romansh +ro:Romanian +ru:Russian +si:Sinhala; Sinhalese +sk:Slovak +sl:Slovenian +sq:Albanian +sr:Serbian +sv:Swedish +ta:Tamil +tr:Turkish +uk:Ukrainian +vi:Vietnamese +zh-hans:Simplified Chinese +zh-hant:Traditional Chinese --- thunderbird-9.0+build2.orig/debian/patches/printf-fix.patch +++ thunderbird-9.0+build2/debian/patches/printf-fix.patch @@ -0,0 +1,11 @@ +--- a/mozilla/gfx/2d/Logging.h ++++ b/mozilla/gfx/2d/Logging.h +@@ -86,7 +86,7 @@ static void OutputMessage(const std::str + } + #else + if (aLevel >= sGfxLogLevel) { +- printf(aString.c_str()); ++ printf("%s", aString.c_str()); + } + #endif + } --- thunderbird-9.0+build2.orig/debian/patches/fix-build-failure-without-yarr-jit.patch +++ thunderbird-9.0+build2/debian/patches/fix-build-failure-without-yarr-jit.patch @@ -0,0 +1,27 @@ +Subject: Fix build failure on platforms without YARR JIT +Bug-Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=703534 +Origin: upstream, https://hg.mozilla.org/mozilla-central/raw-rev/15cf58eb7923 +Author: Mike Hommey +# Rebased for Firefox 9 and Thunderbird directory structure +# HG changeset patch +# User Mike Hommey +# Date 1321613368 -3600 +# Node ID 15cf58eb7923d34de7e61df80fa5f8a18a995abf +# Parent aeb035da53283c56370992f254e4f79d7dd180f8 + +--- + js/src/jscompartment.cpp | 1 - + 1 file changed, 1 deletion(-) + +Index: mozilla/mozilla/js/src/jscompartment.cpp +=================================================================== +--- mozilla.orig/mozilla/js/src/jscompartment.cpp ++++ mozilla/mozilla/js/src/jscompartment.cpp +@@ -50,7 +50,6 @@ + #include "jswatchpoint.h" + #include "jswrapper.h" + #include "assembler/wtf/Platform.h" +-#include "assembler/jit/ExecutableAllocator.h" + #include "yarr/BumpPointerAllocator.h" + #include "methodjit/MethodJIT.h" + #include "methodjit/PolyIC.h" --- thunderbird-9.0+build2.orig/debian/patches/fix-cursor-handling.patch +++ thunderbird-9.0+build2/debian/patches/fix-cursor-handling.patch @@ -0,0 +1,107 @@ +# HG changeset patch +# User Chris Coulson +# Date 1323858871 -3600 +# Node ID 596e3eca4196e990e4dcddbdcb1642e6565fd781 +# Parent 82187424f0512e2b1622f3d2edadabd92f706d28 +Bug 709259 - Try creating a named cursor before a bitmap cursor. r=karlt + +diff --git a/mozilla/widget/src/gtk2/nsGtkCursors.h b/mozilla/widget/src/gtk2/nsGtkCursors.h +--- a/mozilla/widget/src/gtk2/nsGtkCursors.h ++++ b/mozilla/widget/src/gtk2/nsGtkCursors.h +@@ -41,16 +41,17 @@ + #ifndef nsGtkCursors_h__ + #define nsGtkCursors_h__ + + typedef struct { + const unsigned char *bits; + const unsigned char *mask_bits; + int hot_x; + int hot_y; ++ const char *hash; + } nsGtkCursor; + + /* MOZ_CURSOR_HAND_GRAB */ + static const unsigned char moz_hand_grab_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x60, 0x39, 0x00, 0x00, 0x90, 0x49, 0x00, 0x00, 0x90, 0x49, 0x01, 0x00, + 0x20, 0xc9, 0x02, 0x00, 0x20, 0x49, 0x02, 0x00, 0x58, 0x40, 0x02, 0x00, + 0x64, 0x00, 0x02, 0x00, 0x44, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, +@@ -410,26 +411,28 @@ enum { + MOZ_CURSOR_ZOOM_OUT, + MOZ_CURSOR_NOT_ALLOWED, + MOZ_CURSOR_VERTICAL_TEXT, + MOZ_CURSOR_NESW_RESIZE, + MOZ_CURSOR_NWSE_RESIZE, + MOZ_CURSOR_NONE + }; + +-// create custom pixmap cursor ++// create custom pixmap cursor. The hash values must stay in sync with the ++// bitmap data above. To see the hash function, have a look at XcursorImageHash ++// in libXcursor + static const nsGtkCursor GtkCursors[] = { +- { moz_hand_grab_bits, moz_hand_grab_mask_bits, 10, 10 }, +- { moz_hand_grabbing_bits, moz_hand_grabbing_mask_bits, 10, 10 }, +- { moz_copy_bits, moz_copy_mask_bits, 2, 2 }, +- { moz_alias_bits, moz_alias_mask_bits, 2, 2 }, +- { moz_menu_bits, moz_menu_mask_bits, 2, 2 }, +- { moz_spinning_bits, moz_spinning_mask_bits, 2, 2 }, +- { moz_zoom_in_bits, moz_zoom_in_mask_bits, 6, 6 }, +- { moz_zoom_out_bits, moz_zoom_out_mask_bits, 6, 6 }, +- { moz_not_allowed_bits, moz_not_allowed_mask_bits, 9, 9 }, +- { moz_vertical_text_bits, moz_vertical_text_mask_bits, 8, 4 }, +- { moz_nesw_resize_bits, moz_nesw_resize_mask_bits, 8, 8 }, +- { moz_nwse_resize_bits, moz_nwse_resize_mask_bits, 8, 8 }, +- { moz_none_bits, moz_none_mask_bits, 0, 0 } ++ { moz_hand_grab_bits, moz_hand_grab_mask_bits, 10, 10, "5aca4d189052212118709018842178c0" }, ++ { moz_hand_grabbing_bits, moz_hand_grabbing_mask_bits, 10, 10, "208530c400c041818281048008011002" }, ++ { moz_copy_bits, moz_copy_mask_bits, 2, 2, "08ffe1cb5fe6fc01f906f1c063814ccf" }, ++ { moz_alias_bits, moz_alias_mask_bits, 2, 2, "0876e1c15ff2fc01f906f1c363074c0f" }, ++ { moz_menu_bits, moz_menu_mask_bits, 2, 2, "08ffe1e65f80fcfdf9fff11263e74c48" }, ++ { moz_spinning_bits, moz_spinning_mask_bits, 2, 2, "08e8e1c95fe2fc01f976f1e063a24ccd" }, ++ { moz_zoom_in_bits, moz_zoom_in_mask_bits, 6, 6, "f41c0e382c94c0958e07017e42b00462" }, ++ { moz_zoom_out_bits, moz_zoom_out_mask_bits, 6, 6, "f41c0e382c97c0938e07017e42800402" }, ++ { moz_not_allowed_bits, moz_not_allowed_mask_bits, 9, 9, "03b6e0fcb3499374a867d041f52298f0" }, ++ { moz_vertical_text_bits, moz_vertical_text_mask_bits, 8, 4, "048008013003cff3c00c801001200000" }, ++ { moz_nesw_resize_bits, moz_nesw_resize_mask_bits, 8, 8, "50585d75b494802d0151028115016902" }, ++ { moz_nwse_resize_bits, moz_nwse_resize_mask_bits, 8, 8, "38c5dff7c7b8962045400281044508d2" }, ++ { moz_none_bits, moz_none_mask_bits, 0, 0, NULL } + }; + + #endif /* nsGtkCursors_h__ */ +diff --git a/mozilla/widget/src/gtk2/nsWindow.cpp b/mozilla/widget/src/gtk2/nsWindow.cpp +--- a/mozilla/widget/src/gtk2/nsWindow.cpp ++++ b/mozilla/widget/src/gtk2/nsWindow.cpp +@@ -5640,19 +5640,27 @@ get_gtk_cursor(nsCursor aCursor) + newType = MOZ_CURSOR_NONE; + break; + default: + NS_ASSERTION(aCursor, "Invalid cursor type"); + gdkcursor = gdk_cursor_new(GDK_LEFT_PTR); + break; + } + +- // if by now we don't have a xcursor, this means we have to make a +- // custom one +- if (newType != 0xff) { ++ // If by now we don't have a xcursor, this means we have to make a custom ++ // one. First, we try creating a named cursor based on the hash of our ++ // custom bitmap, as libXcursor has some magic to convert bitmapped cursors ++ // to themed cursors ++ if (newType != 0xFF && GtkCursors[newType].hash) { ++ gdkcursor = gdk_cursor_new_from_name(gdk_display_get_default(), ++ GtkCursors[newType].hash); ++ } ++ ++ // If we still don't have a xcursor, we now really create a bitmap cursor ++ if (newType != 0xff && !gdkcursor) { + GdkPixbuf * cursor_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 32, 32); + if (!cursor_pixbuf) + return NULL; + + guchar *data = gdk_pixbuf_get_pixels(cursor_pixbuf); + + // Read data from GtkCursors and compose RGBA surface from 1bit bitmap and mask + // GtkCursors bits and mask are 32x32 monochrome bitmaps (1 bit for each pixel) + + --- thunderbird-9.0+build2.orig/debian/patches/add-syspref-dir.patch +++ thunderbird-9.0+build2/debian/patches/add-syspref-dir.patch @@ -0,0 +1,82 @@ +Index: mozilla/mozilla/toolkit/xre/nsXREDirProvider.cpp +=================================================================== +--- mozilla.orig/mozilla/toolkit/xre/nsXREDirProvider.cpp 2011-09-29 00:59:39.000000000 +0100 ++++ mozilla/mozilla/toolkit/xre/nsXREDirProvider.cpp 2011-09-29 10:22:10.700227676 +0100 +@@ -591,6 +591,7 @@ + } + + static const char *const kAppendPrefDir[] = { "defaults", "preferences", nsnull }; ++static const char *const kAppendSysPrefDir[] = { "defaults", "syspref", nsnull }; + + #ifdef DEBUG_bsmedberg + static void +@@ -632,6 +633,9 @@ + LoadAppDirIntoArray(mXULAppDir, kAppendPrefDir, directories); + LoadDirsIntoArray(mAppBundleDirectories, + kAppendPrefDir, directories); ++ LoadAppDirIntoArray(mXULAppDir, kAppendSysPrefDir, directories); ++ LoadDirsIntoArray(mAppBundleDirectories, ++ kAppendSysPrefDir, directories); + + rv = NS_NewArrayEnumerator(aResult, directories); + } +Index: mozilla/mozilla/xpcom/io/nsAppDirectoryServiceDefs.h +=================================================================== +--- mozilla.orig/mozilla/xpcom/io/nsAppDirectoryServiceDefs.h 2011-09-29 00:59:46.000000000 +0100 ++++ mozilla/mozilla/xpcom/io/nsAppDirectoryServiceDefs.h 2011-09-29 10:22:10.700227676 +0100 +@@ -63,6 +63,7 @@ + + #define NS_APP_DEFAULTS_50_DIR "DefRt" // The root dir of all defaults dirs + #define NS_APP_PREF_DEFAULTS_50_DIR "PrfDef" ++#define NS_APP_SYSPREF_DEFAULTS_50_DIR "SysPrfDef" + #define NS_APP_PROFILE_DEFAULTS_50_DIR "profDef" // The profile defaults of the "current" + // locale. Should be first choice. + #define NS_APP_PROFILE_DEFAULTS_NLOC_50_DIR "ProfDefNoLoc" // The profile defaults of the "default" +Index: mozilla/mozilla/xpcom/io/nsAppFileLocationProvider.cpp +=================================================================== +--- mozilla.orig/mozilla/xpcom/io/nsAppFileLocationProvider.cpp 2011-09-29 00:59:46.000000000 +0100 ++++ mozilla/mozilla/xpcom/io/nsAppFileLocationProvider.cpp 2011-09-29 10:22:10.700227676 +0100 +@@ -94,6 +94,7 @@ + + #define DEFAULTS_DIR_NAME NS_LITERAL_CSTRING("defaults") + #define DEFAULTS_PREF_DIR_NAME NS_LITERAL_CSTRING("pref") ++#define DEFAULTS_SYSPREF_DIR_NAME NS_LITERAL_CSTRING("syspref") + #define DEFAULTS_PROFILE_DIR_NAME NS_LITERAL_CSTRING("profile") + #define RES_DIR_NAME NS_LITERAL_CSTRING("res") + #define CHROME_DIR_NAME NS_LITERAL_CSTRING("chrome") +@@ -158,6 +159,15 @@ + rv = localFile->AppendRelativeNativePath(DEFAULTS_PREF_DIR_NAME); + } + } ++ else if (nsCRT::strcmp(prop, NS_APP_SYSPREF_DEFAULTS_50_DIR) == 0) ++ { ++ rv = CloneMozBinDirectory(getter_AddRefs(localFile)); ++ if (NS_SUCCEEDED(rv)) { ++ rv = localFile->AppendRelativeNativePath(DEFAULTS_DIR_NAME); ++ if (NS_SUCCEEDED(rv)) ++ rv = localFile->AppendRelativeNativePath(DEFAULTS_SYSPREF_DIR_NAME); ++ } ++ } + else if (nsCRT::strcmp(prop, NS_APP_PROFILE_DEFAULTS_50_DIR) == 0 || + nsCRT::strcmp(prop, NS_APP_PROFILE_DEFAULTS_NLOC_50_DIR) == 0) + { +Index: mozilla/mozilla/modules/libpref/src/Preferences.cpp +=================================================================== +--- mozilla.orig/mozilla/modules/libpref/src/Preferences.cpp 2011-09-29 10:22:28.616227359 +0100 ++++ mozilla/mozilla/modules/libpref/src/Preferences.cpp 2011-09-29 10:26:43.716222825 +0100 +@@ -1093,6 +1093,15 @@ + if (NS_FAILED(rv)) + NS_WARNING("Error parsing application default preferences."); + ++ ++ /* Load $gre/defaults/syspref/*.js */ ++ rv = NS_GetSpecialDirectory(NS_APP_SYSPREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir)); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles)); ++ if (NS_FAILED(rv)) ++ NS_WARNING("Error parsing application system preferences."); ++ + // Load jar:$app/omni.jar!/defaults/preferences/*.js + nsZipArchive *appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP); + if (appJarReader) { --- thunderbird-9.0+build2.orig/debian/patches/series +++ thunderbird-9.0+build2/debian/patches/series @@ -0,0 +1,5 @@ +no-dynamic-nss-softokn.patch +add-syspref-dir.patch +printf-fix.patch +fix-build-failure-without-yarr-jit.patch +fix-cursor-handling.patch --- thunderbird-9.0+build2.orig/debian/patches/no-dynamic-nss-softokn.patch +++ thunderbird-9.0+build2/debian/patches/no-dynamic-nss-softokn.patch @@ -0,0 +1,20 @@ +Description: ??? +Author: ??? +Bug: ??? +Forwarded: no + +--- + directory/c-sdk/component_versions.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/ldap/sdks/c-sdk/component_versions.mk ++++ b/ldap/sdks/c-sdk/component_versions.mk +@@ -46,7 +46,7 @@ NSPR_RELEASE_TREE = $(COMPONENTS_DIR) + # NSS - Network Security Services + NSSVERS = 3 + NSS_RELEASE_TAG = NSS_3_9_3_RTM +-NSS_DYNAMIC_SOFTOKN = 1 ++NSS_DYNAMIC_SOFTOKN = 0 + NSS_RELEASE_TREE = $(COMPONENTS_DIR) + + # SVRCORE - Client/server utility library --- thunderbird-9.0+build2.orig/debian/compare-locales/REV +++ thunderbird-9.0+build2/debian/compare-locales/REV @@ -0,0 +1 @@ +TAG=FIREFOX_5_0b1_BUILD1 \ No newline at end of file --- thunderbird-9.0+build2.orig/debian/compare-locales/scripts/test-locales +++ thunderbird-9.0+build2/debian/compare-locales/scripts/test-locales @@ -0,0 +1,245 @@ +#! python +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + + +import logging +import sys +import os +import os.path +from datetime import datetime +import time +from optparse import OptionParser +import gzip +import codecs + +from Mozilla import Parser, CompareLocales, Paths, Tests +import simplejson + +# +# Helper classes +# + +# +# Logging +# +class LogHandler(logging.Handler): + def __init__(self): + self.log = [] + logging.Handler.__init__(self) + def emit(self, record): + self.log.append((record.name, record.levelname, record.getMessage().strip())) + +# +# JSON with optional gzip +# +class Wrapper: + def __init__(self, path, name): + self.p = os.path.join(path, name) + self.n = name + self.f = None + if opts.gzip: + self.p += '.gz' + def open(self, mode): + if self.f: + self.f.close() + if opts.gzip: + mode += 'b' + self.f = open(self.p, mode) + if opts.gzip: + self.f = gzip.GzipFile(fileobj = self.f, filename = self.n) + self.w = codecs.getwriter('utf-8')(self.f) + self.r = codecs.getreader('utf-8')(self.f) + def write(self, str): + self.w.write(str) + def read(self, size = -1): + return self.r.read(size) + def rewind(self): + if opts.gzip: + self.f.rewind() + else: + self.f.seek(0,0) + def close(self): + if opts.gzip: + f = self.f.fileobj; + self.f.close() + if opts.gzip: + f.close() + self.w = self.r = self.f = None +# +# Helper function for JSON output with optional gzip +# +def saveJSON(dic, localName): + name = os.path.join(basePath, localName) ; + if opts.gzip: + f = open(name + '.gz', 'wb') + s = gzip.GzipFile(fileobj = f, filename = localName) + else: + f = open(name, 'w') + s = f + sw = codecs.getwriter('utf-8')(s) + sw.write(simplejson.dumps(dic, sort_keys=True)) + sw.reset() + if opts.gzip: + s.close() + f.close() + + +lvl = logging.WARNING +date = datetime.utcnow().replace(second=0,microsecond=0).isoformat(' ') +# parse commandline arguments +cp = OptionParser(version='0.2') +cp.add_option('-v', '--verbose', action='count', dest='v', default=0, + help='Make more noise') +cp.add_option('-q', '--quiet', action='count', dest='q', default=0, + help='Make less noise') +cp.add_option('-O', '--base-dir', type='string', dest='target', + default='results', + help='Destination base directory') +cp.add_option('-c', '--checkout', action='store_true', dest='checkout', + default=False, + help='Run make -f client.mk l10n-checkout [Default: not]') +cp.add_option('-d', '--date', type='string', dest='date', + help='Explicit start date or subdir [Default: now]') +cp.add_option('-z',action="store_true", dest="gzip", default=False, + help='Use gzip compression for output') +cp.add_option('-w','--enable-waterfall', action="store_true", + dest="waterfall", default=False, + help='Update waterfall data') +cp.add_option('--end-date', type='string', dest='enddate', + help='Explicit (faked) end date') +opts, optlist = cp.parse_args(sys.argv[1:]) + +# +# Set up Logging +# +logging.basicConfig(level=(logging.WARNING + 10*(opts.q - opts.v))) +# Add a handler to store the output +h = LogHandler() +logging.getLogger('').addHandler(h) + +# +# Check that we're in the right location and check out if requested +# +try: + os.chdir('mozilla') + if opts.checkout: + env = '' + l = logging.getLogger('cvsco') + if opts.date: + env = 'MOZ_CO_DATE="' + opts.date + ' +0" ' + fh = os.popen(env + 'make -f client.mk l10n-checkout') + for ln in fh: + l.info(ln.strip()) + if fh.close(): + raise Exception('cvs checkout failed') + os.chdir('..') +except Exception,e: + sys.exit(str(e)) + +if not opts.date: + opts.date = date # use default set above + +logging.debug(' Ensure output directory') +# replace : with - +opts.date = opts.date.replace(':','-') +if not os.path.isdir(opts.target): + sys.exit('error: ' + opts.target + ' is not a directory') +if opts.waterfall: + startdate = time.mktime(time.strptime(opts.date, '%Y-%m-%d %H-%M-%S')) + time.altzone +basePath = os.path.join(opts.target, opts.date) +if not os.path.isdir(basePath): + os.mkdir(basePath) + + +tests = [Tests.CompareTest(), + Tests.SearchTest(), + Tests.RSSReaderTest()] +# disable bookmarks test, that's hard to fix. XXX +# Tests.BookmarksTest()] +drop = {} +for test in tests: + res = test.run() + test.serialize(res, saveJSON) + if opts.waterfall: + test.failureTest(res, drop) + +if not opts.waterfall: + saveJSON(h.log, 'buildlog.json') + sys.exit() + + +if opts.enddate: + endtime = time.mktime(time.strptime(opts.enddate, '%Y-%m-%d %H:%M:%S')) + time.altzone +else: + endtime = time.mktime(datetime.now().timetuple()) +f = None +w = Wrapper(opts.target, 'waterfall.json') +if os.path.isfile(w.p): + w.open('r') + water = simplejson.load(w) +else: + water = [] + +water.append((opts.date, (startdate, endtime), drop)) +# +# Check if we need to rotate the waterfall +# +rotateLen = 24 +if len(water) > rotateLen * 1.5: + # rotate, maximum of 16 logs + suffix = '' + if opts.gzip: + suffix = '.gz' + fnames = [os.path.join(opts.target, 'waterfall-%x.json'%i) + suffix for i in range(16)] + # remove oldest log + if os.path.isfile(fnames[15]): + os.remove(fnames[15]) + for l in range(14, -1, -1): + if os.path.isfile(fnames[l]): + os.rename(fnames[l], fnames[l+1]) + w0 = Wrapper('.', fnames[0]) + w0.open('w') + simplejson.dump(water[:rotateLen], w0, sort_keys=True) + w0.close() + water = water[rotateLen:] + +w.open('w') +simplejson.dump(water, w, sort_keys=True) +w.close() + +saveJSON(h.log, 'buildlog.json') --- thunderbird-9.0+build2.orig/debian/compare-locales/scripts/compare-dirs +++ thunderbird-9.0+build2/debian/compare-locales/scripts/compare-dirs @@ -0,0 +1,76 @@ +#! python +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + + +import logging +from optparse import OptionParser +import codecs + +from Mozilla.CompareLocales import compareDirs + +usage = 'usage: %prog [options] reference locale' +parser = OptionParser(usage=usage) + +parser.add_option('-v', '--verbose', action='count', dest='v', default=0, + help='Make more noise') +parser.add_option('-q', '--quiet', action='count', dest='q', default=0, + help='Make more noise') +parser.add_option('-m', '--merge', + help='Use this directory to stage merged files') + +(options, args) = parser.parse_args() +if len(args) != 2: + parser.error('Reference and language required') + +# log as verbose or quiet as we want, warn by default +logging.basicConfig() +logging.getLogger().setLevel(logging.WARNING - (options.v - options.q)*10) + +reference, locale = args +o = compareDirs(reference, locale, merge_stage = options.merge) +print codecs.utf_8_encode(o.serialize())[0] + +if not options.merge: + # if not merging, error on really missing strings + totalMissing = 0 + for k in ('missing', 'missingInFiles'): + for summary in o.summary.values(): + if k in summary: + totalMissing = summary[k] + if totalMissing: + parser.exit(1) --- thunderbird-9.0+build2.orig/debian/compare-locales/scripts/verify-rss-redirects +++ thunderbird-9.0+build2/debian/compare-locales/scripts/verify-rss-redirects @@ -0,0 +1,105 @@ +#!python +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + +import sys +import logging +from optparse import OptionParser +from urlparse import urlparse +import httplib +from urllib2 import urlopen + +EN_US_FEED = 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml' +FEEDSERVER = '%s.fxfeeds.mozilla.com' +FEEDPATH = '/%s/firefox/headlines.xml' + +L10NFEEDS = 'https://wiki.mozilla.org/index.php?title=Firefox/L10n_Feed_Redirects&action=raw' + +op = OptionParser() +op.add_option('--oldid', dest='oldid', + help='explicitly give a version number on the wiki') +op.add_option('-v', dest='verbose', action='count', default=0, + help='increase verbosity') +(options, args) = op.parse_args() + +if len(args) != 1: + sys.exit('all-locales or shipped-locales path expected') + +logging.basicConfig(level=(logging.WARNING - options.verbose*10)) + +if options.oldid: + L10NFEEDS += '&oldid=' + options.oldid + +lFeeds = urlopen(L10NFEEDS) +redirs = {} + +for row in lFeeds: + d, loc, url = row.split(' ', 2) + redirs[loc] = url.strip() + +# parse all-locales and shipped-locales, only take first bunch +lFile = open(args[0]) +locales = [ln.split(' ', 1)[0].strip() for ln in lFile] +# ignore ja-JP-mac, same bookmarks as ja +def not_ja_JP_mac(loc): return loc != 'ja-JP-mac' +locales = filter(not_ja_JP_mac, locales) + +for loc in locales: + logging.debug('testing ' + loc) + server = FEEDSERVER % loc + path = FEEDPATH % loc + while server.endswith('mozilla.com'): + url = None + conn = httplib.HTTPConnection(server) + conn.request('HEAD', path) + r = conn.getresponse() + if r.status != 302: + logging.error('mozilla.com loses feed for ' + loc) + server = '' + continue + url = r.getheader('location') + server, path = urlparse(url)[1:3] + conn.close() + refurl = EN_US_FEED + if redirs.has_key(loc): + refurl = redirs[loc] + if url != refurl: + print loc, "FAIL" + logging.info(str(url) + ' is not ' + refurl) + else: + logging.debug(loc + ' PASS') + --- thunderbird-9.0+build2.orig/debian/compare-locales/scripts/compare-packs +++ thunderbird-9.0+build2/debian/compare-locales/scripts/compare-packs @@ -0,0 +1,69 @@ +#! python +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2007 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + + +import logging +import os.path +import re +from optparse import OptionParser +from pprint import pprint +from zipfile import ZipFile + +from Mozilla.Jars import compareJars + +usage = 'usage: %prog [options] language-pack reference-pack' +parser = OptionParser(usage=usage) + +parser.add_option('-v', '--verbose', action='count', dest='v', default=0, + help='Report more detail') +parser.add_option('-q', '--quiet', action='count', dest='q', default=0, + help='Report less detail') + +(options, args) = parser.parse_args() +if len(args) != 2: + parser.error('language pack and reference pack required') + +# log as verbose or quiet as we want, warn by default +logging.basicConfig(level=(logging.WARNING - (options.v - options.q)*10)) + +# we expect two jar files +if not (args[0].endswith('.jar') and args[1].endswith('.jar')): + parser.error('Please specify two jar files to compare') + +o = compareJars(*args) +print o.serialize() --- thunderbird-9.0+build2.orig/debian/compare-locales/scripts/compare-locales +++ thunderbird-9.0+build2/debian/compare-locales/scripts/compare-locales @@ -0,0 +1,85 @@ +#! /usr/bin/python +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + + +import logging +from optparse import OptionParser +import codecs + +from Mozilla.Paths import EnumerateApp +from Mozilla.CompareLocales import compareApp +from Mozilla import version + +usage = 'usage: %prog [options] l10n.ini l10n_base_dir language1 [language2 ...]' +parser = OptionParser(usage = usage, version = "%%prog %s" % version) + +parser.add_option('-v', '--verbose', action='count', dest='v', default=0, + help='Make more noise') +parser.add_option('-q', '--quiet', action='count', dest='q', default=0, + help='Make more noise') +parser.add_option('-r', '--reference', default='en-US', dest='reference', + help='Explicitly set the reference '+ + 'localization. [default: en-US]') +parser.add_option('-m', '--merge', + help='Use this directory to stage merged files') + +(options, args) = parser.parse_args() +if len(args) < 3: + parser.error('At least one language required') +inipath, l10nbase = args[:2] +locales = args[2:] + +# log as verbose or quiet as we want, warn by default +logging.basicConfig() +logging.getLogger().setLevel(logging.WARNING - (options.v - options.q)*10) + +app = EnumerateApp(inipath, l10nbase, locales) +app.reference = options.reference + +o = compareApp(app, merge_stage = options.merge) +print codecs.utf_8_encode(o.serialize())[0] + +if not options.merge: + # if not merging, error on really missing strings + totalMissing = 0 + for k in ('missing', 'missingInFiles'): + for summary in o.summary.values(): + if k in summary: + totalMissing = summary[k] + if totalMissing: + parser.exit(1) --- thunderbird-9.0+build2.orig/debian/compare-locales/lib/Mozilla/Parser.py +++ thunderbird-9.0+build2/debian/compare-locales/lib/Mozilla/Parser.py @@ -0,0 +1,425 @@ +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# Toshihiro Kura +# Tomoya Asai (dynamis) +# Clint Talbert +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + +import re +import codecs +import logging +from HTMLParser import HTMLParser + +__constructors = [] + +class Entity(object): + ''' + Abstraction layer for a localizable entity. + Currently supported are grammars of the form: + + 1: pre white space + 2: pre comments + 3: entity definition + 4: entity key (name) + 5: entity value + 6: post comment (and white space) in the same line (dtd only) + <--[1] + <--[2] + + + <-------[3]---------><------[6]------> + ''' + def __init__(self, contents, pp, + span, pre_ws_span, pre_comment_span, def_span, + key_span, val_span, post_span): + self.contents = contents + self.span = span + self.pre_ws_span = pre_ws_span + self.pre_comment_span = pre_comment_span + self.def_span = def_span + self.key_span = key_span + self.val_span = val_span + self.post_span = post_span + self.pp = pp + pass + + # getter helpers + + def get_all(self): + return self.contents[self.span[0] : self.span[1]] + def get_pre_ws(self): + return self.contents[self.pre_ws_span[0] : self.pre_ws_span[1]] + def get_pre_comment(self): + return self.contents[self.pre_comment_span[0] : self.pre_comment_span[1]] + def get_def(self): + return self.contents[self.def_span[0] : self.def_span[1]] + def get_key(self): + return self.contents[self.key_span[0] : self.key_span[1]] + def get_val(self): + return self.pp(self.contents[self.val_span[0] : self.val_span[1]]) + def get_post(self): + return self.contents[self.post_span[0] : self.post_span[1]] + + # getters + + all = property(get_all) + pre_ws = property(get_pre_ws) + pre_comment = property(get_pre_comment) + definition = property(get_def) + key = property(get_key) + val = property(get_val) + post = property(get_post) + + def __repr__(self): + return self.key + +class Junk(object): + ''' + An almost-Entity, representing junk data that we didn't parse. + This way, we can signal bad content as stuff we don't understand. + And the either fix that, or report real bugs in localizations. + ''' + junkid = 0 + def __init__(self, contents, span): + self.contents = contents + self.span = span + self.pre_ws = self.pre_comment = self.definition = self.post = '' + self.__class__.junkid += 1 + self.key = '_junk_%d_%d-%d' % (self.__class__.junkid, span[0], span[1]) + + # getter helpers + + def get_all(self): + return self.contents[self.span[0] : self.span[1]] + + # getters + + all = property(get_all) + val = property(get_all) + def __repr__(self): + return self.key + + +class Parser: + canMerge = True + def __init__(self): + if not hasattr(self, 'encoding'): + self.encoding = 'utf-8'; + pass + def readFile(self, file): + f = codecs.open(file, 'r', self.encoding) + try: + self.contents = f.read() + except UnicodeDecodeError, e: + logging.getLogger('locales').error("Can't read file: " + file + '; ' + str(e)) + self.contents = u'' + f.close() + def readContents(self, contents): + (self.contents, length) = codecs.getdecoder(self.encoding)(contents) + def parse(self): + l = [] + m = {} + for e in self: + m[e.key] = len(l) + l.append(e) + return (l, m) + def postProcessValue(self, val): + return val + def __iter__(self): + contents = self.contents + offset = 0 + self.header = '' + self.footer = '' + h = self.reHeader.match(contents) + if h: + self.header = h.group() + offset = h.end() + entity, offset = self.getEntity(contents, offset) + while entity: + yield entity + entity, offset = self.getEntity(contents, offset) + f = self.reFooter.match(contents, offset) + if f: + self.footer = f.group() + offset = f.end() + if len(contents) > offset: + yield Junk(contents, (offset, len(contents))) + pass + def getEntity(self, contents, offset): + m = self.reKey.match(contents, offset) + if m: + offset = m.end() + entity = Entity(contents, self.postProcessValue, + *[m.span(i) for i in xrange(7)]) + return (entity, offset) + m = self.reKey.search(contents, offset) + if m: + # we didn't match, but search, so there's junk between offset + # and start. We'll match() on the next turn + junkend = m.start() + return (Junk(contents, (offset, junkend)), junkend) + return (None, offset) + +def getParser(path): + for item in __constructors: + if re.search(item[0], path): + return item[1] + raise UserWarning, "Cannot find Parser" + + +# Subgroups of the match will: +# 1: pre white space +# 2: pre comments +# 3: entity definition +# 4: entity key (name) +# 5: entity value +# 6: post comment (and white space) in the same line (dtd only) +# <--[1] +# <--[2] +# +# +# <-------[3]---------><------[6]------> + + +class DTDParser(Parser): + def __init__(self): + # http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-NameStartChar + #":" | [A-Z] | "_" | [a-z] | + # [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] + # | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | + # [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | + # [#x10000-#xEFFFF] + CharMinusDash = u'\x09\x0A\x0D\u0020-\u002C\u002E-\uD7FF\uE000-\uFFFD' + XmlComment = '' % CharMinusDash + NameStartChar = u':A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF' + \ + u'\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF'+\ + u'\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD' + # + \U00010000-\U000EFFFF seems to be unsupported in python + + # NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | + # [#x0300-#x036F] | [#x203F-#x2040] + NameChar = NameStartChar + ur'\-\.0-9' + u'\xB7\u0300-\u036F\u203F-\u2040' + Name = '[' + NameStartChar + '][' + NameChar + ']*' + self.reKey = re.compile('(?:(\s*)((?:' + XmlComment + '\s*)*)()([ \t]*(?:' + XmlComment + '\s*)*\n?)?)') + # add BOM to DTDs, details in bug 435002 + self.reHeader = re.compile(u'^\ufeff?(\s*)?') + self.reFooter = re.compile('\s*(\s*)*$') + self.rePE = re.compile('(?:(\s*)((?:' + XmlComment + '\s*)*)(\s*%' + Name + ';)([ \t]*(?:' + XmlComment + '\s*)*\n?)?)') + Parser.__init__(self) + def getEntity(self, contents, offset): + ''' + Overload Parser.getEntity to special-case ParsedEntities. + Just check for a parsed entity if that method claims junk. + + + %foo; + ''' + entity, inneroffset = Parser.getEntity(self, contents, offset) + if (entity and isinstance(entity, Junk)) or entity is None: + m = self.rePE.match(contents, offset) + if m: + inneroffset = m.end() + entity = Entity(contents, self.postProcessValue, + *[m.span(i) for i in xrange(7)]) + return (entity, inneroffset) + +class PropertiesParser(Parser): + def __init__(self): + self.reKey = re.compile('^(\s*)((?:[#!].*?\n\s*)*)(([^#!\s\n][^=:\n]*?)\s*[:=][ \t]*((?:[^\\\\]|\\\\.)*?))([ \t]*$\n?)',re.M|re.S) + self.reHeader = re.compile('^\s*([#!].*LICENSE BLOCK.*\s*)([#!].*\s*)*') + self.reFooter = re.compile('\s*([#!].*\s*)*$') + self._post = re.compile('\\\\u([0-9a-fA-F]{4})') + Parser.__init__(self) + _arg_re = re.compile('%(?:(?P[0-9]+)\$)?(?P[0-9]+)?(?:.(?P[0-9]+))?(?P[hL]|(?:ll?))?(?P[dciouxXefgpCSsn])') + def postProcessValue(self, val): + m = self._post.search(val) + if not m: + return val + while m: + uChar = unichr(int(m.group(1), 16)) + val = val.replace(m.group(), uChar) + m = self._post.search(val) + return val + +class DefinesParser(Parser): + # can't merge, #unfilter needs to be the last item, which we don't support + canMerge = False + def __init__(self): + self.reKey = re.compile('^(\s*)((?:^#(?!define\s).*\s*)*)(#define[ \t]+(\w+)[ \t]+(.*?))([ \t]*$\n?)',re.M) + self.reHeader = re.compile('^\s*(#(?!define\s).*\s*)*') + self.reFooter = re.compile('\s*(#(?!define\s).*\s*)*$',re.M) + Parser.__init__(self) + +class IniParser(Parser): + ''' + Parse files of the form: + # initial comment + [cat] + whitespace* + #comment + string=value + ... + ''' + def __init__(self): + self.reHeader = re.compile('^(\s*[;#].*\n)*\[.+?\]\n', re.M) + self.reKey = re.compile('(\s*)((?:[;#].*\n\s*)*)((.+?)=(.*))(\n?)') + self.reFooter = re.compile('\s*') + Parser.__init__(self) + + +DECL, COMMENT, START, END, CONTENT = range(5) + +class BookmarksParserInner(HTMLParser): + + class Token(object): + _type = None + content = '' + def __str__(self): + return self.content + class DeclToken(Token): + _type = DECL + def __init__(self, decl): + self.content = decl + pass + def __str__(self): + return '' % self.content + pass + class CommentToken(Token): + _type = COMMENT + def __init__(self, comment): + self.content = comment + pass + def __str__(self): + return '' % self.content + pass + class StartToken(Token): + _type = START + def __init__(self, tag, attrs, content): + self.tag = tag + self.attrs = dict(attrs) + self.content = content + pass + pass + class EndToken(Token): + _type = END + def __init__(self, tag): + self.tag = tag + pass + def __str__(self): + return '' % self.tag.upper() + pass + class ContentToken(Token): + _type = CONTENT + def __init__(self, content): + self.content = content + pass + pass + + def __init__(self): + HTMLParser.__init__(self) + self.tokens = [] + + def parse(self, contents): + self.tokens = [] + self.feed(contents) + self.close() + return self.tokens + + # Called when we hit an end DL tag to reset the folder selections + def handle_decl(self, decl): + self.tokens.append(self.DeclToken(decl)) + + # Called when we hit an end DL tag to reset the folder selections + def handle_comment(self, comment): + self.tokens.append(self.CommentToken(comment)) + + def handle_starttag(self, tag, attrs): + self.tokens.append(self.StartToken(tag, attrs, self.get_starttag_text())) + + # Called when text data is encountered + def handle_data(self, data): + if self.tokens[-1]._type == CONTENT: + self.tokens[-1].content += data + else: + self.tokens.append(self.ContentToken(data)) + + def handle_charref(self, data): + self.handle_data('&#%s;' % data) + + def handle_entityref(self, data): + self.handle_data('&%s;' % data) + + # Called when we hit an end DL tag to reset the folder selections + def handle_endtag(self, tag): + self.tokens.append(self.EndToken(tag)) + +class BookmarksParser(Parser): + canMerge = False + + class BMEntity(object): + def __init__(self, key, val): + self.key = key + self.val = val + + def __iter__(self): + p = BookmarksParserInner() + tks = p.parse(self.contents) + i = 0 + k = [] + for i in xrange(len(tks)): + t = tks[i] + if t._type == START: + k.append(t.tag) + keys = t.attrs.keys() + keys.sort() + for attrname in keys: + yield self.BMEntity('.'.join(k) + '.@' + attrname, + t.attrs[attrname]) + if i + 1 < len(tks) and tks[i+1]._type == CONTENT: + i += 1 + t = tks[i] + v = t.content.strip() + if v: + yield self.BMEntity('.'.join(k), v) + elif t._type == END: + k.pop() + + +__constructors = [('\\.dtd$', DTDParser()), + ('\\.properties$', PropertiesParser()), + ('\\.ini$', IniParser()), + ('\\.inc$', DefinesParser()), + ('bookmarks\\.html$', BookmarksParser())] --- thunderbird-9.0+build2.orig/debian/compare-locales/lib/Mozilla/__init__.py +++ thunderbird-9.0+build2/debian/compare-locales/lib/Mozilla/__init__.py @@ -0,0 +1 @@ +version="0.8.2" --- thunderbird-9.0+build2.orig/debian/compare-locales/lib/Mozilla/Jars.py +++ thunderbird-9.0+build2/debian/compare-locales/lib/Mozilla/Jars.py @@ -0,0 +1,85 @@ +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2007 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + +from zipfile import ZipFile +from difflib import SequenceMatcher +import os.path +import re + +from Paths import File +import CompareLocales + +class JarEntry(File): + def __init__(self, zf, file, fakefile): + File.__init__(self, None, fakefile) + self.realfile = file + self.zipfile = zf + def __str__(self): + return self.zipfile.filename + '!' + self.realfile + def getContents(self): + return self.zipfile.read(self.realfile) + +class EnumerateJar(object): + def __init__(self, basepath): + basepath = os.path.abspath(basepath) + if not basepath.endswith('.jar'): + raise RuntimeError("Only jar files supported") + self.basepath = basepath + # best guess we have on locale code + self.locale = os.path.split(basepath)[1].replace('.jar','') + self.zf = ZipFile(basepath, 'r') + def cloneFile(self, other): + return JarEntry(self.zf, other.realfile, other.file) + def __iter__(self): + # get all entries, drop those ending with '/', those are dirs. + files = [f for f in self.zf.namelist() if not f.endswith('/')] + files.sort() + # unfortunately, we have to fake file paths of the form + # locale/AB-CD/ + # for comparison. + # For real, the corresponding manifest would tell us. Whichever. + localesub = re.compile('^locale/' + self.locale) + for f in files: + yield JarEntry(self.zf, f, localesub.sub('locale/@AB_CD@', f)) + +def compareJars(ref, l10n): + o = CompareLocales.Observer() + cc = CompareLocales.ContentComparer(o) + dc = CompareLocales.DirectoryCompare(EnumerateJar(ref)) + dc.setWatcher(cc) + dc.compareWith(EnumerateJar(l10n)) + return o --- thunderbird-9.0+build2.orig/debian/compare-locales/lib/Mozilla/Tests.py +++ thunderbird-9.0+build2/debian/compare-locales/lib/Mozilla/Tests.py @@ -0,0 +1,394 @@ +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + +import logging +import Paths +import Parser + +def getRegionProperties(loc): + regprop = Paths.get_path('browser', loc, + 'chrome/browser-region/region.properties') + p = Parser.getParser(regprop) + f = Paths.File(regprop, 'chrome/browser-region/region.properties') + p.readContents(f.getContents()) + return p + +class Base: + '''Base class for all tests''' + def __init__(self): + if not hasattr(self, 'leafName'): + self.leafName = 'TODO' + logging.warning(' ' + self + ' does not have leafName set, writing to TODO') + def run(self): + '''Run this test for all locales, returns a dictionary with results''' + pass + def serialize(self, result, saveHandler): + '''Serialize the previously generated result, writes the dictionary + by default''' + return saveHandler(result, self.leafName) + pass + def failureTest(self, myResult, failureResult): + pass + +import CompareLocales +class CompareTest(Base): + '''Test class to compare locales''' + def __init__(self): + '''Initializes the test object''' + # nothing to be done here + self.apps = ['browser', 'mail'] + pass + def run(self): + '''Runs CompareLocales.compareApp()''' + app = Paths.EnumerateApp() + for appname in self.apps: + app.addApplication(appname) + return CompareLocales.compareApp(app) + def serialize(self, result, saveHandler): + '''Serialize the CompareLocales result by locale into + cmp-details-ab-CD + and a compacted version into + cmp-data + + ''' + #for locale, stats in result.details: + # assert locale is not None + # saveHandler(foo, 'cmp-details-%s.json' % locale) + saveHandler(result.summary, 'cmp-data.json') + + def failureTest(self, myResult, failureResult): + '''signal pass/warn/failure for each locale''' + def sumdata(data, part): + res = 0 + for mod in [u'browser', u'toolkit']: + res += data[part][mod] + data[part + u'Files'][mod] + return res + def getState(data): + ret = 0 + if sumdata(data, u'obsolete') > 0: + ret |= 1 + if sumdata(data, u'missing') > 0: + ret |= 2 + return ret + for loc, val in myResult.iteritems(): + if not failureResult.has_key(loc): + failureResult[loc] = getState(val) + else: + failureResult |= getState(val) + +from xml import sax +from types import DictType, FunctionType +import md5 +from codecs import utf_8_encode +import re +import os + +class SearchTest(Base): + """Test class to collect information from search plugins and to + verify that they're doing something good. + + """ + def __init__(self): + '''Set up the test class with a good leaf name''' + self.leafName = 'search-results.json' + pass + def run(self): + '''Collect all data from the MozSearch plugins in both the /cvsroot + repository for en-US and the /l10n repository for locales + + ''' + class DummyHandler(sax.handler.ContentHandler): + def startDocument(self): + self.md5 = md5.new() + self.indent = '' + self.engine = {'urls':[]} + self.lNames = [] + self.textField = None + self.content = '' + return + def endDocument(self): + self.engine['md5'] = self.md5.hexdigest() + return + def startElementNS(self, (ns, local), qname, attrs): + if self.textField: + logging.warning('Found Element, but expected CDATA.') + self.indent += ' ' + if ns != u'http://www.mozilla.org/2006/browser/search/': + raise UserWarning, ('bad namespace: ' + ns) + self.lNames.append(local) + handler = self.getOpenHandler() + if handler: + handler(self, attrs) + self.update(ns+local) + for qna in attrs.getQNames(): + self.update(qna[0] + qna[1] + attrs.getValueByQName(qna)) + return + def endElementNS(self, (ns, local), qname): + if self.textField: + self.engine[self.textField] = self.content + self.textField = None + self.content = '' + self.lNames.pop() + self.indent = self.indent[0:-2] + def characters(self, content): + self.update(content) + if not self.textField: + return + self.content += content + def update(self, content): + self.md5.update(utf_8_encode(content)[0]) + def openURL(self, attrs): + entry = {'params':{}, + 'type': attrs.getValueByQName(u'type'), + 'template': attrs.getValueByQName(u'template')} + self.engine['urls'].append(entry) + def handleParam(self, attrs): + try: + self.engine['urls'][-1]['params'][attrs.getValueByQName(u'name')] = attrs.getValueByQName(u'value') + except KeyError: + raise UserWarning, 'bad param' + return + def handleMozParam(self, attrs): + mp = None + try: + mp = { 'name': attrs.getValueByQName(u'name'), + 'condition': attrs.getValueByQName(u'condition'), + 'trueValue': attrs.getValueByQName(u'trueValue'), + 'falseValue': attrs.getValueByQName(u'falseValue')} + except KeyError: + try: + mp = {'name': attrs.getValueByQName(u'name'), + 'condition': attrs.getValueByQName(u'condition'), + 'pref': attrs.getValueByQName(u'pref')} + except KeyError: + raise UserWarning, 'bad mozParam' + if self.engine['urls'][-1].has_key('MozParams'): + self.engine['urls'][-1]['MozParams'].append(mp) + else: + self.engine['urls'][-1]['MozParams'] = [mp] + return + def handleShortName(self, attrs): + self.textField = 'ShortName' + return + def handleImage(self, attrs): + self.textField = 'Image' + return + def getOpenHandler(self): + return self.getHandler(DummyHandler.openHandlers) + def getHandler(self, handlers): + for local in self.lNames: + if type(handlers) != DictType or not handlers.has_key(local): + return + handlers = handlers[local] + if handlers.has_key('_handler'): + return handlers['_handler'] + return + openHandlers = {'SearchPlugin': + {'ShortName': {'_handler': handleShortName}, + 'Image': {'_handler': handleImage}, + 'Url':{'_handler': openURL, + 'Param': {'_handler':handleParam}, + 'MozParam': {'_handler':handleMozParam} + } + } + } + + handler = DummyHandler() + parser = sax.make_parser() + parser.setContentHandler(handler) + parser.setFeature(sax.handler.feature_namespaces, True) + + locales = [loc.strip() for loc in open('mozilla/browser/locales/all-locales')] + locales.insert(0, 'en-US') + sets = {} + details = {} + + for loc in locales: + l = logging.getLogger('locales.' + loc) + try: + lst = open(Paths.get_path('browser',loc,'searchplugins/list.txt'),'r') + except IOError: + l.error("Locale " + loc + " doesn't have search plugins") + details[Paths.get_path('browser',loc,'searchplugins/list.txt')] = { + 'error': 'not found' + } + continue + sets[loc] = {'list': []} + p = getRegionProperties(loc) + orders = {} + for entity in p: + m = re.match('browser.search.order.([1-9])', entity.key) + if m: + orders[entity.val.strip()] = int(m.group(1)) + elif entity.key == 'browser.search.defaultenginename': + sets[loc]['default'] = entity.val.strip() + sets[loc]['orders'] = orders + for fn in lst: + name = fn.strip() + if len(name) == 0: + continue + leaf = 'searchplugins/' + name + '.xml' + _path = Paths.get_path('browser','en-US', leaf) + if not os.access(_path, os.R_OK): + _path = Paths.get_path('browser', loc, leaf) + l.debug('testing ' + _path) + sets[loc]['list'].append(_path) + try: + parser.parse(_path) + except IOError: + l.error("can't open " + _path) + details[_path] = {'_name': name, 'error': 'not found'} + continue + except UserWarning, ex: + l.error("error in searchplugin " + _path) + details[_path] = {'_name': name, 'error': ex.args[0]} + continue + except sax._exceptions.SAXParseException, ex: + l.error("error in searchplugin " + _path) + details[_path] = {'_name': name, 'error': ex.args[0]} + continue + details[_path] = handler.engine + details[_path]['_name'] = name + + engines = {'locales': sets, + 'details': details} + return engines + def failureTest(self, myResult, failureResult): + '''signal pass/warn/failure for each locale + Just signaling errors in individual plugins for now. + + ''' + for loc, val in myResult['locales'].iteritems(): + l = logging.getLogger('locales.' + loc) + # Verify that there are no errors in the engine parsing, + # and that there default engine is the first one. + if (not val['orders'].has_key(val['default'])) or val['orders'][val['default']] != 1: + l.error('Default engine is not first in order in locale ' + loc) + if not failureResult.has_key(loc): + failureResult[loc] = 2 + else: + failureResult[loc] |= 2 + for p in val['list']: + # no logging, that is already reported above + if myResult['details'][p].has_key('error'): + if not failureResult.has_key(loc): + failureResult[loc] = 2 + else: + failureResult[loc] |= 2 + +class RSSReaderTest(Base): + """Test class to collect information about RSS readers and to + verify that they might be working. + + """ + def __init__(self): + '''Set up the test class with a good leaf name''' + self.leafName = 'feed-reader-results.json' + pass + def run(self): + '''Collect the data from browsers region.properties for all locales + + ''' + locales = [loc.strip() for loc in open('mozilla/browser/locales/all-locales')] + uri = re.compile('browser\\.contentHandlers\\.types\\.([0-5])\\.uri') + title = re.compile('browser\\.contentHandlers\\.types\\.([0-5])\\.title') + res = {} + for loc in locales: + l = logging.getLogger('locales.' + loc) + p = getRegionProperties(loc) + uris = {} + titles = {} + for entity in p: + key = entity.key + val = entity.val + m = uri.match(key) + if m: + o = int(m.group(1)) + if uris.has_key(o): + l.error('Double definition of RSS reader ' + o) + uris[o] = val.strip() + else: + m = title.match(key) + if m: + o = int(m.group(1)) + if titles.has_key(o): + l.error('Double definition of RSS reader ' + o) + titles[o] = val.strip() + ind = sorted(uris.keys()) + if ind != range(len(ind)) or ind != sorted(titles.keys()): + l.error('RSS Readers are badly set up') + res[loc] = [(titles[o], uris[o]) for o in ind] + return res + +class BookmarksTest(Base): + """Test class to collect information about bookmarks and check their + structure. + + """ + def __init__(self): + '''Set up the test class with a good leaf name''' + self.leafName = 'bookmarks-results.json' + pass + def run(self): + '''Collect the data from bookmarks.html for all locales + + ''' + locales = [loc.strip() for loc in open('mozilla/browser/locales/all-locales')] + bm = Parser.BookmarksParser() + res = {} + for loc in locales: + try: + bm.readFile('l10n/%s/browser/profile/bookmarks.html'%loc) + res[loc] = bm.getDetails() + except Exception, e: + logging.getLogger('locale.%s'%loc).error('Bookmarks are busted, %s'%e) + return res + def failureTest(self, myResult, failureResult): + '''signal pass/warn/failure for each locale + Just signaling errors for now. + + ''' + locales = [loc.strip() for loc in open('mozilla/browser/locales/all-locales')] + bm = Parser.BookmarksParser() + bm.read('mozilla/browser/locales/en-US/profile/bookmarks.html') + enUSDetails = bm.getDetails() + for loc in locales: + if not myResult.has_key(loc): + if not failureResult.has_key(loc): + failureResult[loc] = 2 + else: + failureResult[loc] |= 2 --- thunderbird-9.0+build2.orig/debian/compare-locales/lib/Mozilla/Paths.py +++ thunderbird-9.0+build2/debian/compare-locales/lib/Mozilla/Paths.py @@ -0,0 +1,409 @@ +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + +import os.path +import os +from ConfigParser import ConfigParser, NoSectionError, NoOptionError +from urlparse import urlparse, urljoin +from urllib import pathname2url, url2pathname +from urllib2 import urlopen +from Mozilla.CompareLocales import defaultdict + +class L10nConfigParser(object): + '''Helper class to gather application information from ini files. + + This class is working on synchronous open to read files or web data. + Subclass this and overwrite loadConfigs and addChild if you need async. + ''' + def __init__(self, inipath, **kwargs): + """Constructor for L10nConfigParsers + + inipath -- l10n.ini path + Optional keyword arguments are fowarded to the inner ConfigParser as + defaults. + """ + if os.path.isabs(inipath): + self.inipath = 'file:%s' % pathname2url(inipath) + else: + pwdurl = 'file:%s/' % pathname2url(os.getcwd()) + self.inipath = urljoin(pwdurl, inipath) + # l10n.ini files can import other l10n.ini files, store the + # corresponding L10nConfigParsers + self.children = [] + # we really only care about the l10n directories described in l10n.ini + self.dirs = [] + # optional defaults to be passed to the inner ConfigParser (unused?) + self.defaults = kwargs + + def getDepth(self, cp): + '''Get the depth for the comparison from the parsed l10n.ini. + + Overloadable to get the source depth for fennec and friends. + ''' + try: + depth = cp.get('general', 'depth') + except: + depth = '.' + return depth + + def getFilters(self): + '''Get the test functions from this ConfigParser and all children. + + Only works with synchronous loads, used by compare-locales, which + is local anyway. + ''' + filterurl = urljoin(self.inipath, 'filter.py') + try: + l = {} + execfile(url2pathname(urlparse(filterurl).path), {}, l) + if 'test' in l and callable(l['test']): + filters = [l['test']] + else: + filters = [] + except: + filters = [] + + for c in self.children: + filters += c.getFilters() + + return filters + + + def loadConfigs(self): + """Entry point to load the l10n.ini file this Parser refers to. + + This implementation uses synchronous loads, subclasses might overload + this behaviour. If you do, make sure to pass a file-like object + to onLoadConfig. + """ + self.onLoadConfig(urlopen(self.inipath)) + + def onLoadConfig(self, inifile): + """Parse a file-like object for the loaded l10n.ini file.""" + cp = ConfigParser(self.defaults) + cp.readfp(inifile) + depth = self.getDepth(cp) + self.baseurl = urljoin(self.inipath, depth) + # create child loaders for any other l10n.ini files to be included + try: + for title, path in cp.items('includes'): + # skip default items + if title in self.defaults: + continue + # add child config parser + self.addChild(title, path, cp) + except NoSectionError: + pass + # try to load the "dirs" defined in the "compare" section + try: + self.dirs.extend(cp.get('compare', 'dirs').split()) + except (NoOptionError, NoSectionError): + pass + # try getting a top level compare dir, as used for fennec + try: + self.tld = cp.get('compare', 'tld') + # remove tld from comparison dirs + if self.tld in self.dirs: + self.dirs.remove(self.tld) + except (NoOptionError, NoSectionError): + self.tld = None + # try to set "all_path" and "all_url" + try: + self.all_path = cp.get('general', 'all') + self.all_url = urljoin(self.baseurl, self.all_path) + except (NoOptionError, NoSectionError): + self.all_path = None + self.all_url = None + return cp + + def addChild(self, title, path, orig_cp): + """Create a child L10nConfigParser and load it. + + title -- indicates the module's name + path -- indicates the path to the module's l10n.ini file + orig_cp -- the configuration parser of this l10n.ini + """ + cp = L10nConfigParser(urljoin(self.baseurl, path), **self.defaults) + cp.loadConfigs() + self.children.append(cp) + + def getTLDPathsTuple(self, basepath): + """Given the basepath, return the path fragments to be used for + self.tld. For build runs, this is (basepath, self.tld), for + source runs, just (basepath,). + + @see overwritten method in SourceTreeConfigParser. + """ + return (basepath, self.tld) + + def dirsIter(self): + """Iterate over all dirs and our base path for this l10n.ini""" + url = urlparse(self.baseurl) + basepath = url2pathname(url.path) + if self.tld is not None: + yield self.tld, self.getTLDPathsTuple(basepath) + for dir in self.dirs: + yield dir, (basepath, dir) + + + def directories(self): + """Iterate over all dirs and base paths for this l10n.ini as well + as the included ones. + """ + for t in self.dirsIter(): + yield t + for child in self.children: + for t in child.directories(): + yield t + + def allLocales(self): + """Return a list of all the locales of this project""" + return urlopen(self.all_url).read().splitlines() + + +class SourceTreeConfigParser(L10nConfigParser): + '''Subclassing L10nConfigParser to work with just the repos + checked out next to each other instead of intermingled like + we do for real builds. + ''' + + def __init__(self, inipath, basepath): + '''Add additional arguments basepath. + + basepath is used to resolve local paths via branchnames. + ''' + L10nConfigParser.__init__(self, inipath) + self.basepath = basepath + self.tld = None + + def getDepth(self, cp): + '''Get the depth for the comparison from the parsed l10n.ini. + + Overloaded to get the source depth for fennec and friends. + ''' + try: + depth = cp.get('general', 'source-depth') + except: + try: + depth = cp.get('general', 'depth') + except: + depth = '.' + return depth + + def addChild(self, title, path, orig_cp): + # check if there's a section with details for this include + # we might have to check a different repo, or even VCS + # for example, projects like "mail" indicate in + # an "include_" section where to find the l10n.ini for "toolkit" + details = 'include_' + title + if orig_cp.has_section(details): + branch = orig_cp.get(details, 'mozilla') + inipath = orig_cp.get(details, 'l10n.ini') + path = self.basepath + '/' + branch + '/' + inipath + else: + path = urljoin(self.baseurl, path) + cp = SourceTreeConfigParser(path, self.basepath, **self.defaults) + cp.loadConfigs() + self.children.append(cp) + + def getTLDPathsTuple(self, basepath): + """Overwrite L10nConfigParser's getTLDPathsTuple to just return + the basepath. + """ + return (basepath, ) + + +class File(object): + def __init__(self, fullpath, file, module = None, locale = None): + self.fullpath = fullpath + self.file = file + self.module = module + self.locale = locale + pass + def getContents(self): + # open with universal line ending support and read + return open(self.fullpath, 'rU').read() + def __hash__(self): + f = self.file + if self.module: + f = self.module + '/' + f + return hash(f) + def __str__(self): + return self.fullpath + def __cmp__(self, other): + if not isinstance(other, File): + raise NotImplementedError + rv = cmp(self.module, other.module) + if rv != 0: + return rv + return cmp(self.file, other.file) + +class EnumerateDir(object): + ignore_dirs = ['CVS', '.svn', '.hg'] + def __init__(self, basepath, module = '', locale = None): + self.basepath = basepath + self.module = module + self.locale = locale + pass + def cloneFile(self, other): + ''' + Return a File object that this enumerator would return, if it had it. + ''' + return File(os.path.join(self.basepath, other.file), other.file, + self.module, self.locale) + def __iter__(self): + # our local dirs are given as a tuple of path segments, starting off + # with an empty sequence for the basepath. + dirs = [()] + while dirs: + dir = dirs.pop(0) + fulldir = os.path.join(self.basepath, *dir) + try: + entries = os.listdir(fulldir) + except OSError: + # we probably just started off in a non-existing dir, ignore + continue + entries.sort() + for entry in entries: + leaf = os.path.join(fulldir, entry) + if os.path.isdir(leaf): + if entry not in self.ignore_dirs: + dirs.append(dir + (entry,)) + continue + yield File(leaf, '/'.join(dir + (entry,)), + self.module, self.locale) + +class LocalesWrap(object): + def __init__(self, base, module, locales): + self.base = base + self.module = module + self.locales = locales + def __iter__(self): + for locale in self.locales: + path = os.path.join(self.base, locale, self.module) + yield (locale, EnumerateDir(path, self.module, locale)) + +class EnumerateApp(object): + reference = 'en-US' + def __init__(self, inipath, l10nbase, locales = None): + self.setupConfigParser(inipath) + self.modules = defaultdict(dict) + self.l10nbase = os.path.abspath(l10nbase) + self.filters = [] + drive, tail = os.path.splitdrive(inipath) + filterpath = drive + url2pathname(urlparse(urljoin(tail,'filter.py'))[2]) + self.addFilters(*self.config.getFilters()) + self.locales = locales or self.config.allLocales() + self.locales.sort() + pass + def setupConfigParser(self, inipath): + self.config = L10nConfigParser(inipath) + self.config.loadConfigs() + def addFilters(self, *args): + self.filters += args + + value_map = {None:None, 'error':0, 'ignore':1, 'report':2} + def filter(self, l10n_file, entity = None): + '''Go through all added filters, and, + - map "error" -> 0, "ignore" -> 1, "report" -> 2 + - if filter.test returns a bool, map that to + False -> "ignore" (1), True -> "error" (0) + - take the max of all reported + ''' + rv = 0 + for f in reversed(self.filters): + try: + _r = f(l10n_file.module, l10n_file.file, entity) + except: + # XXX error handling + continue + if isinstance(_r, bool): + _r = [1, 0][_r] + else: + # map string return value to int, default to 'error', None is None + _r = self.value_map.get(_r, 0) + if _r is not None: + rv = max(rv, _r) + return ['error','ignore','report'][rv] + + def __iter__(self): + ''' + Iterate over all modules, return en-US directory enumerator, and an + iterator over all locales in each iteration. Per locale, the locale + code and an directory enumerator will be given. + ''' + dirmap = dict(self.config.directories()) + mods = dirmap.keys() + mods.sort() + for mod in mods: + if self.reference == 'en-US': + base = os.path.join(*(dirmap[mod] + ('locales', 'en-US'))) + else: + base = os.path.join(self.l10nbase, self.reference, mod) + yield (mod, EnumerateDir(base, mod, self.reference), + LocalesWrap(self.l10nbase, mod, self.locales)) + + +class EnumerateSourceTreeApp(EnumerateApp): + '''Subclass EnumerateApp to work on side-by-side checked out + repos, and to no pay attention to how the source would actually + be checked out for building. + + It's supporting applications like Fennec, too, which have + 'locales/en-US/...' in their root dir, but claim to be 'mobile'. + ''' + + def __init__(self, inipath, basepath, l10nbase, locales=None): + self.basepath = basepath + EnumerateApp.__init__(self, inipath, l10nbase, locales) + + def setupConfigParser(self, inipath): + self.config = SourceTreeConfigParser(inipath, self.basepath) + self.config.loadConfigs() + + +def get_base_path(mod, loc): + 'statics for path patterns and conversion' + __l10n = 'l10n/%(loc)s/%(mod)s' + __en_US = 'mozilla/%(mod)s/locales/en-US' + if loc == 'en-US': + return __en_US % {'mod': mod} + return __l10n % {'mod': mod, 'loc': loc} + +def get_path(mod, loc, leaf): + return get_base_path(mod, loc) + '/' + leaf + --- thunderbird-9.0+build2.orig/debian/compare-locales/lib/Mozilla/CompareLocales.py +++ thunderbird-9.0+build2/debian/compare-locales/lib/Mozilla/CompareLocales.py @@ -0,0 +1,506 @@ +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is l10n test automation. +# +# The Initial Developer of the Original Code is +# Mozilla Foundation +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Axel Hecht +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# 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 ***** + +'Mozilla l10n compare locales tool' + +import codecs +import os +import os.path +import shutil +import re +import logging +from difflib import SequenceMatcher +try: + from collections import defaultdict +except ImportError: + class defaultdict(dict): + def __init__(self, defaultclass): + dict.__init__(self) + self.__defaultclass = defaultclass + def __getitem__(self, k): + if not dict.__contains__(self, k): + self[k] = self.__defaultclass() + return dict.__getitem__(self, k) +# backwards compat hack for any(), new in python 2.5 +try: + any([True]) +except NameError: + def any(sequence): + for item in sequence: + if item: + return True + return False + + +import Parser +import Paths + +class Tree(object): + def __init__(self, valuetype): + self.branches = dict() + self.valuetype = valuetype + self.value = None + def __getitem__(self, leaf): + parts = [] + if isinstance(leaf, Paths.File): + parts = [p for p in [leaf.locale, leaf.module] if p] + \ + leaf.file.split('/') + else: + parts = leaf.split('/') + return self.__get(parts) + def __get(self, parts): + common = None + old = None + new = tuple(parts) + t = self + for k, v in self.branches.iteritems(): + for i, part in enumerate(zip(k, parts)): + if part[0] != part[1]: + i -= 1 + break + if i < 0: + continue + i += 1 + common = tuple(k[:i]) + old = tuple(k[i:]) + new = tuple(parts[i:]) + break + if old: + self.branches.pop(k) + t = Tree(self.valuetype) + t.branches[old] = v + self.branches[common] = t + elif common: + t = self.branches[common] + if new: + if common: + return t.__get(new) + t2 = t + t = Tree(self.valuetype) + t2.branches[new] = t + if t.value is None: + t.value = t.valuetype() + return t.value + indent = ' ' + def getContent(self, depth = 0): + ''' + Returns iterator of (depth, flag, key_or_value) tuples. + If flag is 'value', key_or_value is a value object, otherwise + (flag is 'key') it's a key string. + ''' + keys = self.branches.keys() + keys.sort() + if self.value is not None: + yield (depth, 'value', self.value) + for key in keys: + yield (depth, 'key', key) + for child in self.branches[key].getContent(depth + 1): + yield child + def toJSON(self): + ''' + Returns this Tree as a JSON-able tree of hashes. + Only the values need to take care that they're JSON-able. + ''' + json = {} + keys = self.branches.keys() + keys.sort() + if self.value is not None: + json['value'] = self.value + children = [('/'.join(key), self.branches[key].toJSON()) + for key in keys] + if children: + json['children'] = children + return json + def getStrRows(self): + def tostr(t): + if t[1] == 'key': + return self.indent * t[0] + '/'.join(t[2]) + return self.indent * (t[0] + 1) + str(t[2]) + return map(tostr, self.getContent()) + def __str__(self): + return '\n'.join(self.getStrRows()) + +class AddRemove(SequenceMatcher): + def __init__(self): + SequenceMatcher.__init__(self, None, None, None) + def set_left(self, left): + if not isinstance(left, list): + left = [l for l in left] + self.set_seq1(left) + def set_right(self, right): + if not isinstance(right, list): + right = [l for l in right] + self.set_seq2(right) + def __iter__(self): + for tag, i1, i2, j1, j2 in self.get_opcodes(): + if tag == 'equal': + for pair in zip(self.a[i1:i2], self.b[j1:j2]): + yield ('equal', pair) + elif tag == 'delete': + for item in self.a[i1:i2]: + yield ('delete', item) + elif tag == 'insert': + for item in self.b[j1:j2]: + yield ('add', item) + else: + # tag == 'replace' + for item in self.a[i1:i2]: + yield ('delete', item) + for item in self.b[j1:j2]: + yield ('add', item) + +class DirectoryCompare(SequenceMatcher): + def __init__(self, reference): + SequenceMatcher.__init__(self, None, [i for i in reference], + []) + self.watcher = None + def setWatcher(self, watcher): + self.watcher = watcher + def compareWith(self, other): + if not self.watcher: + return + self.set_seq2([i for i in other]) + for tag, i1, i2, j1, j2 in self.get_opcodes(): + if tag == 'equal': + for i, j in zip(xrange(i1,i2), xrange(j1,j2)): + self.watcher.compare(self.a[i], self.b[j]) + elif tag == 'delete': + for i in xrange(i1,i2): + self.watcher.add(self.a[i], other.cloneFile(self.a[i])) + elif tag == 'insert': + for j in xrange(j1, j2): + self.watcher.remove(self.b[j]) + else: + for j in xrange(j1, j2): + self.watcher.remove(self.b[j]) + for i in xrange(i1,i2): + self.watcher.add(self.a[i], other.cloneFile(self.a[i])) + +class Observer(object): + stat_cats = ['missing', 'obsolete', 'missingInFiles', 'report', + 'changed', 'unchanged', 'keys'] + def __init__(self): + class intdict(defaultdict): + def __init__(self): + defaultdict.__init__(self, int) + self.summary = defaultdict(intdict) + self.details = Tree(dict) + self.filter = None + # support pickling + def __getstate__(self): + return dict(summary = self.getSummary(), details = self.details) + def __setstate__(self, state): + class intdict(defaultdict): + def __init__(self): + defaultdict.__init__(self, int) + self.summary = defaultdict(intdict) + if 'summary' in state: + for loc, stats in state['summary'].iteritems(): + self.summary[loc].update(stats) + self.details = state['details'] + self.filter = None + def getSummary(self): + plaindict = {} + for k, v in self.summary.iteritems(): + plaindict[k] = dict(v) + return plaindict + def toJSON(self): + return dict(summary = self.getSummary(), details = self.details.toJSON()) + def notify(self, category, file, data): + rv = "error" + if category in self.stat_cats: + # these get called post reporting just for stats + # return "error" to forward them to other observers + self.summary[file.locale][category] += data + return "error" + if category in ['missingFile', 'obsoleteFile']: + if self.filter is not None: + rv = self.filter(file) + if rv != "ignore": + self.details[file][category] = rv + return rv + if category in ['missingEntity', 'obsoleteEntity']: + if self.filter is not None: + rv = self.filter(file, data) + if rv == "ignore": + return rv + v = self.details[file] + try: + v[category].append(data) + except KeyError: + v[category] = [data] + return rv + if category == 'error': + try: + self.details[file][category].append(data) + except KeyError: + self.details[file][category] = [data] + self.summary[file.locale]['errors'] += 1 + return rv + def serialize(self, type="text/plain"): + def tostr(t): + if t[1] == 'key': + return ' ' * t[0] + '/'.join(t[2]) + o = [] + indent = ' ' * (t[0] + 1) + if 'error' in t[2]: + o += [indent + 'ERROR: ' + e for e in t[2]['error']] + if 'missingEntity' in t[2] or 'obsoleteEntity' in t[2]: + missingEntities = ('missingEntity' in t[2] and t[2]['missingEntity']) \ + or [] + obsoleteEntities = ('obsoleteEntity' in t[2] and + t[2]['obsoleteEntity']) or [] + entities = missingEntities + obsoleteEntities + entities.sort() + for entity in entities: + op = '+' + if entity in obsoleteEntities: + op = '-' + o.append(indent + op + entity) + elif 'missingFile' in t[2]: + o.append(indent + '// add and localize this file') + elif 'obsoleteFile' in t[2]: + o.append(indent + '// remove this file') + return '\n'.join(o) + out = [] + for locale, summary in self.summary.iteritems(): + if locale is not None: + out.append(locale + ':') + out += [k + ': ' + str(v) for k,v in summary.iteritems()] + total = sum([summary[k] \ + for k in ['changed','unchanged','report','missing', + 'missingInFiles'] \ + if k in summary]) + rate = (('changed' in summary and summary['changed'] * 100) + or 0) / total + out.append('%d%% of entries changed' % rate) + return '\n'.join(map(tostr, self.details.getContent()) + out) + def __str__(self): + return 'observer' + +class ContentComparer: + keyRE = re.compile('[kK]ey') + def __init__(self, filterObserver): + '''Create a ContentComparer. + filterObserver is usually a instance of Observer. The return values + of the notify method are used to control the handling of missing + entities. + ''' + self.reference = dict() + self.filterObserver = filterObserver + self.observers = [] + self.merge_stage = None + def add_observer(self, obs): + '''Add a non-filtering observer. + Results from the notify calls are ignored. + ''' + self.observers.append(obs) + def set_merge_stage(self, merge_stage): + self.merge_stage = merge_stage + def merge(self, ref_entities, ref_map, ref_file, l10n_file, missing, p): + outfile = os.path.join(self.merge_stage, l10n_file.module, l10n_file.file) + outdir = os.path.dirname(outfile) + if not os.path.isdir(outdir): + os.makedirs(outdir) + if not p.canMerge: + shutil.copyfile(ref_file.fullpath, outfile) + print "copied reference to " + outfile + return + trailing = [ref_entities[ref_map[key]].all for key in missing] + shutil.copyfile(l10n_file.fullpath, outfile) + print "adding to " + outfile + f = codecs.open(outfile, 'ab', p.encoding) + f.write(''.join(trailing)) + f.close() + def notify(self, category, file, data): + '''Check filterObserver for the found data, and if it's + not to ignore, notify observers. + ''' + rv = self.filterObserver.notify(category, file, data) + if rv == 'ignore': + return rv + for obs in self.observers: + # non-filtering observers, ignore results + obs.notify(category, file, data) + return rv + def remove(self, obsolete): + self.notify('obsoleteFile', obsolete, None) + pass + def compare(self, ref_file, l10n): + try: + p = Parser.getParser(ref_file.file) + except UserWarning: + # no comparison, XXX report? + return + if ref_file not in self.reference: + # we didn't parse this before + try: + p.readContents(ref_file.getContents()) + except Exception, e: + self.notify('error', ref_file, str(e)) + return + self.reference[ref_file] = p.parse() + ref = self.reference[ref_file] + ref_list = ref[1].keys() + ref_list.sort() + try: + p.readContents(l10n.getContents()) + l10n_entities, l10n_map = p.parse() + except Exception, e: + self.notify('error', l10n, str(e)) + return + l10n_list = l10n_map.keys() + l10n_list.sort() + ar = AddRemove() + ar.set_left(ref_list) + ar.set_right(l10n_list) + report = missing = obsolete = changed = unchanged = keys = 0 + missings = [] + for action, item_or_pair in ar: + if action == 'delete': + # missing entity + _rv = self.notify('missingEntity', l10n, item_or_pair) + if _rv == "ignore": + continue + if _rv == "error": + # only add to missing entities for l10n-merge on error, not report + missings.append(item_or_pair) + missing += 1 + else: + # just report + report += 1 + elif action == 'add': + # obsolete entity or junk + if isinstance(l10n_entities[l10n_map[item_or_pair]], Parser.Junk): + junk = l10n_entities[l10n_map[item_or_pair]] + params = (junk.val,) + junk.span + self.notify('error', l10n, 'Unparsed content "%s" at %d-%d' % params) + elif self.notify('obsoleteEntity', l10n, item_or_pair) != 'ignore': + obsolete += 1 + else: + # entity found in both ref and l10n, check for changed + entity = item_or_pair[0] + if self.keyRE.search(entity): + keys += 1 + else: + refent = ref[0][ref[1][entity]] + l10nent = l10n_entities[l10n_map[entity]] + if refent.val == l10nent.val: + self.doUnchanged(l10nent) + unchanged += 1 + else: + self.doChanged(ref_file, refent, l10nent) + changed += 1 + pass + if missing: + self.notify('missing', l10n, missing) + if self.merge_stage is not None and missings: + self.merge(ref[0], ref[1], ref_file, l10n, missings, p) + if report: + self.notify('report', l10n, report) + if obsolete: + self.notify('obsolete', l10n, obsolete) + if changed: + self.notify('changed', l10n, changed) + if unchanged: + self.notify('unchanged', l10n, unchanged) + if keys: + self.notify('keys', l10n, keys) + pass + def add(self, orig, missing): + if self.notify('missingFile', missing, None) == "ignore": + # filter said that we don't need this file, don't count it + return + f = orig + try: + p = Parser.getParser(f.file) + except UserWarning: + return + try: + p.readContents(f.getContents()) + entities, map = p.parse() + except Exception, e: + self.notify('error', f, str(e)) + return + self.notify('missingInFiles', missing, len(map)) + def doUnchanged(self, entity): + # overload this if needed + pass + def doChanged(self, file, ref_entity, l10n_entity): + # overload this if needed + pass + +def compareApp(app, otherObserver = None, merge_stage = None): + '''Compare locales set in app. + + Optional arguments are: + - otherObserver. A object implementing + notify(category, _file, data) + The return values of that callback are ignored. + - merge_stage. A directory to be used for staging the output of + l10n-merge. + ''' + o = Observer() + cc = ContentComparer(o) + if otherObserver is not None: + cc.add_observer(otherObserver) + cc.set_merge_stage(merge_stage) + o.filter = app.filter + for module, reference, locales in app: + dc = DirectoryCompare(reference) + dc.setWatcher(cc) + for locale, localization in locales: + dc.compareWith(localization) + return o + +def compareDirs(reference, locale, otherObserver = None, merge_stage = None): + '''Compare reference and locale dir. + + Optional arguments are: + - otherObserver. A object implementing + notify(category, _file, data) + The return values of that callback are ignored. + ''' + o = Observer() + cc = ContentComparer(o) + if otherObserver is not None: + cc.add_observer(otherObserver) + cc.set_merge_stage(merge_stage) + dc = DirectoryCompare(Paths.EnumerateDir(reference)) + dc.setWatcher(cc) + dc.compareWith(Paths.EnumerateDir(locale)) + return o --- thunderbird-9.0+build2.orig/debian/build/extract-file.py +++ thunderbird-9.0+build2/debian/build/extract-file.py @@ -0,0 +1,127 @@ +#!/usr/bin/python + +import os +import sys +import os.path +import glob +import shutil +import tarfile +import tempfile +import getopt + +class FileExtractException(Exception): + def __init__(self, info): + self.info = info + + def __str__(self): + return self.info + +def extract_file_from_archive(filename, dest, tar=None): + try: + if not os.path.isdir(dest): + os.makedirs(dest) + + temp = tempfile.mkdtemp() + + if tar == None: + tf = tarfile.open(glob.glob(os.path.join(os.getcwd(), '*.bz2'))[0], 'r') + else: + tf = tarfile.open(tar, 'r') + tf.extract(filename, temp) + shutil.copyfile(os.path.join(temp, filename), os.path.join(dest, os.path.basename(filename))) + + except IndexError: + raise FileExtractException("No valid tar file found") + + except KeyError: + errstr = "File " + filename + " not found in archive" + raise FileExtractException(errstr) + + except IOError as e: + filename = ": '" + e.filename + "'" if e.filename != None else "" + errstr = "IOError occurred whilst extracting file from archive: [Errno: " + str(e.errno) + "] " + e.strerror + filename + raise FileExtractException(errstr) + + except: + raise FileExtractException("Unexpected error") + + finally: + if temp: + shutil.rmtree(temp) + +if __name__ == '__main__': + try: + opts, args = getopt.getopt(sys.argv[1:], 'd:o:') + except getopt.GetoptError, err: + print str(err) + exit(1) + + cwd = os.getcwd() + dest = cwd + tarball = None + + for o, a in opts: + if o == "-d": + dest = os.path.abspath(a) + elif o == "-o": + tarball = os.path.abspath(a) + + if len(args) != 1: + print >> sys.stderr, "Need to specify one file" + exit(1) + + filename = args[0] + + if os.path.exists(os.path.join(dest, filename)): + exit(0) + + if filename.startswith('/'): + print >> sys.stderr, "Input filename shouldn't be absolute" + exit(1) + + if not os.path.isdir(dest): + os.makedirs(dest) + + if tarball == None: + try: + extract_file_from_archive(filename, dest) + + except FileExtractException as e: + print >> sys.stderr, str(e) + exit(1) + + except: + print >> sys.stderr, "Unexpected error" + exit(1) + else: + try: + temp = tempfile.mkdtemp() + + tb = tarfile.open(tarball, 'r') + names = tb.getnames() + + if os.path.join(names[0], filename) in names: + tb.extract(os.path.join(names[0], filename), temp) + shutil.copyfile(os.path.join(temp, names[0], filename), os.path.join(dest, filename)) + else: + bz2file = None + for name in names: + (root, ext) = os.path.splitext(name) + if ext == '.bz2': + bz2file = name + break + if bz2file: + tb.extract(bz2file, temp) + else: + print >> sys.stderr, "File not found and no valid embedded tar file found in source tarball" + exit(1) + + extract_file_from_archive(filename, dest, os.path.join(temp, bz2file)) + + except FileExtractException as e: + print >> sys.stderr, str(e) + exit(1) + + finally: + if temp: + shutil.rmtree(temp) --- thunderbird-9.0+build2.orig/debian/build/refresh-supported-locales.pl +++ thunderbird-9.0+build2/debian/build/refresh-supported-locales.pl @@ -0,0 +1,168 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use Cwd; + +my $moz_supported_file; +my $lpom_dir; +my $op_dir; +my $bl_file; + +my %blacklist; +my %locale2pkgname; +my %languages; + +my %pkglist; + +my $dir=getcwd; +chomp($dir); + +my $file; + +while (@ARGV) { + my $arg = shift(@ARGV); + if ($arg eq '-s') { + $moz_supported_file = shift(@ARGV); + } elsif ($arg eq '-l') { + $lpom_dir = shift(@ARGV); + } elsif ($arg eq '-o') { + $op_dir = shift(@ARGV); + } elsif ($arg eq '-b') { + $bl_file = shift(@ARGV); + } else { + die "Unknown argument '$arg'"; + } +} + +(defined($moz_supported_file)) || die "Need to specify a supported language list"; + +if (defined($lpom_dir)) { + my $lang_file = "$lpom_dir/maps/languages"; + my $map_file = "$lpom_dir/maps/locale2pkgname"; + my $variant_file = "$lpom_dir/maps/variants"; + + open($file, $lang_file) or die "Failed to open $lang_file"; + while (<$file>) { + my $line = $_; + chomp($line); + my $langcode = $line; + my $lang = $line; + $langcode =~ s/([^:]*):*([^:]*)/$1/; + $lang =~ s/([^:]*):*([^:]*)/$2/; + if ($lang ne "") { $languages{$langcode} = $lang; } + } + close($file); + + open($file, $map_file) or die "Failed to open $map_file"; + while (<$file>) { + my $line = $_; + chomp($line); + my $langcode = $line; + my $pkgname = $line; + $langcode =~ s/([^:]*):*([^:]*)/$1/; + $pkgname =~ s/([^:]*):*([^:]*)/$2/; + if ($pkgname ne "") { $locale2pkgname{$langcode} = $pkgname; } + } + close($file); + + open($file, $variant_file) or die "Failed to open $variant_file"; + while (<$file>) { + my $line = $_; + chomp($line); + my $langcode = $line; + my $lang = $line; + $langcode =~ s/([^:]*):*([^:]*)/$1/; + $lang =~ s/([^:]*):*([^:]*)/$2/; + if ($lang ne "") { $languages{$langcode} = $lang; } + } + close($file); +} + +if (-e "$op_dir/locales.all") { + open($file, "$op_dir/locales.all"); + while (<$file>) { + if ((not $_ =~ /^$/) && (not $_ =~ /^#.*/)) { + my $line = $_; + chomp($line); + my $pkgname = $line; + my $lang = $line; + $pkgname =~ s/([^:]*):*([^:]*)/$1/; + $lang =~ s/([^:]*):*([^:]*)/$2/; + $pkglist{$pkgname} = 1; + if ($lang ne "") { $languages{$pkgname} = $lang; } + } + } +} + +if (-e "$op_dir/locales.shipped") { + open($file, "$op_dir/locales.shipped"); + while (<$file>) { + if ((not $_ =~ /^$/) && (not $_ =~ /^#.*/)) { + my $line = $_; + chomp($line); + my $langcode = $line; + my $pkgname = $line; + $langcode =~ s/([^:]*):*([^:]*)/$1/; + $pkgname =~ s/([^:]*):*([^:]*)/$2/; + if ($pkgname eq "") { die "Malformed locales.shipped file"; } + if (not exists $pkglist{$pkgname}) { die "WTF? Language in locales.shipped is not present in locales.all. Did we produce broken output last time?"; } + $locale2pkgname{lc($langcode)} = $pkgname; + } + } + close($file); +} + +if (defined($bl_file)) { + open($file, "$bl_file") or die "Failed to open $bl_file"; + while (<$file>) { + if ((not $_ =~ /^$/) && (not $_ =~ /^#.*/)) { + my $line = $_; + chomp($line); + $blacklist{$line} = 1; + } + } + close($file); +} + +my $have_language = 0; + +open($file, $moz_supported_file) or die "Failed to open $moz_supported_file"; +open(my $outfile, ">$op_dir/locales.shipped"); +while (<$file>) { + my $line = $_; + chomp($line); + my $langcode = $line; + my $platforms = $line; + $langcode =~ s/^([[:alnum:]\-]*)[[:space:]]*(.*)/$1/; + $platforms =~ s/^([[:alnum:]\-]*)[[:space:]]*(.*)/$2/; + if (($langcode eq "en-US") || (($platforms ne "") && (rindex($platforms, "linux") eq -1)) || (exists $blacklist{$langcode})) { next; } + my $llangcode = lc($langcode); + my $pkgname = $llangcode; + if (exists $locale2pkgname{$llangcode}) { $pkgname = $locale2pkgname{$llangcode}; } + if (not exists $languages{$pkgname}) { + if ($pkgname eq $llangcode) { $pkgname =~ s/\-.*//; } + if (not exists $languages{$pkgname}) { die "No description for $pkgname"; } + } + if ($have_language eq 0) { print $outfile "# List of shipped locales. This list is automatically generated. Do not edit by hand\n"; } + $have_language = 1; + print $outfile "$langcode:$pkgname\n"; + $pkglist{$pkgname} = 1; +} + +if ($have_language eq 0) { print $outfile "# Placeholder file for the list of shipped languages. Do not delete"; } +close($file); +close($outfile); + +open($outfile, ">$op_dir/locales.all"); +my @completelist = keys(%pkglist); +if (scalar(@completelist) gt 0) { + @completelist = sort(@completelist); + print $outfile "# List of all language packs, past and present. Please don't delete any entries from this file\n"; + foreach my $lang (@completelist) { + if (not exists $languages{$lang}) { die "How on earth did we get here?"; } + my $desc = $languages{$lang}; + print $outfile "$lang:$desc\n"; + } +} else { print $outfile "# Placeholder file for the list of all language packs. Do not delete"; } +close($outfile); --- thunderbird-9.0+build2.orig/debian/build/dump-langpack-control-entries.pl +++ thunderbird-9.0+build2/debian/build/dump-langpack-control-entries.pl @@ -0,0 +1,78 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +my $ip_dir; +my $template_dir; + +my $lp_avail_desc; +my $lp_unavail_desc; + +my %all; +my %shipped; + +while (@ARGV) { + my $arg = shift(@ARGV); + if ($arg eq '-i') { + $ip_dir = shift(@ARGV); + } elsif ($arg eq '-t') { + $template_dir = shift(@ARGV); + } +} + +if (not defined($ip_dir) || not defined($template_dir)) { die "Need to specify a location for input and template data\n"; } + +{ + my $file; + local $/=undef; + open($file, "$template_dir/control.langpacks") or die "Couldn't find control.langpacks"; + $lp_avail_desc = <$file>; + + open($file, "$template_dir/control.langpacks.unavail") or die "Couldn't find control.langpacks.unavail"; + $lp_unavail_desc = <$file>; +} + +my $all_file; +my $shipped_file; + +open($all_file, "$ip_dir/locales.all") or die "Failed to open $ip_dir/locales.all"; +open($shipped_file, "$ip_dir/locales.shipped") or die "Failed to open $ip_dir/locales.shipped"; +while (<$all_file>) { + if ((not $_ =~ /^$/) && (not $_ =~ /^#.*/)) { + my $line = $_; + chomp($line); + my $pkgname = $line; + my $desc = $line; + $pkgname =~ s/([^:]*):*([^:]*)/$1/; + $desc =~ s/([^:]*):*([^:]*)/$2/; + if ($desc eq "") { die "Malformed locales.all"; } + $all{$pkgname} = $desc; + } +} + +while (<$shipped_file>) { + if ((not $_ =~ /^$/) && (not $_ =~ /^#.*/)) { + my $line = $_; + chomp($line); + my $locale = $line; + my $pkgname = $line; + $locale =~ s/([^:]*):*([^:]*)/$1/; + $pkgname =~ s/([^:]*):*([^:]*)/$2/; + if ($pkgname eq "") { die "Malformed locales.shipped"; } + $shipped{$pkgname} = 1; + } +} +close($all_file); +close($shipped_file); + +my @pkglist = keys(%all); +@pkglist = sort(@pkglist); +foreach my $pkg (@pkglist) { + my $desc = $all{$pkg}; + my $entry; + $entry = exists $shipped{$pkg} ? $lp_avail_desc : $lp_unavail_desc; + $entry =~ s/\@LANGCODE\@/$pkg/g; + $entry =~ s/\@LANG\@/$desc/g; + print $entry; +} --- thunderbird-9.0+build2.orig/debian/build/get-xpi-id.py +++ thunderbird-9.0+build2/debian/build/get-xpi-id.py @@ -0,0 +1,22 @@ +#!/usr/bin/python + +import sys +import xml.dom.minidom +import os +import zipfile + +if __name__ == '__main__': + if not len(sys.argv) == 2: + print "Must specify an xpi" + exit(1) + + dom_doc = xml.dom.minidom.parseString(zipfile.ZipFile(sys.argv[1]).open('install.rdf').read().strip()) + + try: + attr = dom_doc.getElementsByTagName('RDF:Description')[0].attributes['em:id'] + except IndexError: + attr = dom_doc.getElementsByTagName('Description')[0].attributes['em:id'] + + assert attr.value + print "%s" % attr.value + exit(0) --- thunderbird-9.0+build2.orig/debian/build/create-tarball.py +++ thunderbird-9.0+build2/debian/build/create-tarball.py @@ -0,0 +1,437 @@ +#!/usr/bin/python + +from optparse import OptionParser +import os +import os.path +import re +import shutil +import subprocess +import sys +import time +import urllib +import xml.dom.minidom + +ALL_LOCALES = 'mail/locales/all-locales' +SHIPPED_LOCALES = 'mail/locales/shipped-locales' +VERSION_FILE = 'mail/config/version.txt' +DEB_TAR_SRCDIR = 'mozilla' +NEED_POST_CHECKOUT = 1 + +INCLUDE = [ + '' +] + +EXCLUDE = [ + ['l10n/*/browser', False], + ['l10n/*/calendar', False], + ['l10n/*/embedding', False], + ['l10n/*/extensions', False], + ['l10n/*/mobile', False], + ['l10n/*/other-licenses/firefox', False], + ['l10n/*/other-licenses/sunbird', False], + ['l10n/*/services', False], + ['l10n/*/suite', False], + ['ldap/sdks/c-sdk/ldap/examples/macintosh', False], + ['ldap/sdks/c-sdk/ldap/libraries/macintosh', False], + ['mail/test/resources/mozmill/docs/_build/doctrees', False], + ['mail/test/resources/virtualenv/virtualenv_support', False], + ['mozilla/build/mobile/sutagent/android', False], + ['mozilla/build/package/mac_osx/mozilla.dsstore', False], + ['*.exe', True], + ['*.pyc', True], + ['mozilla/gfx/angle/samples/gles2_book', False], + ['mozilla/intl/unicharutil/tools/data', False], + ['mozilla/layout/doc/object_diagram_template.sda', False], + ['mozilla/layout/doc/SpaceMgr_BlockReflSt_OD.sda', False], + ['mozilla/netwerk/protocol/ftp/doc/rfc959.txt', False], + ['mozilla/other-licenses/7zstub', False], + ['mozilla/other-licenses/nsis', False], + ['mozilla/security/nss/cmd/samples', False], + ['mozilla/testing/extensions/community', False], + ['mozilla/testing/mozmill/mozmill/docs/_build/doctrees', False], + ['mozilla/testing/mozmill/virtualenv/virtualenv_support', False], + ['mozilla/toolkit/crashreporter/client/macbuild/Contents/Resources/crashreporter.icns', False], + ['mozilla/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib', False], + ['mozilla/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenuRTL.nib/keyedobjects.nib', False], + ['mozilla/toolkit/crashreporter/google-breakpad/src/client/mac', False], + ['mozilla/toolkit/crashreporter/google-breakpad/src/tools/windows', False], + ['mozilla/toolkit/mozapps/update/updater/macbuild/Contents/Resources/updater.icns', False], + ['mozilla/toolkit/mozapps/update/updater/macbuild/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib', False], + ['mozilla/widget/src/cocoa/resources/MainMenu.nib', False], + ['mozilla/xpcom/tests/unit/data/presentation.key', False], + ['mozilla/xpcom/tests/unit/data/SmallApp.app', False], + ['other-licenses/7zstub', False], + ['suite/app/apprunner-beos.rsrc', False] +] + +class DependencyNotFound(Exception): + def __init__(self, depend): + super(DependencyNotFound, self).__init__(depend) + self.path = depend[0] + self.package = depend[1] + + def __str__(self): + return 'Dependency not found: %s. Please install package %s' % (self.path, self.package) + +class MissingLocaleError(Exception): + def __init__(self, locale): + super(MissingLocaleError, self).__init__(locale) + self.locale = locale + + def __str__(self): + return "Locale %s is missing from the source tarball" % self.locale + +class RevisionNotFound(Exception): + def __init__(self, revision, repo): + super(RevisionNotFound, self).__init__(revision, repo) + self.revision = revision + self.repo = repo + + def __str__(self): + return "Revision %s not found in %s" % (self.revision, self.repo) + +class InvalidTagError(Exception): + def __init__(self, tag): + super(InvalidTagError, self).__init__(tag) + self.tag = tag + + def __str__(self): + return "Tag %s is invalid" % self.tag + +def do_exec(args, quiet=False, ignore_error=False, cwd=None): + if quiet != True: + arg_string = '' + for arg in args: + sep = ' ' if arg_string != '' else '' + arg_string += '%s%s' % (sep, arg) + print '\nRunning %s' % arg_string + + p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=cwd) + out = '' + while p.poll() == None: + for line in p.stdout: + out += line + if quiet == False: + print line.strip() + + if p.returncode != 0 and ignore_error == False: + raise subprocess.CalledProcessError(p.returncode, args[0]) + + return (p.returncode, out) + +def pack_orig_source(name, version, destdir): + os.chdir('..') + os.rename(name, '%s-%s' % (name, version)) + args = ['tar', '-zcf', os.path.join(destdir, '%s_%s.orig.tar.gz' % (name, version)), '%s-%s' % (name, version)] + + do_exec(args) + +def pack_embedded_tar(version, name): + args = ['tar', '-jvc', '--exclude-vcs'] + for exclude in EXCLUDE: + args.append('--no-wildcards-match-slash') if exclude[1] == False else args.append('--wildcards-match-slash') + args.append('--exclude') + args.append(os.path.join(DEB_TAR_SRCDIR, exclude[0])) + args.append('-f') + args.append('%s-%s-source.tar.bz2' % (name, version)) + for include in INCLUDE: + args.append(os.path.join(DEB_TAR_SRCDIR, include)) + + do_exec(args) + + # Keep a copy of shipped-locales outside of the embedded tar, so we + # can access this quickly in the packaging + shutil.copy(os.path.join(DEB_TAR_SRCDIR, SHIPPED_LOCALES), 'upstream-shipped-locales') + + # We need to manually clean up the files we packed now. We + # can't pass --remove-files to tar, because it uses rmdir, which + # fails because we exclude some files + for include in INCLUDE: + if os.path.exists(os.path.join(DEB_TAR_SRCDIR, include)): + shutil.rmtree(os.path.join(DEB_TAR_SRCDIR, include)) + +def determine_upstream_version(repo, tag): + vf = open(os.path.join(os.getcwd(), DEB_TAR_SRCDIR, VERSION_FILE), 'r') + upstream_version = re.sub(r'~$', '', re.sub(r'([0-9\.]*)(.*)', r'\1~\2', vf.read().strip())) + vf.close() + + if tag == None: + (ret, out) = do_exec(['hg', 'tip'], cwd=os.path.join(os.getcwd(), DEB_TAR_SRCDIR), quiet=True) + for line in out.split('\n'): + if line.startswith('changeset:'): + rev = line.split()[1].split(':')[0].strip() + changeset = line.split()[1].split(':')[1].strip() + break + + u = urllib.urlopen('%s/pushlog?changeset=%s' % (repo, changeset)) + dom = xml.dom.minidom.parseString(u.read()) + t = time.strptime(dom.getElementsByTagName('updated')[0].firstChild.nodeValue.strip(), '%Y-%m-%dT%H:%M:%SZ') + upstream_version += '~hg%s%s%sr%s' % ('%02d' % t.tm_year, '%02d' % t.tm_mon, '%02d' % t.tm_mday, rev) + u.close() + + if NEED_POST_CHECKOUT == 1: + # Embed the moz revision in the version number too. Allows us to respin dailies for comm-central + # even if the only changes landed in mozilla-central + (ret, out) = do_exec(['hg', 'tip'], cwd=os.path.join(os.getcwd(), DEB_TAR_SRCDIR, 'mozilla'), quiet=True) + for line in out.split('\n'): + if line.startswith('changeset:'): + upstream_version += '.%s' % line.split()[1].split(':')[0].strip() + break + else: + parsed = False + version_from_upstream = upstream_version + upstream_version = '' + build = None + for comp in tag.split('_')[1:]: + if parsed == True: + raise InvalidTagError(tag) + + if comp.startswith('BUILD'): + build = re.sub(r'BUILD', '', comp) + parsed = True + elif comp.startswith('RELEASE'): + parsed = True + else: + if upstream_version != '': + upstream_version += '.' + upstream_version += re.sub(r'~$', '', re.sub(r'([0-9]*)(.*)', r'\1~\2', comp)) + + if parsed == True and upstream_version == '': + raise InvalidTagError(tag) + + if upstream_version == '': + raise InvalidTagError(tag) + + if build != None: + upstream_version += '+build%s' % build + + if not upstream_version.startswith(version_from_upstream): + raise InvalidTagError(tag) + + print '\n\nUpstream version is %s\n' % upstream_version + return upstream_version + +def ensure_cache(repo, cache): + dest = os.path.join(cache, os.path.basename(repo)) + if os.path.isdir(dest): + (ret, out) = do_exec(['hg', 'summary'], cwd=dest, quiet=True, ignore_error=True) + if ret == 0: + do_exec(['hg', 'pull', repo], cwd=dest) + do_exec(['hg', 'update'], cwd=dest) + return + + if not os.path.isdir(cache): + os.makedirs(cache) + + do_exec(['hg', 'clone', repo, dest]) + +def post_checkout(repo, cache, tag): + moz_local = None + moz_repo = os.path.join(os.path.dirname(repo), os.path.basename(repo).replace('comm', 'mozilla')) + if cache != None: + ensure_cache(moz_repo, cache) + moz_local = os.path.join(cache, os.path.basename(moz_repo)) + args = ['python', 'client.py', 'checkout'] + if moz_local != None: + args.append('--mozilla-repo=%s' % moz_local) + if tag != None: + args.append('--comm-rev=%s' % tag) + args.append('--mozilla-rev=%s' % tag) + do_exec(args, cwd=os.path.join(os.getcwd(), DEB_TAR_SRCDIR)) + +def verify_all_locales(all_locales, blfile): + # When we also use translations from Launchpad, there will be a file + # containing the additional locales we want to ship (locales.extra??) + print '\n\n***Checking that required locales are present***\n' + + blacklist = {} + if blfile: + bl = open(blfile, 'r') + for line in bl: + locale = line.strip() + if locale.startswith('#'): + continue + + blacklist[locale] = 1 + bl.close() + + sl = open(os.path.join(os.getcwd(), DEB_TAR_SRCDIR, SHIPPED_LOCALES), 'r') + for line in sl: + line = line.strip() + if line.startswith('#'): + continue + + if line == 'en-US': + print 'Ignoring en-US' + continue + + locale = line.split(' ')[0].strip() + platforms = line.split(' ')[1:] + + if blacklist.has_key(locale): + print 'Ignoring blacklisted locale %s' % locale + continue + + if len(platforms) > 0: + for_linux = False + for platform in platforms: + if platform == 'linux': + for_linux = True + break + if not for_linux: + print 'Ignoring %s (not for linux)' % locale + continue + + if not all_locales.has_key(locale): + raise MissingLocaleError(locale) + + print '%s - Yes' % locale + + sl.close() + +def do_checkout(source, dest, tag): + dest_parent = os.path.dirname(dest) + if not os.path.isdir(dest_parent): + os.makedirs(dest_parent) + + do_exec(['hg', 'clone', source, dest]) + + try: + args = ['hg', 'update'] + if tag != None: + args.append('-r') + args.append(tag) + do_exec(args, cwd=dest) + except: + if tag != None: + raise RevisionNotFound(tag, source) + raise + +def checkout_locale(base, cache, locale, tag, changesets): + local_source = None + remote_source = os.path.join(base, locale) + destdir = os.path.join(os.getcwd(), DEB_TAR_SRCDIR, 'l10n', locale) + + if cache != None: + l10n_cache_top = os.path.join(cache, 'l10n') + ensure_cache(remote_source, l10n_cache_top) + local_source = os.path.join(l10n_cache_top, locale) + source = remote_source if local_source == None else local_source + do_checkout(source, destdir, tag) + + (ret, out) = do_exec(['hg', 'tip'], cwd=destdir, quiet=True) + for line in out.split('\n'): + if line.startswith('changeset:'): + changesets.write('%s %s\n' % (locale, line.split()[1].strip())) + break + +def checkout_upstream_l10n(base, cache, tag, all_locales): + al = open(os.path.join(os.getcwd(), DEB_TAR_SRCDIR, ALL_LOCALES), 'r') + l10ndir = os.path.join(os.getcwd(), DEB_TAR_SRCDIR, 'l10n') + if not os.path.isdir(l10ndir): + os.makedirs(l10ndir) + changesets = open(os.path.join(l10ndir, 'changesets'), 'w') + try: + for line in al: + locale = line.strip() + if locale.startswith('#'): + continue + + try: + checkout_locale(base, cache, locale, tag, changesets) + all_locales[locale] = 1 + except Exception as e: + # checkout_locale will throw if the specified revision isn't found + # In this case, omit it from the tarball + localedir = os.path.join(l10ndir, locale) + if os.path.exists(localedir): + shutil.rmtree(localedir) + finally: + al.close() + changesets.close() + +def checkout_source(repo, cache, tag): + local_source = None + if cache != None: + ensure_cache(repo, cache) + local_source = os.path.join(cache, os.path.basename(repo)) + source = repo if local_source == None else local_source + do_checkout(source, os.path.join(os.getcwd(), DEB_TAR_SRCDIR), tag) + +def check_dependencies(): + DEPENDENCIES = [ + [ 'hg', 'mercurial' ], + [ 'tar', 'tar' ] + ] + + for depend in DEPENDENCIES: + if os.path.isabs(depend[0]) and not os.access(depend[0], os.X_OK): + raise DependencyNotFound(depend) + else: + found = False + for path in os.environ['PATH'].split(os.pathsep): + if os.access(os.path.join(path, depend[0]), os.X_OK): + found = True + break + if found == False: + raise DependencyNotFound(depend) + +def cleanup_working_dir(origwd): + os.chdir(origwd) + shutil.rmtree('.mozsource') + +def setup_working_dir(name): + topwrkdir = os.path.abspath('.mozsource') + if os.path.exists(topwrkdir): + shutil.rmtree(topwrkdir) + + working_dir = os.path.abspath('.mozsource/%s' % name) + + os.makedirs(working_dir) + os.chdir(working_dir) + +if __name__ == '__main__': + usage = 'usage: %prog [options]' + parser = OptionParser(usage=usage) + parser.add_option('-r', '--repo', dest='repo', help='The remote repository from which to pull the main source') + parser.add_option('-c', '--cache', dest='cache', help='A local cache of the remote repositories') + parser.add_option('-l', '--l10n-base-repo', dest='l10nbase', help='The base directory of the remote repositories to pull l10n data from') + parser.add_option('-t', '--tag', dest='tag', help='Release tag to base the checkout on') + parser.add_option('-n', '--name', dest='name', help='The package name') + parser.add_option('-b', '--locale-blacklist', dest='blacklist', help='File with a list of blacklisted locales') + + (options, args) = parser.parse_args() + + if options.repo == None: + parser.error('Must specify a remote repository') + + if options.name == None: + parser.error('Must specify a package name') + + if not options.l10nbase and ALL_LOCALES != None: + parser.error('Must specify a base repository for l10n data') + + if options.blacklist and not os.path.exists(options.blacklist): + parser.error('Locale blacklist file does not exist') + + saved_cwd = os.getcwd() + check_dependencies() + setup_working_dir(options.name) + + if options.cache != None and not os.path.isabs(options.cache): + options.cache = os.path.join(os.getcwd(), options.cache) + + checkout_source(options.repo, options.cache, options.tag) + if NEED_POST_CHECKOUT == 1: + post_checkout(options.repo, options.cache, options.tag) + + # XXX: In the future we may have an additional l10n source from Launchpad + all_locales = {} + checkout_upstream_l10n(options.l10nbase, options.cache, options.tag, all_locales) + verify_all_locales(all_locales, options.blacklist) + + version = determine_upstream_version(options.repo, options.tag) + pack_embedded_tar(version, os.path.basename(options.repo)) + pack_orig_source(options.name, version, saved_cwd) + + cleanup_working_dir(saved_cwd) --- thunderbird-9.0+build2.orig/debian/build/get-orig-source.mk +++ thunderbird-9.0+build2/debian/build/get-orig-source.mk @@ -0,0 +1,14 @@ +#!/usr/bin/make -f + +ARGS = -r $(COMM_REPO) -l $(L10N_REPO) -n $(MOZ_APP_NAME) -b $(CURDIR)/debian/config/locales.blacklist + +ifdef DEBIAN_TAG +ARGS += -t $(DEBIAN_TAG) +endif + +ifdef LOCAL_BRANCH +ARGS += -c $(LOCAL_BRANCH) +endif + +get-orig-source: + python $(CURDIR)/debian/build/create-tarball.py $(ARGS) --- thunderbird-9.0+build2.orig/debian/build/testsuite.mk +++ thunderbird-9.0+build2/debian/build/testsuite.mk @@ -0,0 +1,57 @@ +#!/usr/bin/make -f + +LOCALE := en_US.UTF-8 +LOCDIR = $(CURDIR)/$(MOZ_DISTDIR)/.locales + +TESTS := $(NULL) +ifeq (1,$(MOZ_WANT_UNIT_TESTS)) + TESTS += check xpcshell-tests jstestbrowser reftest crashtest mochitest +endif + +debian/stamp-testsuite: $(addprefix debian/stamp-,$(TESTS)) + +$(addprefix debian/stamp-,$(TESTS)): debian/stamp-makefile-build + +# Required for js/src/trace-tests/sunspider/check-date-format-tofte.js +$(addprefix debian/stamp-,check jstestbrowser): export TZ = :/usr/share/zoneinfo/posix/US/Pacific + +$(LOCDIR)/%: + mkdir -p $(LOCDIR) + localedef -f $(shell echo $(notdir $@) | cut -d '.' -f 2) -i $(shell echo $(notdir $@) | cut -d '.' -f 1) $@ + +# Setup locales for tests which need it +$(addprefix debian/stamp-,xpcshell-tests jstestbrowser reftest): $(LOCDIR)/$(LOCALE) +$(addprefix debian/stamp-,xpcshell-tests jstestbrowser reftest): export LOCPATH=$(LOCDIR) +$(addprefix debian/stamp-,xpcshell-tests jstestbrowser reftest): export LC_ALL=$(LOCALE) + +# Disable tests that are known to fail +$(addprefix debian/stamp-,xpcshell-tests): debian/stamp-xpcshell-tests-disable + +# Tests that need a X server +$(addprefix debian/stamp-,jstestbrowser reftest crashtest mochitest): WRAPPER = xvfb-run -s "-screen 0 1024x768x24" + +# Run the test! +$(addprefix debian/stamp-,$(TESTS)): + HOME="$(CURDIR)/$(MOZ_DISTDIR)" \ + $(WRAPPER) $(MAKE) -C $(CURDIR)/$(MOZ_OBJDIR) $(subst debian/stamp-,,$@) || true + touch $@ + +debian/stamp-xpcshell-tests-disable: debian/stamp-makefile-build + # Hangs without network access + rm -f $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/toolkit/components/places/tests/unit/test_404630.js + + # FIXME: IPC tests seem to hang in the buildd's + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/chrome/test/unit_ipc + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/ipc/testshell/tests + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/toolkit/components/contentprefs/tests/unit_ipc + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/ipc + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/netwerk/cookie/test/unit_ipc + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/netwerk/test/unit_ipc + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/modules/libpref/test/unit_ipc + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/extensions/cookie/test/unit_ipc + rm -rf $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/uriloader/exthandler/tests/unit_ipc + + # Needs GConf to be running. I guess we need to start with dbus-launch to fix this + rm -f $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/browser/components/shell/test/unit/test_421977.js + rm -f $(CURDIR)/$(MOZ_OBJDIR)$(MOZ_MOZDIR)/_tests/xpcshell/uriloader/exthandler/tests/unit/test_handlerService.js + touch $@ --- thunderbird-9.0+build2.orig/debian/apport/native-origins.in +++ thunderbird-9.0+build2/debian/apport/native-origins.in @@ -0,0 +1,3 @@ +LP-PPA-ubuntu-mozilla-daily +LP-PPA-ubuntu-mozilla-daily-thunderbird-aurora +LP-PPA-mozillateam-thunderbird-next --- thunderbird-9.0+build2.orig/debian/apport/blacklist.in +++ thunderbird-9.0+build2/debian/apport/blacklist.in @@ -0,0 +1,2 @@ +@MOZ_LIBDIR@/@MOZ_APP_NAME@-bin +@MOZ_LIBDIR@/plugin-container --- thunderbird-9.0+build2.orig/debian/apport/source_thunderbird.py.in +++ thunderbird-9.0+build2/debian/apport/source_thunderbird.py.in @@ -0,0 +1,953 @@ +'''thunderbird apport hook + +/usr/share/apport/package-hooks/thunderbird.py + +Copyright (c) 2007: Hilario J. Montoliu + (c) 2011: Chris Coulson + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2 of the License, or (at your +option) any later version. See http://www.gnu.org/copyleft/gpl.html for +the full text of the license. +''' + +import os +import os.path +import sys +import fcntl +import subprocess +import struct +from subprocess import Popen +from ConfigParser import ConfigParser +import sqlite3 +import tempfile +import re +import apport.packaging +from apport.hookutils import * + +class PrefParseError(Exception): + def __init__(self, msg): + super(PrefParseError, self).__init__(msg) + self.msg = msg + + def __str__(self): + return self.msg + +class PluginRegParseError(Exception): + def __init__(self, msg): + super(PluginRegParseError, self).__init__(msg) + self.msg = msg + + def __str__(self): + return self.msg + + +class ExtensionTypeNotRecognised(Exception): + def __init__(self, ext_type, ext_id): + super(ExtensionTypeNotRecognised, self).__init__(ext_type, ext_id) + self.ext_type = ext_type + self.ext_id = ext_id + + def __str__(self): + return "Extension type not recognised: %s (ID: %s)" % (self.ext_type, self.ext_id) + + +class VersionCompareFailed(Exception): + def __init__(self, a, b, e): + if a == None: + a = '' + if b == None: + b = '' + super(VersionCompareFailed, self).__init__(a, b, e) + self.a = a + self.b = b + self.e = e + + def __str__(self): + return "Failed to compare versions A = %s, B = %s (%s)" % (self.a, self.b, str(self.e)) + + +def mkstemp_copy(path): + '''Make a copy of a file to a temporary file, and return the path''' + (outfd, outpath) = tempfile.mkstemp() + outfile = os.fdopen(outfd, 'w') + infile = open(path, 'r') + + total = 0 + while True: + data = infile.read(4096) + total += len(data) + outfile.write(data) + infile.seek(total) + outfile.seek(total) + if len(data) < 4096: break + + return outpath + + +class CompatINIParser(ConfigParser): + def __init__(self, path): + ConfigParser.__init__(self) + self.read(os.path.join(path, "compatibility.ini")) + + @property + def last_version(self): + if not self.has_section("Compatibility") or not self.has_option("Compatibility", "LastVersion"): + return None + return re.sub(r'([^_]*)(.*)', r'\1', self.get("Compatibility", "LastVersion")) + + @property + def last_buildid(self): + if not self.has_section("Compatibility") or not self.has_option("Compatibility", "LastVersion"): + return None + return re.sub(r'([^_]*)_([^/]*)/(.*)', r'\2', self.get("Compatibility", "LastVersion")) + + +class AppINIParser(ConfigParser): + def __init__(self, path): + ConfigParser.__init__(self) + self.read(os.path.join(path, "application.ini")) + + @property + def buildid(self): + if not self.has_section('App') or not self.has_option('App', 'BuildID'): + return None + return self.get('App', 'BuildID') + + @property + def appid(self): + if not self.has_section('App') or not self.has_option('App', 'ID'): + return None + return self.get('App', 'ID') + + +def compare_versions(a, b): + '''Compare 2 version numbers, returns -1 for ab + This is basically just a python reimplementation of nsVersionComparator''' + class VersionPart: + def __init__(self): + self.numA = 0 + self.strB = None + self.numC = 0 + self.extraD = None + + def parse_version(part): + res = VersionPart() + if part == None or part == '': + return (part, res) + spl = part.split('.') + + if part == '*' and len(part) == 1: + res.numA = sys.maxint + res.strB = "" + else: + res.numA = int(re.sub(r'([0-9]*)(.*)', r'\1', spl[0])) + res.strB = re.sub(r'([0-9]*)(.*)', r'\2', spl[0]) + + if res.strB == '': + res.strB = None + + if res.strB != None: + if res.strB[0] == '+': + res.numA += 1 + res.strB = "pre" + else: + tmp = res.strB + res.strB = re.sub(r'([^0-9+-]*)([0-9]*)(.*)', r'\1', tmp) + strC = re.sub(r'([^0-9+-]*)([0-9]*)(.*)', r'\2', tmp) + if strC != '': + res.numC = int(strC) + res.extraD = re.sub(r'([^0-9+-]*)([0-9]*)(.*)', r'\3', tmp) + if res.extraD == '': + res.extraD = None + + return (re.sub(r'([^\.]*)\.*(.*)', r'\2', part), res) + + def strcmp(stra, strb): + if stra == None and strb != None: + return 1 + elif stra != None and strb == None: + return -1 + if stra < strb: + return -1 + elif stra > strb: + return 1 + else: + return 0 + + def do_compare(apart, bpart): + if apart.numA < bpart.numA: + return -1 + elif apart.numA > bpart.numA: + return 1 + + res = strcmp(apart.strB, bpart.strB) + if res != 0: + return res + + if apart.numC < bpart.numC: + return -1 + elif apart.numC > bpart.numC: + return 1 + + return strcmp(apart.extraD, bpart.extraD) + + try: + saved_a = a + saved_b = b + while a or b: + (a, va) = parse_version(a) + (b, vb) = parse_version(b) + + res = do_compare(va, vb) + if res != 0: + break + except Exception as e: + raise VersionCompareFailed(saved_a, saved_b, e) + + return res + + +class Plugin: + def __init__(self): + self.lib = None + self.path = None + self.desc = None + self.package = None + + def dump(self): + if self.path.startswith(os.path.join(os.environ['HOME'], '.@MOZ_APP_NAME@')): + location = "app-profile" + else: + location = os.path.dirname(self.path) + + return "%s - Lib=%s, Location=%s%s" % (self.desc, self.lib, location, " (%s)" % self.package if self.package != None else "") + + @property + def package(self): + if self._package == None: + self._package = apport.packaging.get_file_package(self.path) + return self._package + +class PluginRegistry: + + STATE_PENDING = 0 + STATE_START = 1 + STATE_PROCESSING_1 = 2 + STATE_PROCESSING_2 = 3 + STATE_PROCESSING_3 = 4 + STATE_FINISHED = 5 + + def __init__(self, filename): + self.plugins = {} + self._state = PluginRegistry.STATE_PENDING + self._count = 0 + self._current_plugin = None + self.available = False + try: + fd = open(filename, 'r') + skip = 0 + for line in fd.readlines(): + if skip == 0: + skip = self._parseline(line) + if skip == -1: + break + else: + skip -= 1 + self.available = True + except Exception as e: + self.parse_error = str(e) + + def _parseline(self, line): + line = line.strip() + if line != '' and line[0] == '[' and self._state != PluginRegistry.STATE_START and self._state != PluginRegistry.STATE_PENDING: + raise PluginRegParseError('Unexpected section header') + + if self._state == PluginRegistry.STATE_PENDING: + if line == '[PLUGINS]': + self._state += 1 + return 0 + elif self._state == PluginRegistry.STATE_START: + if line == '': + return 0 + if line[0] == '[': + self._state = PluginRegistry.STATE_FINISHED + return -1 + self._current_plugin = Plugin() + self._current_plugin.lib = line.split(':')[0] + self._state += 1 + return 0 + elif self._state == PluginRegistry.STATE_PROCESSING_1: + self._current_plugin.path = line.split(':')[0] + if self._current_plugin.path[0] != '/': + raise PluginRegParseError("Invalid path %s" % self._current_plugin.path) + self._state += 1 + return 3 + elif self._state == PluginRegistry.STATE_PROCESSING_2: + self._current_plugin.desc = line.split(':')[0] + self._state += 1 + return 0 + elif self._state == PluginRegistry.STATE_PROCESSING_3: + self.plugins[self._count] = self._current_plugin + self._count += 1 + self._state = PluginRegistry.STATE_START + return int(line.strip()) + else: + return -1 + + def __getitem__(self, key): + if not key in self.plugins: + raise IndexError + return self.plugins[key] + + def __iter__(self): + self._current_index = 0 + return self + + def next(self): + if self._current_index == len(self.plugins): + raise StopIteration + ret = self.plugins[self._current_index] + self._current_index += 1 + return ret + + def __len__(self): + return len(self.plugins) + + +class PrefFile: + '''Class which represents a pref file. Handles all of the parsing, and can be accessed + like a normal python dictionary''' + PREF_WHITELIST = [ + r'accessibility\.*', + r'browser\.fixup\.*', + r'browser\.history_expire_*', + r'browser\.link\.open_newwindow', + r'browser\.mousewheel\.*', + r'browser\.places\.*', + r'browser\.startup\.homepage', + r'browser\.tabs\.*', + r'browser\.zoom\.*', + r'dom\.*', + r'extensions\.checkCompatibility\.*', + r'extensions\.lastAppVersion\.*', + r'font\.*', + r'general\.skins\.*', + r'general\.useragent\.*', + r'gfx\.*', + r'html5\.*', + r'mozilla\.widget\.render\-mode', + r'layers\.*', + r'javascript\.*', + r'keyword\.*', + r'layout\.css\.dpi', + r'network\.*', + r'places\.*', + r'plugin\.*', + r'plugins\.*', + r'print\.*', + r'privacy\.*', + r'security\.*', + r'webgl\.*' + ] + + PREF_BLACKLIST = [ + r'^network.*proxy\.*', + r'.*print_to_filename$', + r'print\.tmp\.', + r'print\.printer_*' + ] + + def __init__(self, filename, whitelist=None, blacklist=None): + self.whitelist = whitelist if whitelist != None else PrefFile.PREF_WHITELIST + self.blacklist = blacklist if blacklist != None else PrefFile.PREF_BLACKLIST + self.prefs = {} + self._in_comment = False + self.available = False + try: + f = open(filename) + for line in f.readlines(): + self._parseline(line) + self.available = True + except Exception as e: + self.parse_error = str(e) + + def _maybe_add_pref(self, key, value): + for match in self.blacklist: + if re.match(match, key): + return + + for match in self.whitelist: + if re.match(match, key): + self.prefs[key] = value + + def _do_parse(self, line, start): + # XXX: I pity the poor soul who ever needs to change anything inside this function + in_escape = False + in_name = True + in_value = False + in_quote = False + has_name = False + has_value = False + done = False + name = "" + value = "" + for i in range(start, len(line)): + if in_escape == True: + in_escape = False + if in_name == True: + name += line[i] + elif in_value == True: + value += line[i] + else: + raise PrefParseError("Unexpected character") + elif line[i] == '"': + if in_name == False and in_value == False: + raise PrefParseError("Unexpected double quote") + in_quote = not in_quote + if in_quote == False: + if in_name == True: + in_name = False + has_name = True + elif in_value == True: + in_value = False + has_value = True + elif line[i] == '\\': + if in_quote == True: + in_escape = True + else: + raise PrefParseError("Unexpected escape character") + elif line[i] == ' ' and in_quote == False: + if in_name == True and len(name) > 0: + in_name = False + has_name = True + elif in_value == True and len(value) > 0: + in_value = False + has_value = True + elif line[i] == ',' and in_quote == False: + if (in_name == True or has_name == True) and in_value == False and has_value == False: + in_name = False + in_value = True + has_name = True + else: + raise PrefParseError("Unexpected comma") + elif line[i] == ')' and in_quote == False: + if (in_value == True or has_value == True) and has_name == True and done == False: + in_value = False + has_value = True + done = True + else: + raise PrefParseError("Unexpected close braces character for " + line) + elif line[i] == ';' and in_quote == False: + if done == False: + raise PrefParseError("Unexpected line terminator") + else: + if in_name == True: + name += line[i] + elif in_value == True: + value += line[i] + else: + raise PrefParseError("Unexpected character") + + if done == True and in_name == False and in_value == False: + self._maybe_add_pref(name, value) + else: + raise PrefParseError("Failed to parse line") + + def _parseline(self, line): + line = line.strip() + if line == '' or line[0] == '#' or line.startswith('//'): + return + + if line.startswith('/*'): + self._in_comment = True + + if self._in_comment == True: + for i in range(len(line)): + if i < len(line) - 1 and line[i]+line[i+1] == '*/': + self._in_comment = False + break + return + + if line.startswith("user_pref("): + self._do_parse(line, 10) + elif line.startswith("pref("): + self._do_parse(line, 5) + else: + raise PrefParseError("Unexpected line start") + + def __getitem__(self, key): + if not key in self.prefs: + raise IndexError + return self.prefs[key] + + def __iter__(self): + self.keys = self.prefs.keys() + self.current = 0 + return self + + def next(self): + if self.current == len(self.keys): + raise StopIteration + val = self.keys[self.current] + self.current += 1 + return val + + def __len__(self): + return len(self.prefs) + + +class Extension: + '''Small class representing an extension''' + def __init__(self, ext_id, location, ver, ext_type, active, desc, min_appver, max_appver, cur_appver): + self.ext_id = ext_id; + self.location = location + self.ver = ver + self.ext_type = ext_type + self.active = active + self.desc = desc + self.min_appver = min_appver + self.max_appver = max_appver + self.cur_appver = cur_appver + + def dump(self): + active = "Yes" if self.active == 1 else "No" + return "%s - ID=%s, Version=%s, minVersion=%s, maxVersion=%s, Location=%s, Type=%s, Active=%s" % (self.desc, self.ext_id, self.ver, self.min_appver, self.max_appver, self.location, self.ext_type, active) + + @property + def active_but_incompatible(self): + return self.active and (self.cur_appver != None and compare_versions(self.cur_appver, self.min_appver) == -1 or compare_versions(self.cur_appver, self.max_appver) == 1) + + +class Profile: + '''Container to represent a profile''' + def __init__(self, id, name, path, is_default, appini): + self.extensions = {} + self.locales = {} + self.themes = {} + self.id = id + self.name = name + self.path = path + self.default = is_default + self.appini = appini + + try: + self._populate_extensions() + except: + self.extensions = None + + self.prefs = PrefFile(os.path.join(path, "prefs.js")) + self.userjs = PrefFile(os.path.join(path, "user.js")) + self.plugins = PluginRegistry(os.path.join(path, "pluginreg.dat")) + + def _populate_extensions(self): + # We copy the db as it's locked whilst Thunderbird is open. This is still racy + # though, as it could be modified during the copy, leaving us with a corrupt + # DB. Can we detect this somehow? + tmp_db = mkstemp_copy(os.path.join(self.path, "extensions.sqlite")) + conn = sqlite3.connect(tmp_db) + + def get_extension_from_row(row): + moz_id = row[0] + ext_id = row[1] + location = row[2] + ext_ver = row[3] + ext_type = row[4] + active = True if row[6] == 1 else False + + cur = conn.cursor() + cur.execute("select name from locale where id=:id", { "id": row[5] }) + desc = cur.fetchone()[0] + + cur = conn.cursor() + cur.execute("select minVersion, maxVersion from targetApplication where addon_internal_id=:id and (id=:appid or id=:tkid)", \ + { "id": row[0], "appid": self.appini.appid, "tkid": "toolkit@mozilla.org" }) + (min_ver, max_ver) = cur.fetchone() + + return Extension(ext_id, location, ext_ver, ext_type, active, desc, min_ver, max_ver, self.last_version) + + cur = conn.cursor() + cur.execute("select internal_id, id, location, version, type, defaultLocale, active from addon") + rows = cur.fetchall() + for row in rows: + extension = get_extension_from_row(row) + if extension.ext_type == "extension": + storage_array = self.extensions + elif extension.ext_type == "locale": + storage_array = self.locales + elif extension.ext_type == "theme": + storage_array = self.themes + else: + raise ExtensionTypeNotRecognised(extension.type, extension.ext_id) + + if not extension.location in storage_array: + storage_array[extension.location] = [] + storage_array[extension.location].append(extension) + + os.remove(tmp_db) + + def _do_dump(self, storage_array): + if self.extensions == None: + return "extensions.sqlite corrupt or missing" + + ret = "" + for location in storage_array: + ret += "Location: " + location + "\n\n" + for extension in storage_array[location]: + prefix = " (Inactive) " if not extension.active else "" + ret += "\t%s%s = ID=%s, Version=%s, minVersion=%s, maxVersion=%s\n" % (prefix, extension.desc, extension.ext_id, extension.ver, extension.min_appver, extension.max_appver) + ret += "\n\n\n" + return ret + + @property + def running(self): + if not hasattr(self, '_running'): + # We detect if this profile is running or not by trying to lock the lockfile + # If we can't lock it, then Thunderbird is running + fd = os.open(os.path.join(self.path, ".parentlock"), os.O_WRONLY|os.O_CREAT|os.O_TRUNC, 0666) + lock = struct.pack("hhqqi", 1, 0, 0, 0, 0) + try: + fcntl.fcntl(fd, fcntl.F_SETLK, lock) + self._running = False + # If we acquired the lock, ensure that we unlock again immediately + lock = struct.pack("hhqqi", 2, 0, 0, 0, 0) + fcntl.fcntl(fd, fcntl.F_SETLK, lock) + except: + self._running = True + + return self._running + + def dump_extensions(self): + return self._do_dump(self.extensions) + + def dump_locales(self): + return self._do_dump(self.locales) + + def dump_themes(self): + return self._do_dump(self.themes) + + def dump_prefs(self): + if self.prefs.available == False: + if os.path.exists(os.path.join(self.path, "prefs.js")): + return "prefs.js exists but isn't parseable - %s" % self.prefs.parse_error + else: + return "prefs.js is not available" + + ret = '' + for pref in self.prefs: + ret += pref + " - " + self.prefs[pref] + '\n' + return ret + + def dump_user_js(self): + if self.userjs.available == False: + if os.path.exists(os.path.join(self.path, "user.js")): + return "user.js exists but isn't parseable - %s" % self.userjs.parse_error + else: + return None + + ret = '' + for pref in self.userjs: + ret += pref + " - " + self.userjs[pref] + '\n' + return ret + + def dump_plugins(self): + if self.plugins.available == False: + if os.path.exists(os.path.join(self.path, "pluginreg.dat")): + return "pluginreg.dat exists but isn't parseable = %s" % self.plugins.parse_error + else: + return "pluginreg.dat isn't available" + + ret = '' + for plugin in self.plugins: + ret += plugin.dump() + '\n' + return ret + + def get_plugin_packages(self, pkglist): + if self.plugins.available == False: + return None + + for plugin in self.plugins: + if plugin.package != None and plugin.package not in pkglist: + pkglist.append(plugin.package) + + @property + def current(self): + return True if self.appini.buildid == self.last_buildid or self.appini.buildid == None else False + + @property + def has_active_but_incompatible_extensions(self): + if self.last_version == None: + return False + for storage_array in self.extensions, self.locales, self.themes: + for location in storage_array: + for extension in storage_array[location]: + if extension.active_but_incompatible: + return True + return False + + def dump_active_but_incompatible_extensions(self): + if self.last_version == None: + return "Unavailable (corrupt or non-existant compatibility.ini)" + res = '' + for storage_array in self.extensions, self.locales, self.themes: + for location in storage_array: + for extension in storage_array[location]: + if extension.active_but_incompatible: + res += extension.dump() + "\n" + return res + + @property + def has_forced_layers_acceleration(self): + if self.prefs != None and "layers.acceleration.force-enabled" in self.prefs and self.prefs["layers.acceleration.force-enabled"] == "true": + return True + + if self.userjs != None and "layers.acceleration.force-enabled" in self.userjs and self.userjs["layers.acceleration.force-enabled"] == "true": + return True + + return False + + @property + def compatini(self): + if not hasattr(self, '_compatini'): + self._compatini = CompatINIParser(self.path) + return self._compatini + + @property + def last_version(self): + return self.compatini.last_version + + @property + def last_buildid(self): + return self.compatini.last_buildid + + @property + def addon_compat_check_disabled(self): + is_nightly = re.sub(r'^[^\.]+\.[0-9]+([a-z0-9]*).*', r'\1', self.last_version) == 'a1' + if is_nightly == True: + pref = "extensions.checkCompatibility.nightly" + else: + pref = "extensions.checkCompatibility.%s" % re.sub(r'(^[^\.]+\.[0-9]+[a-z]*).*', r'\1', self.last_version) + return pref in self.prefs and self.prefs[pref] == 'false' + + +class Profiles: + '''Small class to build an array of profiles from a profile.ini. + Can be accessed like a normal array''' + def __init__(self, ini_file, appini): + self.profiles = {} + + parser = ConfigParser() + parser.read(ini_file) + profile_folder = os.path.dirname(ini_file) + + i = 0 + for section in parser.sections(): + if section == "General": continue + if not parser.has_option(section, "Path"): continue + path = parser.get(section, "Path") + name = parser.get(section, "Name") + is_default = True if parser.has_option(section, "Default") and parser.getint(section, "Default") == 1 else False + self.profiles[i] = Profile(section, name, os.path.join(profile_folder, path), is_default, appini) + i += 1 + + # No "Default" entry when there is one profile + if len(self) == 1: self[0].default = True + + def __getitem__(self, key): + if not key in self.profiles: + raise IndexError + return self.profiles[key] + + def __iter__(self): + self.current_index = 0 + return self + + def __len__(self): + return len(self.profiles) + + def next(self): + if self.current_index == len(self.profiles): + raise StopIteration + else: + val = self.profiles[self.current_index] + self.current_index += 1 + return val + + def dump_profile_summaries(self): + res = '' + for profile in self: + running = " (Running)" if profile.running == True else "" + default = " (Default)" if profile.default else "" + outdated = " (Out of date)" if not profile.current else "" + res += "%s%s - LastVersion=%s/%s%s%s\n" % (profile.id, default, profile.last_version, profile.last_buildid, running, outdated) + return res + + +def recent_kernlog(pattern): + '''Extract recent messages from kern.log or message which match a regex. + pattern should be a "re" object. ''' + lines = '' + if os.path.exists('/var/log/kern.log'): + file = '/var/log/kern.log' + elif os.path.exists('/var/log/messages'): + file = '/var/log/messages' + else: + return lines + + for line in open(file): + if pattern.search(line): + lines += line + return lines + + +def recent_auditlog(pattern): + '''Extract recent messages from kern.log or message which match a regex. + pattern should be a "re" object. ''' + lines = '' + if os.path.exists('/var/log/audit/audit.log'): + file = '/var/log/audit/audit.log' + else: + return lines + + for line in open(file): + if pattern.search(line): + lines += line + return lines + + +def add_info(report, ui): + '''Entry point for apport''' + + def populate_item(key, data): + if data != None and data.strip() != '': + report[key] = data + + def append_tag(tag): + tags = report.get('Tags', '') + if tags: + tags += ' ' + report['Tags'] = tags + tag + + ddproc = Popen(['dpkg-divert', '--truename', '/usr/bin/@MOZ_APP_NAME@'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + truename = ddproc.communicate() + if ddproc.returncode == 0 and truename[0].strip() != '/usr/bin/@MOZ_APP_NAME@': + ddproc = Popen(['dpkg-divert', '--listpackage', '/usr/bin/@MOZ_APP_NAME@'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + diverter = ddproc.communicate() + report['UnreportableReason'] = "/usr/bin/@MOZ_APP_NAME@ has been diverted by a third party package (%s)" % diverter[0].strip() + return + + conf_dir = os.path.join(os.environ["HOME"], ".@MOZ_APP_NAME@") + appini = AppINIParser('@MOZ_LIBDIR@') + populate_item("BuildID", appini.buildid) + try: + profiles = Profiles(os.path.join(conf_dir, "profiles.ini"), appini) + populate_item("Profiles", profiles.dump_profile_summaries()) + except: + pass + finally: + if len(profiles) == 0: report["NoProfiles"] = 'True' + + for profile in profiles: + if profile.running and not profile.current: + report["UnreportableReason"] = "Thunderbird has been upgraded since you started it. Please restart all instances of Thunderbird and try again" + return + + seen_default = False + running_incompatible_addons = False + forced_layers_accel = False + addon_compat_check_disabled = False + for profile in profiles: + if profile.default and not seen_default and len(profiles) > 1: + prefix = 'DefaultProfile' + seen_default = True + elif len(profiles) > 1: + prefix = profile.id + else: + prefix = '' + + populate_item(prefix + "Extensions", profile.dump_extensions()) + populate_item(prefix + "Locales", profile.dump_locales()) + populate_item(prefix + "Themes", profile.dump_themes()) + populate_item(prefix + "Plugins", profile.dump_plugins()) + populate_item(prefix + "IncompatibleExtensions", profile.dump_active_but_incompatible_extensions()) + populate_item(prefix + "Prefs", profile.dump_prefs()) + populate_item(prefix + "UserJS", profile.dump_user_js()) + + if (profile.current or profile.default) and profile.has_active_but_incompatible_extensions: + running_incompatible_addons = True + if (profile.current or profile.default) and profile.has_forced_layers_acceleration: + forced_layers_accel = True + if (profile.current or profile.default) and profile.addon_compat_check_disabled: + addon_compat_check_disabled = True + + plugin_packages = [] + for profile in profiles: + profile.get_plugin_packages(plugin_packages) + if len(plugin_packages) > 0: attach_related_packages(report, plugin_packages) + + report["RunningIncompatibleAddons"] = 'True' if running_incompatible_addons == True else 'False' + report["ForcedLayersAccel"] = 'True' if forced_layers_accel == True else 'False' + report["AddonCompatCheckDisabled"] = 'True' if addon_compat_check_disabled == True else 'False' + + syspref = PrefFile("/etc/@MOZ_APP_NAME@/syspref.js") + if syspref.available == False: + report["EtcThunderbirdSyspref"] = "Cannot parse /etc/@MOZ_APP_NAME@/syspref.js - %s" % syspref.parse_error + for pref in syspref: + report["EtcThunderbirdSyspref"] += "%s - %s\n" % (pref, syspref[pref]) + + if '@MOZ_APP_NAME@' == 'thunderbird-trunk': + report["Channel"] = 'nightly' + append_tag('nightly-channel') + if report["SourcePackage"] == 'thunderbird-trunk': + report["SourcePackage"] = 'thunderbird' + else: + channelpref = PrefFile("@MOZ_LIBDIR@/defaults/pref/channel-prefs.js", whitelist = [ r'app\.update\.channel' ]) + if channelpref.available == False: + report["Channel"] = 'release' + else: + if "app.update.channel" in channelpref: + report["Channel"] = channelpref["app.update.channel"] + append_tag(channelpref["app.update.channel"] + '-channel') + else: + report["Channel"] = 'Unavailable' + + if os.path.exists('/sys/bus/pci'): + report['Lspci'] = command_output(['lspci','-vvnn']) + attach_alsa(report) + attach_network(report) + attach_wifi(report) + + # XXX: Apparmor stuff disabled for Thunderbird + # Get apparmor stuff if the profile isn't disabled. copied from + # source_apparmor.py until apport runs hooks via attach_related_packages + #apparmor_disable_dir = "/etc/apparmor.d/disable" + #add_apparmor = True + #if os.path.isdir(apparmor_disable_dir): + # for f in os.listdir(apparmor_disable_dir): + # if f.startswith("usr.bin.@MOZ_APP_NAME@"): + # add_apparmor = False + # break + #if add_apparmor: + # attach_related_packages(report, ['apparmor', 'libapparmor1', + # 'libapparmor-perl', 'apparmor-utils', 'auditd', 'libaudit0']) + + # attach_file(report, '/proc/version_signature', 'ProcVersionSignature') + # attach_file(report, '/proc/cmdline', 'ProcCmdline') + + # sec_re = re.compile('audit\(|apparmor|selinux|security', re.IGNORECASE) + # report['KernLog'] = recent_kernlog(sec_re) + + # if os.path.exists("/var/log/audit"): + # # this needs to be run as root + # report['AuditLog'] = recent_auditlog(sec_re) + + +if __name__ == "__main__": + import apport + from apport import packaging + D = {} + D['Package'] = 'thunderbird' + add_info(D, None) + for KEY in D.keys(): + print '''-------------------%s: ------------------\n''' % KEY, D[KEY]