From 78907605a13298b1d0c41d1e57fc6ad039fedae2 Mon Sep 17 00:00:00 2001 From: Christopher Aillon Date: Wed, 28 Sep 2005 17:41:24 +0000 Subject: [PATCH] - Update to 1.5 beta1 - Bring the install phase of the spec file up to speed --- .cvsignore | 1 + firefox-1.1-uriloader.patch | 459 ++++++++++++++++++++++++++ sources | 2 +- thunderbird-1.1-software-update.patch | 27 ++ thunderbird-mozconfig | 40 +-- thunderbird-mozconfig-branded | 1 + thunderbird.spec | 187 +++++------ 7 files changed, 583 insertions(+), 134 deletions(-) create mode 100755 firefox-1.1-uriloader.patch create mode 100644 thunderbird-1.1-software-update.patch create mode 100755 thunderbird-mozconfig-branded diff --git a/.cvsignore b/.cvsignore index 8fd8bde..68a7625 100644 --- a/.cvsignore +++ b/.cvsignore @@ -3,3 +3,4 @@ thunderbird-source-0.8.tar.bz2 thunderbird-0.9-source.tar.bz2 thunderbird-1.0rc-source.tar.bz2 thunderbird-1.0-source.tar.bz2 +thunderbird-1.5b1-source.tar.bz2 diff --git a/firefox-1.1-uriloader.patch b/firefox-1.1-uriloader.patch new file mode 100755 index 0000000..08c7e96 --- /dev/null +++ b/firefox-1.1-uriloader.patch @@ -0,0 +1,459 @@ +Index: uriloader/exthandler/Makefile.in +=================================================================== +RCS file: /cvsroot/mozilla/uriloader/exthandler/Makefile.in,v +retrieving revision 1.60 +diff -d -u -p -r1.60 Makefile.in +--- uriloader/exthandler/Makefile.in 2 May 2005 16:30:03 -0000 1.60 ++++ uriloader/exthandler/Makefile.in 21 Jul 2005 03:07:39 -0000 +@@ -102,7 +102,7 @@ endif + LOCAL_INCLUDES = -I$(srcdir) + + ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) +-OSHELPER += nsGNOMERegistry.cpp ++OSHELPER += nsMIMEInfoUnix.cpp nsGNOMERegistry.cpp + endif + + ifeq ($(MOZ_WIDGET_TOOLKIT),beos) +Index: uriloader/exthandler/unix/nsGNOMERegistry.cpp +=================================================================== +RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp,v +retrieving revision 1.10 +diff -d -u -p -r1.10 nsGNOMERegistry.cpp +--- uriloader/exthandler/unix/nsGNOMERegistry.cpp 16 Oct 2004 13:46:17 -0000 1.10 ++++ uriloader/exthandler/unix/nsGNOMERegistry.cpp 21 Jul 2005 03:07:40 -0000 +@@ -42,7 +42,7 @@ + #include "nsString.h" + #include "nsIComponentManager.h" + #include "nsILocalFile.h" +-#include "nsMIMEInfoImpl.h" ++#include "nsMIMEInfoUnix.h" + #include "nsAutoPtr.h" + + #include +@@ -56,12 +56,12 @@ typedef struct _GConfClient GConfClient; + typedef struct _GnomeProgram GnomeProgram; + typedef struct _GnomeModuleInfo GnomeModuleInfo; + +-typedef struct { ++struct GnomeVFSMimeApplication { + char *id; + char *name; + char *command; + /* there is more here, but we don't need it */ +-} GnomeVFSMimeApplication; ++}; + + typedef GConfClient * (*_gconf_client_get_default_fn)(); + typedef gchar * (*_gconf_client_get_string_fn)(GConfClient *, +@@ -264,7 +264,7 @@ nsGNOMERegistry::GetAppDescForScheme(con + } + + +-/* static */ already_AddRefed ++/* static */ already_AddRefed + nsGNOMERegistry::GetFromExtension(const char *aFileExt) + { + if (!gconfLib) +@@ -286,7 +286,7 @@ nsGNOMERegistry::GetFromExtension(const + return GetFromType(mimeType); + } + +-/* static */ already_AddRefed ++/* static */ already_AddRefed + nsGNOMERegistry::GetFromType(const char *aMIMEType) + { + if (!gconfLib) +@@ -296,9 +296,11 @@ nsGNOMERegistry::GetFromType(const char + if (!handlerApp) + return nsnull; + +- nsRefPtr mimeInfo = new nsMIMEInfoImpl(aMIMEType); ++ nsRefPtr mimeInfo = new nsMIMEInfoUnix(aMIMEType); + NS_ENSURE_TRUE(mimeInfo, nsnull); + ++ mimeInfo->SetDefaultGnomeVFSMimeApplication(handlerApp); ++ + // Get the list of extensions and append then to the mimeInfo. + GList *extensions = _gnome_vfs_mime_get_extensions_list(aMIMEType); + for (GList *extension = extensions; extension; extension = extension->next) +@@ -320,11 +322,21 @@ nsGNOMERegistry::GetFromType(const char + return nsnull; + } + +- gchar *commandPath = g_find_program_in_path(nativeCommand); ++ gchar **argv; ++ gboolean res = g_shell_parse_argv(nativeCommand, NULL, &argv, NULL); ++ if (!res) { ++ NS_ERROR("Could not convert helper app command to filesystem encoding"); ++ _gnome_vfs_mime_application_free(handlerApp); ++ return nsnull; ++ } ++ ++ gchar *commandPath = g_find_program_in_path(argv[0]); + + g_free(nativeCommand); ++ g_strfreev(argv); + + if (!commandPath) { ++ NS_WARNING("could not find command in path"); + _gnome_vfs_mime_application_free(handlerApp); + return nsnull; + } +@@ -342,7 +354,7 @@ nsGNOMERegistry::GetFromType(const char + + _gnome_vfs_mime_application_free(handlerApp); + +- nsMIMEInfoBase* retval; ++ nsMIMEInfoUnix* retval; + NS_ADDREF((retval = mimeInfo)); + return retval; + } +Index: uriloader/exthandler/unix/nsGNOMERegistry.h +=================================================================== +RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.h,v +retrieving revision 1.3 +diff -d -u -p -r1.3 nsGNOMERegistry.h +--- uriloader/exthandler/unix/nsGNOMERegistry.h 16 Oct 2004 13:46:17 -0000 1.3 ++++ uriloader/exthandler/unix/nsGNOMERegistry.h 21 Jul 2005 03:07:40 -0000 +@@ -35,10 +35,13 @@ + * + * ***** END LICENSE BLOCK ***** */ + ++#ifndef nsGNOMERegistry_h__ ++#define nsGNOMERegistry_h__ ++ + #include "nsIURI.h" + #include "nsCOMPtr.h" + +-class nsMIMEInfoBase; ++class nsMIMEInfoUnix; + + class nsGNOMERegistry + { +@@ -52,7 +55,9 @@ class nsGNOMERegistry + static void GetAppDescForScheme(const nsACString& aScheme, + nsAString& aDesc); + +- static already_AddRefed GetFromExtension(const char *aFileExt); ++ static already_AddRefed GetFromExtension(const char *aFileExt); + +- static already_AddRefed GetFromType(const char *aMIMEType); ++ static already_AddRefed GetFromType(const char *aMIMEType); + }; ++ ++#endif // nsGNOMERegistry_h__ +Index: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +=================================================================== +RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 21 Jul 2005 03:07:40 -0000 +@@ -0,0 +1,196 @@ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org Code. ++ * ++ * The Initial Developer of the Original Code is ++ * Red Hat, Inc. ++ * Portions created by the Initial Developer are Copyright (C) 2005 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * Christopher Aillon (Original author) ++ * ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#include "nsMIMEInfoUnix.h" ++#include "prlink.h" ++#include "prmem.h" ++#include ++#include ++ ++static PRLibrary *gnomeLib; ++static PRLibrary *vfsLib; ++ ++typedef struct _GnomeProgram GnomeProgram; ++typedef struct _GnomeModuleInfo GnomeModuleInfo; ++ ++typedef enum { ++ GNOME_VFS_OK // there's more but we don't care about them. ++} GnomeVFSResult; ++ ++typedef GnomeVFSResult (*_gnome_vfs_mime_application_launch_fn) ++ (GnomeVFSMimeApplication *app, ++ GList *uris); ++typedef void (*_gnome_vfs_mime_application_free_fn)(GnomeVFSMimeApplication *); ++typedef GnomeVFSMimeApplication * (*_gnome_vfs_mime_application_copy_fn)(GnomeVFSMimeApplication *); ++typedef GnomeProgram * (*_gnome_program_init_fn)(const char *, const char *, ++ const GnomeModuleInfo *, int, ++ char **, const char *, ...); ++typedef const char * (*_gnome_vfs_mime_application_get_name_fn)(GnomeVFSMimeApplication *); ++typedef const GnomeModuleInfo * (*_libgnome_module_info_get_fn)(); ++typedef GnomeProgram * (*_gnome_program_get_fn)(); ++typedef char * (*_gnome_vfs_make_uri_from_input_fn)(const char *); ++ ++#define DECL_FUNC_PTR(func) static _##func##_fn _##func ++ ++DECL_FUNC_PTR(gnome_vfs_mime_application_launch); ++DECL_FUNC_PTR(gnome_vfs_mime_application_free); ++DECL_FUNC_PTR(gnome_vfs_mime_application_copy); ++DECL_FUNC_PTR(gnome_vfs_mime_application_get_name); ++DECL_FUNC_PTR(gnome_program_init); ++DECL_FUNC_PTR(gnome_program_get); ++DECL_FUNC_PTR(libgnome_module_info_get); ++DECL_FUNC_PTR(gnome_vfs_make_uri_from_input); ++ ++static PRLibrary * ++LoadVersionedLibrary(const char* libName, const char* libVersion) ++{ ++ char *platformLibName = PR_GetLibraryName(nsnull, libName); ++ nsCAutoString versionLibName(platformLibName); ++ versionLibName.Append(libVersion); ++ PR_Free(platformLibName); ++ return PR_LoadLibrary(versionLibName.get()); ++} ++ ++static void ++Cleanup() ++{ ++ // Unload all libraries ++ if (gnomeLib) ++ PR_UnloadLibrary(gnomeLib); ++ if (vfsLib) ++ PR_UnloadLibrary(vfsLib); ++ ++ gnomeLib = vfsLib = nsnull; ++} ++ ++static void ++InitGnomeVFS() ++{ ++ static PRBool initialized = PR_FALSE; ++ ++ if (initialized) ++ return; ++ ++ #define ENSURE_LIB(lib) \ ++ PR_BEGIN_MACRO \ ++ if (!lib) { \ ++ Cleanup(); \ ++ return; \ ++ } \ ++ PR_END_MACRO ++ ++ #define GET_LIB_FUNCTION(lib, func, failure) \ ++ PR_BEGIN_MACRO \ ++ _##func = (_##func##_fn) PR_FindFunctionSymbol(lib##Lib, #func); \ ++ if (!_##func) { \ ++ failure; \ ++ } \ ++ PR_END_MACRO ++ ++ // Attempt to open libgnome ++ gnomeLib = LoadVersionedLibrary("gnome-2", ".0"); ++ ENSURE_LIB(gnomeLib); ++ ++ GET_LIB_FUNCTION(gnome, gnome_program_init, return Cleanup()); ++ GET_LIB_FUNCTION(gnome, libgnome_module_info_get, return Cleanup()); ++ GET_LIB_FUNCTION(gnome, gnome_program_get, return Cleanup()); ++ ++ // Attempt to open libgnomevfs ++ vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0"); ++ ENSURE_LIB(vfsLib); ++ ++ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_launch, /* do nothing */); ++ GET_LIB_FUNCTION(vfs, gnome_vfs_make_uri_from_input, return Cleanup()); ++ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_get_name, return Cleanup()); ++ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_free, return Cleanup()); ++ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_copy, return Cleanup()); ++ ++ // Initialize GNOME, if it's not already initialized. It's not ++ // necessary to tell GNOME about our actual command line arguments. ++ ++ if (!_gnome_program_get()) { ++ char *argv[1] = { "gecko" }; ++ _gnome_program_init("Gecko", "1.0", _libgnome_module_info_get(), ++ 1, argv, NULL); ++ } ++ ++ // Note: after GNOME has been initialized, do not ever unload these ++ // libraries. They register atexit handlers, so if they are unloaded, we'll ++ // crash on exit. ++} ++ ++void ++nsMIMEInfoUnix::SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication* app) ++{ ++ if (_gnome_vfs_mime_application_copy && _gnome_vfs_mime_application_free) { ++ mDefaultVFSApplication = _gnome_vfs_mime_application_copy(app); ++ ++ mPreferredAction = nsIMIMEInfo::useSystemDefault; ++ ++ const gchar * name = _gnome_vfs_mime_application_get_name(mDefaultVFSApplication); ++ if (name) ++ mDefaultAppDescription = NS_ConvertUTF8toUCS2(name); ++ } ++} ++ ++nsMIMEInfoUnix::~nsMIMEInfoUnix() ++{ ++ if (mDefaultVFSApplication) ++ _gnome_vfs_mime_application_free(mDefaultVFSApplication); ++} ++ ++nsresult ++nsMIMEInfoUnix::LaunchDefaultWithFile(nsIFile* aFile) ++{ ++ NS_ENSURE_ARG_POINTER(aFile); ++ ++ InitGnomeVFS(); ++ ++ if (_gnome_vfs_mime_application_launch && mDefaultVFSApplication) { ++ nsCAutoString nativePath; ++ aFile->GetNativePath(nativePath); ++ ++ gchar *uri = _gnome_vfs_make_uri_from_input(nativePath.get()); ++ ++ GList *uris = NULL; ++ uris = g_list_append(uris, uri); ++ ++ GnomeVFSResult result = _gnome_vfs_mime_application_launch(mDefaultVFSApplication, uris); ++ ++ g_free(uri); ++ g_list_free(uris); ++ ++ if (result != GNOME_VFS_OK) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++ } ++ ++ if (!mDefaultApplication) ++ return NS_ERROR_FILE_NOT_FOUND; ++ ++ return LaunchWithIProcess(mDefaultApplication, aFile); ++} +Index: uriloader/exthandler/unix/nsMIMEInfoUnix.h +=================================================================== +RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.h +diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.h +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ uriloader/exthandler/unix/nsMIMEInfoUnix.h 21 Jul 2005 03:07:40 -0000 +@@ -0,0 +1,50 @@ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org Code. ++ * ++ * The Initial Developer of the Original Code is ++ * Red Hat, Inc. ++ * Portions created by the Initial Developer are Copyright (C) 2005 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * Christopher Aillon (Original author) ++ * ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#ifndef nsMimeInfoUnix_h__ ++#define nsMimeInfoUnix_h__ ++ ++#include "nsMIMEInfoImpl.h" ++ ++struct GnomeVFSMimeApplication; ++ ++class nsMIMEInfoUnix : public nsMIMEInfoImpl ++{ ++public: ++ nsMIMEInfoUnix(const char* aType = "") : nsMIMEInfoImpl(aType), mDefaultVFSApplication(nsnull) {} ++ nsMIMEInfoUnix(const nsACString& aMIMEType) : nsMIMEInfoImpl(aMIMEType) {}; ++ ++ virtual ~nsMIMEInfoUnix(); ++ ++ void SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication *app); ++ ++protected: ++ virtual NS_HIDDEN_(nsresult) LaunchDefaultWithFile(nsIFile* aFile); ++ ++ GnomeVFSMimeApplication *mDefaultVFSApplication; ++}; ++ ++#endif // nsMimeInfoUnix_h__ +Index: uriloader/exthandler/unix/nsOSHelperAppService.cpp +=================================================================== +RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp,v +retrieving revision 1.58 +diff -d -u -p -r1.58 nsOSHelperAppService.cpp +--- uriloader/exthandler/unix/nsOSHelperAppService.cpp 25 Oct 2004 07:46:01 -0000 1.58 ++++ uriloader/exthandler/unix/nsOSHelperAppService.cpp 21 Jul 2005 03:07:40 -0000 +@@ -44,6 +44,7 @@ + #include "nsOSHelperAppService.h" + #ifdef MOZ_WIDGET_GTK2 + #include "nsGNOMERegistry.h" ++#include "nsMIMEInfoUnix.h" + #endif + #include "nsISupports.h" + #include "nsString.h" +@@ -1486,6 +1487,17 @@ nsOSHelperAppService::GetFromType(const + + LOG(("Here we do a mimetype lookup for '%s'\n", aMIMEType.get())); + ++#ifdef MOZ_WIDGET_GTK2 ++ // Look in GNOME registry first since it is the preferred method in GNOME, ++ // should trump the mailcap entry ++ LOG(("Looking in GNOME registry\n")); ++ nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType.get()).get(); ++ if (gnomeInfo) { ++ LOG(("Got MIMEInfo from GNOME registry\n")); ++ return gnomeInfo; ++ } ++#endif ++ + // extract the major and minor types + NS_ConvertASCIItoUTF16 mimeType(aMIMEType); + nsAString::const_iterator start_iter, end_iter, +@@ -1522,21 +1534,6 @@ nsOSHelperAppService::GetFromType(const + mozillaFlags, + PR_TRUE); + +- +- if (handler.IsEmpty() && extensions.IsEmpty() && +- mailcap_description.IsEmpty() && mime_types_description.IsEmpty()) { +- // No useful data yet +- +-#ifdef MOZ_WIDGET_GTK2 +- LOG(("Looking in GNOME registry\n")); +- nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType.get()).get(); +- if (gnomeInfo) { +- LOG(("Got MIMEInfo from GNOME registry\n")); +- return gnomeInfo; +- } +-#endif +- } +- + if (handler.IsEmpty() && mailcap_description.IsEmpty()) { + DoLookUpHandlerAndDescription(majorType, + minorType, diff --git a/sources b/sources index 47a9ae6..e34598f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a0ddcc8bd5ee2c9be724b6963ad27111 thunderbird-1.0.6-source.tar.bz2 +5fffd977cc4c873731bc15b13c5503b0 thunderbird-1.5b1-source.tar.bz2 diff --git a/thunderbird-1.1-software-update.patch b/thunderbird-1.1-software-update.patch new file mode 100644 index 0000000..d64098b --- /dev/null +++ b/thunderbird-1.1-software-update.patch @@ -0,0 +1,27 @@ +Index: mail/components/preferences/advanced.xul +=================================================================== +RCS file: /cvsroot/mozilla/mail/components/preferences/advanced.xul,v +retrieving revision 1.13.2.1 +diff -d -u -p -r1.13.2.1 advanced.xul +--- mail/components/preferences/advanced.xul 2 Sep 2005 23:29:08 -0000 1.13.2.1 ++++ mail/components/preferences/advanced.xul 15 Sep 2005 05:50:06 -0000 +@@ -66,19 +66,8 @@ + + + +- +- +- + +- + + + diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig index 4bc9073..bf17dac 100644 --- a/thunderbird-mozconfig +++ b/thunderbird-mozconfig @@ -1,29 +1,25 @@ . $topsrcdir/mail/config/mozconfig +ac_add_options --with-system-nspr +ac_add_options --with-system-jpeg +ac_add_options --with-system-zlib +ac_add_options --with-system-png +ac_add_options --with-pthreads +ac_add_options --disable-tests +ac_add_options --disable-debug +ac_add_options --disable-installer +ac_add_options --enable-optimize="$RPM_OPT_FLAGS" +ac_add_options --enable-xinerama +ac_add_options --enable-default-toolkit=gtk2 +ac_add_options --disable-xprint +ac_add_options --disable-strip +ac_add_options --enable-pango +ac_add_options --enable-system-cairo +ac_add_options --enable-svg +ac_add_options --enable-canvas + export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1 -ac_add_options --enable-default-toolkit=gtk2 -ac_add_options --enable-xft -ac_add_options --enable-optimize="$CFLAGS" - -ac_add_options --with-system-nspr -ac_add_options --with-system-jpeg -ac_add_options --with-system-png -ac_add_options --with-system-zlib -ac_add_options --with-pthreads -ac_add_options --enable-freetype2 -ac_add_options --enable-xinerama -ac_add_options --disable-xprint - -ac_add_options --disable-debug -# for creating debuginfo RPMs -ac_add_options --disable-strip -ac_add_options --disable-tests - -# fedora has permission to use the official Mozilla.org branding -ac_add_options --enable-official-branding - -ac_add_options --enable-pango diff --git a/thunderbird-mozconfig-branded b/thunderbird-mozconfig-branded new file mode 100755 index 0000000..53b376d --- /dev/null +++ b/thunderbird-mozconfig-branded @@ -0,0 +1 @@ +ac_add_options --enable-official-branding diff --git a/thunderbird.spec b/thunderbird.spec index a133654..0416137 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -1,74 +1,56 @@ -# Option: Freetype Patch (FC3+) -%define freetype_fc3 1 +%define desktop_file_utils_version 0.9 +%define nspr_version 4.6 +%define cairo_version 1.0 -%define desktop_file_utils_version 0.3 - -ExcludeArch: ppc64 +%define official_branding 0 Summary: Mozilla Thunderbird mail/newsgroup client Name: thunderbird -Version: 1.0.6 -Release: 5 +Version: 1.5 +Release: 0.5.0.beta1 Epoch: 0 URL: http://www.mozilla.org/projects/thunderbird/ License: MPL Group: Applications/Internet -Source0: thunderbird-%{version}-source.tar.bz2 -Source1: thunderbird.desktop -# This icon is used with the permission of mozilla.org. -Source2: thunderbird.png -Source3: thunderbird.sh.in -Source4: thunderbird-mozconfig -Source5: release-notes.html -Source6: thunderbird-open-browser.sh -Source10: thunderbird-redhat-default-prefs.js -Source100: find-external-requires +%if %{official_branding} +%define tarball thunderbird-%{version}-source.tar.bz2 +%else +%define tarball thunderbird-1.5b1-source.tar.bz2 +%endif +Source0: %{tarball} +Source10: thunderbird-mozconfig +Source11: thunderbird-mozconfig-branded +Source12: thunderbird-redhat-default-prefs.js +Source20: thunderbird.desktop +Source21: thunderbird.sh.in +Source22: thunderbird.png +Source30: thunderbird-open-browser.sh +Source100: find-external-requires # Build patches -Patch1: thunderbird-0.7.3-freetype-compile.patch Patch2: firefox-1.0-prdtoa.patch -Patch3: firefox-1.0-gcc4-compile.patch -Patch4: firefox-1.0-recv-fortify.patch -Patch5: firefox-1.0-gfxshared_s.patch -Patch6: firefox-1.0-nss-system-nspr.patch -Patch7: firefox-1.0-system-nspr-ldap.patch +Patch6: firefox-1.1-nss-system-nspr.patch Patch10: thunderbird-0.7.3-psfonts.patch Patch11: thunderbird-0.7.3-gnome-uriloader.patch # customization patches Patch24: thunderbird-0.8-default-applications.patch -Patch25: thunderbird-0.8-software-update.patch - -# pango patches -Patch30: mozilla-1.7.3-pango-render.patch -Patch31: firefox-1.0-pango-selection.patch -Patch32: firefox-1.0-pango-space-width.patch -Patch33: firefox-1.0-pango-rounding.patch -Patch34: firefox-1.0-pango-direction.patch -Patch35: firefox-1.0-pango-bidi-justify.patch -Patch36: firefox-1.0-pango-cairo.patch +Patch25: thunderbird-1.1-software-update.patch # local bugfixes -Patch41: thunderbird-0.8.0-stack-direction.patch -Patch42: firefox-1.0-download-to-desktop.patch -Patch43: firefox-1.0-uriloader.patch +Patch42: firefox-1.1-uriloader.patch -# Backported patches, intended for upstream -Patch90: thunderbird-1.0-gtk-file-chooser-morefixes.patch -Patch91: firefox-1.1-modal-filechooser.patch +# font system fixes +Patch81: firefox-nopangoxft.patch + +# patches from upstream (Patch100+) +Patch100: firefox-1.5-cairo-show-text-behavior-change.patch -# Already upstreamed -Patch101: thunderbird-0.8.0-pkgconfig.patch -Patch102: thunderbird-1.0-useragent.patch -Patch103: firefox-1.0-gtk-system-colors.patch -Patch104: firefox-1.0-remote-intern-atoms.patch -Patch105: firefox-1.0-g-application-name.patch -Patch106: firefox-1.0-candidate-window.patch -Patch107: firefox-1.0-imgloader-comarray.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: nspr >= %{nspr_devel} +BuildRequires: cairo-devel >= %{cairo_version} BuildRequires: libpng-devel, libjpeg-devel, gtk2-devel BuildRequires: zlib-devel, gzip, zip, unzip BuildRequires: nspr-devel >= %{nspr_version} @@ -94,43 +76,22 @@ Mozilla Thunderbird is a standalone mail and newsgroup client. %prep %setup -q -n mozilla -%{__cp} -f %{SOURCE4} .mozconfig -echo "ac_add_options --libdir=%{_libdir}" >> .mozconfig -echo "ac_add_options --with-default-mozilla-five-home=%{tbdir}" >> .mozconfig -echo "mk_add_options MOZ_MAKE_FLAGS='%{?_smp_mflags}'" >> .mozconfig -%{__cp} -f %{SOURCE5} . -%if %{freetype_fc3} -%patch1 -p0 -b .freetype -%endif + %patch2 -p0 -%patch3 -p0 -b .gcc4 -%patch4 -p0 -b .recv-fortify -%patch5 -p0 %patch6 -p1 -%patch7 -p0 %patch10 -p1 -b .psfonts %patch11 -p1 -b .gnome-uriloader %patch24 -p1 -%patch25 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p0 -%patch36 -p1 -%patch41 -p0 +%patch25 -p0 %patch42 -p0 -%patch43 -p0 -%patch90 -p0 -b .gtk-file-chooser-morefixes -%patch91 -p0 -%patch101 -p0 -b .pkgconfig -%patch102 -p0 -%patch103 -p0 -%patch104 -p0 -%patch105 -p0 -%patch106 -p1 -%patch107 -p0 +%patch81 -p1 +%patch100 -p0 + +%{__rm} -f .mozconfig +%{__cp} %{SOURCE10} .mozconfig +%if %{official_branding} +%{__cat} %{SOURCE11} >> .mozconfig +%endif #=============================================================================== @@ -147,56 +108,61 @@ time make -f client.mk build_all #=============================================================================== %install -%{__rm} -rf %{buildroot} -%{__mkdir_p} %{buildroot}{%{tbdir},%{_bindir}} +%{__rm} -rf $RPM_BUILD_ROOT -cd dist/bin -%{__tar} ch ./ | ( cd %{buildroot}%{tbdir} ; tar xf - ) +cd mail/installer +%{__make} STRIP=/bin/true cd - -# menu entry -install -p -D %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/thunderbird.png -desktop-file-install --vendor mozilla \ - --dir %{buildroot}%{_datadir}/applications \ - --add-category X-Red-Hat \ - --add-category Application \ - --add-category Network \ - %{SOURCE1} +%{__mkdir_p} $RPM_BUILD_ROOT{%{_libdir},%{_bindir},%{_datadir}/applications} + +%{__tar} -C $RPM_BUILD_ROOT%{_libdir}/ -xzf dist/%{name}-*linux*.tar.gz +%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name} $RPM_BUILD_ROOT%{tbdir} + +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}-*linux*.tar + +%{__install} -p -D %{SOURCE22} $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png + +desktop-file-install --vendor mozilla \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + --add-category X-Fedora \ + --add-category Application \ + --add-category Network \ + %{SOURCE20} # set up the thunderbird start script -%{__cat} %{SOURCE3} | %{__sed} -e 's,TBIRD_VERSION,%{version},g' > \ +%{__cat} %{SOURCE21} | %{__sed} -e 's,TBIRD_VERSION,%{version},g' > \ $RPM_BUILD_ROOT%{_bindir}/thunderbird -%{__chmod} 755 $RPM_BUILD_ROOT%{_bindir}/thunderbird +%{__chmod} 755 $RPM_BUILD_ROOT/%{_bindir}/thunderbird -install -m755 %{SOURCE6} %{buildroot}%{tbdir}/open-browser.sh -perl -pi -e 's|LIBDIR|%{_libdir}|g' %{buildroot}%{tbdir}/open-browser.sh +install -m755 %{SOURCE30} $RPM_BUILD_ROOT/%{tbdir}/open-browser.sh +perl -pi -e 's|LIBDIR|%{_libdir}|g' $RPM_BUILD_ROOT/%{tbdir}/open-browser.sh -%{__cat} %{SOURCE10} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' \ +%{__cat} %{SOURCE12} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' \ -e 's,COMMAND,%{tbdir}/open-browser.sh,g' > \ $RPM_BUILD_ROOT/rh-default-prefs %{__cp} $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{tbdir}/greprefs/all-redhat.js %{__cp} $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{tbdir}/defaults/pref/all-redhat.js %{__rm} $RPM_BUILD_ROOT/rh-default-prefs -cd $RPM_BUILD_ROOT/%{tbdir} -export MOZ_DISABLE_GNOME=1 +# own mozilla plugin dir (#135050) +%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins -# munge HOME for now, since XPCOM creates $HOME/.mozilla -MOZTMP=`mktemp -d` -HOME=$MOZTMP ./thunderbird -register -%{__rm} -rf $MOZTMP/.mozilla +%{__rm} -f $RPM_BUILD_ROOT%{tbdir}/thunderbird-config +cd $RPM_BUILD_ROOT%{tbdir}/chrome +find . -name "*" -type d -maxdepth 1 -exec %{__rm} -rf {} \; cd - -%{__rm} -rf $RPM_BUILD_ROOT/%{tbdir}/chrome/{classic,comm,embed-sample,en-{mac,win},help,messenger} -# ... - -#=============================================================================== - %clean %{__rm} -rf $RPM_BUILD_ROOT -#=============================================================================== +%post +update-desktop-database %{_datadir}/applications + +%postun +update-desktop-database %{_datadir}/applications + %files %defattr(-,root,root,-) @@ -204,14 +170,13 @@ cd - %attr(644,root,root) %{_datadir}/applications/mozilla-thunderbird.desktop %attr(644,root,root) %{_datadir}/pixmaps/thunderbird.png %{tbdir} -%doc release-notes.html #=============================================================================== %changelog -* Thu Aug 18 2005 Kristian Høgsberg 0:1.0.6-5 -- Update firefox-1.0-pango-cairo.patch to also fix xft usage in - mozilla/gfx/src/gtk/mozilla-decoder.cpp +* 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