[tor-commits] [tor-messenger-build/master] Update build and config files for Instantbird

arlo at torproject.org arlo at torproject.org
Thu Jul 28 23:52:35 UTC 2016


commit 1247163ecabf36d553311e7b9dbd7e2d5b586706
Author: Sukhbir Singh <sukhbir at torproject.org>
Date:   Mon Jul 18 12:41:21 2016 -0400

    Update build and config files for Instantbird
---
 ...e-the-default-Firefox-profile-director.mozpatch | 451 ---------------------
 projects/instantbird/build                         |   2 +
 projects/instantbird/config                        |   9 +-
 3 files changed, 10 insertions(+), 452 deletions(-)

diff --git a/projects/instantbird/Bug-9173-Change-the-default-Firefox-profile-director.mozpatch b/projects/instantbird/Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
deleted file mode 100644
index 4447c70..0000000
--- a/projects/instantbird/Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
+++ /dev/null
@@ -1,451 +0,0 @@
-From 48068e88b66ba37c725850331d099f10f9d34c90 Mon Sep 17 00:00:00 2001
-From: Kathy Brade <brade at pearlcrescent.com>
-Date: Fri, 18 Oct 2013 15:20:06 -0400
-Subject: Bug #9173: Change the default Firefox profile directory to be
- TBB-relative.
-
-This should eliminate our need to rely on a wrapper script that
-sets $HOME and launches Firefox with -profile.
-
-diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
-index a828d33..831a373 100644
---- a/toolkit/xre/nsXREDirProvider.cpp
-+++ b/toolkit/xre/nsXREDirProvider.cpp
-@@ -32,6 +32,7 @@
- #include "nsArrayEnumerator.h"
- #include "nsEnumeratorUtils.h"
- #include "nsReadableUtils.h"
-+#include "nsXPCOMPrivate.h"  // for XPCOM_FILE_PATH_SEPARATOR
- #include "mozilla/Services.h"
- #include "mozilla/Omnijar.h"
- #include "mozilla/Preferences.h"
-@@ -200,9 +201,6 @@ nsXREDirProvider::GetUserProfilesRootDir(nsIFile** aResult,
-                                      aProfileName, aAppName, aVendorName);
- 
-   if (NS_SUCCEEDED(rv)) {
--#if !defined(XP_UNIX) || defined(XP_MACOSX)
--    rv = file->AppendNative(NS_LITERAL_CSTRING("Profiles"));
--#endif
-     // We must create the profile directory here if it does not exist.
-     nsresult tmp = EnsureDirectoryExists(file);
-     if (NS_FAILED(tmp)) {
-@@ -225,9 +223,6 @@ nsXREDirProvider::GetUserProfilesLocalDir(nsIFile** aResult,
-                                      aProfileName, aAppName, aVendorName);
- 
-   if (NS_SUCCEEDED(rv)) {
--#if !defined(XP_UNIX) || defined(XP_MACOSX)
--    rv = file->AppendNative(NS_LITERAL_CSTRING("Profiles"));
--#endif
-     // We must create the profile directory here if it does not exist.
-     nsresult tmp = EnsureDirectoryExists(file);
-     if (NS_FAILED(tmp)) {
-@@ -1245,90 +1240,45 @@ nsresult
- nsXREDirProvider::GetUserDataDirectoryHome(nsIFile** aFile, bool aLocal)
- {
-   // Copied from nsAppFileLocationProvider (more or less)
--  nsresult rv;
-+  NS_ENSURE_ARG_POINTER(aFile);
-   nsCOMPtr<nsIFile> localDir;
- 
--#if defined(XP_MACOSX)
--  FSRef fsRef;
--  OSType folderType;
--  if (aLocal) {
--    folderType = kCachedDataFolderType;
--  } else {
--#ifdef MOZ_THUNDERBIRD
--    folderType = kDomainLibraryFolderType;
--#else
--    folderType = kApplicationSupportFolderType;
--#endif
--  }
--  OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, &fsRef);
--  NS_ENSURE_FALSE(err, NS_ERROR_FAILURE);
--
--  rv = NS_NewNativeLocalFile(EmptyCString(), true, getter_AddRefs(localDir));
-+  nsresult rv = GetAppDir()->Clone(getter_AddRefs(localDir));
-   NS_ENSURE_SUCCESS(rv, rv);
- 
--  nsCOMPtr<nsILocalFileMac> dirFileMac = do_QueryInterface(localDir);
--  NS_ENSURE_TRUE(dirFileMac, NS_ERROR_UNEXPECTED);
-+  int levelsToRemove = 0; // In FF21+, appDir points to browser subdirectory.
-+#if defined(XP_MACOSX)
-+  levelsToRemove += 1;
-+#endif
-+  while (localDir && (levelsToRemove > 0)) {
-+    // When crawling up the hierarchy, components named "." do not count.
-+    nsAutoCString removedName;
-+    rv = localDir->GetNativeLeafName(removedName);
-+    NS_ENSURE_SUCCESS(rv, rv);
-+    bool didRemove = !removedName.Equals(".");
- 
--  rv = dirFileMac->InitWithFSRef(&fsRef);
--  NS_ENSURE_SUCCESS(rv, rv);
-+    // Remove a directory component.
-+    nsCOMPtr<nsIFile> parentDir;
-+    rv = localDir->GetParent(getter_AddRefs(parentDir));
-+    NS_ENSURE_SUCCESS(rv, rv);
-+    localDir = parentDir;
- 
--  localDir = do_QueryInterface(dirFileMac, &rv);
--#elif defined(XP_IOS)
--  nsAutoCString userDir;
--  if (GetUIKitDirectory(aLocal, userDir)) {
--    rv = NS_NewNativeLocalFile(userDir, true, getter_AddRefs(localDir));
--  } else {
--    rv = NS_ERROR_FAILURE;
--  }
--  NS_ENSURE_SUCCESS(rv, rv);
--#elif defined(XP_WIN)
--  nsString path;
--  if (aLocal) {
--    rv = GetShellFolderPath(CSIDL_LOCAL_APPDATA, path);
--    if (NS_FAILED(rv))
--      rv = GetRegWindowsAppDataFolder(aLocal, path);
--  }
--  if (!aLocal || NS_FAILED(rv)) {
--    rv = GetShellFolderPath(CSIDL_APPDATA, path);
--    if (NS_FAILED(rv)) {
--      if (!aLocal)
--        rv = GetRegWindowsAppDataFolder(aLocal, path);
--    }
-+    if (didRemove)
-+      --levelsToRemove;
-   }
--  NS_ENSURE_SUCCESS(rv, rv);
- 
--  rv = NS_NewLocalFile(path, true, getter_AddRefs(localDir));
--#elif defined(MOZ_WIDGET_GONK)
--  rv = NS_NewNativeLocalFile(NS_LITERAL_CSTRING("/data/b2g"), true,
--                             getter_AddRefs(localDir));
--#elif defined(XP_UNIX)
--  const char* homeDir = getenv("HOME");
--  if (!homeDir || !*homeDir)
-+  if (!localDir)
-     return NS_ERROR_FAILURE;
- 
--#ifdef ANDROID /* We want (ProfD == ProfLD) on Android. */
--  aLocal = false;
--#endif
-+  rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("TorBrowser"
-+                                     XPCOM_FILE_PATH_SEPARATOR "Data"
-+                                     XPCOM_FILE_PATH_SEPARATOR "Browser"));
-+  NS_ENSURE_SUCCESS(rv, rv);
- 
-   if (aLocal) {
--    // If $XDG_CACHE_HOME is defined use it, otherwise use $HOME/.cache.
--    const char* cacheHome = getenv("XDG_CACHE_HOME");
--    if (cacheHome && *cacheHome) {
--      rv = NS_NewNativeLocalFile(nsDependentCString(cacheHome), true,
--                                 getter_AddRefs(localDir));
--    } else {
--      rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
--                                 getter_AddRefs(localDir));
--      if (NS_SUCCEEDED(rv))
--        rv = localDir->AppendNative(NS_LITERAL_CSTRING(".cache"));
--    }
--  } else {
--    rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
--                               getter_AddRefs(localDir));
-+    rv = localDir->AppendNative(NS_LITERAL_CSTRING("Caches"));
-+    NS_ENSURE_SUCCESS(rv, rv);
-   }
--#else
--#error "Don't know how to get product dir on your platform"
--#endif
- 
-   NS_IF_ADDREF(*aFile = localDir);
-   return rv;
-@@ -1541,48 +1491,25 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
-   }
- 
-   nsAutoCString profile;
--  nsAutoCString appName;
--  nsAutoCString vendor;
-   if (aProfileName && !aProfileName->IsEmpty()) {
-     profile = *aProfileName;
--  } else if (aAppName) {
--    appName = *aAppName;
--    if (aVendorName) {
--      vendor = *aVendorName;
--    }
-   } else if (gAppData->profile) {
-     profile = gAppData->profile;
--  } else {
--    appName = gAppData->name;
--    vendor = gAppData->vendor;
-   }
- 
--  nsresult rv;
-+  nsresult rv = NS_ERROR_FAILURE;
- 
- #if defined (XP_MACOSX)
-   if (!profile.IsEmpty()) {
-     rv = AppendProfileString(aFile, profile.get());
-+    NS_ENSURE_SUCCESS(rv, rv);
-   }
--  else {
--    // Note that MacOS ignores the vendor when creating the profile hierarchy -
--    // all application preferences directories live alongside one another in
--    // ~/Library/Application Support/
--    rv = aFile->AppendNative(appName);
--  }
--  NS_ENSURE_SUCCESS(rv, rv);
- 
- #elif defined(XP_WIN)
-   if (!profile.IsEmpty()) {
-     rv = AppendProfileString(aFile, profile.get());
-+    NS_ENSURE_SUCCESS(rv, rv);
-   }
--  else {
--    if (!vendor.IsEmpty()) {
--      rv = aFile->AppendNative(vendor);
--      NS_ENSURE_SUCCESS(rv, rv);
--    }
--    rv = aFile->AppendNative(appName);
--  }
--  NS_ENSURE_SUCCESS(rv, rv);
- 
- #elif defined(ANDROID)
-   // The directory used for storing profiles
-@@ -1594,12 +1521,6 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
-   rv = aFile->AppendNative(nsDependentCString("mozilla"));
-   NS_ENSURE_SUCCESS(rv, rv);
- #elif defined(XP_UNIX)
--  nsAutoCString folder;
--  // Make it hidden (by starting with "."), except when local (the
--  // profile is already under ~/.cache or XDG_CACHE_HOME).
--  if (!aLocal)
--    folder.Assign('.');
--
-   if (!profile.IsEmpty()) {
-     // Skip any leading path characters
-     const char* profileStart = profile.get();
-@@ -1608,31 +1529,17 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
- 
-     // On the off chance that someone wanted their folder to be hidden don't
-     // let it become ".."
--    if (*profileStart == '.' && !aLocal)
-+    if (*profileStart == '.')
-       profileStart++;
- 
-+    // Make it hidden (by starting with ".").
-+    nsAutoCString folder(".");
-     folder.Append(profileStart);
-     ToLowerCase(folder);
- 
-     rv = AppendProfileString(aFile, folder.BeginReading());
-+    NS_ENSURE_SUCCESS(rv, rv);
-   }
--  else {
--    if (!vendor.IsEmpty()) {
--      folder.Append(vendor);
--      ToLowerCase(folder);
--
--      rv = aFile->AppendNative(folder);
--      NS_ENSURE_SUCCESS(rv, rv);
--
--      folder.Truncate();
--    }
--
--    folder.Append(appName);
--    ToLowerCase(folder);
--
--    rv = aFile->AppendNative(folder);
--  }
--  NS_ENSURE_SUCCESS(rv, rv);
- 
- #else
- #error "Don't know how to get profile path on your platform"
-diff --git a/toolkit/xre/nsXREDirProvider.h b/toolkit/xre/nsXREDirProvider.h
-index eb27ed2..1985f66 100644
---- a/toolkit/xre/nsXREDirProvider.h
-+++ b/toolkit/xre/nsXREDirProvider.h
-@@ -56,16 +56,16 @@ public:
- 
-   nsresult GetProfileDefaultsDir(nsIFile* *aResult);
- 
--  static nsresult GetUserAppDataDirectory(nsIFile* *aFile) {
-+  nsresult GetUserAppDataDirectory(nsIFile* *aFile) {
-     return GetUserDataDirectory(aFile, false, nullptr, nullptr, nullptr);
-   }
--  static nsresult GetUserLocalDataDirectory(nsIFile* *aFile) {
-+  nsresult GetUserLocalDataDirectory(nsIFile* *aFile) {
-     return GetUserDataDirectory(aFile, true, nullptr, nullptr, nullptr);
-   }
- 
-   // By default GetUserDataDirectory gets profile path from gAppData,
-   // but that can be overridden by using aProfileName/aAppName/aVendorName.
--  static nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal,
-+  nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal,
-                                        const nsACString* aProfileName,
-                                        const nsACString* aAppName,
-                                        const nsACString* aVendorName);
-@@ -102,8 +102,8 @@ public:
- 
- protected:
-   nsresult GetFilesInternal(const char* aProperty, nsISimpleEnumerator** aResult);
--  static nsresult GetUserDataDirectoryHome(nsIFile* *aFile, bool aLocal);
--  static nsresult GetSysUserExtensionsDirectory(nsIFile* *aFile);
-+  nsresult GetUserDataDirectoryHome(nsIFile* *aFile, bool aLocal);
-+  nsresult GetSysUserExtensionsDirectory(nsIFile* *aFile);
- #if defined(XP_UNIX) || defined(XP_MACOSX)
-   static nsresult GetSystemExtensionsDirectory(nsIFile** aFile);
- #endif
-diff --git a/xpcom/io/moz.build b/xpcom/io/moz.build
-index 45732e4..bc62f71 100644
---- a/xpcom/io/moz.build
-+++ b/xpcom/io/moz.build
-@@ -134,4 +134,7 @@ FINAL_LIBRARY = 'xul'
- if CONFIG['OS_ARCH'] == 'Linux' and 'lib64' in CONFIG['libdir']:
-     DEFINES['HAVE_USR_LIB64_DIR'] = True
- 
--LOCAL_INCLUDES += ['!..']
-+LOCAL_INCLUDES += [
-+    '!..',
-+    '../build',
-+]
-diff --git a/xpcom/io/nsAppFileLocationProvider.cpp b/xpcom/io/nsAppFileLocationProvider.cpp
-index 1211c39..039a89e 100644
---- a/xpcom/io/nsAppFileLocationProvider.cpp
-+++ b/xpcom/io/nsAppFileLocationProvider.cpp
-@@ -15,6 +15,7 @@
- #include "nsISimpleEnumerator.h"
- #include "prenv.h"
- #include "nsCRT.h"
-+#include "nsXPCOMPrivate.h"  // for XPCOM_FILE_PATH_SEPARATOR
- 
- #if defined(MOZ_WIDGET_COCOA)
- #include <Carbon/Carbon.h>
-@@ -281,9 +282,8 @@ nsAppFileLocationProvider::CloneMozBinDirectory(nsIFile** aLocalFile)
- //----------------------------------------------------------------------------------------
- // GetProductDirectory - Gets the directory which contains the application data folder
- //
--// UNIX   : ~/.mozilla/
--// WIN    : <Application Data folder on user's machine>\Mozilla
--// Mac    : :Documents:Mozilla:
-+// UNIX and WIN   : <App Folder>/TorBrowser/Data/Browser
-+// Mac            : <App Folder>/../../TorBrowser/Data/Browser
- //----------------------------------------------------------------------------------------
- NS_METHOD
- nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
-@@ -297,48 +297,45 @@ nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
-   bool exists;
-   nsCOMPtr<nsIFile> localDir;
- 
--#if defined(MOZ_WIDGET_COCOA)
--  FSRef fsRef;
--  OSType folderType = aLocal ? (OSType)kCachedDataFolderType :
--                               (OSType)kDomainLibraryFolderType;
--  OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, &fsRef);
--  if (err) {
--    return NS_ERROR_FAILURE;
-+  rv = CloneMozBinDirectory(getter_AddRefs(localDir));
-+  NS_ENSURE_SUCCESS(rv, rv);
-+
-+  int levelsToRemove = 0; // In FF21+, bin dir points to browser subdirectory.
-+#if defined(XP_MACOSX)
-+  levelsToRemove += 1;
-+#endif
-+  while (localDir && (levelsToRemove > 0)) {
-+    // When crawling up the hierarchy, components named "." do not count.
-+    nsAutoCString removedName;
-+    rv = localDir->GetNativeLeafName(removedName);
-+    NS_ENSURE_SUCCESS(rv, rv);
-+    bool didRemove = !removedName.Equals(".");
-+
-+    // Remove a directory component.
-+    nsCOMPtr<nsIFile> parentDir;
-+    rv = localDir->GetParent(getter_AddRefs(parentDir));
-+    NS_ENSURE_SUCCESS(rv, rv);
-+    localDir = parentDir;
-+
-+    if (didRemove) {
-+      --levelsToRemove;
-+    }
-   }
--  NS_NewLocalFile(EmptyString(), true, getter_AddRefs(localDir));
-+
-   if (!localDir) {
-     return NS_ERROR_FAILURE;
-   }
--  nsCOMPtr<nsILocalFileMac> localDirMac(do_QueryInterface(localDir));
--  rv = localDirMac->InitWithFSRef(&fsRef);
--  if (NS_FAILED(rv)) {
--    return rv;
--  }
--#elif defined(XP_WIN)
--  nsCOMPtr<nsIProperties> directoryService =
--    do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
--  if (NS_FAILED(rv)) {
--    return rv;
--  }
--  const char* prop = aLocal ? NS_WIN_LOCAL_APPDATA_DIR : NS_WIN_APPDATA_DIR;
--  rv = directoryService->Get(prop, NS_GET_IID(nsIFile), getter_AddRefs(localDir));
--  if (NS_FAILED(rv)) {
--    return rv;
--  }
--#elif defined(XP_UNIX)
--  rv = NS_NewNativeLocalFile(nsDependentCString(PR_GetEnv("HOME")), true,
--                             getter_AddRefs(localDir));
--  if (NS_FAILED(rv)) {
--    return rv;
--  }
--#else
--#error dont_know_how_to_get_product_dir_on_your_platform
--#endif
- 
--  rv = localDir->AppendRelativeNativePath(DEFAULT_PRODUCT_DIR);
--  if (NS_FAILED(rv)) {
--    return rv;
-+  rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("TorBrowser"
-+                                        XPCOM_FILE_PATH_SEPARATOR "Data"
-+                                        XPCOM_FILE_PATH_SEPARATOR "Browser"));
-+  NS_ENSURE_SUCCESS(rv, rv);
-+
-+  if (aLocal) {
-+    rv = localDir->AppendNative(NS_LITERAL_CSTRING("Caches"));
-+    NS_ENSURE_SUCCESS(rv, rv);
-   }
-+
-   rv = localDir->Exists(&exists);
- 
-   if (NS_SUCCEEDED(rv) && !exists) {
-@@ -357,10 +354,6 @@ nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
- 
- //----------------------------------------------------------------------------------------
- // GetDefaultUserProfileRoot - Gets the directory which contains each user profile dir
--//
--// UNIX   : ~/.mozilla/
--// WIN    : <Application Data folder on user's machine>\Mozilla\Profiles
--// Mac    : :Documents:Mozilla:Profiles:
- //----------------------------------------------------------------------------------------
- NS_METHOD
- nsAppFileLocationProvider::GetDefaultUserProfileRoot(nsIFile** aLocalFile,
-@@ -378,23 +371,6 @@ nsAppFileLocationProvider::GetDefaultUserProfileRoot(nsIFile** aLocalFile,
-     return rv;
-   }
- 
--#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN)
--  // These 3 platforms share this part of the path - do them as one
--  rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("Profiles"));
--  if (NS_FAILED(rv)) {
--    return rv;
--  }
--
--  bool exists;
--  rv = localDir->Exists(&exists);
--  if (NS_SUCCEEDED(rv) && !exists) {
--    rv = localDir->Create(nsIFile::DIRECTORY_TYPE, 0775);
--  }
--  if (NS_FAILED(rv)) {
--    return rv;
--  }
--#endif
--
-   localDir.forget(aLocalFile);
- 
-   return rv;
--- 
-cgit v0.10.2
-
diff --git a/projects/instantbird/build b/projects/instantbird/build
index 1b8b058..5039dcb 100644
--- a/projects/instantbird/build
+++ b/projects/instantbird/build
@@ -89,6 +89,8 @@ then
     done
 fi
 
+cp ../$rootdir/aboutTBUpdateLogo.png browser/base/content/abouttbupdate/
+
 if ls -1 $rootdir/*.nsspatch > /dev/null 2>&1
 then
     cd security/nss
diff --git a/projects/instantbird/config b/projects/instantbird/config
index 27f9d6f..3c5871d 100644
--- a/projects/instantbird/config
+++ b/projects/instantbird/config
@@ -121,7 +121,14 @@ input_files:
     enable: '[% c("var/windows") %]'
   - filename: trac-18331.mozpatch
     enable: '[% c("var/osx") %]'
-  - filename: Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
+  - filename: Change-the-default-Firefox-profile-director-bug-9173.mozpatch
+  - filename: Firefox-update-process-bug-4234.mozpatch
+  - filename: Improve-profile-access-bug-14631-first.mozpatch
+  - filename: Improve-profile-access-bug-14631-second.mozpatch
+  - filename: Mac-outside-app-data-bug-13252.mozpatch
+  - filename: Update-load-local-changes-bug-14392-first.mozpatch
+  - filename: Update-load-local-changes-bug-16940-second.mozpatch
+  - filename: aboutTBUpdateLogo.png
   - filename: trac-16475.mozpatch
   - filename: OSX-package-as-tar.bz2.mozpatch
     enable: '[% c("var/osx") %]'





More information about the tor-commits mailing list