diff options
Diffstat (limited to '~emulatorman/iceweasel-libre')
-rw-r--r-- | ~emulatorman/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch | 281 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/PKGBUILD | 196 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/bug677092.patch | 330 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/iceweasel-install-dir.patch | 31 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/iceweasel.desktop | 105 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/iceweasel.install | 13 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/libre.patch | 268 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/mozconfig | 49 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/mozconfig.pgo | 4 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/replace-urls.txt | 25 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/shared-libs.patch | 12 | ||||
-rw-r--r-- | ~emulatorman/iceweasel-libre/vendor.js | 18 |
12 files changed, 1332 insertions, 0 deletions
diff --git a/~emulatorman/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/~emulatorman/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch new file mode 100644 index 000000000..69fe5c072 --- /dev/null +++ b/~emulatorman/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch @@ -0,0 +1,281 @@ +From: Mike Hommey <mh@glandium.org>
+Date: Tue, 5 Jun 2012 08:57:06 +0200
+Subject: Bug 756390 - Make the "Reset Firefox" feature more generic
+
+diff --git a/browser/components/migration/content/migration.js b/browser/components/migration/content/migration.js
+index 0e8ccf5..fa46c08 100644
+--- a/browser/components/migration/content/migration.js
++++ b/browser/components/migration/content/migration.js
+@@ -249,7 +249,7 @@ var MigrationWizard = {
+ }
+
+ var brandBundle = document.getElementById("brandBundle");
+- // These strings don't exist when not using official branding. If that's
++ // These strings may not exist when not using official branding. If that's
+ // the case, just skip this page.
+ try {
+ var pageTitle = brandBundle.getString("homePageMigrationPageTitle");
+@@ -281,8 +281,8 @@ var MigrationWizard = {
+ case "chrome":
+ source = "sourceNameChrome";
+ break;
+- case "firefox":
+- source = "sourceNameFirefox";
++ case "self":
++ source = "brand";
+ break;
+ }
+
+@@ -292,7 +292,12 @@ var MigrationWizard = {
+ var oldHomePageURL = this._migrator.sourceHomePageURL;
+
+ if (oldHomePageURL && source) {
+- var appName = MigrationUtils.getLocalizedString(source);
++ var appName;
++ if (source == "brand") {
++ appName = brandBundle.GetStringFromName("brandFullName");
++ } else {
++ appName = MigrationUtils.getLocalizedString(source);
++ }
+ var oldHomePageLabel =
+ brandBundle.getFormattedString("homePageImport", [appName]);
+ var oldHomePage = document.getElementById("oldHomePage");
+diff --git a/browser/components/migration/content/migration.xul b/browser/components/migration/content/migration.xul
+index f030756..23e37ff 100644
+--- a/browser/components/migration/content/migration.xul
++++ b/browser/components/migration/content/migration.xul
+@@ -42,7 +42,7 @@
+ #elifdef XP_UNIX
+ <radio id="chrome" label="&importFromChrome.label;" accesskey="&importFromChrome.accesskey;"/>
+ #endif
+- <radio id="firefox" label="&importFromFirefox.label;" accesskey="&importFromFirefox.accesskey;"/>
++ <radio id="self" hidden="true"/>
+ <radio id="nothing" label="&importFromNothing.label;" accesskey="&importFromNothing.accesskey;" hidden="true"/>
+ </radiogroup>
+ <label id="noSources" hidden="true">&noMigrationSources.label;</label>
+diff --git a/browser/components/migration/src/BrowserProfileMigrators.manifest b/browser/components/migration/src/BrowserProfileMigrators.manifest
+index d7fec75..d531b83 100644
+--- a/browser/components/migration/src/BrowserProfileMigrators.manifest
++++ b/browser/components/migration/src/BrowserProfileMigrators.manifest
+@@ -3,7 +3,7 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737
+ component {4cec1de4-1671-4fc3-a53e-6c539dc77a26} ChromeProfileMigrator.js
+ contract @mozilla.org/profile/migrator;1?app=browser&type=chrome {4cec1de4-1671-4fc3-a53e-6c539dc77a26}
+ component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
+-contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
++contract @mozilla.org/profile/migrator;1?app=browser&type=self {91185366-ba97-4438-acba-48deaca63386}
+ #ifdef HAS_IE_MIGRATOR
+ component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js
+ contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4}
+diff --git a/browser/components/migration/src/FirefoxProfileMigrator.js b/browser/components/migration/src/FirefoxProfileMigrator.js
+index a6598fe..8f83da8 100644
+--- a/browser/components/migration/src/FirefoxProfileMigrator.js
++++ b/browser/components/migration/src/FirefoxProfileMigrator.js
+@@ -88,7 +88,7 @@ Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", {
+
+
+ FirefoxProfileMigrator.prototype.classDescription = "Firefox Profile Migrator";
+-FirefoxProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=firefox";
++FirefoxProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=self";
+ FirefoxProfileMigrator.prototype.classID = Components.ID("{91185366-ba97-4438-acba-48deaca63386}");
+
+ const NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]);
+diff --git a/browser/components/migration/src/MigrationUtils.jsm b/browser/components/migration/src/MigrationUtils.jsm
+index 0669aa8..19552e3 100644
+--- a/browser/components/migration/src/MigrationUtils.jsm
++++ b/browser/components/migration/src/MigrationUtils.jsm
+@@ -403,11 +403,6 @@ let MigrationUtils = Object.freeze({
+ * @see nsIStringBundle
+ */
+ getLocalizedString: function MU_getLocalizedString(aKey, aReplacements) {
+- const OVERRIDES = {
+- "4_firefox": "4_firefox_history_and_bookmarks"
+- };
+- aKey = OVERRIDES[aKey] || aKey;
+-
+ if (aReplacements === undefined)
+ return getMigrationBundle().GetStringFromName(aKey);
+ return getMigrationBundle().formatStringFromName(
+@@ -622,6 +617,17 @@ let MigrationUtils = Object.freeze({
+ },
+
+ /**
++ * Returns whether a given migration type is supported.
++ *
++ * @param aKey Migrator key
++ * @returns whether the migrator key is supported.
++ */
++ canMigrate:
++ function MU_canMigrate(aMigratorKey) {
++ return "@mozilla.org/profile/migrator;1?app=browser&type=" + aMigratorKey in Cc;
++ },
++
++ /**
+ * Cleans up references to migrators and nsIProfileInstance instances.
+ */
+ finishMigration: function MU_finishMigration() {
+diff --git a/browser/components/migration/src/ProfileMigrator.js b/browser/components/migration/src/ProfileMigrator.js
+index 744f117..59e5a4c 100644
+--- a/browser/components/migration/src/ProfileMigrator.js
++++ b/browser/components/migration/src/ProfileMigrator.js
+@@ -12,6 +12,7 @@ function ProfileMigrator() {
+
+ ProfileMigrator.prototype = {
+ migrate: MigrationUtils.startupMigration.bind(MigrationUtils),
++ canMigrate: MigrationUtils.canMigrate.bind(MigrationUtils),
+ QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIProfileMigrator]),
+ classDescription: "Profile Migrator",
+ contractID: "@mozilla.org/toolkit/profile-migrator;1",
+diff --git a/browser/locales/en-US/chrome/browser/migration/migration.dtd b/browser/locales/en-US/chrome/browser/migration/migration.dtd
+index 21cf405..f3c1a6b 100644
+--- a/browser/locales/en-US/chrome/browser/migration/migration.dtd
++++ b/browser/locales/en-US/chrome/browser/migration/migration.dtd
+@@ -17,8 +17,6 @@
+ <!ENTITY importFromSafari.accesskey "S">
+ <!ENTITY importFromChrome.label "Chrome">
+ <!ENTITY importFromChrome.accesskey "C">
+-<!ENTITY importFromFirefox.label "Firefox">
+-<!ENTITY importFromFirefox.accesskey "X">
+
+ <!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
+
+diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties
+index 260bc29..52b32cc 100644
+--- a/browser/locales/en-US/chrome/browser/migration/migration.properties
++++ b/browser/locales/en-US/chrome/browser/migration/migration.properties
+@@ -8,7 +8,6 @@ profileName_format=%S %S
+ sourceNameIE=Internet Explorer
+ sourceNameSafari=Safari
+ sourceNameChrome=Google Chrome
+-sourceNameFirefox=Mozilla Firefox
+
+ importedBookmarksFolder=From %S
+
+@@ -24,22 +23,22 @@ importedSafariReadingList=Reading List (From Safari)
+ 2_ie=Cookies
+ 2_safari=Cookies
+ 2_chrome=Cookies
+-2_firefox=Cookies
++2_self=Cookies
+
+ 4_ie=Browsing History
+ 4_safari=Browsing History
+ 4_chrome=Browsing History
+-4_firefox_history_and_bookmarks=Browsing History and Bookmarks
++4_self=Browsing History and Bookmarks
+
+ 8_ie=Saved Form History
+ 8_safari=Saved Form History
+ 8_chrome=Saved Form History
+-8_firefox=Saved Form History
++8_self=Saved Form History
+
+ 16_ie=Saved Passwords
+ 16_safari=Saved Passwords
+ 16_chrome=Saved Passwords
+-16_firefox=Saved Passwords
++16_self=Saved Passwords
+
+ 32_ie=Favorites
+ 32_safari=Bookmarks
+@@ -48,4 +47,4 @@ importedSafariReadingList=Reading List (From Safari)
+ 64_ie=Other Data
+ 64_safari=Other Data
+ 64_chrome=Other Data
+-64_firefox=Bookmarks Backups
++64_self=Bookmarks Backups
+diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
+index 339ffda..6999b26 100644
+--- a/toolkit/content/jar.mn
++++ b/toolkit/content/jar.mn
+@@ -38,7 +38,7 @@ toolkit.jar:
+ + content/global/mozilla.xhtml (mozilla.xhtml)
+ content/global/nsDragAndDrop.js (nsDragAndDrop.js)
+ content/global/resetProfile.css (resetProfile.css)
+-* content/global/resetProfile.js (resetProfile.js)
++ content/global/resetProfile.js (resetProfile.js)
+ content/global/resetProfile.xul (resetProfile.xul)
+ content/global/resetProfileProgress.xul (resetProfileProgress.xul)
+ content/global/treeUtils.js (treeUtils.js)
+diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
+index dcb4065..09c1146 100644
+--- a/toolkit/content/resetProfile.js
++++ b/toolkit/content/resetProfile.js
+@@ -36,13 +36,13 @@ function resetSupported() {
+ getService(Ci.nsIToolkitProfileService);
+ let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
+
+-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+-
+ // Reset is only supported for the default profile if the self-migrator used for reset exists.
+ try {
+- return currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
+- ("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc);
++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
++ return ("canMigrate" in pm) && pm.canMigrate("self");
++ }
+ } catch (e) {
+ // Catch exception when there is no selected profile.
+ Cu.reportError(e);
+@@ -53,9 +53,6 @@ function resetSupported() {
+ function getMigratedData() {
+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
+
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+-
+ // From migration.properties
+ const MIGRATED_TYPES = [
+ 4, // History and Bookmarks
+@@ -68,7 +65,7 @@ function getMigratedData() {
+ let dataTypes = [];
+ for (let itemID of MIGRATED_TYPES) {
+ try {
+- let typeName = MigrationUtils.getLocalizedString(itemID + "_" + MOZ_APP_NAME);
++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
+ dataTypes.push(typeName);
+ } catch (x) {
+ // Catch exceptions when the string for a data type doesn't exist.
+diff --git a/toolkit/profile/nsIProfileMigrator.idl b/toolkit/profile/nsIProfileMigrator.idl
+index f35c227..7062886 100644
+--- a/toolkit/profile/nsIProfileMigrator.idl
++++ b/toolkit/profile/nsIProfileMigrator.idl
+@@ -37,7 +37,7 @@ interface nsIProfileStartup : nsISupports
+ * @client Toolkit (Startup code)
+ * @obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1")
+ */
+-[scriptable, uuid(3df284a5-2258-4d46-a664-761ecdc04c22)]
++[scriptable, uuid(96d9ab66-082c-4a9e-82ad-f8c21b391342)]
+ interface nsIProfileMigrator : nsISupports
+ {
+ /**
+@@ -60,6 +60,14 @@ interface nsIProfileMigrator : nsISupports
+ * @note The startup code ignores COM exceptions thrown from this method.
+ */
+ void migrate(in nsIProfileStartup aStartup, in ACString aKey);
++
++ /**
++ * Returns whether a given migration type is supported.
++ *
++ * @param aKey Migrator key
++ * @returns whether the migrator key is supported.
++ */
++ bool canMigrate(in ACString aKey);
+ };
+
+ %{C++
+diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
+index 68a52e6..02bb30e 100644
+--- a/toolkit/xre/nsAppRunner.cpp
++++ b/toolkit/xre/nsAppRunner.cpp
+@@ -3669,7 +3669,7 @@ XREMain::XRE_mainRun()
+ if (gDoProfileReset) {
+ // Automatically migrate from the current application if we just
+ // reset the profile.
+- aKey = MOZ_APP_NAME;
++ aKey = "self";
+ }
+ pm->Migrate(&mDirProvider, aKey);
+ }
diff --git a/~emulatorman/iceweasel-libre/PKGBUILD b/~emulatorman/iceweasel-libre/PKGBUILD new file mode 100644 index 000000000..fca35cc42 --- /dev/null +++ b/~emulatorman/iceweasel-libre/PKGBUILD @@ -0,0 +1,196 @@ +# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org> +# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor: Figue <ffigue at gmail> +# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> +# Contributor (Parabola): vando <facundo@esdebian.org> +# Contributor (Parabola): André Silva <emulatorman@lavabit.com> +# Contributor (Parabola): Márcio Silva <coadde@lavabit.com> +# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com> +# Thank you very much to the older contributors: +# Contributor: evr <evanroman at gmail> +# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> + +_pgo=false + +# We're getting this from Debian Experimental +_debname=iceweasel +_debver=18.0 +_debrel=1 +_debrepo=http://ftp.debian.org/debian/pool/main/ +debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } + +_pkgname=iceweasel +pkgname=iceweasel-libre +pkgver=$_debver.$_debrel +pkgrel=5 + +if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi +if $_pgo; then + pkgname+='-pgo' +fi + +pkgdesc="A libre version of Debian Iceweasel, the Browser based on Mozilla Firefox." +arch=('i686' 'x86_64' 'mips64el') +license=('GPL2' 'MPL' 'LGPL') +depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss>=3.14.1' 'sqlite3' 'startup-notification') +makedepends=( 'autoconf2.13' 'diffutils' 'imagemagick' 'libidl2' 'librsvg' 'libxslt' 'mesa' 'pkg-config' 'python2' 'quilt' 'unzip' 'zip') +[ "$CARCH" != "mips64el" ] && makedepends+=('yasm') +if $_pgo; then + makedepends+=('xorg-server-xvfb') + options=(!ccache) +fi + +optdepends=('networkmanager: Location detection via available WiFi networks') +url="http://www.geticeweasel.org/" +install=iceweasel.install +source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2" + "$_debrepo/`debfile $_debname`_$_debver-$_debrel.debian.tar.gz" + mozconfig + mozconfig.pgo + libre.patch + iceweasel.desktop + iceweasel-install-dir.patch + vendor.js + shared-libs.patch + bug677092.patch + replace-urls.txt + Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch) +md5sums=('366e1e4847d7e00eba77ee5a4be0d3db' + '6a571d3a3b355c331f67d57702f4fccf' + '619e8f7c8596838a7daf2b7ce2e54cd3' + 'ac29b01c189f20abae2f3eef1618ffc0' + '1ee2d4bcacee73d671b9ffa17a02abaa' + '2823e0ecdefc16b590a9997f9228924a' + 'abf5ecb74caa857abb42bcfbb3442d9c' + '6dd547c72bb875a3101135a1c32d4783' + '52e52f840a49eb1d14be1c0065b03a93' + '23520aca140fb0dd3e1b6f21b21f591f' + 'a8fc4658d45b6bf9350023e5c3f34e56' + '65f68090d2a69b467bd2707d0c4ea3bd') + +if [ "$_pkgname" != "$pkgname" ]; then + provides+=("$_pkgname=$pkgver") + conflicts+=("$_pkgname") +fi + +build() { + # WebRTC build tries to execute "python" and expects Python 2 + # Workaround taken from chromium PKGBUILD on Archlinux + mkdir "$srcdir/python2-path" + ln -s /usr/bin/python2 "$srcdir/python2-path/python" + export PATH="$srcdir/python2-path:$PATH" + + export QUILT_PATCHES=debian/patches + export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' + export QUILT_DIFF_ARGS='--no-timestamps' + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname" + export PYTHON="/usr/bin/python2" + export DEBIAN_BUILD="mozilla-release" + mv debian "$srcdir/$DEBIAN_BUILD" + cd "$srcdir/$DEBIAN_BUILD" + + # Doesn't apply and seems unimportant + rm -v debian/patches/l10n/Place-google-and-gmail-before-yandex.patch || true + + # This patch doesn't works in some parts due that has patches for others locales languages, source code hasn't it + rm -v debian/patches/debian-hacks/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch || true + + quilt push -a + + patch -Np1 -i "$srcdir/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch" # Adding fixed Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch + patch -Np1 -i "$srcdir/iceweasel-install-dir.patch" # install to /usr/lib/$_pkgname + patch -Np1 -i "$srcdir/shared-libs.patch" + + # Back out https://bugzilla.mozilla.org/show_bug.cgi?id=677092 + # in order to fix https://bugzilla.mozilla.org/show_bug.cgi?id=818468 + patch -Rp1 -i ../bug677092.patch + + # Replace common URLs + sed '/^#/d' ../replace-urls.txt | while read -r moz_url gnu_url; do + if [[ -n $moz_url ]]; then + printf 'liberating: %s -> %s\n' "$moz_url" "$gnu_url" + grep -Erl "${moz_url}" \ + --exclude='*.'{patch,orig,rej} \ + --exclude-dir={.pc,test,tests,testing} \ + | xargs -d '\n' --no-run-if-empty sed -ri "s<${moz_url}<${gnu_url}<g" + fi + done + + # Patch anything that's left + patch -Np1 -i "$srcdir/libre.patch" + + cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch + + if $_pgo; then + cat "$srcdir/mozconfig.pgo" >> .mozconfig + fi + + # From js on abslibre-mips64el.git + if [ "$CARCH" = "mips64el" ]; then + msg "Force disabling JIT." + sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \ + js/src/assembler/wtf/Platform.h + sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.{in,ref} + + echo "ac_add_options --disable-methodjit" >> .mozconfig + echo "ac_add_options --disable-tracejit" >> .mozconfig + fi + + # Fix PRE_RELEASE_SUFFIX + sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ + browser/base/Makefile.in + + # This is a bug, we should fix it + if [ "$CARCH" = "mips64el" ]; then + # Fix MIPS N32 support. + sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \ + js/src/assembler/wtf/Platform.h + # Disable JIT. + sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \ + js/src/assembler/wtf/Platform.h + sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.in + echo 'ac_add_options --disable-methodjit' >> .mozconfig + echo 'ac_add_options --disable-tracejit' >> .mozconfig + echo 'ac_add_options --disable-jemalloc' >> .mozconfig + fi + + if $_pgo; then + LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 & + LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS" + kill $! || true + else + LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" + fi +} + +package() { + cd "$srcdir/$DEBIAN_BUILD" + make -j1 -f client.mk DESTDIR="$pkgdir" install + + install -Dm644 ../vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/preferences/vendor.js" + + # I don't even know why we're hitting the objdir, and ConnOS didn't + _brandingdir=debian/branding + brandingdir=moz-objdir/$_brandingdir + icondir="$pkgdir/usr/share/icons/hicolor" + for i in 16x16 32x32 48x48 64x64; do + install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png" + done + install -Dm644 "$brandingdir/mozicon128.png" "$icondir/128x128/apps/$_pkgname.png" + install -Dm644 "$_brandingdir/iceweasel_icon.svg" "$icondir/scalable/apps/$_pkgname.svg" + + install -d "$pkgdir/usr/share/applications" + install -m644 "$srcdir/iceweasel.desktop" "$pkgdir/usr/share/applications" + + rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation,searchplugins,plugins} + ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries" + ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation" + ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/plugins" + ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins" + + # We don't want the development stuff + rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} + + # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" +} diff --git a/~emulatorman/iceweasel-libre/bug677092.patch b/~emulatorman/iceweasel-libre/bug677092.patch new file mode 100644 index 000000000..aee09b451 --- /dev/null +++ b/~emulatorman/iceweasel-libre/bug677092.patch @@ -0,0 +1,330 @@ +exporting patch: +# HG changeset patch +# User Axel Hecht <axel@pike.org> +# Date 1348128099 -7200 +# Node ID 812d0ba8317507c4026958a740960384eac1507a +# Parent 97e49e7a33266a0680e5af59289264a07e4321f8 +bug 677092, make language packs restartless, r=Unfocused +Make language packs just trigger the chrome registration hooks, and +disable picking up bootstrap.js, and declare them restartless. + +diff -r 97e49e7a3326 -r 812d0ba83175 toolkit/mozapps/extensions/XPIProvider.jsm +--- a/toolkit/mozapps/extensions/XPIProvider.jsm Wed Sep 26 13:08:50 2012 +0200 ++++ b/toolkit/mozapps/extensions/XPIProvider.jsm Thu Sep 20 10:01:39 2012 +0200 +@@ -740,8 +740,8 @@ + } + } + else { +- // spell check dictionaries never require a restart +- if (addon.type == "dictionary") ++ // spell check dictionaries and language packs never require a restart ++ if (addon.type == "dictionary" || addon.type == "locale") + addon.bootstrap = true; + + // Only extensions are allowed to provide an optionsURL, optionsType or aboutURL. For +@@ -3695,6 +3695,11 @@ + Components.manager.addBootstrappedManifestLocation(aFile); + + try { ++ // Don't call bootstrap.js methods for language packs, ++ // they only contain chrome. ++ if (aType == "locale") ++ return; ++ + // Load the scope if it hasn't already been loaded + if (!(aId in this.bootstrapScopes)) + this.loadBootstrapScope(aId, aFile, aVersion, aType); +diff -r 97e49e7a3326 -r 812d0ba83175 toolkit/mozapps/extensions/test/addons/test_langpack/chrome.manifest +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/toolkit/mozapps/extensions/test/addons/test_langpack/chrome.manifest Thu Sep 20 10:01:39 2012 +0200 +@@ -0,0 +1,1 @@ ++locale test-langpack x-testing locale/x-testing +diff -r 97e49e7a3326 -r 812d0ba83175 toolkit/mozapps/extensions/test/addons/test_langpack/install.rdf +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/toolkit/mozapps/extensions/test/addons/test_langpack/install.rdf Thu Sep 20 10:01:39 2012 +0200 +@@ -0,0 +1,23 @@ ++<?xml version="1.0"?> ++ ++<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ++ xmlns:em="http://www.mozilla.org/2004/em-rdf#"> ++ ++ <Description about="urn:mozilla:install-manifest"> ++ <em:id>langpack-x-testing@tests.mozilla.org</em:id> ++ <em:type>8</em:type> ++ <em:version>1.0</em:version> ++ ++ <!-- Front End MetaData --> ++ <em:name>Language Pack x-testing</em:name> ++ ++ <em:targetApplication> ++ <Description> ++ <em:id>xpcshell@tests.mozilla.org</em:id> ++ <em:minVersion>1</em:minVersion> ++ <em:maxVersion>2</em:maxVersion> ++ </Description> ++ </em:targetApplication> ++ ++ </Description> ++</RDF> +diff -r 97e49e7a3326 -r 812d0ba83175 toolkit/mozapps/extensions/test/xpcshell/test_langpack.js +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/toolkit/mozapps/extensions/test/xpcshell/test_langpack.js Thu Sep 20 10:01:39 2012 +0200 +@@ -0,0 +1,247 @@ ++/* Any copyright is dedicated to the Public Domain. ++ * http://creativecommons.org/publicdomain/zero/1.0/ ++ */ ++ ++// This verifies that language packs can be used without restarts. ++Components.utils.import("resource://gre/modules/Services.jsm"); ++ ++// Enable loading extensions from the user scopes ++Services.prefs.setIntPref("extensions.enabledScopes", ++ AddonManager.SCOPE_PROFILE + AddonManager.SCOPE_USER); ++ ++createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); ++ ++const profileDir = gProfD.clone(); ++profileDir.append("extensions"); ++const userExtDir = gProfD.clone(); ++userExtDir.append("extensions2"); ++userExtDir.append(gAppInfo.ID); ++registerDirectory("XREUSysExt", userExtDir.parent); ++ ++var chrome = Components.classes["@mozilla.org/chrome/chrome-registry;1"] ++ .getService(Components.interfaces.nsIXULChromeRegistry); ++ ++function do_check_locale_not_registered(provider) { ++ let didThrow = false; ++ try { ++ chrome.getSelectedLocale(provider); ++ } catch (e) { ++ didThrow = true; ++ } ++ do_check_true(didThrow); ++} ++ ++function run_test() { ++ do_test_pending(); ++ ++ startupManager(); ++ ++ run_test_1(); ++} ++ ++// Tests that installing doesn't require a restart ++function run_test_1() { ++ prepare_test({ }, [ ++ "onNewInstall" ++ ]); ++ ++ AddonManager.getInstallForFile(do_get_addon("test_langpack"), function(install) { ++ ensure_test_completed(); ++ ++ do_check_neq(install, null); ++ do_check_eq(install.type, "locale"); ++ do_check_eq(install.version, "1.0"); ++ do_check_eq(install.name, "Language Pack x-testing"); ++ do_check_eq(install.state, AddonManager.STATE_DOWNLOADED); ++ do_check_true(install.addon.hasResource("install.rdf")); ++ do_check_false(install.addon.hasResource("bootstrap.js")); ++ do_check_eq(install.addon.operationsRequiringRestart & ++ AddonManager.OP_NEEDS_RESTART_INSTALL, 0); ++ ++ let addon = install.addon; ++ prepare_test({ ++ "langpack-x-testing@tests.mozilla.org": [ ++ ["onInstalling", false], ++ "onInstalled" ++ ] ++ }, [ ++ "onInstallStarted", ++ "onInstallEnded", ++ ], function() { ++ do_check_true(addon.hasResource("install.rdf")); ++ check_test_1(); ++ }); ++ install.install(); ++ }); ++} ++ ++function check_test_1() { ++ AddonManager.getAllInstalls(function(installs) { ++ // There should be no active installs now since the install completed and ++ // doesn't require a restart. ++ do_check_eq(installs.length, 0); ++ ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(b1) { ++ do_check_neq(b1, null); ++ do_check_eq(b1.version, "1.0"); ++ do_check_false(b1.appDisabled); ++ do_check_false(b1.userDisabled); ++ do_check_true(b1.isActive); ++ // check chrome reg that language pack is registered ++ do_check_eq(chrome.getSelectedLocale("test-langpack"), "x-testing"); ++ do_check_true(b1.hasResource("install.rdf")); ++ do_check_false(b1.hasResource("bootstrap.js")); ++ ++ let dir = do_get_addon_root_uri(profileDir, "langpack-x-testing@tests.mozilla.org"); ++ ++ AddonManager.getAddonsWithOperationsByTypes(null, function(list) { ++ do_check_eq(list.length, 0); ++ ++ run_test_2(); ++ }); ++ }); ++ }); ++} ++ ++// Tests that disabling doesn't require a restart ++function run_test_2() { ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(b1) { ++ prepare_test({ ++ "langpack-x-testing@tests.mozilla.org": [ ++ ["onDisabling", false], ++ "onDisabled" ++ ] ++ }); ++ ++ do_check_eq(b1.operationsRequiringRestart & ++ AddonManager.OP_NEEDS_RESTART_DISABLE, 0); ++ b1.userDisabled = true; ++ ensure_test_completed(); ++ ++ do_check_neq(b1, null); ++ do_check_eq(b1.version, "1.0"); ++ do_check_false(b1.appDisabled); ++ do_check_true(b1.userDisabled); ++ do_check_false(b1.isActive); ++ // check chrome reg that language pack is not registered ++ do_check_locale_not_registered("test-langpack"); ++ ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(newb1) { ++ do_check_neq(newb1, null); ++ do_check_eq(newb1.version, "1.0"); ++ do_check_false(newb1.appDisabled); ++ do_check_true(newb1.userDisabled); ++ do_check_false(newb1.isActive); ++ ++ run_test_3(); ++ }); ++ }); ++} ++ ++// Test that restarting doesn't accidentally re-enable ++function run_test_3() { ++ shutdownManager(); ++ startupManager(false); ++ // check chrome reg that language pack is not registered ++ do_check_locale_not_registered("test-langpack"); ++ ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(b1) { ++ do_check_neq(b1, null); ++ do_check_eq(b1.version, "1.0"); ++ do_check_false(b1.appDisabled); ++ do_check_true(b1.userDisabled); ++ do_check_false(b1.isActive); ++ ++ run_test_4(); ++ }); ++} ++ ++// Tests that enabling doesn't require a restart ++function run_test_4() { ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(b1) { ++ prepare_test({ ++ "langpack-x-testing@tests.mozilla.org": [ ++ ["onEnabling", false], ++ "onEnabled" ++ ] ++ }); ++ ++ do_check_eq(b1.operationsRequiringRestart & ++ AddonManager.OP_NEEDS_RESTART_ENABLE, 0); ++ b1.userDisabled = false; ++ ensure_test_completed(); ++ ++ do_check_neq(b1, null); ++ do_check_eq(b1.version, "1.0"); ++ do_check_false(b1.appDisabled); ++ do_check_false(b1.userDisabled); ++ do_check_true(b1.isActive); ++ // check chrome reg that language pack is registered ++ do_check_eq(chrome.getSelectedLocale("test-langpack"), "x-testing"); ++ ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(newb1) { ++ do_check_neq(newb1, null); ++ do_check_eq(newb1.version, "1.0"); ++ do_check_false(newb1.appDisabled); ++ do_check_false(newb1.userDisabled); ++ do_check_true(newb1.isActive); ++ ++ run_test_5(); ++ }); ++ }); ++} ++ ++// Tests that a restart shuts down and restarts the add-on ++function run_test_5() { ++ shutdownManager(); ++ startupManager(false); ++ // check chrome reg that language pack is registered ++ do_check_eq(chrome.getSelectedLocale("test-langpack"), "x-testing"); ++ ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(b1) { ++ do_check_neq(b1, null); ++ do_check_eq(b1.version, "1.0"); ++ do_check_false(b1.appDisabled); ++ do_check_false(b1.userDisabled); ++ do_check_true(b1.isActive); ++ do_check_false(isExtensionInAddonsList(profileDir, b1.id)); ++ ++ run_test_7(); ++ }); ++} ++ ++// Tests that uninstalling doesn't require a restart ++function run_test_7() { ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(b1) { ++ prepare_test({ ++ "langpack-x-testing@tests.mozilla.org": [ ++ ["onUninstalling", false], ++ "onUninstalled" ++ ] ++ }); ++ ++ do_check_eq(b1.operationsRequiringRestart & ++ AddonManager.OP_NEEDS_RESTART_UNINSTALL, 0); ++ b1.uninstall(); ++ ++ check_test_7(); ++ }); ++} ++ ++function check_test_7() { ++ ensure_test_completed(); ++ // check chrome reg that language pack is not registered ++ do_check_locale_not_registered("test-langpack"); ++ ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(b1) { ++ do_check_eq(b1, null); ++ ++ restartManager(); ++ ++ AddonManager.getAddonByID("langpack-x-testing@tests.mozilla.org", function(newb1) { ++ do_check_eq(newb1, null); ++ ++ do_test_finished(); ++ }); ++ }); ++} +diff -r 97e49e7a3326 -r 812d0ba83175 toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini +--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini Wed Sep 26 13:08:50 2012 +0200 ++++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini Thu Sep 20 10:01:39 2012 +0200 +@@ -139,6 +139,7 @@ + [test_corrupt_strictcompat.js] + [test_db_sanity.js] + [test_dictionary.js] ++[test_langpack.js] + [test_disable.js] + [test_distribution.js] + [test_dss.js] diff --git a/~emulatorman/iceweasel-libre/iceweasel-install-dir.patch b/~emulatorman/iceweasel-libre/iceweasel-install-dir.patch new file mode 100644 index 000000000..a44aef496 --- /dev/null +++ b/~emulatorman/iceweasel-libre/iceweasel-install-dir.patch @@ -0,0 +1,31 @@ +diff -Nur iceweasel-16.0.1.orig/config/baseconfig.mk iceweasel-16.0.1/config/baseconfig.mk +--- iceweasel-16.0.1.orig/config/baseconfig.mk 2012-10-10 19:42:45.000000000 -0200 ++++ iceweasel-16.0.1/config/baseconfig.mk 2012-10-12 05:40:32.346949927 -0200 +@@ -1,10 +1,10 @@ + INCLUDED_AUTOCONF_MK = 1 + + MOZ_APP_BASE_VERSION = $(firstword $(subst ., ,$(MOZ_APP_VERSION))).$(word 2,$(subst ., ,$(MOZ_APP_VERSION))) +-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) +-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION) ++includedir := $(includedir)/$(MOZ_APP_NAME) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME) ++installdir = $(libdir)/$(MOZ_APP_NAME) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel + DIST = $(DEPTH)/dist + + # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't +diff -Nur iceweasel-16.0.1.orig/js/src/config/baseconfig.mk iceweasel-16.0.1/js/src/config/baseconfig.mk +--- iceweasel-16.0.1.orig/js/src/config/baseconfig.mk 2012-10-10 19:43:05.000000000 -0200 ++++ iceweasel-16.0.1/js/src/config/baseconfig.mk 2012-10-12 05:08:23.064066227 -0200 +@@ -1,7 +1,7 @@ + INCLUDED_AUTOCONF_MK = 1 + +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) ++installdir = $(libdir)/$(MOZ_APP_NAME) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel + + ifneq (,$(filter /%,$(TOP_DIST))) + DIST = $(TOP_DIST) diff --git a/~emulatorman/iceweasel-libre/iceweasel.desktop b/~emulatorman/iceweasel-libre/iceweasel.desktop new file mode 100644 index 000000000..e1aa6f0ca --- /dev/null +++ b/~emulatorman/iceweasel-libre/iceweasel.desktop @@ -0,0 +1,105 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Iceweasel +Name[bg]=Iceweasel +Name[ca]=Iceweasel +Name[cs]=Iceweasel +Name[el]=Iceweasel +Name[es]=Iceweasel +Name[fa]=Iceweasel +Name[fi]=Iceweasel +Name[fr]=Iceweasel +Name[hu]=Iceweasel +Name[it]=Iceweasel +Name[ja]=Iceweasel +Name[ko]=Iceweasel +Name[nb]=Iceweasel +Name[nl]=Iceweasel +Name[nn]=Iceweasel +Name[no]=Iceweasel +Name[pl]=Iceweasel +Name[pt]=Iceweasel +Name[pt_BR]=Iceweasel +Name[ru]=Iceweasel +Name[sk]=Iceweasel +Name[sv]=Iceweasel +Comment=Browse the World Wide Web +Comment[bg]=Сърфиране в Мрежата +Comment[ca]=Navegueu per el web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[de]=Im Internet surfen +Comment[el]=Περιηγηθείτε στον παγκόσμιο ιστό +Comment[es]=Navegue por la web +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Navigue sur Internet +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[ru]=Обозреватель Всемирной Паутины +Comment[sk]=Prehliadanie internetu +Comment[sv]=Surfa på webben +GenericName=Web Browser +GenericName[bg]=Интернет браузър +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[de]=Webbrowser +GenericName[el]=Περιηγητής ιστού +GenericName[es]=Navegador web +GenericName[fa]=مرورگر اینترنتی +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブ・ブラウザ +GenericName[ko]=웹 브라우저 +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[no]=Nettleser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ru]=Интернет-браузер +GenericName[sk]=Internetový prehliadač +GenericName[sv]=Webbläsare +X-GNOME-FullName=Iceweasel Web Browser +X-GNOME-FullName[bg]=Интернет браузър (Iceweasel) +X-GNOME-FullName[ca]=Navegador web Iceweasel +X-GNOME-FullName[cs]=Iceweasel Webový prohlížeč +X-GNOME-FullName[el]=Περιηγήτης Ιστού Iceweasel +X-GNOME-FullName[es]=Navegador web Iceweasel +X-GNOME-FullName[fa]=مرورگر اینترنتی Iceweasel +X-GNOME-FullName[fi]=Iceweasel-selain +X-GNOME-FullName[fr]=Navigateur Web Iceweasel +X-GNOME-FullName[hu]=Iceweasel webböngésző +X-GNOME-FullName[it]=Iceweasel Browser Web +X-GNOME-FullName[ja]=Iceweasel ウェブ・ブラウザ +X-GNOME-FullName[ko]=Iceweasel 웹 브라우저 +X-GNOME-FullName[nb]=Iceweasel Nettleser +X-GNOME-FullName[nl]=Iceweasel webbrowser +X-GNOME-FullName[nn]=Iceweasel Nettlesar +X-GNOME-FullName[no]=Iceweasel Nettleser +X-GNOME-FullName[pl]=Przeglądarka WWW Iceweasel +X-GNOME-FullName[pt]=Iceweasel Navegador Web +X-GNOME-FullName[pt_BR]=Navegador Web Iceweasel +X-GNOME-FullName[ru]=Интернет-браузер Iceweasel +X-GNOME-FullName[sk]=Internetový prehliadač Iceweasel +X-GNOME-FullName[sv]=Webbläsaren Iceweasel +Exec=iceweasel %u +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=iceweasel +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; +StartupWMClass=Iceweasel +StartupNotify=true diff --git a/~emulatorman/iceweasel-libre/iceweasel.install b/~emulatorman/iceweasel-libre/iceweasel.install new file mode 100644 index 000000000..c1fe8284a --- /dev/null +++ b/~emulatorman/iceweasel-libre/iceweasel.install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} + diff --git a/~emulatorman/iceweasel-libre/libre.patch b/~emulatorman/iceweasel-libre/libre.patch new file mode 100644 index 000000000..f80295e55 --- /dev/null +++ b/~emulatorman/iceweasel-libre/libre.patch @@ -0,0 +1,268 @@ +diff -ruN mozilla-release.orig/browser/app/profile/firefox.js mozilla-release/browser/app/profile/firefox.js +--- mozilla-release.orig/browser/app/profile/firefox.js 2013-01-10 20:20:02.000000000 -0500 ++++ mozilla-release/browser/app/profile/firefox.js 2013-01-10 17:47:34.000000000 -0500 +@@ -1168,11 +1168,9 @@ + // (This is intentionally on the high side; see bug 746055.) + pref("image.mem.max_decoded_image_kb", 256000); + +-// Example social provider +-pref("social.manifest.facebook", "{\"origin\":\"https://www.facebook.com\",\"name\":\"Facebook Messenger\",\"workerURL\":\"https://www.facebook.com/desktop/fbdesktop2/socialfox/fbworker.js.php\",\"iconURL\":\"data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAAX0lEQVQ4jWP4%2F%2F8%2FAyUYTFhHzjgDxP9JxGeQDSBVMxgTbUBCxer%2Fr999%2BQ8DJBuArJksA9A10s8AXIBoA0B%2BR%2FY%2FjD%2BEwoBoA1yT5v3PbdmCE8MAshhID%2FUMoDgzUYIBj0Cgi7ar4coAAAAASUVORK5CYII%3D\",\"sidebarURL\":\"https://www.facebook.com/desktop/fbdesktop2/?socialfox=true\"}"); + // Comma-separated list of nsIURI::prePaths that are allowed to activate + // built-in social functionality. +-pref("social.activation.whitelist", "https://www.facebook.com"); ++pref("social.activation.whitelist", ""); + pref("social.sidebar.open", true); + pref("social.sidebar.unload_timeout_ms", 10000); + pref("social.active", false); +diff -ruN mozilla-release.orig/browser/base/content/abouthome/aboutHome.js mozilla-release/browser/base/content/abouthome/aboutHome.js +--- mozilla-release.orig/browser/base/content/abouthome/aboutHome.js 2013-01-04 18:44:27.000000000 -0500 ++++ mozilla-release/browser/base/content/abouthome/aboutHome.js 2013-01-10 18:26:10.000000000 -0500 +@@ -5,70 +5,41 @@ + // If a definition requires additional params, check that the final search url + // is handled correctly by the engine. + const SEARCH_ENGINES = { +- "Google": { ++ "DuckDuckGo HTML": { + image: "data:image/png;base64," + +- "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" +-#ifdef XP_MACOSX +- , imageHD: "data:image/png;base64,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" +-#endif +- , params: "source=hp&channel=np" ++ "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" + } + }; + +@@ -78,7 +49,7 @@ + // * add an entry here in the proper ordering (based on spans) + // The <a/> part of the snippet will be linked to the corresponding url. + const DEFAULT_SNIPPETS_URLS = [ +- "http://www.mozilla.com/firefox/features/?WT.mc_ID=default1" ++ "http://packages.debian.org/experimental/iceweasel" + , "https://www.gnu.org/software/gnuzilla/addons.html" + ]; + +@@ -141,10 +112,6 @@ + if (searchEngineInfo.image) { + let logoElt = document.getElementById("searchEngineLogo"); + logoElt.src = searchEngineInfo.image; +-#ifdef XP_MACOSX +- if (searchEngineInfo.imageHD && window.matchMedia("(min-resolution: 2dppx)")) +- logoElt.src = searchEngineInfo.imageHD; +-#endif + logoElt.alt = searchEngineName; + } + +diff -urN mozilla-release.orig/browser/base/content/abouthome/aboutHome.css mozilla-release/browser/base/content/abouthome/aboutHome.css +--- mozilla-release.orig/browser/base/content/abouthome/aboutHome.css 2013-01-04 21:44:27.000000000 -0200 ++++ mozilla-release/browser/base/content/abouthome/aboutHome.css 2013-01-10 01:35:44.497079456 -0200 +@@ -66,8 +66,7 @@ + #searchEngineLogo { + display: inline-block; + height: 28px; +- width: 70px; +- min-width: 70px; ++ width: 47px; + } + + #searchText { +diff -urN mozilla-release.orig/browser/locales/en-US/chrome/browser-region/region.properties mozilla-release/browser/locales/en-US/chrome/browser-region/region.properties +--- mozilla-release.orig/browser/locales/en-US/chrome/browser-region/region.properties 2012-11-20 00:45:50.000000000 -0200 ++++ mozilla-release/browser/locales/en-US/chrome/browser-region/region.properties 2012-11-28 21:45:00.486713730 -0200 +@@ -3,25 +3,18 @@ + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + # Default search engine +-browser.search.defaultenginename=Google ++browser.search.defaultenginename=DuckDuckGo HTML + + # Search engine order (order displayed in the search bar dropdown)s +-browser.search.order.1=Google +-browser.search.order.2=Yahoo +-browser.search.order.3=Bing +- +-# This is the default set of web based feed handlers shown in the reader +-# selection UI +-browser.contentHandlers.types.0.title=Google +-browser.contentHandlers.types.0.uri=http://fusion.google.com/add?feedurl=%s +-browser.contentHandlers.types.1.title=My Yahoo! +-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s ++browser.search.order.1=DuckDuckGo HTML ++browser.search.order.2=DuckDuckGo Lite ++browser.search.order.3=Seeks Search + + # URL for site-specific search engines + # TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site + # to be searched and the user's search query. Place them in the appropriate location + # for your locale's URL but do not translate them. +-browser.search.siteSearchURL=https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms} ++browser.search.siteSearchURL=https://duckduckgo.com/html/?q=site%3A{moz:domain}+{searchTerms} + + # increment this number when anything gets changed in the list below. This will + # cause Firefox to re-read these prefs and inject any new handlers into the +@@ -30,20 +23,10 @@ + # don't make any spelling errors here. + gecko.handlerService.defaultHandlersVersion=3 + +-# The default set of protocol handlers for webcal: +-gecko.handlerService.schemes.webcal.0.name=30 Boxes +-gecko.handlerService.schemes.webcal.0.uriTemplate=http://30boxes.com/external/widget?refer=ff&url=%s +- +-# The default set of protocol handlers for mailto: +-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail +-gecko.handlerService.schemes.mailto.0.uriTemplate=http://compose.mail.yahoo.com/?To=%s +-gecko.handlerService.schemes.mailto.1.name=Gmail +-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s +- + # The default set of protocol handlers for irc: +-gecko.handlerService.schemes.irc.0.name=Mibbit +-gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s ++gecko.handlerService.schemes.irc.0.name=Freenode ++gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net/?channels=%s + + # The default set of protocol handlers for ircs: +-gecko.handlerService.schemes.ircs.0.name=Mibbit +-gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s ++gecko.handlerService.schemes.ircs.0.name=Freenode ++gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net/?channels=%s +diff -ruN mozilla-release.orig/dom/ipc/test.xul mozilla-release/dom/ipc/test.xul +--- mozilla-release.orig/dom/ipc/test.xul 2013-01-04 18:44:31.000000000 -0500 ++++ mozilla-release/dom/ipc/test.xul 2013-01-10 18:19:26.000000000 -0500 +@@ -299,6 +299,6 @@ + oncommand="document.getElementById('page').QueryInterface(Components.interfaces.nsIFrameLoaderOwner).frameLoader.delayRemoteDialogs = this.checked;"/> + </toolbar> + +- <browser type="content" src="http://www.google.com/" flex="1" id="page" remote="true"/> ++ <browser type="content" src="https://duckduckgo.com/html" flex="1" id="page" remote="true"/> + <label id="messageLog" value="" crop="center"/> + </window> +diff -ruN mozilla-release.orig/layout/ipc/test-ipcbrowser.xul mozilla-release/layout/ipc/test-ipcbrowser.xul +--- mozilla-release.orig/layout/ipc/test-ipcbrowser.xul 2013-01-04 18:44:37.000000000 -0500 ++++ mozilla-release/layout/ipc/test-ipcbrowser.xul 2013-01-10 18:20:03.000000000 -0500 +@@ -73,6 +73,6 @@ + label="setViewportScale"/> + </toolbar> + +- <browser type="content" src="http://www.google.com/" flex="1" id="content" ++ <browser type="content" src="https://duckduckgo.com/html" flex="1" id="content" + remote="true"/> + </window> +diff -urN mozilla-release.orig/browser/locales/generic/profile/bookmarks.html.in mozilla-release/browser/locales/generic/profile/bookmarks.html.in +--- mozilla-release.orig/browser/locales/generic/profile/bookmarks.html.in 2012-06-01 09:03:48.000000000 -0300 ++++ mozilla-release/browser/locales/generic/profile/bookmarks.html.in 2012-06-15 22:54:08.446274144 -0300 +@@ -11,13 +11,20 @@ + <DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3> + <DD>@bookmarks_toolbarfolder_description@ + <DL><p> +- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/central/" ID="rdf:#$GvPhC3">@getting_started@</A> ++ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AihUrGP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIcXLSJvFCcn////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AbRIkcP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AGwTI0JWEBtB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCAAAACVQ8crP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFYQHJI9ChRL////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBlKzZHPQoUzgAAAAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AknV8I0sdJv8kBgxU////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AMTExA1uTlX1JAYLyf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wC5ubkLhG1x6CQGDP0PAAARzJmZBf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AxsbGCZB+g/QkBgz/DQMDUdu2tgfMn5koxo2NOsxmmQX///8A////AP///wD///8A////AP///wD///8A////AJ2JjX+NeX3/JAYM/wwCA5T///8A////AL+AgAi/foFfuG51l7JgaXCvY3E2/4CAAv///wD///8A////AJlveHOzqqv6UCUt/yQGDP8MAgTW////AP///wD///8A////AKqAgAawXmhnqk9b36VNW/KjT13mqGh16Kl+hvCbdHz/YyYx/z0KFP8kBgz/DAIE7f///wD///8A////AP///wD///8A////AJlmZgWkQU5inDFD0ZUhNv+FFyz/bRMk/1UPHP89ChT/JAYM/wwCA9v///8A////AP///wD///8A////AP///wD///8A////AP///wCTIDMohRYtfW0TJMBVDxzQPQoU3SUGDcoMBARA//8AAP//AAD//wAA//8AAP/3AAD/9wAA//sAAP/7AAD/+QAA//kAAP/5AAD/+AAA9/AAAPwAAAD/AAAA/+EAAA%3D%3D" ID="rdf:#$GvPhC3">Parabola GNU/Linux-libre</A> + </DL><p> +- <DT><H3 ID="rdf:#$ZvPhC3">@firefox_heading@</H3> ++ <DT><H3 ID="rdf:#$YvPhC3">Parabola GNU/Linux-libre</H3> + <DL><p> +- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/help/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$22iCK1">@firefox_help@</A> +- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/customize/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$32iCK1">@firefox_customize@</A> +- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/community/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$42iCK1">@firefox_community@</A> +- <DT><A HREF="http://www.mozilla.com/@AB_CD@/about/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$52iCK1">@firefox_about@</A> ++ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AihUrGP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIcXLSJvFCcn////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AbRIkcP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AGwTI0JWEBtB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCAAAACVQ8crP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFYQHJI9ChRL////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBlKzZHPQoUzgAAAAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AknV8I0sdJv8kBgxU////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AMTExA1uTlX1JAYLyf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wC5ubkLhG1x6CQGDP0PAAARzJmZBf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AxsbGCZB+g/QkBgz/DQMDUdu2tgfMn5koxo2NOsxmmQX///8A////AP///wD///8A////AP///wD///8A////AJ2JjX+NeX3/JAYM/wwCA5T///8A////AL+AgAi/foFfuG51l7JgaXCvY3E2/4CAAv///wD///8A////AJlveHOzqqv6UCUt/yQGDP8MAgTW////AP///wD///8A////AKqAgAawXmhnqk9b36VNW/KjT13mqGh16Kl+hvCbdHz/YyYx/z0KFP8kBgz/DAIE7f///wD///8A////AP///wD///8A////AJlmZgWkQU5inDFD0ZUhNv+FFyz/bRMk/1UPHP89ChT/JAYM/wwCA9v///8A////AP///wD///8A////AP///wD///8A////AP///wCTIDMohRYtfW0TJMBVDxzQPQoU3SUGDcoMBARA//8AAP//AAD//wAA//8AAP/3AAD/9wAA//sAAP/7AAD/+QAA//kAAP/5AAD/+AAA9/AAAPwAAAD/AAAA/+EAAA%3D%3D">Parabola GNU/Linux-libre</A> ++ <DT><A HREF="https://parabolagnulinux.org/packages/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AihUrGP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIcXLSJvFCcn////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AbRIkcP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AGwTI0JWEBtB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCAAAACVQ8crP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFYQHJI9ChRL////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBlKzZHPQoUzgAAAAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AknV8I0sdJv8kBgxU////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AMTExA1uTlX1JAYLyf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wC5ubkLhG1x6CQGDP0PAAARzJmZBf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AxsbGCZB+g/QkBgz/DQMDUdu2tgfMn5koxo2NOsxmmQX///8A////AP///wD///8A////AP///wD///8A////AJ2JjX+NeX3/JAYM/wwCA5T///8A////AL+AgAi/foFfuG51l7JgaXCvY3E2/4CAAv///wD///8A////AJlveHOzqqv6UCUt/yQGDP8MAgTW////AP///wD///8A////AKqAgAawXmhnqk9b36VNW/KjT13mqGh16Kl+hvCbdHz/YyYx/z0KFP8kBgz/DAIE7f///wD///8A////AP///wD///8A////AJlmZgWkQU5inDFD0ZUhNv+FFyz/bRMk/1UPHP89ChT/JAYM/wwCA9v///8A////AP///wD///8A////AP///wD///8A////AP///wCTIDMohRYtfW0TJMBVDxzQPQoU3SUGDcoMBARA//8AAP//AAD//wAA//8AAP/3AAD/9wAA//sAAP/7AAD/+QAA//kAAP/5AAD/+AAA9/AAAPwAAAD/AAAA/+EAAA%3D%3D">Parabola GNU/Linux-libre Packages</A> ++ <DT><A HREF="https://wiki.parabolagnulinux.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AihUrGP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIcXLSJvFCcn////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AbRIkcP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AGwTI0JWEBtB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCAAAACVQ8crP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFYQHJI9ChRL////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBlKzZHPQoUzgAAAAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AknV8I0sdJv8kBgxU////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AMTExA1uTlX1JAYLyf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wC5ubkLhG1x6CQGDP0PAAARzJmZBf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AxsbGCZB+g/QkBgz/DQMDUdu2tgfMn5koxo2NOsxmmQX///8A////AP///wD///8A////AP///wD///8A////AJ2JjX+NeX3/JAYM/wwCA5T///8A////AL+AgAi/foFfuG51l7JgaXCvY3E2/4CAAv///wD///8A////AJlveHOzqqv6UCUt/yQGDP8MAgTW////AP///wD///8A////AKqAgAawXmhnqk9b36VNW/KjT13mqGh16Kl+hvCbdHz/YyYx/z0KFP8kBgz/DAIE7f///wD///8A////AP///wD///8A////AJlmZgWkQU5inDFD0ZUhNv+FFyz/bRMk/1UPHP89ChT/JAYM/wwCA9v///8A////AP///wD///8A////AP///wD///8A////AP///wCTIDMohRYtfW0TJMBVDxzQPQoU3SUGDcoMBARA//8AAP//AAD//wAA//8AAP/3AAD/9wAA//sAAP/7AAD/+QAA//kAAP/5AAD/+AAA9/AAAPwAAAD/AAAA/+EAAA%3D%3D">Parabola GNU/Linux-libre Wiki</A> ++ <DT><A HREF="https://labs.parabola.nu/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AihUrGP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIcXLSJvFCcn////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AbRIkcP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AGwTI0JWEBtB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCAAAACVQ8crP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFYQHJI9ChRL////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBlKzZHPQoUzgAAAAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AknV8I0sdJv8kBgxU////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AMTExA1uTlX1JAYLyf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wC5ubkLhG1x6CQGDP0PAAARzJmZBf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AxsbGCZB+g/QkBgz/DQMDUdu2tgfMn5koxo2NOsxmmQX///8A////AP///wD///8A////AP///wD///8A////AJ2JjX+NeX3/JAYM/wwCA5T///8A////AL+AgAi/foFfuG51l7JgaXCvY3E2/4CAAv///wD///8A////AJlveHOzqqv6UCUt/yQGDP8MAgTW////AP///wD///8A////AKqAgAawXmhnqk9b36VNW/KjT13mqGh16Kl+hvCbdHz/YyYx/z0KFP8kBgz/DAIE7f///wD///8A////AP///wD///8A////AJlmZgWkQU5inDFD0ZUhNv+FFyz/bRMk/1UPHP89ChT/JAYM/wwCA9v///8A////AP///wD///8A////AP///wD///8A////AP///wCTIDMohRYtfW0TJMBVDxzQPQoU3SUGDcoMBARA//8AAP//AAD//wAA//8AAP/3AAD/9wAA//sAAP/7AAD/+QAA//kAAP/5AAD/+AAA9/AAAPwAAAD/AAAA/+EAAA%3D%3D">Parabola GNU/Linux-libre Labs</A> ++ </DL><p> ++ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3> ++ <DL><p> ++ <DT><A HREF="http://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A> ++ <DT><A HREF="http://libreplanet.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAC/v78AAAAAAPLy9ABsbakA/f3+APn5+QC6ur0A6urqAEpLbQACBLQApKW3AAULuQDMzMwAGBiDAL29vQCgocsAgnzJALu82QA+PpsAAQOvAOjo6ADZ2dkAysrKALS0zwD5+foAAgKRAAYGdQD19fUADhOjAAQJyACrnqIAxMTLAOnp7gDm5uYAzczNACgobwDg2dEAQkaeAA0RkAAUFnEA0MvQAIBzgAANDYsAk5OyAOTk5ADy8vYA1dXVAD8/cADGxsYA+fn7AAMHvgBzZnQApqauAAEGuQDExMQAAAGmAAoLmgADCMQAxMTdAAwPlwD+/v4ABg7MAF5ehADg4OAA0dHRAAAAoQAYEXAAwsLCALCxwQBnadkAAQGWAPz8/ACgoLgAbm6RANvb5wDr6+sA0dHSALe3uQADB8AAzc3NAGFhbAABAZcAOTtlALi4xwAAAJoA/Pz9AAQHnwADBJcACQl4AFVa3AChl6EAAgW2ABscdAABAq4A2NjYAAAAmwDAwMoAAQKmAAcMswDR0eQAAQSxANvX2wB4aXcAAQGpAAAAkwDW1tYAAgSpACIZZAAAAaEA+vr8AKuirAACBbcA8vLyALOztgADBZYAAACcAAACpwAEA6QAAQKnAPT09QD///8AvL3UADIpigDw8PAABwWOAK6dogBub4kAiozDANLS0gAFC8gAAgW4AP39/QAAAJ0A0NDQAMHBwQDp6ewACg2RAAIFqAAKCokA+/v7AAkOnwAAAaMA7OzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4eHh4eHh4eHh4eHh4AXh4eHhlbikzZlooeHh4eAF4eHh4hX1JVFweInh4eHgBeHh4XmlAGXNGSB8VeHh4AXg8LhaGcV9zKg0wQF54eAF4K0NNOGthjXNCUwAMS3gBPC82iW+CCRN2Iz4wTwx4AW0GgCc5OU41VnSKTBoOiwEFTz8hHIF5RANdQVRfNIMBeBUhe0o9jB0Pcjdzc1E8AXgsB3AbUlkQRVtnhHNoeAF4i45wJCAlYjJbdYRfY3gBeDwmEn4XMToKZDd6WDx4AXh4VTsIfwt3FGpsfAR4eAF4eHgEEYhQAodXYDx4eHgBeHh4eHg8GC1HPHh4eHh4AQABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAA%3D">LibrePlanet</A> ++ <DT><A HREF="http://www.gnu.org/software/gnuzilla/addons.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">Free addons</A> ++ <DT><A HREF="http://www.h-node.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAC7zrYAWYhNANjj1QA9fEcAEEwBAHTQkwAeVRkAPXMvALvOtwASVQEAHFcUAH/bpgB60p8AKnQmAGO1fgAjaRwALmA1AA5EAQDM2sgAN3ApAG7EjgC5zbQAVJxrAChwIgC0ya8ALmczAHXJmQBNf0EAgd6oADhwKgC8z7cA7vPtANTg0QANPwAARIhSADtyLQBzzpQAus21AEeKVQDC070AieyzALzPuAB93qEALGYvAO/z7gBEiVAAasWFAFuJTwBKil4AXotSAEuKXgAORQEAD0gBABlDFwBWpmoALGYwAGCNVQAbYBAAHGAQABBOAQCI6rIAjPG3AB1bDgAaXg4A////AGaRWwB/2qYAUYJEAEx+PwAZXAwAm7eUAD51MADN28oAJmwhACRiFAAzeTYAasaFAB9eDwBkt34Aus62AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT09PT09PT09PT09PT09PT09PT0OIjALPRQmMkI9PT09PT09OkcHNQU+Q0oQPT09PT09PToVGDQtI0ABKz09PT09PT06JRg0Nh1ALxk9PT09PT09OiUYIS4TQC83PT09PT09PTpPSDsGG0BEAz09PT09PT06T0BGMRIsTRY9PT09PT09OgACJx8gQwooPT09PT09PToICAkJCUkkPT09PT09PT05HggETio9PT09PT09PT09Px4IERw9PT09PT09PT09PUUpCDMMPT09PT09PT09PT0NOEEEGj09PT09PT09PT09TBcPSzw9PT09PT09PT09PT09PT09PT09PT09PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D">h-node</A> + </DL><p> + </DL><p> diff --git a/~emulatorman/iceweasel-libre/mozconfig b/~emulatorman/iceweasel-libre/mozconfig new file mode 100644 index 000000000..8b5e52d9e --- /dev/null +++ b/~emulatorman/iceweasel-libre/mozconfig @@ -0,0 +1,49 @@ +. $topsrcdir/browser/config/mozconfig + +ac_add_options --prefix=/usr +ac_add_options --libdir=/usr/lib + +# System libraries +ac_add_options --with-system-nspr +ac_add_options --with-system-nss +ac_add_options --with-system-jpeg +ac_add_options --with-system-zlib +ac_add_options --with-system-bz2 +ac_add_options --with-system-png +ac_add_options --with-system-libevent +ac_add_options --with-system-libvpx +ac_add_options --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-ffi +ac_add_options --enable-system-cairo +ac_add_options --enable-system-pixman +ac_add_options --with-pthreads + +# Features +ac_add_options --enable-startup-notification +ac_add_options --disable-crashreporter +ac_add_options --disable-updater +ac_add_options --disable-tests +ac_add_options --disable-mochitest +ac_add_options --disable-installer + +# Optimization +ac_add_options --enable-optimize +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir + +# Iceweasel +ac_add_options --disable-official-branding +ac_add_options --with-branding=debian/branding + +# ConnochaetOS +#ac_add_options --build=i586-pc-linux-gnu +#ac_add_options --host=i586-pc-linux-gnu +#export USE_SHORT_LIBNAME=1 +#mk_add_options USE_SHORT_LIBNAME=1 + +# Parabola +ac_add_options --disable-safe-browsing +export BUILD_OFFICIAL=1 +mk_add_options BUILD_OFFICIAL=1 + +# Build-generated diff --git a/~emulatorman/iceweasel-libre/mozconfig.pgo b/~emulatorman/iceweasel-libre/mozconfig.pgo new file mode 100644 index 000000000..b0c249ebf --- /dev/null +++ b/~emulatorman/iceweasel-libre/mozconfig.pgo @@ -0,0 +1,4 @@ +# PGO +ac_add_options --enable-profile-guided-optimization +mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py' +mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo' diff --git a/~emulatorman/iceweasel-libre/replace-urls.txt b/~emulatorman/iceweasel-libre/replace-urls.txt new file mode 100644 index 000000000..fc13e32fb --- /dev/null +++ b/~emulatorman/iceweasel-libre/replace-urls.txt @@ -0,0 +1,25 @@ +# These are replaced in order, so if one is a subset of another, the smaller one should be last +# These are whitespace-separated EREs, comments are lines starting with '#' + +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/dictionaries/?(\?[^"']*)? https://parabolagnulinux.org/packages/\?repo=Extra\&q=hunspell- +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/plugins/?(\?[^"']*)? https://gnuzilla.gnu.org/plugins/ +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/personas/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/recommended/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/search-engines/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html#search%20engines +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/search/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/themes/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html#themes +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/?(\?[^"']*)?" https://www.gnu.org/software/gnuzilla/addons.html" +https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/?(\?[^"']*)?$ https://www.gnu.org/software/gnuzilla/addons.html + +https://addons.mozilla.org/firefox/collections/mozilla/webdeveloper/ https://www.gnu.org/software/gnuzilla/addons.html + +https?://services\.addons\.mozilla\.org/(%LOCALE%|@AB_CD@|en-US|ru)/([a-zA-Z%-]+)/ https://www.gnu.org/software/gnuzilla/addons.html#bogus-services.\2/ + +https?://pfs\.mozilla\.org/plugins/PluginFinderService\.php https://gnuzilla.gnu.org/plugins/PluginFinderService.php +#https?://versioncheck\.addons\.mozilla\.org/update/VersionCheck\.php +#https?://versioncheck-bg\.addons\.mozilla\.org/update/VersionCheck\.php + +"https?://addons\.mozilla\.org/" "https://www.gnu.org/software/gnuzilla/addons.html" + +# hack: these aren't URLs, per se +(addonsBrowseAll\.description\s*=.*)addons\.mozilla\.org \1gnu.org/software/gnuzilla/addons.html diff --git a/~emulatorman/iceweasel-libre/shared-libs.patch b/~emulatorman/iceweasel-libre/shared-libs.patch new file mode 100644 index 000000000..1f22b2b0d --- /dev/null +++ b/~emulatorman/iceweasel-libre/shared-libs.patch @@ -0,0 +1,12 @@ +diff -Nur mozilla-release.orig/browser/installer/Makefile.in mozilla-release/browser/installer/Makefile.in +--- mozilla-release.orig/browser/installer/Makefile.in 2012-07-17 16:19:29.480356991 +0000 ++++ mozilla-release/browser/installer/Makefile.in 2012-07-17 17:32:41.250937293 +0000 +@@ -50,7 +50,7 @@ + MOZ_PKG_MANIFEST_P = $(srcdir)/package-manifest.in + # Some files have been already bundled with xulrunner + ifndef SYSTEM_LIBXUL +-MOZ_PKG_FATAL_WARNINGS = 1 ++MOZ_PKG_FATAL_WARNINGS = 0 + endif + + MOZ_NONLOCALIZED_PKG_LIST = \ diff --git a/~emulatorman/iceweasel-libre/vendor.js b/~emulatorman/iceweasel-libre/vendor.js new file mode 100644 index 000000000..865bfaec7 --- /dev/null +++ b/~emulatorman/iceweasel-libre/vendor.js @@ -0,0 +1,18 @@ +// Use LANG environment variable to choose locale +pref("intl.locale.matchOS", true); + +// Disable default browser checking. +pref("browser.shell.checkDefaultBrowser", false); + +// Don't disable our bundled extensions in the application directory +pref("extensions.autoDisableScopes", 11); +pref("extensions.shownSelectionUI", true); + +// Make sure that safebrowsing is disabled +pref("browser.safebrowsing.enabled", false); +pref("browser.safebrowsing.malware.enabled", false); + +pref("keyword.URL", ""); +pref("app.update.enabled", false); +pref("app.update.auto", false); +pref("dom.storage.enabled", false); |