diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed00f97 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/thunderbird-31.4.0.source.tar.bz2 +SOURCES/thunderbird-langpacks-31.4.0-20150110.tar.bz2 diff --git a/.thunderbird.metadata b/.thunderbird.metadata new file mode 100644 index 0000000..ad1b388 --- /dev/null +++ b/.thunderbird.metadata @@ -0,0 +1,2 @@ +00b55e28f55b84e3cd257407d797e07a363aeef8 SOURCES/thunderbird-31.4.0.source.tar.bz2 +f81e15a751f44f7e08c45c2d1f4495336929bc6d SOURCES/thunderbird-langpacks-31.4.0-20150110.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/find-external-requires b/SOURCES/find-external-requires new file mode 100644 index 0000000..d79db1d --- /dev/null +++ b/SOURCES/find-external-requires @@ -0,0 +1,23 @@ +#!/bin/sh + +# Finds requirements provided outside of the current file set + +filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` + +provides=`echo $filelist | /usr/lib/rpm/find-provides` + +{ +for f in $filelist ; do + echo $f | /usr/lib/rpm/find-requires | while read req ; do + found=0 + for p in $provides ; do + if [ "$req" = "$p" ]; then + found=1 + fi + done + if [ "$found" = "0" ]; then + echo $req + fi + done +done +} | sort -u \ No newline at end of file diff --git a/SOURCES/mozilla-1097550-dict-fix.patch b/SOURCES/mozilla-1097550-dict-fix.patch new file mode 100644 index 0000000..f0001f1 --- /dev/null +++ b/SOURCES/mozilla-1097550-dict-fix.patch @@ -0,0 +1,59 @@ +diff -up comm-esr31/mozilla/editor/composer/src/nsEditorSpellCheck.cpp.dict-fix comm-esr31/mozilla/editor/composer/src/nsEditorSpellCheck.cpp +--- comm-esr31/mozilla/editor/composer/src/nsEditorSpellCheck.cpp.dict-fix 2014-11-27 23:16:41.000000000 +0100 ++++ comm-esr31/mozilla/editor/composer/src/nsEditorSpellCheck.cpp 2014-12-11 13:06:02.679106492 +0100 +@@ -102,6 +102,23 @@ GetLoadContext(nsIEditor* aEditor) + } + + /** ++ * Helper function for converting underscore to dash in dictionary name, ++ * ie. en_CA to en-CA. This is required for some Linux distributions which ++ * use underscore as separator in system-wide installed dictionaries. ++ * We use it for nsStyleUtil::DashMatchCompare. ++ */ ++static nsString ++GetDictNameWithDash(const nsAString& aDictName) ++{ ++ nsString dictNameWithDash(aDictName); ++ int32_t underScore = dictNameWithDash.FindChar('_'); ++ if (underScore != -1) { ++ dictNameWithDash.Replace(underScore, 1, '-'); ++ } ++ return dictNameWithDash; ++} ++ ++/** + * Fetches the dictionary stored in content prefs and maintains state during the + * fetch, which is asynchronous. + */ +@@ -603,8 +620,8 @@ nsEditorSpellCheck::SetCurrentDictionary + } else { + langCode.Assign(aDictionary); + } +- +- if (mPreferredLang.IsEmpty() || !nsStyleUtil::DashMatchCompare(mPreferredLang, langCode, comparator)) { ++ if (mPreferredLang.IsEmpty() || ++ !nsStyleUtil::DashMatchCompare(GetDictNameWithDash(mPreferredLang), langCode, comparator)) { + // When user sets dictionary manually, we store this value associated + // with editor url. + StoreCurrentDictionary(mEditor, aDictionary); +@@ -790,8 +807,8 @@ nsEditorSpellCheck::DictionaryFetched(Di + + // try dictionary.spellchecker preference if it starts with langCode (and + // if we haven't tried it already) +- if (!preferedDict.IsEmpty() && !dictName.Equals(preferedDict) && +- nsStyleUtil::DashMatchCompare(preferedDict, langCode, comparator)) { ++ if (!preferedDict.IsEmpty() && !dictName.Equals(preferedDict) && ++ nsStyleUtil::DashMatchCompare(GetDictNameWithDash(preferedDict), langCode, comparator)) { + rv = SetCurrentDictionary(preferedDict); + } + +@@ -819,8 +836,7 @@ nsEditorSpellCheck::DictionaryFetched(Di + // We have already tried it + continue; + } +- +- if (nsStyleUtil::DashMatchCompare(dictStr, langCode, comparator) && ++ if (nsStyleUtil::DashMatchCompare(GetDictNameWithDash(dictStr), langCode, comparator) && + NS_SUCCEEDED(SetCurrentDictionary(dictStr))) { + break; + } diff --git a/SOURCES/mozilla-858919.patch b/SOURCES/mozilla-858919.patch new file mode 100644 index 0000000..6e62b81 --- /dev/null +++ b/SOURCES/mozilla-858919.patch @@ -0,0 +1,272 @@ +# HG changeset patch +# Parent b17cad2d1e5e6bcb5a10096d51d07ea8a79b6921 +# User Martin Stransky +Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt + +diff --git a/toolkit/system/gnome/moz.build b/toolkit/system/gnome/moz.build +--- a/toolkit/system/gnome/moz.build ++++ b/toolkit/system/gnome/moz.build +@@ -1,15 +1,17 @@ + # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- + # vim: set filetype=python: + # This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + SOURCES += [ ++ 'nsAlertsIconListener.cpp', ++ 'nsAlertsService.cpp', + 'nsGnomeModule.cpp', + ] + + if CONFIG['MOZ_ENABLE_GCONF']: + SOURCES += [ + 'nsGConfService.cpp', + ] + +diff --git a/toolkit/system/gnome/nsAlertsIconListener.h b/toolkit/system/gnome/nsAlertsIconListener.h +new file mode 100644 +--- /dev/null ++++ b/toolkit/system/gnome/nsAlertsIconListener.h +@@ -0,0 +1,89 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * License, v. 2.0. If a copy of the MPL was not distributed with this ++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ ++ ++#ifndef nsAlertsIconListener_h__ ++#define nsAlertsIconListener_h__ ++ ++#include "nsCOMPtr.h" ++#include "imgINotificationObserver.h" ++#include "nsStringAPI.h" ++#include "nsIObserver.h" ++#include "nsWeakReference.h" ++ ++#include ++ ++class imgIRequest; ++ ++struct NotifyNotification; ++ ++class nsAlertsIconListener : public imgINotificationObserver, ++ public nsIObserver, ++ public nsSupportsWeakReference ++{ ++public: ++ NS_DECL_ISUPPORTS ++ NS_DECL_IMGINOTIFICATIONOBSERVER ++ NS_DECL_NSIOBSERVER ++ ++ nsAlertsIconListener(); ++ ++ nsresult InitAlertAsync(const nsAString & aImageUrl, ++ const nsAString & aAlertTitle, ++ const nsAString & aAlertText, ++ bool aAlertTextClickable, ++ const nsAString & aAlertCookie, ++ nsIObserver * aAlertListener); ++ ++ void SendCallback(); ++ void SendClosed(); ++ ++protected: ++ virtual ~nsAlertsIconListener(); ++ ++ nsresult OnStopRequest(imgIRequest* aRequest); ++ nsresult OnStopFrame(imgIRequest* aRequest); ++ ++ /** ++ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols ++ * is that notify_notification_new takes three arguments in libnotify.so.4 and ++ * four in libnotify.so.1. ++ * Passing the fourth argument as NULL is binary compatible. ++ */ ++ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer); ++ typedef bool (*notify_is_initted_t)(void); ++ typedef bool (*notify_init_t)(const char*); ++ typedef GList* (*notify_get_server_caps_t)(void); ++ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*); ++ typedef bool (*notify_notification_show_t)(void*, char*); ++ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*); ++ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc); ++ ++ nsCOMPtr mIconRequest; ++ nsCString mAlertTitle; ++ nsCString mAlertText; ++ ++ nsCOMPtr mAlertListener; ++ nsString mAlertCookie; ++ ++ bool mLoadedFrame; ++ bool mAlertHasAction; ++ ++ static void* libNotifyHandle; ++ static bool libNotifyNotAvail; ++ static notify_is_initted_t notify_is_initted; ++ static notify_init_t notify_init; ++ static notify_get_server_caps_t notify_get_server_caps; ++ static notify_notification_new_t notify_notification_new; ++ static notify_notification_show_t notify_notification_show; ++ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf; ++ static notify_notification_add_action_t notify_notification_add_action; ++ NotifyNotification* mNotification; ++ gulong mClosureHandler; ++ ++ nsresult StartRequest(const nsAString & aImageUrl); ++ nsresult ShowAlert(GdkPixbuf* aPixbuf); ++}; ++ ++#endif +diff --git a/toolkit/system/gnome/nsAlertsService.cpp b/toolkit/system/gnome/nsAlertsService.cpp +new file mode 100644 +--- /dev/null ++++ b/toolkit/system/gnome/nsAlertsService.cpp +@@ -0,0 +1,53 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * License, v. 2.0. If a copy of the MPL was not distributed with this ++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ ++ ++#include "nsXULAppAPI.h" ++#include "nsAlertsService.h" ++#include "nsAlertsIconListener.h" ++#include "nsAutoPtr.h" ++ ++NS_IMPL_ADDREF(nsAlertsService) ++NS_IMPL_RELEASE(nsAlertsService) ++ ++NS_INTERFACE_MAP_BEGIN(nsAlertsService) ++ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService) ++ NS_INTERFACE_MAP_ENTRY(nsIAlertsService) ++NS_INTERFACE_MAP_END_THREADSAFE ++ ++nsAlertsService::nsAlertsService() ++{ ++} ++ ++nsAlertsService::~nsAlertsService() ++{} ++ ++nsresult ++nsAlertsService::Init() ++{ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle, ++ const nsAString & aAlertText, bool aAlertTextClickable, ++ const nsAString & aAlertCookie, ++ nsIObserver * aAlertListener, ++ const nsAString & aAlertName, ++ const nsAString & aBidi, ++ const nsAString & aLang, ++ nsIPrincipal * aPrincipal) ++{ ++ nsRefPtr alertListener = new nsAlertsIconListener(); ++ if (!alertListener) ++ return NS_ERROR_OUT_OF_MEMORY; ++ ++ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, ++ aAlertCookie, aAlertListener); ++} ++ ++NS_IMETHODIMP nsAlertsService::CloseAlert(const nsAString& aAlertName, ++ nsIPrincipal* aPrincipal) ++{ ++ return NS_ERROR_NOT_IMPLEMENTED; ++} +diff --git a/toolkit/system/gnome/nsAlertsService.h b/toolkit/system/gnome/nsAlertsService.h +new file mode 100644 +--- /dev/null ++++ b/toolkit/system/gnome/nsAlertsService.h +@@ -0,0 +1,27 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * License, v. 2.0. If a copy of the MPL was not distributed with this ++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ ++ ++#ifndef nsAlertsService_h__ ++#define nsAlertsService_h__ ++ ++#include "nsIAlertsService.h" ++#include "nsCOMPtr.h" ++ ++class nsAlertsService : public nsIAlertsService ++{ ++public: ++ NS_DECL_NSIALERTSSERVICE ++ NS_DECL_ISUPPORTS ++ ++ nsAlertsService(); ++ ++ nsresult Init(); ++ ++protected: ++ virtual ~nsAlertsService(); ++ ++}; ++ ++#endif /* nsAlertsService_h__ */ +diff --git a/toolkit/system/gnome/nsGnomeModule.cpp b/toolkit/system/gnome/nsGnomeModule.cpp +--- a/toolkit/system/gnome/nsGnomeModule.cpp ++++ b/toolkit/system/gnome/nsGnomeModule.cpp +@@ -17,53 +17,58 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGC + NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init) + #endif + #ifdef MOZ_ENABLE_GIO + #include "nsGIOService.h" + #include "nsGSettingsService.h" + NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService) + NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init) + #endif ++#include "nsAlertsService.h" ++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAlertsService, Init) + + #ifdef MOZ_ENABLE_GCONF + NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID); + #endif + #ifdef MOZ_ENABLE_GNOMEVFS + NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID); + #endif + #ifdef MOZ_ENABLE_GIO + NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID); + NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID); + #endif ++NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID); + + static const mozilla::Module::CIDEntry kGnomeCIDs[] = { + #ifdef MOZ_ENABLE_GCONF + { &kNS_GCONFSERVICE_CID, false, nullptr, nsGConfServiceConstructor }, + #endif + #ifdef MOZ_ENABLE_GNOMEVFS + { &kNS_GNOMEVFSSERVICE_CID, false, nullptr, nsGnomeVFSServiceConstructor }, + #endif + #ifdef MOZ_ENABLE_GIO + { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor }, + { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor }, + #endif ++ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor }, + { nullptr } + }; + + static const mozilla::Module::ContractIDEntry kGnomeContracts[] = { + #ifdef MOZ_ENABLE_GCONF + { NS_GCONFSERVICE_CONTRACTID, &kNS_GCONFSERVICE_CID }, + #endif + #ifdef MOZ_ENABLE_GNOMEVFS + { NS_GNOMEVFSSERVICE_CONTRACTID, &kNS_GNOMEVFSSERVICE_CID }, + #endif + #ifdef MOZ_ENABLE_GIO + { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID }, + { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID }, + #endif ++ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID }, + { nullptr } + }; + + static nsresult + InitGType () + { + g_type_init(); + return NS_OK; diff --git a/SOURCES/mozilla-build-arm.patch b/SOURCES/mozilla-build-arm.patch new file mode 100644 index 0000000..f98cbe3 --- /dev/null +++ b/SOURCES/mozilla-build-arm.patch @@ -0,0 +1,12 @@ +diff -up firefox-29.0/mozilla-release/gfx/ycbcr/moz.build.arm firefox-29.0/mozilla-release/gfx/ycbcr/moz.build +--- firefox-29.0/mozilla-release/gfx/ycbcr/moz.build.arm 2014-04-22 07:27:47.000000000 +0200 ++++ firefox-29.0/mozilla-release/gfx/ycbcr/moz.build 2014-04-22 16:40:34.862849368 +0200 +@@ -61,7 +61,7 @@ else: + 'yuv_row_other.cpp', + ] + +-if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']: ++if CONFIG['HAVE_ARM_NEON']: + SOURCES += [ + 'yuv_row_arm.s', + ] diff --git a/SOURCES/ppc64le-build.patch b/SOURCES/ppc64le-build.patch new file mode 100644 index 0000000..5802580 --- /dev/null +++ b/SOURCES/ppc64le-build.patch @@ -0,0 +1,1966 @@ +From 3480f36d80a89e0b337b1eef7641a1975f4b15fd Mon Sep 17 00:00:00 2001 +From: Gustavo Luiz Duarte +Date: Fri, 11 Apr 2014 13:07:49 -0500 +Subject: [PATCH 1/4] ppc64le build support + +--- + ldap/sdks/c-sdk/config/autoconf/config.guess | 637 +++++++++++++++------------ + ldap/sdks/c-sdk/config/autoconf/config.sub | 459 +++++++++++++------ + mozilla/build/autoconf/config.guess | 499 +++++++++++---------- + mozilla/build/autoconf/config.sub | 305 ++++++++----- + mozilla/configure.in | 2 +- + mozilla/js/src/build/autoconf/config.guess | 499 +++++++++++---------- + mozilla/js/src/build/autoconf/config.sub | 305 ++++++++----- + mozilla/js/src/ctypes/libffi/config.guess | 418 ++++++++++-------- + mozilla/js/src/ctypes/libffi/config.sub | 305 ++++++++----- + 9 files changed, 2052 insertions(+), 1377 deletions(-) + +diff --git a/ldap/sdks/c-sdk/config/autoconf/config.guess b/ldap/sdks/c-sdk/config/autoconf/config.guess +index a20b311..9afd676 100644 +--- a/ldap/sdks/c-sdk/config/autoconf/config.guess ++++ b/ldap/sdks/c-sdk/config/autoconf/config.guess +@@ -1,13 +1,12 @@ + #! /bin/sh + # Attempt to guess a canonical system name. +-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ++# Copyright 1992-2013 Free Software Foundation, Inc. + +-timestamp='2005-10-13' ++timestamp='2013-11-29' + + # This file 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 ++# the Free Software Foundation; either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -16,26 +15,22 @@ timestamp='2005-10-13' + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a + # configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. +- +- +-# Originally written by Per Bothner . +-# Please send patches to . Submit a context +-# diff and a properly formatted ChangeLog entry. ++# the same distribution terms that you use for the rest of that ++# program. This Exception is an additional permission under section 7 ++# of the GNU General Public License, version 3 ("GPLv3"). ++# ++# Originally written by Per Bothner. + # +-# This script attempts to guess a canonical system name similar to +-# config.sub. If it succeeds, it prints the system name on stdout, and +-# exits with 0. Otherwise, it exits with 1. ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + # +-# The plan is that this can be called by configure scripts if you +-# don't specify an explicit build system type. ++# Please send patches with a ChangeLog entry to config-patches@gnu.org. ++ + + me=`echo "$0" | sed -e 's,.*/,,'` + +@@ -55,8 +50,7 @@ version="\ + GNU config.guess ($timestamp) + + Originally written by Per Bothner. +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +-Free Software Foundation, Inc. ++Copyright 1992-2013 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -106,7 +100,7 @@ set_cc_for_build=' + trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; + trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; + : ${TMPDIR=/tmp} ; +- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || ++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +@@ -138,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown + UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown + UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + ++case "${UNAME_SYSTEM}" in ++Linux|GNU|GNU/*) ++ # If the system lacks a compiler, then just pick glibc. ++ # We could probably try harder. ++ LIBC=gnu ++ ++ eval $set_cc_for_build ++ cat <<-EOF > $dummy.c ++ #include ++ #if defined(__UCLIBC__) ++ LIBC=uclibc ++ #elif defined(__dietlibc__) ++ LIBC=dietlibc ++ #else ++ LIBC=gnu ++ #endif ++ EOF ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ++ ;; ++esac ++ + # Note: order is significant - the case branches are not exclusive. + + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or +- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward +@@ -160,6 +175,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; ++ sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched +@@ -168,7 +184,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ +- | grep __ELF__ >/dev/null ++ | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? +@@ -178,7 +194,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + fi + ;; + *) +- os=netbsd ++ os=netbsd + ;; + esac + # The OS release +@@ -199,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +@@ -206,8 +226,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; ++ *:SolidBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} ++ exit ;; + macppc:MirBSD:*:*) +- echo powerppc-unknown-mirbsd${UNAME_RELEASE} ++ echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} +@@ -218,7 +241,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) +- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on +@@ -264,7 +287,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- exit ;; ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ exitcode=$? ++ trap '' 0 ++ exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead +@@ -290,12 +316,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) +- echo powerpc-ibm-os400 ++ echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; +- arm:riscos:*:*|arm:RISCOS:*:*) ++ arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +@@ -319,14 +345,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; ++ s390x:SunOS:*:*) ++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; +- i86pc:SunOS:5.*:*) +- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) ++ echo i386-pc-auroraux${UNAME_RELEASE} ++ exit ;; ++ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) ++ eval $set_cc_for_build ++ SUN_ARCH="i386" ++ # If there is a compiler, see if it is configured for 64-bit objects. ++ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. ++ # This test works for both compilers. ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ SUN_ARCH="x86_64" ++ fi ++ fi ++ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize +@@ -370,23 +415,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) +- echo m68k-milan-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) +- echo m68k-hades-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) +- echo m68k-unknown-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; +@@ -456,8 +501,8 @@ EOF + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) +- # DG/UX returns AViiON for all architectures +- UNAME_PROCESSOR=`/usr/bin/uname -p` ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +@@ -470,7 +515,7 @@ EOF + else + echo i586-dg-dgux${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; +@@ -527,7 +572,7 @@ EOF + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[45]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -570,52 +615,52 @@ EOF + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` +- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` +- case "${sc_cpu_version}" in +- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 +- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 +- 532) # CPU_PA_RISC2_0 +- case "${sc_kernel_bits}" in +- 32) HP_ARCH="hppa2.0n" ;; +- 64) HP_ARCH="hppa2.0w" ;; ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 +- esac ;; +- esac ++ esac ;; ++ esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ sed 's/^ //' << EOF >$dummy.c + +- #define _HPUX_SOURCE +- #include +- #include ++ #define _HPUX_SOURCE ++ #include ++ #include + +- int main () +- { +- #if defined(_SC_KERNEL_BITS) +- long bits = sysconf(_SC_KERNEL_BITS); +- #endif +- long cpu = sysconf (_SC_CPU_VERSION); ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); + +- switch (cpu) +- { +- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; +- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; +- case CPU_PA_RISC2_0: +- #if defined(_SC_KERNEL_BITS) +- switch (bits) +- { +- case 64: puts ("hppa2.0w"); break; +- case 32: puts ("hppa2.0n"); break; +- default: puts ("hppa2.0"); break; +- } break; +- #else /* !defined(_SC_KERNEL_BITS) */ +- puts ("hppa2.0"); break; +- #endif +- default: puts ("hppa1.0"); break; +- } +- exit (0); +- } ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } + EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa +@@ -635,7 +680,7 @@ EOF + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | +- grep __LP64__ >/dev/null ++ grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else +@@ -706,22 +751,22 @@ EOF + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd +- exit ;; ++ exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi +- exit ;; ++ exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd +- exit ;; ++ exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd +- exit ;; ++ exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd +- exit ;; ++ exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; +@@ -745,14 +790,14 @@ EOF + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit ;; + 5000:UNIX_System_V:4.*:*) +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` +- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` ++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +@@ -764,33 +809,51 @@ EOF + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ case ${UNAME_PROCESSOR} in ++ amd64) ++ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ *) ++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; +- i*:MINGW*:*) ++ *:MINGW64*:*) ++ echo ${UNAME_MACHINE}-pc-mingw64 ++ exit ;; ++ *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; +-#### MozillaHack +-# Netscape's hacked uname +- xx:WINNT:* | xx:WIN95:*) +- echo i586-pc-msvc ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys + exit ;; +-### End MozillaHack + i*:windows32*:*) +- # uname -m includes "-pc" on this system. +- echo ${UNAME_MACHINE}-mingw32 ++ # uname -m includes "-pc" on this system. ++ echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; +- x86:Interix*:[34]*) +- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' +- exit ;; ++ *:Interix*:*) ++ case ${UNAME_MACHINE} in ++ x86) ++ echo i586-pc-interix${UNAME_RELEASE} ++ exit ;; ++ authenticamd | genuineintel | EM64T) ++ echo x86_64-unknown-interix${UNAME_RELEASE} ++ exit ;; ++ IA64) ++ echo ia64-unknown-interix${UNAME_RELEASE} ++ exit ;; ++ esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; ++ 8664:Windows_NT:*) ++ echo x86_64-pc-mks ++ exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we +@@ -811,182 +874,157 @@ EOF + exit ;; + *:GNU:*:*) + # the GNU system +- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` ++ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland +- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu ++ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; ++ aarch64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ alpha:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ EV5) UNAME_MACHINE=alphaev5 ;; ++ EV56) UNAME_MACHINE=alphaev56 ;; ++ PCA56) UNAME_MACHINE=alphapca56 ;; ++ PCA57) UNAME_MACHINE=alphapca56 ;; ++ EV6) UNAME_MACHINE=alphaev6 ;; ++ EV67) UNAME_MACHINE=alphaev67 ;; ++ EV68*) UNAME_MACHINE=alphaev68 ;; ++ esac ++ objdump --private-headers /bin/sh | grep -q ld.so.1 ++ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ arc:Linux:*:* | arceb:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; + arm*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ eval $set_cc_for_build ++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_EABI__ ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ else ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi ++ else ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf ++ fi ++ fi ++ exit ;; ++ avr32*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) +- echo cris-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) +- echo crisv32-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + frv:Linux:*:*) +- echo frv-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ hexagon:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ i*86:Linux:*:*) ++ echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + ia64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; +- mips:Linux:*:*) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c +- #undef CPU +- #undef mips +- #undef mipsel +- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=mipsel +- #else +- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=mips +- #else +- CPU= +- #endif +- #endif +-EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` +- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } +- ;; +- mips64:Linux:*:*) ++ mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU +- #undef mips64 +- #undef mips64el ++ #undef ${UNAME_MACHINE} ++ #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=mips64el ++ CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=mips64 ++ CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif + EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` +- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` ++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; ++ or1k:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; + or32:Linux:*:*) +- echo or32-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; +- ppc:Linux:*:*) +- echo powerpc-unknown-linux-gnu ++ padre:Linux:*:*) ++ echo sparc-unknown-linux-${LIBC} + exit ;; +- ppc64:Linux:*:*) +- echo powerpc64-unknown-linux-gnu +- exit ;; +- alpha:Linux:*:*) +- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in +- EV5) UNAME_MACHINE=alphaev5 ;; +- EV56) UNAME_MACHINE=alphaev56 ;; +- PCA56) UNAME_MACHINE=alphapca56 ;; +- PCA57) UNAME_MACHINE=alphapca56 ;; +- EV6) UNAME_MACHINE=alphaev6 ;; +- EV67) UNAME_MACHINE=alphaev67 ;; +- EV68*) UNAME_MACHINE=alphaev68 ;; +- esac +- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null +- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi +- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ parisc64:Linux:*:* | hppa64:Linux:*:*) ++ echo hppa64-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in +- PA7*) echo hppa1.1-unknown-linux-gnu ;; +- PA8*) echo hppa2.0-unknown-linux-gnu ;; +- *) echo hppa-unknown-linux-gnu ;; ++ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; ++ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; ++ *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; +- parisc64:Linux:*:* | hppa64:Linux:*:*) +- echo hppa64-unknown-linux-gnu ++ ppc64:Linux:*:*) ++ echo powerpc64-unknown-linux-${LIBC} ++ exit ;; ++ ppc:Linux:*:*) ++ echo powerpc-unknown-linux-${LIBC} ++ exit ;; ++ ppc64le:Linux:*:*) ++ echo powerpc64le-unknown-linux-${LIBC} ++ exit ;; ++ ppcle:Linux:*:*) ++ echo powerpcle-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) +- echo ${UNAME_MACHINE}-ibm-linux ++ echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ tile*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ vax:Linux:*:*) ++ echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) +- echo x86_64-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ xtensa*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; +- i*86:Linux:*:*) +- # The BFD linker knows what the default object file format is, so +- # first see if it will tell us. cd to the root directory to prevent +- # problems with other programs or directories called `ld' in the path. +- # Set LC_ALL=C to ensure ld outputs messages in English. +- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ +- | sed -ne '/supported targets:/!d +- s/[ ][ ]*/ /g +- s/.*supported targets: *// +- s/ .*// +- p'` +- case "$ld_supported_targets" in +- elf32-i386) +- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" +- ;; +- a.out-i386-linux) +- echo "${UNAME_MACHINE}-pc-linux-gnuaout" +- exit ;; +- coff-i386) +- echo "${UNAME_MACHINE}-pc-linux-gnucoff" +- exit ;; +- "") +- # Either a pre-BFD a.out linker (linux-gnuoldld) or +- # one that does not give us useful --help. +- echo "${UNAME_MACHINE}-pc-linux-gnuoldld" +- exit ;; +- esac +- # Determine whether the default compiler is a.out or elf +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c +- #include +- #ifdef __ELF__ +- # ifdef __GLIBC__ +- # if __GLIBC__ >= 2 +- LIBC=gnu +- # else +- LIBC=gnulibc1 +- # endif +- # else +- LIBC=gnulibc1 +- # endif +- #else +- #ifdef __INTEL_COMPILER +- LIBC=gnu +- #else +- LIBC=gnuaout +- #endif +- #endif +- #ifdef __dietlibc__ +- LIBC=dietlibc +- #endif +-EOF +- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` +- test x"${LIBC}" != x && { +- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" +- exit +- } +- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } +- ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both +@@ -994,11 +1032,11 @@ EOF + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) +- # Unixware is an offshoot of SVR4, but it has its own version +- # number series starting with 2... +- # I am not positive that other SVR4 systems won't match this, ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. +- # Use sysv4.2uw... so that sysv4* matches it. ++ # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) +@@ -1015,7 +1053,7 @@ EOF + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; +- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) ++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) +@@ -1030,7 +1068,7 @@ EOF + fi + exit ;; + i*86:*:5:[678]*) +- # UnixWare 7.x, OpenUNIX and OpenServer 6. ++ # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; +@@ -1058,10 +1096,13 @@ EOF + exit ;; + pc:*:*:*) + # Left here for compatibility: +- # uname -m prints for DJGPP always 'pc', but it prints nothing about +- # the processor, so we play safe by assuming i386. +- echo i386-pc-msdosdjgpp +- exit ;; ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i586. ++ # Note: whatever this is, it MUST be the same as what config.sub ++ # prints for the "djgpp" host, or else GDB configury will decide that ++ # this is a cross-build. ++ echo i586-pc-msdosdjgpp ++ exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; +@@ -1096,8 +1137,18 @@ EOF + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4; exit; } ;; ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4; exit; } ;; ++ NCR*:*:4.2:* | MPRAS*:*:4.2:*) ++ OS_REL='.3' ++ test -r /etc/.relid \ ++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; +@@ -1110,7 +1161,7 @@ EOF + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; +- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) ++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) +@@ -1130,20 +1181,10 @@ EOF + echo ns32k-sni-sysv + fi + exit ;; +- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort +- # says +- echo i586-unisys-sysv4 +- exit ;; +-#### MozillaHack +- *:*OpenVMS*:*:*) +- case "${UNAME_SYSTEM}" in +- POSIX_for_OpenVMS_AXP) echo alpha-dec-openvmsposix ;; +- POSIX_for_OpenVMS_VAX) echo vax-dec-openvmsposix ;; +- OpenVMS) echo alpha-dec-openvms ;; +- *) echo unknown-dec-openvms ;; +- esac +- exit ;; +-#### End MozillaHack ++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm +@@ -1169,11 +1210,11 @@ EOF + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then +- echo mips-nec-sysv${UNAME_RELEASE} ++ echo mips-nec-sysv${UNAME_RELEASE} + else +- echo mips-unknown-sysv${UNAME_RELEASE} ++ echo mips-unknown-sysv${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; +@@ -1183,6 +1224,12 @@ EOF + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; ++ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. ++ echo i586-pc-haiku ++ exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; +@@ -1192,6 +1239,15 @@ EOF + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; ++ SX-7:SUPER-UX:*:*) ++ echo sx7-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-8:SUPER-UX:*:*) ++ echo sx8-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-8R:SUPER-UX:*:*) ++ echo sx8r-nec-superux${UNAME_RELEASE} ++ exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; +@@ -1200,9 +1256,31 @@ EOF + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown +- case $UNAME_PROCESSOR in +- unknown) UNAME_PROCESSOR=powerpc ;; +- esac ++ eval $set_cc_for_build ++ if test "$UNAME_PROCESSOR" = unknown ; then ++ UNAME_PROCESSOR=powerpc ++ fi ++ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ case $UNAME_PROCESSOR in ++ i386) UNAME_PROCESSOR=x86_64 ;; ++ powerpc) UNAME_PROCESSOR=powerpc64 ;; ++ esac ++ fi ++ fi ++ elif test "$UNAME_PROCESSOR" = i386 ; then ++ # Avoid executing cc on OS X 10.9, as it ships with a stub ++ # that puts up a graphical alert prompting to install ++ # developer tools. Any system running Mac OS X 10.7 or ++ # later (Darwin 11 and later) is required to have a 64-bit ++ # processor. This is not true of the ARM version of Darwin ++ # that Apple uses in portable devices. ++ UNAME_PROCESSOR=x86_64 ++ fi + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) +@@ -1216,7 +1294,10 @@ EOF + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; +- NSE-?:NONSTOP_KERNEL:*:*) ++ NEO-?:NONSTOP_KERNEL:*:*) ++ echo neo-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) +@@ -1261,13 +1342,13 @@ EOF + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) +- echo mips-sei-seiux${UNAME_RELEASE} ++ echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) +- UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; +@@ -1279,11 +1360,17 @@ EOF + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; ++ i*86:rdos:*:*) ++ echo ${UNAME_MACHINE}-pc-rdos ++ exit ;; ++ i*86:AROS:*:*) ++ echo ${UNAME_MACHINE}-pc-aros ++ exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; + esac + +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- + eval $set_cc_for_build + cat >$dummy.c < + printf ("m68k-sony-newsos%s\n", + #ifdef NEWSOS4 +- "4" ++ "4" + #else +- "" ++ "" + #endif +- ); exit (0); ++ ); exit (0); + #endif + #endif + +@@ -1439,9 +1526,9 @@ This script, last modified $timestamp, has failed to recognize + the operating system you are using. It is advised that you + download the most up to date version of the config scripts from + +- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess ++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + and +- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub ++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + + If the version you run ($0) is already up to date, please + send the following data and any information you think might be +diff --git a/ldap/sdks/c-sdk/config/autoconf/config.sub b/ldap/sdks/c-sdk/config/autoconf/config.sub +index 4900684..ece8142 100644 +--- a/ldap/sdks/c-sdk/config/autoconf/config.sub ++++ b/ldap/sdks/c-sdk/config/autoconf/config.sub +@@ -1,43 +1,40 @@ + #! /bin/sh + # Configuration validation subroutine script. +-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ++# Copyright 1992-2013 Free Software Foundation, Inc. + +-timestamp='2005-10-13' ++timestamp='2013-10-01' + +-# This file is (in principle) common to ALL GNU software. +-# The presence of a machine in this file suggests that SOME GNU software +-# can handle that machine. It does not imply ALL GNU software can. +-# +-# This file 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 ++# This file 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 3 of the License, or + # (at your option) any later version. + # +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a + # configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. ++# the same distribution terms that you use for the rest of that ++# program. This Exception is an additional permission under section 7 ++# of the GNU General Public License, version 3 ("GPLv3"). + + +-# Please send patches to . Submit a context +-# diff and a properly formatted ChangeLog entry. ++# Please send patches with a ChangeLog entry to config-patches@gnu.org. + # + # Configuration subroutine to validate and canonicalize a configuration type. + # Supply the specified configuration type as an argument. + # If it is invalid, we print an error message on stderr and exit with code 1. + # Otherwise, we print the canonical config type on stdout and succeed. + ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD ++ + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases + # that are meaningful with *any* GNU software. +@@ -71,8 +68,7 @@ Report bugs and patches to ." + version="\ + GNU config.sub ($timestamp) + +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +-Free Software Foundation, Inc. ++Copyright 1992-2013 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -119,11 +115,18 @@ esac + # Here we must recognize all the valid KERNEL-OS combinations. + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` + case $maybe_os in +- nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ +- kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) ++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ ++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ ++ knetbsd*-gnu* | netbsd*-gnu* | \ ++ kopensolaris*-gnu* | \ ++ storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; ++ android-linux) ++ os=-linux-android ++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ++ ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] +@@ -146,10 +149,13 @@ case $os in + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ +- -apple | -axis | -knuth | -cray) ++ -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; ++ -bluegene*) ++ os=-cnk ++ ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 +@@ -164,13 +170,17 @@ case $os in + os=-chorusos + basic_machine=$1 + ;; +- -chorusrdb) +- os=-chorusrdb ++ -chorusrdb) ++ os=-chorusrdb + basic_machine=$1 +- ;; ++ ;; + -hiux*) + os=-hiuxwe2 + ;; ++ -sco6) ++ os=-sco5v6 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +@@ -187,6 +197,10 @@ case $os in + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; ++ -sco5v6*) ++ # Don't forget version if it is 3.2v4 or newer. ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +@@ -204,6 +218,12 @@ case $os in + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; ++ -lynx*178) ++ os=-lynxos178 ++ ;; ++ -lynx*5) ++ os=-lynxos5 ++ ;; + -lynx*) + os=-lynxos + ;; +@@ -226,28 +246,37 @@ esac + case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. +-#### MozillaHack +-# mips*el +-#### End MozillaHack + 1750a | 580 \ + | a29k \ ++ | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ +- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ ++ | arc | arceb \ ++ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ ++ | avr | avr32 \ ++ | be32 | be64 \ + | bfin \ +- | c4x | clipper \ ++ | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ +- | fr30 | frv \ ++ | epiphany \ ++ | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ +- | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ +- | mips | mipsbe | mipseb | mips*el | mipsle \ ++ | k1om \ ++ | le32 | le64 \ ++ | lm32 \ ++ | m32c | m32r | m32rle | m68000 | m68k | m88k \ ++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ ++ | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ +- | mips64vr | mips64vrel \ ++ | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ ++ | mips64r5900 | mips64r5900el \ ++ | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ +@@ -258,37 +287,68 @@ case $basic_machine in + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ ++ | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ +- | ms1 \ ++ | moxie \ ++ | mt \ + | msp430 \ ++ | nds32 | nds32le | nds32be \ ++ | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ +- | or32 \ ++ | open8 \ ++ | or1k | or32 \ + | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ +- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ ++ | rl78 | rx \ ++ | score \ ++ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ +- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ +- | sparcv8 | sparcv9 | sparcv9b \ +- | strongarm \ +- | tahoe | thumb | tic4x | tic80 | tron \ +- | v850 | v850e \ ++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ ++ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ ++ | spu \ ++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ ++ | ubicom32 \ ++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ +- | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ +- | z8k) ++ | x86 | xc16x | xstormy16 | xtensa \ ++ | z8k | z80) + basic_machine=$basic_machine-unknown + ;; +- m32c) +- basic_machine=$basic_machine-unknown ++ c54x) ++ basic_machine=tic54x-unknown ++ ;; ++ c55x) ++ basic_machine=tic55x-unknown + ;; +- m6811 | m68hc11 | m6812 | m68hc12) +- # Motorola 68HC11/12. ++ c6x) ++ basic_machine=tic6x-unknown ++ ;; ++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; ++ ms1) ++ basic_machine=mt-unknown ++ ;; ++ ++ strongarm | thumb | xscale) ++ basic_machine=arm-unknown ++ ;; ++ xgate) ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; ++ xscaleeb) ++ basic_machine=armeb-unknown ++ ;; ++ ++ xscaleel) ++ basic_machine=armel-unknown ++ ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and +@@ -302,34 +362,40 @@ case $basic_machine in + exit 1 + ;; + # Recognize the basic CPU types with company name. +-#### MozillaHack +-# mips*el +-#### End MozillaHack + 580-* \ + | a29k-* \ ++ | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ ++ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ +- | avr-* \ ++ | avr-* | avr32-* \ ++ | be32-* | be64-* \ + | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ +- | clipper-* | craynv-* | cydra-* \ ++ | c[123]* | c30-* | [cjt]90-* | c4x-* \ ++ | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ +- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ ++ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ ++ | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ +- | m32r-* | m32rle-* \ ++ | k1om-* \ ++ | le32-* | le64-* \ ++ | lm32-* \ ++ | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* \ +- | mips-* | mipsbe-* | mipseb-* | mips*el-* | mipsle-* \ ++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ ++ | microblaze-* | microblazeel-* \ ++ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ +- | mips64vr-* | mips64vrel-* \ ++ | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ ++ | mips64r5900-* | mips64r5900el-* \ ++ | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ +@@ -340,32 +406,41 @@ case $basic_machine in + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ ++ | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ +- | ms1-* \ ++ | mt-* \ + | msp430-* \ ++ | nds32-* | nds32le-* | nds32be-* \ ++ | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ ++ | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ ++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ +- | romp-* | rs6000-* \ +- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ ++ | rl78-* | romp-* | rs6000-* | rx-* \ ++ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ +- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ ++ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ +- | tahoe-* | thumb-* \ ++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ ++ | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ ++ | tile*-* \ + | tron-* \ +- | v850-* | v850e-* | vax-* \ ++ | ubicom32-* \ ++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ ++ | vax-* \ + | we32k-* \ +- | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ +- | xstormy16-* | xtensa-* \ ++ | x86-* | x86_64-* | xc16x-* | xps100-* \ ++ | xstormy16-* | xtensa*-* \ + | ymp-* \ +- | z8k-*) ++ | z8k-* | z80-*) + ;; +- m32c-*) ++ # Recognize the basic CPU types without company name, with glob match. ++ xtensa*) ++ basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. +@@ -383,7 +458,7 @@ case $basic_machine in + basic_machine=a29k-amd + os=-udi + ;; +- abacus) ++ abacus) + basic_machine=abacus-unknown + ;; + adobe68k) +@@ -429,6 +504,10 @@ case $basic_machine in + basic_machine=m68k-apollo + os=-bsd + ;; ++ aros) ++ basic_machine=i386-pc ++ os=-aros ++ ;; + aux) + basic_machine=m68k-apple + os=-aux +@@ -437,10 +516,35 @@ case $basic_machine in + basic_machine=ns32k-sequent + os=-dynix + ;; ++ blackfin) ++ basic_machine=bfin-unknown ++ os=-linux ++ ;; ++ blackfin-*) ++ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` ++ os=-linux ++ ;; ++ bluegene*) ++ basic_machine=powerpc-ibm ++ os=-cnk ++ ;; ++ c54x-*) ++ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c55x-*) ++ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c6x-*) ++ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; ++ cegcc) ++ basic_machine=arm-unknown ++ os=-cegcc ++ ;; + convex-c1) + basic_machine=c1-convex + os=-bsd +@@ -469,8 +573,8 @@ case $basic_machine in + basic_machine=craynv-cray + os=-unicosmp + ;; +- cr16c) +- basic_machine=cr16c-unknown ++ cr16 | cr16-*) ++ basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) +@@ -508,6 +612,10 @@ case $basic_machine in + basic_machine=m88k-motorola + os=-sysv3 + ;; ++ dicos) ++ basic_machine=i686-pc ++ os=-dicos ++ ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp +@@ -623,7 +731,6 @@ case $basic_machine in + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +-# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 +@@ -662,6 +769,14 @@ case $basic_machine in + basic_machine=m68k-isi + os=-sysv + ;; ++ m68knommu) ++ basic_machine=m68k-unknown ++ os=-linux ++ ;; ++ m68knommu-*) ++ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` ++ os=-linux ++ ;; + m88k-omron*) + basic_machine=m88k-omron + ;; +@@ -673,16 +788,21 @@ case $basic_machine in + basic_machine=ns32k-utek + os=-sysv + ;; ++ microblaze*) ++ basic_machine=microblaze-xilinx ++ ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ os=-mingw64 ++ ;; + mingw32) +- basic_machine=i386-pc ++ basic_machine=i686-pc + os=-mingw32 + ;; +-#### MozillaHack +- i386-msvc | msvc) +- basic_machine=i386-pc +- os=-msvc ++ mingw32ce) ++ basic_machine=arm-unknown ++ os=-mingw32ce + ;; +-#### End MozillaHack + miniframe) + basic_machine=m68000-convergent + ;; +@@ -708,10 +828,21 @@ case $basic_machine in + basic_machine=i386-pc + os=-msdos + ;; ++ ms1-*) ++ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ++ ;; ++ msys) ++ basic_machine=i686-pc ++ os=-msys ++ ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; ++ nacl) ++ basic_machine=le32-unknown ++ os=-nacl ++ ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 +@@ -776,6 +907,12 @@ case $basic_machine in + np1) + basic_machine=np1-gould + ;; ++ neo-tandem) ++ basic_machine=neo-tandem ++ ;; ++ nse-tandem) ++ basic_machine=nse-tandem ++ ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; +@@ -806,6 +943,14 @@ case $basic_machine in + basic_machine=i860-intel + os=-osf + ;; ++ parisc) ++ basic_machine=hppa-unknown ++ os=-linux ++ ;; ++ parisc-*) ++ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` ++ os=-linux ++ ;; + pbd) + basic_machine=sparc-tti + ;; +@@ -815,6 +960,12 @@ case $basic_machine in + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; ++ pc98) ++ basic_machine=i386-pc ++ ;; ++ pc98-*) ++ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; +@@ -844,9 +995,10 @@ case $basic_machine in + ;; + power) basic_machine=power-ibm + ;; +- ppc) basic_machine=powerpc-unknown ++ ppc | ppcbe) basic_machine=powerpc-unknown + ;; +- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ppc-* | ppcbe-*) ++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown +@@ -856,7 +1008,7 @@ case $basic_machine in + ;; + ppc64) basic_machine=powerpc64-unknown + ;; +- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown +@@ -871,6 +1023,14 @@ case $basic_machine in + basic_machine=i586-unknown + os=-pw32 + ;; ++ rdos | rdos64) ++ basic_machine=x86_64-pc ++ os=-rdos ++ ;; ++ rdos32) ++ basic_machine=i386-pc ++ os=-rdos ++ ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff +@@ -897,6 +1057,10 @@ case $basic_machine in + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; ++ sde) ++ basic_machine=mipsisa32-sde ++ os=-elf ++ ;; + sei) + basic_machine=mips-sei + os=-seiux +@@ -908,6 +1072,9 @@ case $basic_machine in + basic_machine=sh-hitachi + os=-hms + ;; ++ sh5el) ++ basic_machine=sh5le-unknown ++ ;; + sh64) + basic_machine=sh64-unknown + ;; +@@ -929,6 +1096,9 @@ case $basic_machine in + basic_machine=i860-stratus + os=-sysv4 + ;; ++ strongarm-* | thumb-*) ++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + sun2) + basic_machine=m68000-sun + ;; +@@ -985,17 +1155,9 @@ case $basic_machine in + basic_machine=t90-cray + os=-unicos + ;; +- tic54x | c54x*) +- basic_machine=tic54x-unknown +- os=-coff +- ;; +- tic55x | c55x*) +- basic_machine=tic55x-unknown +- os=-coff +- ;; +- tic6x | c6x*) +- basic_machine=tic6x-unknown +- os=-coff ++ tile*) ++ basic_machine=$basic_machine-unknown ++ os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown +@@ -1064,6 +1226,9 @@ case $basic_machine in + xps | xps100) + basic_machine=xps100-honeywell + ;; ++ xscale-* | xscalee[bl]-*) ++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ++ ;; + ymp) + basic_machine=ymp-cray + os=-unicos +@@ -1072,6 +1237,10 @@ case $basic_machine in + basic_machine=z8k-unknown + os=-sim + ;; ++ z80-*-coff) ++ basic_machine=z80-unknown ++ os=-sim ++ ;; + none) + basic_machine=none-none + os=-none +@@ -1110,10 +1279,10 @@ case $basic_machine in + we32k) + basic_machine=we32k-att + ;; +- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) ++ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; +- sparc | sparcv8 | sparcv9 | sparcv9b) ++ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) +@@ -1157,9 +1326,12 @@ esac + if [ x"$os" != x"" ] + then + case $os in +- # First match some system type aliases +- # that might get confused with valid system types. ++ # First match some system type aliases ++ # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. ++ -auroraux) ++ os=-auroraux ++ ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; +@@ -1179,32 +1351,32 @@ case $os in + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. +-#### MozillaHack +-# msvc +-#### End MozillaHack + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ +- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ +- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ ++ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ ++ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ ++ | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ +- | -aos* \ ++ | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ +- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ ++ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ ++ | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ +- | -chorusos* | -chorusrdb* \ +- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +- | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ ++ | -chorusos* | -chorusrdb* | -cegcc* \ ++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ ++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ ++ | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ +- | -msvc* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ +- | -skyos* | -haiku*) ++ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) +@@ -1243,9 +1415,12 @@ case $os in + -opened*) + os=-openedition + ;; +- -os400*) ++ -os400*) + os=-os400 + ;; ++ -wince*) ++ os=-wince ++ ;; + -osfrose*) + os=-osfrose + ;; +@@ -1289,7 +1464,7 @@ case $os in + -sinix*) + os=-sysv4 + ;; +- -tpf*) ++ -tpf*) + os=-tpf + ;; + -triton*) +@@ -1325,12 +1500,14 @@ case $os in + -aros*) + os=-aros + ;; +- -kaos*) +- os=-kaos +- ;; + -zvmoe) + os=-zvmoe + ;; ++ -dicos*) ++ os=-dicos ++ ;; ++ -nacl*) ++ ;; + -none) + ;; + *) +@@ -1353,6 +1530,12 @@ else + # system, and we'll never get to this point. + + case $basic_machine in ++ score-*) ++ os=-elf ++ ;; ++ spu-*) ++ os=-elf ++ ;; + *-acorn) + os=-riscix1.2 + ;; +@@ -1362,9 +1545,24 @@ case $basic_machine in + arm*-semi) + os=-aout + ;; +- c4x-* | tic4x-*) +- os=-coff +- ;; ++ c4x-* | tic4x-*) ++ os=-coff ++ ;; ++ c8051-*) ++ os=-elf ++ ;; ++ hexagon-*) ++ os=-elf ++ ;; ++ tic54x-*) ++ os=-coff ++ ;; ++ tic55x-*) ++ os=-coff ++ ;; ++ tic6x-*) ++ os=-coff ++ ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 +@@ -1383,19 +1581,22 @@ case $basic_machine in + ;; + m68000-sun) + os=-sunos3 +- # This also exists in the configure program, but was not the +- # default. +- # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; ++ mep-*) ++ os=-elf ++ ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; ++ or1k-*) ++ os=-elf ++ ;; + or32-*) + os=-coff + ;; +@@ -1414,7 +1615,7 @@ case $basic_machine in + *-ibm) + os=-aix + ;; +- *-knuth) ++ *-knuth) + os=-mmixware + ;; + *-wec) +@@ -1519,7 +1720,7 @@ case $basic_machine in + -sunos*) + vendor=sun + ;; +- -aix*) ++ -cnk*|-aix*) + vendor=ibm + ;; + -beos*) diff --git a/SOURCES/remove-ogg.patch b/SOURCES/remove-ogg.patch new file mode 100644 index 0000000..9bf924b --- /dev/null +++ b/SOURCES/remove-ogg.patch @@ -0,0 +1,449 @@ +diff -up mozilla-aurora/config/external/moz.build.remove-ogg mozilla-aurora/config/external/moz.build +--- mozilla-aurora/config/external/moz.build.remove-ogg 2014-05-06 13:17:17.000000000 +0200 ++++ mozilla-aurora/config/external/moz.build 2014-06-03 13:51:14.450340480 +0200 +@@ -33,14 +33,15 @@ if CONFIG['MOZ_WEBM_ENCODER']: + if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']: + external_dirs += ['media/libvpx'] + ++if CONFIG['MOZ_OGG']: ++ external_dirs += ['media/libogg', 'media/libtheora'] ++ + if not CONFIG['MOZ_NATIVE_PNG']: + external_dirs += ['media/libpng'] + + external_dirs += [ + 'media/kiss_fft', + 'media/libcubeb', +- 'media/libogg', +- 'media/libtheora', + 'media/libspeex_resampler', + 'media/libsoundtouch', + ] +diff -up mozilla-aurora/configure.in.remove-ogg mozilla-aurora/configure.in +--- mozilla-aurora/configure.in.remove-ogg 2014-05-06 13:17:17.000000000 +0200 ++++ mozilla-aurora/configure.in 2014-06-03 13:51:14.452340483 +0200 +@@ -3938,6 +3938,7 @@ MOZ_FEEDS=1 + MOZ_WEBAPP_RUNTIME= + MOZ_JSDEBUGGER=1 + MOZ_AUTH_EXTENSION=1 ++MOZ_OGG=1 + MOZ_RAW= + MOZ_VORBIS= + MOZ_TREMOR= +@@ -5191,25 +5192,37 @@ fi + + AC_SUBST(MOZ_RAW) + +-dnl Checks for __attribute__(aligned()) directive need by libogg +-AC_CACHE_CHECK([__attribute__ ((aligned ())) support], +- [ac_cv_c_attribute_aligned], +- [ac_cv_c_attribute_aligned=0 +- CFLAGS_save="${CFLAGS}" +- CFLAGS="${CFLAGS} -Werror" +- for ac_cv_c_attr_align_try in 64 32 16 8; do +- echo "trying $ac_cv_c_attr_align_try" +- AC_TRY_COMPILE([], +- [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;], +- [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"]) +- if test "$ac_cv_c_attribute_aligned" != 0; then +- break; +- fi +- done +- CFLAGS="${CFLAGS_save}"]) +-if test "${ac_cv_c_attribute_aligned}" != "0"; then +- AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], +- [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment]) ++dnl ======================================================== ++dnl = Disable Ogg Codecs ++dnl ======================================================== ++MOZ_ARG_DISABLE_BOOL(ogg, ++[ --disable-ogg Disable support for OGG media (Theora video and Vorbis audio)], ++ MOZ_OGG=, ++ MOZ_OGG=1) ++ ++if test -n "$MOZ_OGG"; then ++ AC_DEFINE(MOZ_OGG) ++ ++ dnl Checks for __attribute__(aligned()) directive ++ AC_CACHE_CHECK([__attribute__ ((aligned ())) support], ++ [ac_cv_c_attribute_aligned], ++ [ac_cv_c_attribute_aligned=0 ++ CFLAGS_save="${CFLAGS}" ++ CFLAGS="${CFLAGS} -Werror" ++ for ac_cv_c_attr_align_try in 64 32 16 8; do ++ echo "trying $ac_cv_c_attr_align_try" ++ AC_TRY_COMPILE([], ++ [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;], ++ [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"]) ++ if test "$ac_cv_c_attribute_aligned" != 0; then ++ break; ++ fi ++ done ++ CFLAGS="${CFLAGS_save}"]) ++ if test "${ac_cv_c_attribute_aligned}" != "0"; then ++ AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], ++ [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment]) ++ fi + fi + + dnl ======================================================== +@@ -5426,7 +5439,7 @@ AC_SUBST(MOZ_NATIVE_LIBVPX) + AC_SUBST(MOZ_LIBVPX_CFLAGS) + AC_SUBST(MOZ_LIBVPX_LIBS) + +-if test "$MOZ_WEBM"; then ++if test "$MOZ_WEBM" -o "$MOZ_OGG"; then + if test "$MOZ_SAMPLE_TYPE_FLOAT32"; then + MOZ_VORBIS=1 + else +@@ -5533,6 +5546,15 @@ dnl ==================================== + dnl = Handle dependent MEDIA defines + dnl ======================================================== + ++if test -n "$MOZ_OPUS" -a -z "$MOZ_OGG"; then ++ AC_MSG_ERROR([MOZ_OPUS requires MOZ_OGG which is disabled.]) ++fi ++ ++if test -n "$MOZ_VORBIS" -a -z "$MOZ_OGG"; then ++ AC_MSG_ERROR([MOZ_VORBIS requires MOZ_OGG which is disabled. ++Note that you need vorbis support for WebM playback.]) ++fi ++ + if test -n "$MOZ_VORBIS" -a -n "$MOZ_TREMOR"; then + AC_MSG_ERROR([MOZ_VORBIS and MOZ_TREMOR are mutually exclusive! The build system should not allow them both to be set, but they are. Please file a bug at https://bugzilla.mozilla.org/]) + fi +@@ -8842,6 +8864,7 @@ AC_SUBST(MOZ_APPLEMEDIA) + AC_SUBST(MOZ_OMX_PLUGIN) + AC_SUBST(MOZ_VPX_ERROR_CONCEALMENT) + AC_SUBST(MOZ_VPX) ++AC_SUBST(MOZ_OGG) + AC_SUBST(VPX_AS) + AC_SUBST(VPX_ASFLAGS) + AC_SUBST(VPX_DASH_C_FLAG) +diff -up mozilla-aurora/content/html/content/src/HTMLAudioElement.cpp.remove-ogg mozilla-aurora/content/html/content/src/HTMLAudioElement.cpp +--- mozilla-aurora/content/html/content/src/HTMLAudioElement.cpp.remove-ogg 2014-05-06 13:17:19.000000000 +0200 ++++ mozilla-aurora/content/html/content/src/HTMLAudioElement.cpp 2014-06-03 13:51:14.452340483 +0200 +@@ -81,12 +81,16 @@ nsresult HTMLAudioElement::SetAcceptHead + #ifdef MOZ_WEBM + "audio/webm," + #endif ++#ifdef MOZ_OGG + "audio/ogg," ++#endif + #ifdef MOZ_WAVE + "audio/wav," + #endif + "audio/*;q=0.9," ++#ifdef MOZ_OGG + "application/ogg;q=0.7," ++#endif + "video/*;q=0.6,*/*;q=0.5"); + + return aChannel->SetRequestHeader(NS_LITERAL_CSTRING("Accept"), +diff -up mozilla-aurora/content/html/content/src/HTMLVideoElement.cpp.remove-ogg mozilla-aurora/content/html/content/src/HTMLVideoElement.cpp +--- mozilla-aurora/content/html/content/src/HTMLVideoElement.cpp.remove-ogg 2014-05-06 13:17:19.000000000 +0200 ++++ mozilla-aurora/content/html/content/src/HTMLVideoElement.cpp 2014-06-03 13:51:14.452340483 +0200 +@@ -136,9 +136,13 @@ nsresult HTMLVideoElement::SetAcceptHead + #ifdef MOZ_WEBM + "video/webm," + #endif ++#ifdef MOZ_OGG + "video/ogg," ++#endif + "video/*;q=0.9," ++#ifdef MOZ_OGG + "application/ogg;q=0.7," ++#endif + "audio/*;q=0.6,*/*;q=0.5"); + + return aChannel->SetRequestHeader(NS_LITERAL_CSTRING("Accept"), +diff -up mozilla-aurora/content/media/DecoderTraits.cpp.remove-ogg mozilla-aurora/content/media/DecoderTraits.cpp +--- mozilla-aurora/content/media/DecoderTraits.cpp.remove-ogg 2014-05-06 13:17:20.000000000 +0200 ++++ mozilla-aurora/content/media/DecoderTraits.cpp 2014-06-03 13:51:14.452340483 +0200 +@@ -13,8 +13,10 @@ + #include "MediaPluginHost.h" + #endif + ++#ifdef MOZ_OGG + #include "OggDecoder.h" + #include "OggReader.h" ++#endif + #ifdef MOZ_WAVE + #include "WaveDecoder.h" + #include "WaveReader.h" +@@ -100,6 +102,7 @@ IsRawType(const nsACString& aType) + } + #endif + ++#ifdef MOZ_OGG + // See http://www.rfc-editor.org/rfc/rfc5334.txt for the definitions + // of Ogg media types and codec types + static const char* const gOggTypes[4] = { +@@ -131,6 +134,7 @@ IsOggType(const nsACString& aType) + + return CodecListContains(gOggTypes, aType); + } ++#endif + + #ifdef MOZ_WAVE + // See http://www.rfc-editor.org/rfc/rfc2361.txt for the definitions +@@ -199,8 +203,10 @@ IsGStreamerSupportedType(const nsACStrin + if (IsWebMType(aMimeType) && !Preferences::GetBool("media.prefer-gstreamer", false)) + return false; + #endif ++#ifdef MOZ_OGG + if (IsOggType(aMimeType) && !Preferences::GetBool("media.prefer-gstreamer", false)) + return false; ++#endif + + return GStreamerDecoder::CanHandleMediaType(aMimeType, nullptr); + } +@@ -370,10 +376,12 @@ DecoderTraits::CanHandleMediaType(const + result = CANPLAY_MAYBE; + } + #endif ++#ifdef MOZ_OGG + if (IsOggType(nsDependentCString(aMIMEType))) { + codecList = MediaDecoder::IsOpusEnabled() ? gOggCodecsWithOpus : gOggCodecs; + result = CANPLAY_MAYBE; + } ++#endif + #ifdef MOZ_WAVE + if (IsWaveType(nsDependentCString(aMIMEType))) { + codecList = gWaveCodecs; +@@ -479,10 +487,12 @@ InstantiateDecoder(const nsACString& aTy + return decoder.forget(); + } + #endif ++#ifdef MOZ_OGG + if (IsOggType(aType)) { + decoder = new OggDecoder(); + return decoder.forget(); + } ++#endif + #ifdef MOZ_WAVE + if (IsWaveType(aType)) { + decoder = new WaveDecoder(); +@@ -587,9 +597,11 @@ MediaDecoderReader* DecoderTraits::Creat + decoderReader = new RawReader(aDecoder); + } else + #endif ++#ifdef MOZ_OGG + if (IsOggType(aType)) { + decoderReader = new OggReader(aDecoder); + } else ++#endif + #ifdef MOZ_WAVE + if (IsWaveType(aType)) { + decoderReader = new WaveReader(aDecoder); +@@ -642,7 +654,9 @@ MediaDecoderReader* DecoderTraits::Creat + bool DecoderTraits::IsSupportedInVideoDocument(const nsACString& aType) + { + return ++#ifdef MOZ_OGG + IsOggType(aType) || ++#endif + #ifdef MOZ_OMX_DECODER + // We support amr inside WebApps on firefoxOS but not in general web content. + // Ensure we dont create a VideoDocument when accessing amr URLs directly. +diff -up mozilla-aurora/content/media/encoder/MediaEncoder.cpp.remove-ogg mozilla-aurora/content/media/encoder/MediaEncoder.cpp +--- mozilla-aurora/content/media/encoder/MediaEncoder.cpp.remove-ogg 2014-05-06 13:17:20.000000000 +0200 ++++ mozilla-aurora/content/media/encoder/MediaEncoder.cpp 2014-06-03 13:51:14.453340485 +0200 +@@ -9,7 +9,9 @@ + #include "prlog.h" + #include "mozilla/Preferences.h" + ++#ifdef MOZ_OGG + #include "OggWriter.h" ++#endif + #ifdef MOZ_OPUS + #include "OpusTrackEncoder.h" + +@@ -133,6 +135,7 @@ MediaEncoder::CreateEncoder(const nsAStr + mimeType = NS_LITERAL_STRING(AUDIO_3GPP); + } + #endif // MOZ_OMX_ENCODER ++#ifdef MOZ_OGG + else if (MediaDecoder::IsOggEnabled() && MediaDecoder::IsOpusEnabled() && + (aMIMEType.EqualsLiteral(AUDIO_OGG) || + (aTrackTypes & ContainerWriter::CREATE_AUDIO_TRACK))) { +@@ -142,6 +145,7 @@ MediaEncoder::CreateEncoder(const nsAStr + NS_ENSURE_TRUE(audioEncoder, nullptr); + mimeType = NS_LITERAL_STRING(AUDIO_OGG); + } ++#endif // MOZ_OGG + else { + LOG(PR_LOG_ERROR, ("Can not find any encoder to record this media stream")); + return nullptr; +diff -up mozilla-aurora/content/media/MediaDecoder.cpp.remove-ogg mozilla-aurora/content/media/MediaDecoder.cpp +--- mozilla-aurora/content/media/MediaDecoder.cpp.remove-ogg 2014-05-06 13:17:20.000000000 +0200 ++++ mozilla-aurora/content/media/MediaDecoder.cpp 2014-06-03 13:51:14.453340485 +0200 +@@ -1653,6 +1653,7 @@ MediaDecoder::IsRawEnabled() + } + #endif + ++#ifdef MOZ_OGG + bool + MediaDecoder::IsOpusEnabled() + { +@@ -1668,6 +1669,7 @@ MediaDecoder::IsOggEnabled() + { + return Preferences::GetBool("media.ogg.enabled"); + } ++#endif + + #ifdef MOZ_WAVE + bool +diff -up mozilla-aurora/content/media/MediaDecoder.h.remove-ogg mozilla-aurora/content/media/MediaDecoder.h +--- mozilla-aurora/content/media/MediaDecoder.h.remove-ogg 2014-05-06 13:17:20.000000000 +0200 ++++ mozilla-aurora/content/media/MediaDecoder.h 2014-06-03 13:51:14.453340485 +0200 +@@ -844,8 +844,10 @@ public: + static bool IsRawEnabled(); + #endif + ++#ifdef MOZ_OGG + static bool IsOggEnabled(); + static bool IsOpusEnabled(); ++#endif + + #ifdef MOZ_WAVE + static bool IsWaveEnabled(); +diff -up mozilla-aurora/content/media/moz.build.remove-ogg mozilla-aurora/content/media/moz.build +--- mozilla-aurora/content/media/moz.build.remove-ogg 2014-05-06 13:17:20.000000000 +0200 ++++ mozilla-aurora/content/media/moz.build 2014-06-03 13:51:14.453340485 +0200 +@@ -7,7 +7,6 @@ + PARALLEL_DIRS += [ + 'encoder', + 'mediasource', +- 'ogg', + 'webaudio', + 'webvtt' + ] +@@ -17,6 +16,9 @@ TEST_TOOL_DIRS += ['compiledtest'] + if CONFIG['MOZ_RAW']: + PARALLEL_DIRS += ['raw'] + ++if CONFIG['MOZ_OGG']: ++ PARALLEL_DIRS += ['ogg'] ++ + if CONFIG['MOZ_WAVE']: + PARALLEL_DIRS += ['wave'] + +diff -up mozilla-aurora/layout/media/symbols.def.in.remove-ogg mozilla-aurora/layout/media/symbols.def.in +--- mozilla-aurora/layout/media/symbols.def.in.remove-ogg 2014-05-06 13:17:13.000000000 +0200 ++++ mozilla-aurora/layout/media/symbols.def.in 2014-06-03 13:51:14.454340486 +0200 +@@ -145,6 +145,7 @@ cubeb_stream_init + cubeb_stream_start + cubeb_stream_stop + cubeb_stream_get_latency ++#ifdef MOZ_OGG + th_comment_clear + th_comment_init + th_decode_alloc +@@ -158,6 +159,7 @@ th_info_init + th_packet_isheader + th_packet_iskeyframe + th_setup_free ++#endif + #ifdef MOZ_OPUS + opus_decoder_create + opus_decoder_destroy +diff -up mozilla-aurora/modules/libpref/src/init/all.js.remove-ogg mozilla-aurora/modules/libpref/src/init/all.js +--- mozilla-aurora/modules/libpref/src/init/all.js.remove-ogg 2014-05-19 11:43:49.000000000 +0200 ++++ mozilla-aurora/modules/libpref/src/init/all.js 2014-06-03 13:51:25.028355239 +0200 +@@ -212,7 +212,9 @@ pref("media.fragmented-mp4.use-blank-dec + #ifdef MOZ_RAW + pref("media.raw.enabled", true); + #endif ++#ifdef MOZ_OGG + pref("media.ogg.enabled", true); ++#endif + #ifdef MOZ_OPUS + pref("media.opus.enabled", true); + #endif +diff -up mozilla-aurora/python/mozbuild/mozbuild/mozinfo.py.remove-ogg mozilla-aurora/python/mozbuild/mozbuild/mozinfo.py +--- mozilla-aurora/python/mozbuild/mozbuild/mozinfo.py.remove-ogg 2014-05-06 13:17:17.000000000 +0200 ++++ mozilla-aurora/python/mozbuild/mozbuild/mozinfo.py 2014-06-03 13:51:25.028355239 +0200 +@@ -84,6 +84,7 @@ def build_dict(config, env=os.environ): + d['tests_enabled'] = substs.get('ENABLE_TESTS') == "1" + d['bin_suffix'] = substs.get('BIN_SUFFIX', '') + ++ d['ogg'] = bool(substs.get('MOZ_OGG')) + d['webm'] = bool(substs.get('MOZ_WEBM')) + d['wave'] = bool(substs.get('MOZ_WAVE')) + +diff -up mozilla-aurora/uriloader/exthandler/nsExternalHelperAppService.cpp.remove-ogg mozilla-aurora/uriloader/exthandler/nsExternalHelperAppService.cpp +--- mozilla-aurora/uriloader/exthandler/nsExternalHelperAppService.cpp.remove-ogg 2014-05-06 13:17:27.000000000 +0200 ++++ mozilla-aurora/uriloader/exthandler/nsExternalHelperAppService.cpp 2014-06-03 13:51:25.030355242 +0200 +@@ -462,6 +462,7 @@ static nsDefaultMimeTypeEntry defaultMim + { "application/xhtml+xml", "xhtml" }, + { "application/xhtml+xml", "xht" }, + { TEXT_PLAIN, "txt" }, ++#ifdef MOZ_OGG + { VIDEO_OGG, "ogv" }, + { VIDEO_OGG, "ogg" }, + { APPLICATION_OGG, "ogg" }, +@@ -469,6 +470,7 @@ static nsDefaultMimeTypeEntry defaultMim + #ifdef MOZ_OPUS + { AUDIO_OGG, "opus" }, + #endif ++#endif + #ifdef MOZ_WEBM + { VIDEO_WEBM, "webm" }, + { AUDIO_WEBM, "webm" }, +diff -up mozilla-aurora/xpcom/build/nsXPComInit.cpp.remove-ogg mozilla-aurora/xpcom/build/nsXPComInit.cpp +--- mozilla-aurora/xpcom/build/nsXPComInit.cpp.remove-ogg 2014-06-03 14:04:38.913464144 +0200 ++++ mozilla-aurora/xpcom/build/nsXPComInit.cpp 2014-06-03 14:06:03.282582245 +0200 +@@ -133,7 +133,9 @@ extern nsresult nsStringInputStreamConst + #include "mozilla/VisualEventTracer.h" + #endif + ++#if MOZ_OGG + #include "ogg/ogg.h" ++#endif + #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) + #include "vpx_mem/vpx_mem.h" + #endif +@@ -378,7 +380,7 @@ private: + NS_IMPL_ISUPPORTS(ICUReporter, nsIMemoryReporter) + + /* static */ template<> Atomic CountingAllocatorBase::sAmount(0); +- ++#if MOZ_OGG + class OggReporter MOZ_FINAL : public nsIMemoryReporter, + public CountingAllocatorBase + { +@@ -420,7 +422,7 @@ NS_IMPL_ISUPPORTS(VPXReporter, nsIMemory + + /* static */ template<> Atomic CountingAllocatorBase::sAmount(0); + #endif /* MOZ_VPX */ +- ++#endif /* MOZ_OGG */ + #ifdef MOZ_WEBM + class NesteggReporter MOZ_FINAL : public nsIMemoryReporter + , public CountingAllocatorBase +@@ -606,12 +608,13 @@ NS_InitXPCOM2(nsIServiceManager* *result + // depend on the XPCOM-based memory reporting goop. So for now, we have + // this oddness. + mozilla::SetICUMemoryFunctions(); +- ++#if MOZ_OGG + // Do the same for libogg. + ogg_set_mem_functions(OggReporter::CountingMalloc, + OggReporter::CountingCalloc, + OggReporter::CountingRealloc, + OggReporter::CountingFree); ++#endif + + #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) + // And for VPX. +@@ -678,7 +681,9 @@ NS_InitXPCOM2(nsIServiceManager* *result + + // The memory reporter manager is up and running -- register our reporters. + RegisterStrongMemoryReporter(new ICUReporter()); ++#if MOZ_OGG + RegisterStrongMemoryReporter(new OggReporter()); ++#endif + #ifdef MOZ_VPX + RegisterStrongMemoryReporter(new VPXReporter()); + #endif diff --git a/SOURCES/rhbz-966424.patch b/SOURCES/rhbz-966424.patch new file mode 100644 index 0000000..cfd6ca8 --- /dev/null +++ b/SOURCES/rhbz-966424.patch @@ -0,0 +1,24 @@ +diff --git a/toolkit/module/CertUtils.jsm b/toolkit/toolkit/modules/CertUtils.jsm +--- a/toolkit/modules/CertUtils.jsm ++++ b/toolkit/modules/CertUtils.jsm +@@ -170,17 +170,19 @@ this.checkCert = + issuerCert = issuerCert.QueryInterface(Ci.nsIX509Cert3); + var tokenNames = issuerCert.getAllTokenNames({}); + + if (!tokenNames || !tokenNames.some(isBuiltinToken)) + throw new Ce(certNotBuiltInErr, Cr.NS_ERROR_ABORT); + } + + function isBuiltinToken(tokenName) { +- return tokenName == "Builtin Object Token"; ++ return tokenName == "Builtin Object Token" || ++ tokenName == "Default Trust" || ++ tokenName == "System Trust"; + } + + /** + * This class implements nsIBadCertListener. Its job is to prevent "bad cert" + * security dialogs from being shown to the user. It is better to simply fail + * if the certificate is bad. See bug 304286. + * + * @param aAllowNonBuiltInCerts (optional) diff --git a/SOURCES/thunderbird-enable-addons.patch b/SOURCES/thunderbird-enable-addons.patch new file mode 100644 index 0000000..80635af --- /dev/null +++ b/SOURCES/thunderbird-enable-addons.patch @@ -0,0 +1,26 @@ +diff -up comm-esr31/mail/app/profile/all-thunderbird.js.addons comm-esr31/mail/app/profile/all-thunderbird.js +--- comm-esr31/mail/app/profile/all-thunderbird.js.addons 2014-07-18 02:04:05.000000000 +0200 ++++ comm-esr31/mail/app/profile/all-thunderbird.js 2014-07-29 15:29:11.949728141 +0200 +@@ -174,7 +174,7 @@ pref("extensions.update.autoUpdateDefaul + // Disable add-ons installed into the shared user and shared system areas by + // default. This does not include the application directory. See the SCOPE + // constants in AddonManager.jsm for values to use here +-pref("extensions.autoDisableScopes", 15); ++pref("extensions.autoDisableScopes", 0); + + // Preferences for AMO integration + pref("extensions.getAddons.cache.enabled", true); +diff -up comm-esr31/mozilla/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons comm-esr31/mozilla/toolkit/mozapps/extensions/internal/XPIProvider.jsm +--- comm-esr31/mozilla/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons 2014-07-29 15:29:11.951728146 +0200 ++++ comm-esr31/mozilla/toolkit/mozapps/extensions/internal/XPIProvider.jsm 2014-07-29 15:30:51.879030210 +0200 +@@ -1894,8 +1894,8 @@ this.XPIProvider = { + this.showUpgradeUI(); + flushCaches = true; + } +- else if (aAppChanged === undefined) { +- // For new profiles we will never need to show the add-on selection UI ++ else { ++ // For all profiles we will never need to show the add-on selection UI + Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true); + } + diff --git a/SOURCES/thunderbird-install-dir.patch b/SOURCES/thunderbird-install-dir.patch new file mode 100644 index 0000000..26d87e0 --- /dev/null +++ b/SOURCES/thunderbird-install-dir.patch @@ -0,0 +1,23 @@ +diff -up thunderbird-31.0/comm-esr31/config/baseconfig.mk.dir thunderbird-31.0/comm-esr31/config/baseconfig.mk +--- thunderbird-31.0/comm-esr31/config/baseconfig.mk.dir 2014-07-29 13:51:58.204106461 +0200 ++++ thunderbird-31.0/comm-esr31/config/baseconfig.mk 2014-07-29 13:54:26.868555504 +0200 +@@ -1,6 +1,6 @@ + includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) + idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++installdir = $(libdir)/$(MOZ_APP_NAME) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + MOZILLA_SRCDIR = $(topsrcdir)/mozilla + MOZDEPTH = $(DEPTH)/mozilla +diff -up thunderbird-31.0/comm-esr31/mozilla/config/baseconfig.mk.dir thunderbird-31.0/comm-esr31/mozilla/config/baseconfig.mk +--- thunderbird-31.0/comm-esr31/mozilla/config/baseconfig.mk.dir 2014-07-18 02:05:10.000000000 +0200 ++++ thunderbird-31.0/comm-esr31/mozilla/config/baseconfig.mk 2014-07-29 13:51:58.204106461 +0200 +@@ -4,7 +4,7 @@ + # whether a normal build is happening or whether the check is running. + includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) + idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++installdir = $(libdir)/$(MOZ_APP_NAME) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + ifndef TOP_DIST + TOP_DIST = dist diff --git a/SOURCES/thunderbird-mozconfig b/SOURCES/thunderbird-mozconfig new file mode 100644 index 0000000..f613909 --- /dev/null +++ b/SOURCES/thunderbird-mozconfig @@ -0,0 +1,37 @@ +mk_add_options MOZ_CO_PROJECT=mail +ac_add_options --enable-application=mail +mk_add_options AUTOCONF=autoconf-2.13 + +#ac_add_options --with-system-png + +ac_add_options --prefix="$PREFIX" +ac_add_options --libdir="$LIBDIR" +ac_add_options --with-system-jpeg +ac_add_options --with-system-zlib +ac_add_options --with-pthreads +ac_add_options --disable-tests +ac_add_options --disable-installer +ac_add_options --enable-xinerama +ac_add_options --enable-default-toolkit=cairo-gtk2 +ac_add_options --disable-xprint +ac_add_options --disable-strip +ac_add_options --disable-install-strip +ac_add_options --enable-pango +# temporary disable system cairo, because compilation fails +#ac_add_options --enable-system-cairo +ac_add_options --enable-svg +ac_add_options --enable-canvas +ac_add_options --enable-system-hunspell +ac_add_options --disable-necko-wifi +ac_add_options --disable-updater +ac_add_options --enable-startup-notification +ac_add_options --enable-gio +ac_add_options --disable-gnomevfs +ac_add_options --disable-gstreamer +ac_add_options --enable-system-ffi + +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 +mk_add_options BUILD_OFFICIAL=1 +mk_add_options MOZILLA_OFFICIAL=1 + diff --git a/SOURCES/thunderbird-mozconfig-branded b/SOURCES/thunderbird-mozconfig-branded new file mode 100644 index 0000000..53b376d --- /dev/null +++ b/SOURCES/thunderbird-mozconfig-branded @@ -0,0 +1 @@ +ac_add_options --enable-official-branding diff --git a/SOURCES/thunderbird-objdir.patch b/SOURCES/thunderbird-objdir.patch new file mode 100644 index 0000000..f6dcde7 --- /dev/null +++ b/SOURCES/thunderbird-objdir.patch @@ -0,0 +1,13 @@ +diff -up thunderbird-31.0/comm-esr31/client.mk.old thunderbird-31.0/comm-esr31/client.mk +--- thunderbird-31.0/comm-esr31/client.mk.old 2014-07-18 02:04:05.000000000 +0200 ++++ thunderbird-31.0/comm-esr31/client.mk 2014-07-30 10:57:01.177453550 +0200 +@@ -131,7 +131,7 @@ endif + + + ifndef MOZ_OBJDIR +- MOZ_OBJDIR = obj-$(CONFIG_GUESS) ++ MOZ_OBJDIR = objdir + else + # On Windows Pymake builds check MOZ_OBJDIR doesn't start with "/" + ifneq (,$(findstring mingw,$(CONFIG_GUESS))) +diff -up thunderbird-31.0/comm-esr31/mozilla/media/webrtc/trunk/Makefile.old thunderbird-31.0/comm-esr31/mozilla/media/webrtc/trunk/Makefile diff --git a/SOURCES/thunderbird-redhat-default-prefs.js b/SOURCES/thunderbird-redhat-default-prefs.js new file mode 100644 index 0000000..af23193 --- /dev/null +++ b/SOURCES/thunderbird-redhat-default-prefs.js @@ -0,0 +1,28 @@ +pref("app.update.enabled", false); +pref("app.update.autoInstallEnabled", false); +# Allow users to set custom colors +# pref("browser.display.use_system_colors", true); +pref("general.useragent.vendor", "Red Hat"); +pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR"); +pref("intl.locale.matchOS", true); +pref("mail.shell.checkDefaultClient", false); +pref("toolkit.networkmanager.disable", false); +pref("offline.autoDetect", true); + +# Disable global indexing by default +pref("mailnews.database.global.indexer.enabled", false); + +# Do not switch to Smart Folders after upgrade to 3.0b4 +pref("mail.folder.views.version", "1") +pref("extensions.shownSelectionUI", true); +pref("extensions.autoDisableScope", 0); + +# For rhbz#1024232 +pref("ui.SpellCheckerUnderlineStyle", 1); + +/* Workaround for rhbz#1134876 */ +pref("javascript.options.baselinejit", false); +/* Workaround for rhbz#1110291 */ +pref("network.negotiate-auth.allow-insecure-ntlm-v1", true); +/* Workaround for mozbz#1063315 */ +pref("security.use_mozillapkix_verification", false); diff --git a/SOURCES/thunderbird.desktop b/SOURCES/thunderbird.desktop new file mode 100644 index 0000000..1945d1e --- /dev/null +++ b/SOURCES/thunderbird.desktop @@ -0,0 +1,30 @@ +[Desktop Entry] +Version=1.0 +Name=Thunderbird +GenericName=Email +Comment=Send and Receive Email +Exec=thunderbird %u +TryExec=thunderbird +Icon=thunderbird +Terminal=false +Type=Application +MimeType=message/rfc822;x-scheme-handler/mailto; +StartupNotify=true +Categories=Network;Email; +Name[cs]=Poštovní klient Thunderbird +Name[ca]=Client de correu Thunderbird +Name[fi]=Thunderbird-sähköposti +Name[fr]=Messagerie Thunderbird +Name[pl]=Klient poczty Thunderbird +Name[pt_BR]=Cliente de E-mail Thunderbird +Name[sv]=E-postklienten Thunderbird +Comment[ca]=Llegiu i escriviu correu +Comment[cs]=Čtení a psaní pošty +Comment[de]=Emails lesen und verfassen +Comment[fi]=Lue ja kirjoita sähköposteja +Comment[fr]=Lire et écrire des courriels +Comment[it]=Leggere e scrivere email +Comment[ja]=メールの読み書き +Comment[pl]=Czytanie i wysyłanie e-maili +Comment[pt_BR]=Ler e escrever suas mensagens +Comment[sv]=Läs och skriv e-post diff --git a/SOURCES/thunderbird.sh.in b/SOURCES/thunderbird.sh.in new file mode 100644 index 0000000..badc70e --- /dev/null +++ b/SOURCES/thunderbird.sh.in @@ -0,0 +1,154 @@ +#!/bin/bash +# +# Startup script for the fedora.us Thunderbird RPM +# (based on the Mozilla RPM launch script) +# + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case $MOZ_ARCH in + x86_64 | s390x | sparc64 ) + MOZ_LIB_DIR="/usr/lib64" + SECONDARY_LIB_DIR="/usr/lib" + ;; + * ) + MOZ_LIB_DIR="/usr/lib" + SECONDARY_LIB_DIR="/usr/lib64" + ;; +esac + +if [ ! -x $MOZ_LIB_DIR/thunderbird/thunderbird ]; then + if [ ! -x $SECONDARY_LIB_DIR/thunderbird/thunderbird ]; then + echo "Error: $MOZ_LIB_DIR/thunderbird/thunderbird not found" + if [ -d $SECONDARY_LIB_DIR ]; then + echo " $SECONDARY_LIB_DIR/thunderbird/thunderbird not found" + fi + exit 1 + fi + MOZ_LIB_DIR="$SECONDARY_LIB_DIR" +fi + +MOZ_DIST_BIN="$MOZ_LIB_DIR/thunderbird" +MOZ_PROGRAM="$MOZ_DIST_BIN/thunderbird" +MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks" +MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}" +MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh" + +## +## Set MOZ_ENABLE_PANGO is no longer used because Pango is enabled by default +## you may use MOZ_DISABLE_PANGO=1 to force disabling of pango +## +#MOZ_DISABLE_PANGO=1 +#export MOZ_DISABLE_PANGO + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="/usr/bin/thunderbird" + +## +## Disable the GNOME crash dialog, Moz has it's own +## +GNOME_DISABLE_CRASH_DIALOG=1 +export GNOME_DISABLE_CRASH_DIALOG + +## +## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1 +## in your environment before launching Firefox. +## +# +# MOZ_DISABLE_LANGPACKS=1 +# export MOZ_DISABLE_LANGPACKS +# + +## +## Automatically installed langpacks are tracked by .fedora-langpack-install +## config file. +## +FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install" + +# MOZ_DISABLE_LANGPACKS disables language packs completelly +MOZILLA_DOWN=0 +if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then + if [ -x $MOZ_DIST_BIN/mozilla-xremote-client ]; then + # Is thunderbird running? + $MOZ_DIST_BIN/mozilla-xremote-client -a thunderbird 'ping()' > /dev/null 2>&1 + MOZILLA_DOWN=$? + fi +fi + +# Modify language pack configuration only when thunderbird is not running +# and language packs are not disabled +if [ $MOZILLA_DOWN -ne 0 ]; then + + # Clear already installed langpacks + mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR + if [ -f $FEDORA_LANGPACK_CONFIG ]; then + rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1 + rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1 + # remove all empty langpacks dirs while they block installation of langpacks + rmdir $MOZ_EXTENSIONS_PROFILE_DIR/lang* > /dev/null 2>&1 + fi + + # Get locale from system + CURRENT_LOCALE=$LC_ALL + CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES} + CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG} + + # Try without a local variant first, then with a local variant + # So that pt-BR doesn't try to use pt for example + SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g"` + MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g"` + + function create_langpack_link() { + local language=$* + local langpack=langpack-${language}@thunderbird.mozilla.org.xpi + if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then + rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack + ln -s $MOZ_LANGPACKS_DIR/$langpack \ + $MOZ_EXTENSIONS_PROFILE_DIR/$langpack + echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG + return 0 + fi + return 1 + } + + create_langpack_link $SHORTMOZLOCALE || create_langpack_link $MOZLOCALE || true +fi + +# BEAST fix (rhbz#1005611) +NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1} +export NSS_SSL_CBC_RANDOM_IV + +# Prepare command line arguments +script_args="" +pass_arg_count=0 +while [ $# -gt $pass_arg_count ] +do + case "$1" in + -g | --debug) + script_args="$script_args -g" + debugging=1 + shift + ;; + -d | --debugger) + if [ $# -gt 1 ]; then + script_args="$script_args -d $2" + shift 2 + else + shift + fi + ;; + *) + # Move the unrecognized argument to the end of the list. + arg="$1" + shift + set -- "$@" "$arg" + pass_arg_count=`expr $pass_arg_count + 1` + ;; + esac +done + +exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@" diff --git a/SOURCES/webm.patch b/SOURCES/webm.patch new file mode 100644 index 0000000..570713b --- /dev/null +++ b/SOURCES/webm.patch @@ -0,0 +1,11 @@ +diff -up mozilla-esr31/browser/confvars.sh.webm-fix mozilla-esr31/browser/confvars.sh +--- mozilla-esr31/browser/confvars.sh.webm-fix 2014-07-21 13:56:53.522253529 +0200 ++++ mozilla-esr31/browser/confvars.sh 2014-07-21 13:57:49.983533186 +0200 +@@ -65,6 +65,6 @@ MOZ_PAY=1 + # Enable activities. These are used for FxOS developers currently. + MOZ_ACTIVITIES=1 + MOZ_JSDOWNLOADS=1 +-MOZ_WEBM_ENCODER=1 ++#MOZ_WEBM_ENCODER=1 + # Enable exact rooting on desktop. + JSGC_USE_EXACT_ROOTING=1 diff --git a/SOURCES/xulrunner-24.0-jemalloc-ppc.patch b/SOURCES/xulrunner-24.0-jemalloc-ppc.patch new file mode 100644 index 0000000..fe404ca --- /dev/null +++ b/SOURCES/xulrunner-24.0-jemalloc-ppc.patch @@ -0,0 +1,12 @@ +diff -up xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c +--- xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2013-09-11 01:15:18.000000000 +0200 ++++ xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c 2013-09-13 13:36:34.171680919 +0200 +@@ -1104,7 +1104,7 @@ static unsigned ncpus; + * controlling the malloc behavior are defined as compile-time constants + * for best performance and cannot be altered at runtime. + */ +-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) ++#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !(defined(__powerpc__)) + #define MALLOC_STATIC_SIZES 1 + #endif + diff --git a/SPECS/thunderbird.spec b/SPECS/thunderbird.spec new file mode 100644 index 0000000..eb230af --- /dev/null +++ b/SPECS/thunderbird.spec @@ -0,0 +1,1488 @@ +# Use system nspr/nss? +%define system_nss 1 + +# Build as a debug package? +%define debug_build 0 + +# +%if 0%{?fedora} +%define system_libvpx 1 +%else +%define system_libvpx 0 +%endif + +%if 0%{?fedora} < 20 +%define system_sqlite 0 +%else +%define system_sqlite 1 +%endif + +%define build_langpacks 1 + +%if %{?system_nss} +%global nspr_version 4.10.6 +%global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536) +%if 0%{?fedora} +%global nss_version 3.16.2.3 +%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536) +%else +%global nss_version 3.16.2.3 +%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536) +%endif + +%endif + +%define cairo_version 1.8.8 +%define freetype_version 2.1.9 + +%if %{?system_sqlite} +%define sqlite_version 3.8.4.2 +# The actual sqlite version (see #480989): +%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536) +%endif + +%define libnotify_version 0.4 +%global libvpx_version 1.3.0 +%define _default_patch_fuzz 2 + +%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\} + +# The tarball is pretty inconsistent with directory structure. +# Sometimes there is a top level directory. That goes here. +# +# IMPORTANT: If there is no top level directory, this should be +# set to the cwd, ie: '.' +%define tarballdir comm-esr31 +%define objdir objdir +%define mozappdir %{_libdir}/%{name} + +%define official_branding 1 +# enable crash reporter only for iX86 +%ifarch %{ix86} x86_64 +%define enable_mozilla_crashreporter 0 +%else +%define enable_mozilla_crashreporter 0 +%endif + +Summary: Mozilla Thunderbird mail/newsgroup client +Name: thunderbird +Version: 31.4.0 +Release: 1%{?dist} +URL: http://www.mozilla.org/projects/thunderbird/ +License: MPLv1.1 or GPLv2+ or LGPLv2+ +Group: Applications/Internet +#ExcludeArch: s390x s390 ppc ppc64 i686 + +Source0: ftp://ftp.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.source.tar.bz2 +%if %{build_langpacks} +Source1: thunderbird-langpacks-%{version}-20150110.tar.bz2 +%endif +Source10: thunderbird-mozconfig +Source11: thunderbird-mozconfig-branded +Source12: thunderbird-redhat-default-prefs.js +Source20: thunderbird.desktop +Source21: thunderbird.sh.in +Source100: find-external-requires + +# Mozilla (XULRunner) patches +Patch0: thunderbird-install-dir.patch +Patch9: mozilla-build-arm.patch +Patch10: webm.patch +Patch11: remove-ogg.patch +Patch12: mozilla-1097550-dict-fix.patch + +# Build patches +Patch100: thunderbird-objdir.patch + +# Linux specific +Patch200: thunderbird-enable-addons.patch + +# PPC fixes +Patch300: xulrunner-24.0-jemalloc-ppc.patch + +# Fedora specific patches +Patch400: rhbz-966424.patch +Patch401: mozilla-858919.patch + +# Epel patches: + +# Arch patches +Patch600: ppc64le-build.patch +%if %{official_branding} +# Required by Mozilla Corporation + +%else +# Not yet approved by Mozillla Corporation + +%endif + +%if %{?system_nss} +BuildRequires: nss-static >= %{nss_version} +BuildRequires: nspr-devel >= %{nspr_version} +BuildRequires: nss-devel >= %{nss_version} +Requires: nspr >= %{nspr_build_version} +Requires: nss >= %{nss_build_version} +%endif +BuildRequires: cairo-devel >= %{cairo_version} +BuildRequires: libnotify-devel >= %{libnotify_version} +BuildRequires: libpng-devel +BuildRequires: libjpeg-devel +BuildRequires: zip +BuildRequires: bzip2-devel +BuildRequires: zlib-devel +BuildRequires: libIDL-devel +BuildRequires: gtk2-devel +BuildRequires: krb5-devel +BuildRequires: pango-devel +BuildRequires: freetype-devel >= %{freetype_version} +BuildRequires: libXt-devel +BuildRequires: libXrender-devel +BuildRequires: hunspell-devel +%if %{?system_sqlite} +BuildRequires: sqlite-devel >= %{sqlite_version} +Requires: sqlite >= %{sqlite_build_version} +%endif +BuildRequires: startup-notification-devel +BuildRequires: alsa-lib-devel +BuildRequires: autoconf213 +BuildRequires: desktop-file-utils +BuildRequires: libcurl-devel +BuildRequires: mesa-libGL-devel +%if %{?system_libvpx} +BuildRequires: libvpx-devel >= %{libvpx_version} +Requires: libvpx >= %{libvpx_version} +%endif +BuildRequires: pulseaudio-libs-devel +BuildRequires: libicu-devel +Requires: mozilla-filesystem +BuildRequires: libffi-devel + +%define _use_internal_dependency_generator 0 +%define __find_requires %{SOURCE100} + +%description +Mozilla Thunderbird is a standalone mail and newsgroup client. + +%if %{enable_mozilla_crashreporter} +%global moz_debug_prefix %{_prefix}/lib/debug +%global moz_debug_dir %{moz_debug_prefix}%{mozappdir} +%global uname_m %(uname -m) +%global symbols_file_name %{name}-%{version}.en-US.%{_os}-%{uname_m}.crashreporter-symbols.zip +%global symbols_file_path %{moz_debug_dir}/%{symbols_file_name} +%global _find_debuginfo_opts -p %{symbols_file_path} -o debugcrashreporter.list +%global crashreporter_pkg_name mozilla-crashreporter-%{name}-debuginfo +%package -n %{crashreporter_pkg_name} +Summary: Debugging symbols used by Mozilla's crash reporter servers +Group: Development/Debug +%description -n %{crashreporter_pkg_name} +This package provides debug information for XULRunner, for use by +Mozilla's crash reporter servers. If you are trying to locally +debug %{name}, you want to install %{name}-debuginfo instead. +%files -n %{crashreporter_pkg_name} -f debugcrashreporter.list +%defattr(-,root,root) +%endif + + +%prep +%setup -q -c +cd %{tarballdir} + +%patch0 -p2 -b .dir +%patch100 -p2 -b .objdir + +# Mozilla (XULRunner) patches +cd mozilla +%patch9 -p2 -b .arm +%patch10 -p1 -b .web-m +%patch11 -p1 -b .remove-ogg +%patch12 -p2 -b .dict-fix +%patch300 -p2 -b .852698 +%patch400 -p1 -b .966424 +%patch401 -p1 -b .858919 +cd .. + +%patch200 -p1 -b .addons +%patch600 -p1 -b .ppc64le + + +%if %{official_branding} +# Required by Mozilla Corporation + +%else +# Not yet approved by Mozilla Corporation + +%endif + +%{__rm} -f .mozconfig +%{__cp} %{SOURCE10} .mozconfig +%if %{official_branding} +%{__cat} %{SOURCE11} >> .mozconfig +%endif + +%if %{?system_nss} +echo "ac_add_options --with-system-nspr" >> .mozconfig +echo "ac_add_options --with-system-nss" >> .mozconfig +%else +echo "ac_add_options --without-system-nspr" >> .mozconfig +echo "ac_add_options --without-system-nss" >> .mozconfig +%endif + +# s390(x) fails to start with jemalloc enabled +%ifarch s390 s390x +echo "ac_add_options --disable-jemalloc" >> .mozconfig +%endif + +%if %{?system_sqlite} +echo "ac_add_options --enable-system-sqlite" >> .mozconfig +%else +echo "ac_add_options --disable-system-sqlite" >> .mozconfig +%endif + +%if %{?debug_build} +echo "ac_add_options --enable-debug" >> .mozconfig +echo "ac_add_options --disable-optimize" >> .mozconfig +%else +echo "ac_add_options --disable-debug" >> .mozconfig +echo "ac_add_options --enable-optimize" >> .mozconfig +%endif + +%ifarch %{arm} +echo "ac_add_options --disable-elf-hack" >> .mozconfig +%endif + +%ifnarch %{ix86} x86_64 +echo "ac_add_options --disable-webrtc" >> .mozconfig +%endif +%if %{?system_libvpx} +echo "ac_add_options --enable-system-libvpx" >> .mozconfig +%else +echo "ac_add_options --disable-webm" >> .mozconfig +echo "ac_add_options --disable-webrtc" >> .mozconfig +%endif +%if %{enable_mozilla_crashreporter} +echo "ac_add_options --enable-crashreporter" >> .mozconfig +%else +echo "ac_add_options --disable-crashreporter" >> .mozconfig +%endif + +#=============================================================================== + +%build +%if %{?system_sqlite} +# Do not proceed with build if the sqlite require would be broken: +# make sure the minimum requirement is non-empty, ... +sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1 +# ... and that major number of the computed build-time version matches: +case "%{sqlite_build_version}" in + "$sqlite_version"*) ;; + *) exit 1 ;; +esac +%endif + +cd %{tarballdir} + +# -fpermissive is needed to build with gcc 4.6+ which has become stricter +# +# Mozilla builds with -Wall with exception of a few warnings which show up +# everywhere in the code; so, don't override that. +# +# Disable C++ exceptions since Mozilla code is not exception-safe +# +MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \ + %{__sed} -e 's/-Wall//') +#rhbz#1037353 +MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security" +%if %{?debug_build} +MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//') +%endif +%ifarch s390 +MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/') +%endif +%ifarch s390 %{arm} ppc +MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" +%endif + +export CFLAGS=$MOZ_OPT_FLAGS +export CXXFLAGS="$MOZ_OPT_FLAGS -fno-strict-aliasing" +export LDFLAGS=$MOZ_LINK_FLAGS + +export PREFIX='%{_prefix}' +export LIBDIR='%{_libdir}' + +MOZ_SMP_FLAGS=-j1 +# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel, +# however builds tend to fail on other arches when building in parallel. +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le +[ -z "$RPM_BUILD_NCPUS" ] && \ + RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 +[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4 +[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8 +%endif + +make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" + +# create debuginfo for crash-stats.mozilla.com +%if %{enable_mozilla_crashreporter} +make -C %{objdir} buildsymbols +%endif + +#=============================================================================== + +%install +cd %{tarballdir}/%{objdir} + +DESTDIR=$RPM_BUILD_ROOT make install + +cd .. + +# install icons +for s in 16 22 24 32 48 256; do + %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps + %{__cp} -p other-licenses/branding/%{name}/mailicon${s}.png \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/thunderbird.png +done + + +desktop-file-install --vendor mozilla \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE20} + + +# set up the thunderbird start script +rm -f $RPM_BUILD_ROOT/%{_bindir}/thunderbird +%{__cat} %{SOURCE21} > $RPM_BUILD_ROOT%{_bindir}/thunderbird +%{__chmod} 755 $RPM_BUILD_ROOT/%{_bindir}/thunderbird + +# set up our default preferences +%{__cat} %{SOURCE12} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' > \ + $RPM_BUILD_ROOT/rh-default-prefs +%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/greprefs/all-redhat.js +%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/defaults/pref/all-redhat.js +%{__rm} $RPM_BUILD_ROOT/rh-default-prefs + +%{__rm} -f $RPM_BUILD_ROOT%{_bindir}/thunderbird-config + +# own mozilla plugin dir (#135050) +%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins + +# own extension directories +%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/%{thunderbird_app_id} +%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{thunderbird_app_id} + +# Install langpacks +%{__rm} -f %{name}.lang # Delete for --short-circuit option +touch %{name}.lang +%if %{build_langpacks} +%{__mkdir_p} $RPM_BUILD_ROOT%{mozappdir}/langpacks +%{__tar} xf %{SOURCE1} +for langpack in `ls thunderbird-langpacks/*.xpi`; do + language=`basename $langpack .xpi` + extensionID=langpack-$language@thunderbird.mozilla.org + + language=`echo $language | sed -e 's/-/_/g'` + %{__install} -m 644 ${langpack} $RPM_BUILD_ROOT%{mozappdir}/langpacks/${extensionID}.xpi + echo "%%lang($language) %{mozappdir}/langpacks/${extensionID}.xpi" >> %{name}.lang +done +%{__rm} -rf thunderbird-langpacks +%endif # build_langpacks + +# Get rid of devel package and its debugsymbols +%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-devel-%{version} + +# Copy over the LICENSE +cd mozilla +install -c -m 644 LICENSE $RPM_BUILD_ROOT%{mozappdir} +cd - + +# Use the system hunspell dictionaries +%{__rm} -rf $RPM_BUILD_ROOT/%{mozappdir}/dictionaries +ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{mozappdir}/dictionaries + +# ghost files +%{__mkdir_p} $RPM_BUILD_ROOT%{mozappdir}/components +touch $RPM_BUILD_ROOT%{mozappdir}/components/compreg.dat +touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat + +# Add debuginfo for crash-stats.mozilla.com +%if %{enable_mozilla_crashreporter} +%{__mkdir_p} $RPM_BUILD_ROOT/%{moz_debug_dir} +%{__cp} %{objdir}/mozilla/dist/%{symbols_file_name} $RPM_BUILD_ROOT/%{moz_debug_dir} +%endif + +#=============================================================================== + +%post +update-desktop-database &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun +update-desktop-database &> /dev/null || : +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +#=============================================================================== +%files -f %{tarballdir}/%{name}.lang +%defattr(-,root,root,-) +%attr(755,root,root) %{_bindir}/thunderbird +%attr(644,root,root) %{_datadir}/applications/mozilla-thunderbird.desktop +%dir %{_datadir}/mozilla/extensions/%{thunderbird_app_id} +%dir %{_libdir}/mozilla/extensions/%{thunderbird_app_id} +%dir %{mozappdir} +%doc %{mozappdir}/LICENSE +%{mozappdir}/chrome +%dir %{mozappdir}/components +%ghost %{mozappdir}/components/compreg.dat +%ghost %{mozappdir}/components/xpti.dat +%{mozappdir}/components/components.manifest +%{mozappdir}/components/libdbusservice.so +%{mozappdir}/components/libmozgnome.so +%{mozappdir}/omni.ja +%{mozappdir}/plugin-container +%{mozappdir}/defaults +%{mozappdir}/dictionaries +%dir %{mozappdir}/extensions +%{mozappdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} +%dir %{mozappdir}/langpacks +%{mozappdir}/greprefs +%{mozappdir}/isp +%{mozappdir}/mozilla-xremote-client +%{mozappdir}/run-mozilla.sh +%{mozappdir}/thunderbird-bin +%{mozappdir}/thunderbird +%{mozappdir}/*.so +%{mozappdir}/platform.ini +%{mozappdir}/application.ini +%{mozappdir}/blocklist.xml +%exclude %{mozappdir}/removed-files +%{_datadir}/icons/hicolor/16x16/apps/thunderbird.png +%{_datadir}/icons/hicolor/22x22/apps/thunderbird.png +%{_datadir}/icons/hicolor/24x24/apps/thunderbird.png +%{_datadir}/icons/hicolor/256x256/apps/thunderbird.png +%{_datadir}/icons/hicolor/32x32/apps/thunderbird.png +%{_datadir}/icons/hicolor/48x48/apps/thunderbird.png +%if %{enable_mozilla_crashreporter} +%{mozappdir}/crashreporter +%{mozappdir}/crashreporter.ini +%{mozappdir}/Throbber-small.gif +%endif +%if !%{?system_nss} +%{mozappdir}/*.chk +%endif +%exclude %{_datadir}/idl/%{name}-%{version} +%exclude %{_includedir}/%{name}-%{version} +%{mozappdir}/chrome.manifest +%{mozappdir}/searchplugins +%{mozappdir}/dependentlibs.list + +#=============================================================================== + +%changelog +* Sat Jan 10 2015 Jan Horak - 31.4.0-1 +- Update to 31.4.0 + +* Mon Dec 22 2014 Jan Horak - 31.3.0-2 +- Fixed problems with dictionaries (mozbz#1097550) + +* Fri Nov 28 2014 Jan Horak - 31.3.0-1 +- Update to 31.3.0 + +* Thu Oct 30 2014 Jan Horak - 31.2.0-2 +- Update to 31.2.0 + +* Wed Oct 1 2014 Martin Stransky - 31.1.1-5 +- Sync preferences with Firefox + +* Thu Sep 18 2014 Yaakov Selkowitz - 31.1.1-4 +- Fix dependency generation for internal libraries (#1140471) + +* Fri Sep 12 2014 Jan Horak - 31.1.1-3 +- Update to 31.1.1 + +* Tue Sep 9 2014 Jan Horak - 31.1.0-4 +- Use system libffi + +* Wed Sep 3 2014 Jan Horak - 31.1.0-2 +- Added fix for ppc64le + +* Mon Sep 1 2014 Jan Horak - 31.1.0-1 +- Update to 31.1.0 + +* Wed Jul 30 2014 Martin Stransky - 31.0-2 +- Added patch for mozbz#858919 + +* Tue Jul 29 2014 Martin Stransky - 31.0-1 +- Update to 31.0 + +* Tue Jul 22 2014 Jan Horak - 24.7.0-1 +- Update to 24.7.0 + +* Mon Jun 9 2014 Jan Horak - 24.6.0-1 +- Update to 24.6.0 + +* Sun Jun 08 2014 Fedora Release Engineering - 24.5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Brent Baude - 24.5.0-5 +- Moving the ppc64 conditional up before the cd so it will +- apply cleanly + +* Fri May 23 2014 Martin Stransky - 24.5.0-4 +- Added a build fix for ppc64 - rhbz#1100495 + +* Mon May 5 2014 Jan Horak - 24.5.0-3 +- Fixed find requires + +* Mon Apr 28 2014 Jan Horak - 24.5.0-1 +- Update to 24.5.0 + +* Tue Apr 22 2014 Jan Horak - 24.4.0-2 +- Added support for ppc64le + +* Tue Mar 18 2014 Jan Horak - 24.4.0-1 +- Update to 24.4.0 + +* Mon Feb 3 2014 Jan Horak - 24.3.0-1 +- Update to 24.3.0 + +* Mon Dec 16 2013 Martin Stransky - 24.2.0-4 +- Fixed rhbz#1024232 - thunderbird: squiggly lines used + for spelling correction disappear randomly + +* Fri Dec 13 2013 Martin Stransky - 24.2.0-3 +- Build with -Werror=format-security (rhbz#1037353) + +* Wed Dec 11 2013 Martin Stransky - 24.2.0-2 +- rhbz#1001998 - added a workaround for system notifications + +* Mon Dec 9 2013 Jan Horak - 24.2.0-1 +- Update to 24.2.0 + +* Sat Nov 02 2013 Dennis Gilmore - 24.1.0-2 +- remove ExcludeArch: armv7hl + +* Wed Oct 30 2013 Jan Horak - 24.1.0-1 +- Update to 24.1.0 + +* Thu Oct 17 2013 Martin Stransky - 24.0-4 +- Fixed rhbz#1005611 - BEAST workaround not enabled in Firefox + +* Wed Sep 25 2013 Jan Horak - 24.0-3 +- Update to 24.0 + +* Mon Sep 23 2013 Jan Horak - 17.0.9-1 +- Update to 17.0.9 ESR + +* Mon Aug 5 2013 Jan Horak - 17.0.8-1 +- Update to 17.0.8 + +* Sun Aug 04 2013 Fedora Release Engineering - 17.0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jun 25 2013 Jan Horak - 17.0.7-1 +- Update to 17.0.7 + +* Wed Jun 12 2013 Jan Horak - 17.0.6-2 +- Fixed rhbz#973371 - unable to install addons + +* Tue May 14 2013 Jan Horak - 17.0.6-1 +- Update to 17.0.6 + +* Tue Apr 2 2013 Jan Horak - 17.0.5-1 +- Update to 17.0.5 + +* Mon Mar 11 2013 Jan Horak - 17.0.4-1 +- Update to 17.0.4 + +* Tue Feb 19 2013 Jan Horak - 17.0.3-1 +- Update to 17.0.3 + +* Fri Feb 15 2013 Fedora Release Engineering - 17.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 15 2013 Martin Stransky - 17.0.2-3 +- Added fix for NM regression (mozbz#791626) + +* Tue Jan 15 2013 Jan Horak - 17.0.2-2 +- Added mozilla-746112 patch to fix crash on ppc(64) + +* Thu Jan 10 2013 Jan Horak - 17.0.2-1 +- Update to 17.0.2 + +* Mon Nov 19 2012 Jan Horak - 17.0-1 +- Update to 17.0 + +* Mon Oct 29 2012 Jan Horak - 16.0.2-1 +- Update to 16.0.2 + +* Tue Oct 16 2012 Jan Horak - 16.0.1-2 +- Fixed nss and nspr versions + +* Thu Oct 11 2012 Jan Horak - 16.0.1-1 +- Update to 16.0.1 + +* Tue Oct 9 2012 Jan Horak - 16.0-1 +- Update to 16.0 + +* Tue Sep 18 2012 Dan Horák - 15.0.1-3 +- Added fix for rhbz#855923 - TB freezes on Fedora 18 for PPC64 + +* Fri Sep 14 2012 Martin Stransky - 15.0.1-2 +- Added build flags for second arches + +* Tue Sep 11 2012 Jan Horak - 15.0.1-1 +- Update to 15.0.1 + +* Fri Sep 7 2012 Jan Horak - 15.0-2 +- Added workaround fix for PPC (rbhz#852698) + +* Mon Aug 27 2012 Jan Horak - 15.0-1 +- Update to 15.0 + +* Wed Aug 1 2012 Martin Stransky - 14.0-4 +- Removed StartupWMClass (rhbz#844863) +- Fixed -g parameter +- Removed thunderbird-devel before packing to avoid debugsymbols duplicities (rhbz#823940) + +* Sat Jul 21 2012 Fedora Release Engineering - 14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 17 2012 Jan Horak - 14.0-1 +- Update to 14.0 + +* Fri Jun 15 2012 Jan Horak - 13.0.1-1 +- Update to 13.0.1 + +* Tue Jun 5 2012 Jan Horak - 13.0-1 +- Update to 13.0 + +* Mon May 7 2012 Martin Stransky - 12.0.1-2 +- Fixed #717245 - adhere Static Library Packaging Guidelines + +* Mon Apr 30 2012 Jan Horak - 12.0.1-1 +- Update to 12.0.1 + +* Tue Apr 24 2012 Jan Horak - 12.0-1 +- Update to 12.0 + +* Mon Apr 16 2012 Peter Robinson - 11.0.1-2 +- Add upstream patch to fix FTBFS on ARM + +* Thu Mar 29 2012 Jan Horak - 11.0.1-1 +- Update to 11.0.1 + +* Thu Mar 22 2012 Jan Horak - 11.0-6 +- Added translations to thunderbird.desktop file + +* Fri Mar 16 2012 Martin Stransky - 11.0-5 +- gcc 4.7 build fixes + +* Wed Mar 14 2012 Peter Robinson - 11.0-4 +- Add ARM configuration options + +* Wed Mar 14 2012 Martin Stransky - 11.0-3 +- Build with system libvpx + +* Tue Mar 13 2012 Martin Stransky - 11.0-1 +- Update to 11.0 + +* Thu Feb 23 2012 Jan Horak - 10.0.1-3 +- Added fix for proxy settings mozbz#682832 + +* Thu Feb 16 2012 Martin Stransky - 10.0.1-2 +- Added fix for mozbz#727401 + +* Thu Feb 9 2012 Jan Horak - 10.0.1-1 +- Update to 10.0.1 + +* Mon Feb 6 2012 Martin Stransky - 10.0-2 +- gcc 4.7 build fixes + +* Tue Jan 31 2012 Jan Horak - 10.0-1 +- Update to 10.0 + +* Sat Jan 14 2012 Fedora Release Engineering - 9.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Jan 05 2012 Dan Horák - 9.0-6 +- disable jemalloc on s390(x) (taken from xulrunner) + +* Wed Jan 04 2012 Dan Horák - 9.0-5 +- fix build on secondary arches (cherry-picked from 13afcd4c097c) + +* Thu Dec 22 2011 Jan Horak - 9.0-4 +- Update to 9.0 + +* Fri Dec 9 2011 Martin Stransky - 8.0-4 +- enabled gio support (#760644) + +* Tue Nov 29 2011 Jan Horak - 8.0-3 +- Fixed s390x issues + +* Thu Nov 10 2011 Jan Horak - 8.0-2 +- Enable Mozilla's crash reporter again for all archs +- Temporary workaround for langpacks +- Disabled addon check UI (#753551) + +* Tue Nov 8 2011 Jan Horak - 8.0-1 +- Update to 8.0 + +* Tue Oct 18 2011 Martin Stransky - 7.0.1-3 +- Added NM patches (mozbz#627672, mozbz#639959) + +* Wed Oct 12 2011 Dan Horák - 7.0.1-2 +- fix build on secondary arches (copied from xulrunner) + +* Fri Sep 30 2011 Jan Horak - 7.0.1-1 +- Update to 7.0.1 + +* Tue Sep 27 2011 Jan Horak - 7.0-1 +- Update to 7.0 + +* Tue Sep 6 2011 Jan Horak - 6.0.2-1 +- Update to 6.0.2 + +* Wed Aug 31 2011 Jan Horak - 6.0-3 +- Distrust a specific Certificate Authority + +* Wed Aug 31 2011 Dan Horák - 6.0-2 +- add secondary-ipc patch from xulrunner + +* Tue Aug 16 2011 Jan Horak - 6.0-1 +- Update to 6.0 + +* Tue Aug 16 2011 Remi Collet 5.0-4 +- Don't unzip the langpacks + +* Mon Aug 15 2011 Jan Horak - 5.0-3 +- Rebuild due to rhbz#728707 + +* Wed Jul 20 2011 Dan Horák - 5.0-2 +- add xulrunner patches for secondary arches + +* Tue Jun 28 2011 Jan Horak - 5.0-1 +- Update to 5.0 + +* Tue Jun 21 2011 Jan Horak - 3.1.11-1 +- Update to 3.1.11 + +* Wed May 25 2011 Caolán McNamara - 3.1.10-2 +- rebuild for new hunspell + +* Thu Apr 28 2011 Jan Horak - 3.1.10-1 +- Update to 3.1.10 + +* Thu Apr 21 2011 Christopher Aillon - 3.1.9-7 +- Make gvfs-open launch a compose window (salimma) +- Spec file cleanups (salimma, caillon) +- Split out mozilla crashreporter symbols to its own debuginfo package (caillon) + +* Sat Apr 2 2011 Christopher Aillon - 3.1.9-6 +- Drop gio support: the code hooks don't exist yet for TB 3.1.x + +* Fri Apr 1 2011 Orion Poplawski - 3.1.9-5 +- Enable startup notification + +* Sun Mar 20 2011 Dan Horák - 3.1.9-4 +- updated the s390 build patch + +* Fri Mar 18 2011 Jan Horak - 3.1.9-3 +- Removed gnome-vfs2, libgnomeui and libgnome from build requires + +* Wed Mar 9 2011 Jan Horak - 3.1.9-2 +- Disabled gnomevfs, enabled gio + +* Mon Mar 7 2011 Jan Horak - 3.1.9-1 +- Update to 3.1.9 + +* Tue Mar 1 2011 Jan Horak - 3.1.8-3 +- Update to 3.1.8 + +* Wed Feb 9 2011 Christopher Aillon - 3.1.7-6 +- Drop the -lightning subpackage, it needs to be in its own SRPM + +* Mon Feb 7 2011 Christopher Aillon - 3.1.7-5 +- Bring back the default mailer check but fix up the directory + +* Wed Dec 15 2010 Jan Horak - 3.1.7-4 +- Mozilla crash reporter enabled + +* Thu Dec 9 2010 Jan Horak - 3.1.7-2 +- Fixed useragent + +* Thu Dec 9 2010 Jan Horak - 3.1.7-1 +- Update to 3.1.7 + +* Sat Nov 27 2010 Remi Collet - 3.1.6-8 +- fix cairo + nspr required version +- lightning: fix thunderbird version required +- lightning: fix release (b3pre) +- lightning: clean install + +* Mon Nov 22 2010 Jan Horak - 3.1.6-7 +- Added x-scheme-handler/mailto to thunderbird.desktop file + +* Mon Nov 8 2010 Jan Horak - 3.1.6-4 +- Added libnotify patch +- Removed dependency on static libraries + +* Fri Oct 29 2010 Jan Horak - 3.1.6-2 +- Move thunderbird-lightning extension from Sunbird package to Thunderbird + +* Wed Oct 27 2010 Jan Horak - 3.1.6-1 +- Update to 3.1.6 + +* Tue Oct 19 2010 Jan Horak - 3.1.5-1 +- Update to 3.1.5 + +* Thu Sep 16 2010 Dan Horák - 3.1.3-2 +- fix build on s390 + +* Tue Sep 7 2010 Jan Horak - 3.1.3-1 +- Update to 3.1.3 + +* Fri Aug 6 2010 Jan Horak - 3.1.2-1 +- Update to 3.1.2 +- Disable updater + +* Tue Jul 20 2010 Jan Horak - 3.1.1-1 +- Update to 3.1.1 + +* Thu Jun 24 2010 Jan Horak - 3.1-1 +- Thunderbird 3.1 + +* Fri Jun 11 2010 Jan Horak - 3.1-0.3.rc2 +- TryExec added to desktop file + +* Wed Jun 9 2010 Christopher Aillon 3.1-0.2.rc2 +- Thunderbird 3.1 RC2 + +* Tue May 25 2010 Christopher Aillon 3.1-0.1.rc1 +- Thunderbird 3.1 RC1 + +* Fri Apr 30 2010 Jan Horak - 3.0.4-3 +- Fix for mozbz#550455 + +* Tue Apr 13 2010 Martin Stransky - 3.0.4-2 +- Fixed langpacks (#580444) + +* Tue Mar 30 2010 Jan Horak - 3.0.4-1 +- Update to 3.0.4 + +* Sat Mar 06 2010 Kalev Lember - 3.0.3-2 +- Own extension directories (#532132) + +* Mon Mar 1 2010 Jan Horak - 3.0.3-1 +- Update to 3.0.3 + +* Thu Feb 25 2010 Jan Horak - 3.0.2-1 +- Update to 3.0.2 + +* Wed Jan 20 2010 Martin Stransky - 3.0.1-1 +- Update to 3.0.1 + +* Mon Jan 18 2010 Martin Stransky - 3.0-5 +- Added fix for #480603 - thunderbird takes + unacceptably long time to start + +* Wed Dec 9 2009 Jan Horak - 3.0-4 +- Update to 3.0 + +* Thu Dec 3 2009 Jan Horak - 3.0-3.13.rc2 +- Update to RC2 + +* Wed Nov 25 2009 Jan Horak - 3.0-3.12.rc1 +- Sync with Mozilla latest RC1 build + +* Thu Nov 19 2009 Jan Horak - 3.0-3.11.rc1 +- Update to RC1 + +* Thu Sep 17 2009 Christopher Aillon - 3.0-3.9.b4 +- Update to 3.0 b4 + +* Thu Aug 6 2009 Martin Stransky - 3.0-3.8.beta3 +- Added fix for #437596 +- Removed unused patches + +* Thu Aug 6 2009 Jan Horak - 3.0-3.7.beta3 +- Removed unused build requirements + +* Mon Aug 3 2009 Jan Horak - 3.0-3.6.beta3 +- Build with system hunspell + +* Sun Jul 26 2009 Fedora Release Engineering - 3.0-3.5.b3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 24 2009 Jan Horak - 3.0-2.5.beta3 +- Use system hunspell + +* Tue Jul 21 2009 Jan Horak - 3.0-2.4.beta3 +- Update to 3.0 beta3 + +* Mon Mar 30 2009 Jan Horak - 3.0-2.2.beta2 +- Fixed open-browser.sh to use xdg-open instead of gnome-open + +* Mon Mar 23 2009 Christopher Aillon - 3.0-2.1.beta2 +- Disable the default app nag dialog + +* Tue Mar 17 2009 Jan Horak - 3.0-2.beta2 +- Fixed clicked link does not open in browser (#489120) +- Fixed missing help in thunderbird (#488885) + +* Mon Mar 2 2009 Jan Horak - 3.0-1.beta2 +- Update to 3.0 beta2 +- Added Patch2 to build correctly when building with --enable-shared option + +* Wed Feb 25 2009 Fedora Release Engineering - 2.0.0.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 07 2009 Christopher Aillon - 2.0.0.18-2 +- Disable the crash dialog + +* Wed Nov 19 2008 Christopher Aillon 2.0.0.18-1 +- Update to 2.0.0.18 + +* Thu Oct 9 2008 Christopher Aillon 2.0.0.17-1 +- Update to 2.0.0.17 + +* Wed Jul 23 2008 Christopher Aillon 2.0.0.16-1 +- Update to 2.0.0.16 + +* Thu May 1 2008 Christopher Aillon 2.0.0.14-1 +- Update to 2.0.0.14 +- Use the system dictionaries + +* Fri Apr 18 2008 Christopher Aillon 2.0.0.12-6 +- Icon belongs in _datadir/pixmaps + +* Fri Apr 18 2008 Christopher Aillon 2.0.0.12-5 +- rebuilt + +* Mon Apr 7 2008 Christopher Aillon 2.0.0.12-4 +- Add %%lang attributes to langpacks + +* Sat Mar 15 2008 Christopher Aillon 2.0.0.12-3 +- Avoid conflict between gecko debuginfos + +* Mon Mar 03 2008 Martin Stransky 2.0.0.12-2 +- Updated starting script (#426331) + +* Tue Feb 26 2008 Christopher Aillon 2.0.0.12-1 +- Update to 2.0.0.12 +- Fix up icon location and some scriptlets + +* Sun Dec 9 2007 Christopher Aillon 2.0.0.9-2 +- Fix some rpmlint warnings +- Drop some old patches and obsoletes + +* Thu Nov 15 2007 Christopher Aillon 2.0.0.9-1 +- Update to 2.0.0.9 + +* Wed Sep 26 2007 Martin Stransky 2.0.0.6-6 +- Fixed #242657 - firefox -g doesn't work + +* Tue Sep 25 2007 Christopher Aillon 2.0.0.6-5 +- Removed hardcoded MAX_PATH, PATH_MAX and MAXPATHLEN macros + +* Tue Sep 11 2007 Christopher Aillon 2.0.0.6-4 +- Fix crashes when using GTK+ themes containing a gtkrc which specify + GtkOptionMenu::indicator_size and GtkOptionMenu::indicator_spacing + +* Mon Sep 10 2007 Martin Stransky 2.0.0.6-3 +- added fix for #246248 - firefox crashes when searching for word "do" + +* Mon Aug 13 2007 Christopher Aillon 2.0.0.6-2 +- Update the license tag + +* Wed Aug 8 2007 Christopher Aillon 2.0.0.6-1 +- Update to 2.0.0.6 +- Own the application directory (#244901) + +* Tue Jul 31 2007 Martin Stransky 2.0.0.0-3 +- added pango ligature fix + +* Thu Apr 19 2007 Christopher Aillon 2.0.0.0-1 +- Update to 2.0.0.0 Final + +* Fri Apr 13 2007 Christopher Aillon 2.0.0.0-0.5.rc1 +- Fix the desktop file +- Clean up the files list +- Remove the default client stuff from the pref window + +* Thu Apr 12 2007 Christopher Aillon 2.0.0.0-0.4.rc1 +- Rebuild into Fedora + +* Wed Apr 11 2007 Christopher Aillon 2.0.0.0-0.3.rc1 +- Update langpacks + +* Thu Apr 5 2007 Christopher Aillon 2.0.0.0-0.2.rc1 +- Build option tweaks +- Bring the install section to parity with Firefox's + +* Thu Apr 5 2007 Christopher Aillon 2.0.0.0-0.1.rc1 +- Update to 2.0.0.0 RC1 + +* Sun Mar 25 2007 Christopher Aillon 1.5.0.11-1 +- Update to 1.5.0.11 + +* Fri Mar 2 2007 Martin Stransky 1.5.0.10-1 +- Update to 1.5.0.10 + +* Mon Feb 12 2007 Martin Stransky 1.5.0.9-8 +- added fix for #227406: garbage characters on some websites + (when pango is disabled) + +* Tue Jan 30 2007 Christopher Aillon 1.5.0.9-7 +- Updated cursor position patch from tagoh to fix issue with "jumping" + cursor when in a textfield with tabs. + +* Tue Jan 30 2007 Christopher Aillon 1.5.0.9-6 +- Fix the DND implementation to not grab, so it works with new GTK+. + +* Thu Dec 21 2006 Behdad Esfahbod 1.5.0.9-5 +- Added firefox-1.5-pango-underline.patch + +* Wed Dec 20 2006 Behdad Esfahbod 1.5.0.9-4 +- Added firefox-1.5-pango-justified-range.patch + +* Tue Dec 19 2006 Behdad Esfahbod 1.5.0.9-3 +- Added firefox-1.5-pango-cursor-position-more.patch + +* Tue Dec 19 2006 Matthias Clasen 1.5.0.9-2 +- Add a Requires: launchmail (#219884) + +* Tue Dec 19 2006 Christopher Aillon 1.5.0.9-1 +- Update to 1.5.0.9 +- Take firefox's pango fixes +- Don't offer to import...nothing. + +* Tue Nov 7 2006 Christopher Aillon 1.5.0.8-1 +- Update to 1.5.0.8 +- Allow choosing of download directory +- Take the user to the correct directory from the Download Manager. +- Patch to add support for printing via pango from Behdad. + +* Sun Oct 8 2006 Christopher Aillon - 1.5.0.7-4 +- Default to use of system colors + +* Wed Oct 4 2006 Christopher Aillon - 1.5.0.7-3 +- Bring the invisible character to parity with GTK+ + +* Wed Sep 27 2006 Christopher Aillon - 1.5.0.7-2 +- Fix crash when changing gtk key theme +- Prevent UI freezes while changing GNOME theme +- Remove verbiage about pango; no longer required by upstream. + +* Wed Sep 13 2006 Christopher Aillon - 1.5.0.7-1 +- Update to 1.5.0.7 + +* Thu Sep 7 2006 Christopher Aillon - 1.5.0.5-8 +- Shuffle order of the install phase around + +* Thu Sep 7 2006 Christopher Aillon - 1.5.0.5-7 +- Let there be art for Alt+Tab again +- s/tbdir/mozappdir/g + +* Wed Sep 6 2006 Christopher Aillon - 1.5.0.5-6 +- Fix for cursor position in editor widgets by tagoh and behdad (#198759) + +* Tue Sep 5 2006 Christopher Aillon - 1.5.0.5-5 +- Update nopangoxft.patch +- Fix rendering of MathML thanks to Behdad Esfahbod. +- Update start page text to reflect the MathML fixes. +- Enable pango by default on all locales +- Build using -rpath +- Re-enable GCC visibility + +* Thu Aug 3 2006 Kai Engert - 1.5.0.5-4 +- Fix a build failure in mailnews mime code. + +* Tue Aug 1 2006 Matthias Clasen - 1.5.0.5-3 +- Rebuild + +* Thu Jul 27 2006 Christopher Aillon - 1.5.0.5-2 +- Update to 1.5.0.5 + +* Wed Jul 12 2006 Jesse Keating - 1.5.0.4-2.1 +- rebuild + +* Mon Jun 12 2006 Kai Engert - 1.5.0.4-2 +- Update to 1.5.0.4 +- Fix desktop-file-utils requires + +* Wed Apr 19 2006 Christopher Aillon - 1.5.0.2-2 +- Update to 1.5.0.2 + +* Thu Mar 16 2006 Christopher Aillon - 1.5-7 +- Bring the other arches back + +* Mon Mar 13 2006 Christopher Aillon - 1.5.6 +- Temporarily disable other arches that we don't ship FC5 with, for time + +* Mon Mar 13 2006 Christopher Aillon - 1.5-5 +- Add a notice to the mail start page denoting this is a pango enabled build. + +* Fri Feb 10 2006 Christopher Aillon - 1.5-3 +- Add dumpstack.patch +- Improve the langpack install stuff + +* Tue Feb 07 2006 Jesse Keating - 1.5-2.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Jan 27 2006 Christopher Aillon - 1.5-2 +- Add some langpacks back in +- Stop providing MozillaThunderbird + +* Thu Jan 12 2006 Christopher Aillon - 1.5-1 +- Official 1.5 release is out + +* Wed Jan 11 2006 Christopher Aillon - 1.5-0.5.6.rc1 +- Fix crash when deleting highlighted text while composing mail within + plaintext editor with spellcheck enabled. + +* Tue Jan 3 2006 Christopher Aillon - 1.5-0.5.5.rc1 +- Looks like we can build on ppc64 again. + +* Fri Dec 16 2005 Christopher Aillon - 1.5-0.5.4.rc1 +- Rebuild + +* Fri Dec 16 2005 Christopher Aillon - 1.5-0.5.3.rc1 +- Once again, disable ppc64 because of a new issue. + See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=175944 + +- Use the system NSS libraries +- Build on ppc64 + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Mon Nov 28 2005 Christopher Aillon - 1.5-0.5.1.rc1 +- Fix issue with popup dialogs and other actions causing lockups + +* Sat Nov 5 2005 Christopher Aillon 1.5-0.5.0.rc1 +- Update to 1.5 rc1 + +* Sat Oct 8 2005 Christopher Aillon 1.5-0.5.0.beta2 +- Update to 1.5 beta2 + +* Wed Sep 28 2005 Christopher Aillon 1.5-0.5.0.beta1 +- Update to 1.5 beta1 +- Bring the install phase of the spec file up to speed + +* Sun Aug 14 2005 Christopher Aillon 1.0.6-4 +- Rebuild + +* Sat Aug 6 2005 Christopher Aillon 1.0.6-3 +- Add patch to make file chooser dialog modal + +* Fri Jul 22 2005 Christopher Aillon 1.0.6-2 +- Update to 1.0.6 + +* Mon Jul 18 2005 Christopher Aillon 1.0.6-0.1.fc5 +- 1.0.6 Release Candidate + +* Fri Jul 15 2005 Christopher Aillon 1.0.2-8 +- Use system NSPR +- Fix crash on 64bit platforms (#160330) + +* Thu Jun 23 2005 Kristian Høgsberg 1.0.2-7 +- Add firefox-1.0-pango-cairo.patch to get rid of the last few Xft + references, fixing the "no fonts" problem. + +* Fri May 13 2005 Christopher Aillon 1.0.2-6 +- Change the Exec line in the desktop file to `thunderbird` + +* Fri May 13 2005 Christopher Aillon 1.0.2-5 +- Update pango patche, MOZ_DISABLE_PANGO now works as advertised. + +* Mon May 9 2005 Christopher Aillon 1.0.2-4 +- Add temporary workaround to not create files in the user's $HOME (#149664) + +* Wed May 4 2005 Christopher Aillon 1.0.2-3 +- Don't have downloads "disappear" when downloading to desktop (#139015) +- Fix for some more cursor issues in textareas (149991, 150002, 152089) +- Add upstream patch to fix bidi justification of pango +- Add patch to fix launching of helper applications +- Add patch to properly link against libgfxshared_s.a +- Fix multilib conflicts + +* Wed Apr 27 2005 Warren Togami +- correct confusing PANGO vars in startup script + +* Wed Mar 23 2005 Christopher Aillon 1.0.2-1 +- Thunderbird 1.0.2 + +* Tue Mar 8 2005 Christopher Aillon 1.0-5 +- Add patch to compile against new fortified glibc macros + +* Sat Mar 5 2005 Christopher Aillon 1.0-4 +- Rebuild against GCC 4.0 +- Add execshield patches +- Minor specfile cleanup + +* Mon Dec 20 2004 Christopher Aillon 1.0-3 +- Rebuild + +* Thu Dec 16 2004 Christopher Aillon 1.0-2 +- Add RPM version to useragent + +* Thu Dec 16 2004 Christopher Blizzard +- Port over pango patches from firefox + +* Wed Dec 8 2004 Christopher Aillon 1.0-1 +- Thunderbird 1.0 + +* Mon Dec 6 2004 Christopher Aillon 1.0-0.rc1.1 +- Fix advanced prefs + +* Fri Dec 3 2004 Christopher Aillon +- Make this run on s390(x) now for real + +* Wed Dec 1 2004 Christopher Aillon 1.0-0.rc1.0 +- Update to 1.0 rc1 + +* Fri Nov 19 2004 Christopher Aillon +- Add patches to build and run on s390(x) + +* Thu Nov 11 2004 Christopher Aillon 0.9.0-2 +- Rebuild to fix file chooser + +* Fri Nov 5 2004 Christopher Aillon 0.9.0-1 +- Update to 0.9 + +* Fri Oct 22 2004 Christopher Aillon 0.8.0-10 +- Prevent inlining of stack direction detection (#135255) + +* Tue Oct 19 2004 Christopher Aillon 0.8.0-9 +- More file chooser fixes (same as in firefox) +- Fix for upstream 28327. + +* Mon Oct 18 2004 Christopher Blizzard 0.8.0-8 +- Update the pango patch + +* Mon Oct 18 2004 Christopher Blizzard 0.8.0-8 +- Pull over patches from firefox build: + - disable default application dialog + - don't include software update since it doesn't work + - make external app support work + +* Thu Oct 14 2004 Christopher Blizzard 0.8.0-7 +- Use pango for rendering + +* Tue Oct 12 2004 Christopher Aillon 0.8.0-6 +- Fix for 64 bit crash at startup (b.m.o #256603) + +* Sat Oct 9 2004 Christopher Aillon 0.8.0-5 +- Add patches to fix xremote (#135036) + +* Fri Oct 8 2004 Christopher Aillon 0.8.0-4 +- Add patch to fix button focus issues (#133507) +- Add patch for fix IMAP race issues (bmo #246439) + +* Fri Oct 1 2004 Bill Nottingham 0.8.0-3 +- filter out library Provides: and internal Requires: + +* Tue Sep 28 2004 Christopher Aillon 0.8.0-2 +- Backport the GTK+ File Chooser. +- Add fix for JS math on x86_64 systems +- Add pkgconfig patch + +* Thu Sep 16 2004 Christopher Aillon 0.8.0-1 +- Update to 0.8.0 +- Remove enigmail +- Update BuildRequires +- Remove gcc34 and extension manager patches -- they are upstreamed. +- Fix for gnome-vfs2 error at component registration + +* Fri Sep 03 2004 Christopher Aillon 0.7.3-5 +- Build with --disable-xprint + +* Wed Sep 01 2004 David Hill 0.7.3-4 +- remove all Xvfb-related hacks + +* Wed Sep 01 2004 Warren Togami +- actually apply psfonts +- add mozilla gnome-uriloader patch to prevent build failure + +* Tue Aug 31 2004 Warren Togami 0.7.3-3 +- rawhide import +- apply NetBSD's freetype 2.1.8 patch +- apply psfonts patch +- remove BR on /usr/bin/ex, breaks beehive + +* Tue Aug 31 2004 David Hill 0.7.3-0.fdr.2 +- oops, fix %%install + +* Thu Aug 26 2004 David Hill 0.7.3-0.fdr.1 +- update to Thunderbird 0.7.3 and Enigmail 0.85.0 +- remove XUL.mfasl on startup, add Debian enigmail patches +- add Xvfb hack for -install-global-extension + +* Wed Jul 14 2004 David Hill 0.7.2-0.fdr.0 +- update to 0.7.2, just because it's there +- update gcc-3.4 patch (Kaj Niemi) +- add EM registration patch and remove instdir hack + +* Sun Jul 04 2004 David Hill 0.7.1-0.fdr.1 +- re-add Enigmime 1.0.7, omit Enigmail until the Mozilla EM problems are fixed + +* Wed Jun 30 2004 David Hill 0.7.1-0.fdr.0 +- update to 0.7.1 +- remove Enigmail + +* Mon Jun 28 2004 David Hill 0.7-0.fdr.1 +- re-enable Enigmail 0.84.1 +- add gcc-3.4 patch (Kaj Niemi) +- use official branding (with permission) + +* Fri Jun 18 2004 David Hill 0.7-0.fdr.0 +- update to 0.7 +- temporarily disable Enigmail 0.84.1, make ftp links work (#1634) +- specify libdir, change BR for apt (V. Skyttä, #1617) + +* Tue May 18 2004 Warren Togami 0.6-0.fdr.5 +- temporary workaround for enigmail skin "modern" bug + +* Mon May 10 2004 David Hill 0.6-0.fdr.4 +- update to Enigmail 0.84.0 +- update launch script + +* Mon May 10 2004 David Hill 0.6-0.fdr.3 +- installation directory now versioned +- allow root to run the program (for installing extensions) +- remove unnecessary %%pre and %%post +- remove separators, update mozconfig and launch script (M. Schwendt, #1460) + +* Wed May 05 2004 David Hill 0.6-0.fdr.2 +- include Enigmail, re-add release notes +- delete %%{_libdir}/thunderbird in %%pre + +* Mon May 03 2004 David Hill 0.6-0.fdr.1 +- update to Thunderbird 0.6 + +* Fri Apr 30 2004 David Hill 0.6-0.fdr.0.rc1 +- update to Thunderbird 0.6 RC1 +- add new icon, remove release notes + +* Thu Apr 15 2004 David Hill 0.6-0.fdr.0.20040415 +- update to latest CVS, update mozconfig and %%build accordingly +- update to Enigmail 0.83.6 +- remove x-remote and x86_64 patches +- build with -Os + +* Thu Apr 15 2004 David Hill 0.5-0.fdr.12 +- update x-remote patch +- more startup script fixes + +* Tue Apr 06 2004 David Hill 0:0.5-0.fdr.11 +- startup script fixes, and a minor cleanup + +* Sun Apr 04 2004 Warren Togami 0:0.5-0.fdr.10 +- Minor cleanups + +* Sun Apr 04 2004 David Hill 0:0.5-0.fdr.8 +- minor improvements to open-browser.sh and startup script +- update to latest version of Blizzard's x-remote patch + +* Thu Mar 25 2004 David Hill 0:0.5-0.fdr.7 +- update open-browser.sh, startup script, and BuildRequires + +* Sun Mar 14 2004 David Hill 0:0.5-0.fdr.6 +- update open-browser script, modify BuildRequires (Warren) +- add Blizzard's x-remote patch +- initial attempt at x-remote-enabled startup script + +* Sun Mar 07 2004 David Hill 0:0.5-0.fdr.5 +- refuse to run with excessive privileges + +* Fri Feb 27 2004 David Hill 0:0.5-0.fdr.4 +- add Mozilla x86_64 patch (Oliver Sontag) +- Enigmail source filenames now include the version +- modify BuildRoot + +* Thu Feb 26 2004 David Hill 0:0.5-0.fdr.3 +- use the updated official tarball + +* Wed Feb 18 2004 David Hill 0:0.5-0.fdr.2 +- fix %%prep script + +* Mon Feb 16 2004 David Hill 0:0.5-0.fdr.1 +- update Enigmail to 0.83.3 +- use official source tarball (after removing the CRLFs) +- package renamed to thunderbird + +* Mon Feb 09 2004 David Hill 0:0.5-0.fdr.0 +- update to 0.5 +- check for lockfile before launching + +* Fri Feb 06 2004 David Hill +- update to latest cvs +- update to Enigmail 0.83.2 + +* Thu Jan 29 2004 David Hill 0:0.4-0.fdr.5 +- update to Enigmail 0.83.1 +- removed Mozilla/Firebird script patching + +* Sat Jan 03 2004 David Hill 0:0.4-0.fdr.4 +- add startup notification to .desktop file + +* Thu Dec 25 2003 Warren Togami 0:0.4-0.fdr.3 +- open-browser.sh release 3 +- patch broken /usr/bin/mozilla script during install +- dir ownership +- XXX: Source fails build on x86_64... fix later + +* Tue Dec 23 2003 David Hill 0:0.4-0.fdr.2 +- update to Enigmail 0.82.5 +- add Warren's open-browser.sh (#1113) + +* Tue Dec 09 2003 David Hill 0:0.4-0.fdr.1 +- use Thunderbird's mozilla-xremote-client to launch browser + +* Sun Dec 07 2003 David Hill 0:0.4-0.fdr.0 +- update to 0.4 +- make hyperlinks work (with recent versions of Firebird/Mozilla) + +* Thu Dec 04 2003 David Hill +- update to 0.4rc2 + +* Wed Dec 03 2003 David Hill +- update to 0.4rc1 and Enigmail 0.82.4 + +* Thu Nov 27 2003 David Hill +- update to latest CVS and Enigmail 0.82.3 + +* Sun Nov 16 2003 David Hill +- update to latest CVS (0.4a) +- update Enigmail to 0.82.2 +- alter mozconfig for new build requirements +- add missing BuildReq (#987) + +* Thu Oct 16 2003 David Hill 0:0.3-0.fdr.0 +- update to 0.3 + +* Sun Oct 12 2003 David Hill 0:0.3rc3-0.fdr.0 +- update to 0.3rc3 +- update Enigmail to 0.81.7 + +* Thu Oct 02 2003 David Hill 0:0.3rc2-0.fdr.0 +- update to 0.3rc2 + +* Wed Sep 17 2003 David Hill 0:0.2-0.fdr.2 +- simplify startup script + +* Wed Sep 10 2003 David Hill 0:0.2-0.fdr.1 +- add GPG support (Enigmail 0.81.6) +- specfile fixes (#679) + +* Thu Sep 04 2003 David Hill 0:0.2-0.fdr.0 +- update to 0.2 + +* Mon Sep 01 2003 David Hill +- initial RPM + (based on the fedora MozillaFirebird-0.6.1 specfile)