From d4264d7d66402e7643bd608d4a042d8276013b59 Mon Sep 17 00:00:00 2001
From: Ruben Rodriguez <ruben@trisquel.info>
Date: Wed, 28 Jan 2015 17:49:34 +0100
Subject: [PATCH] Added helper for GNU IceCat

---
 helpers/DATA/icecat/aboutHome.xhtml           | 117 +++++++
 helpers/DATA/icecat/aboutIceCat.xhtml         | 313 ++++++++++++++++++
 helpers/DATA/icecat/bookmarks.html.in         |  23 ++
 .../searchplugins/trisquel-packages.xml       |   9 +
 .../DATA/icecat/searchplugins/trisquel.xml    |   9 +
 helpers/make-icecat                           |  64 ++++
 6 files changed, 535 insertions(+)
 create mode 100644 helpers/DATA/icecat/aboutHome.xhtml
 create mode 100644 helpers/DATA/icecat/aboutIceCat.xhtml
 create mode 100644 helpers/DATA/icecat/bookmarks.html.in
 create mode 100644 helpers/DATA/icecat/searchplugins/trisquel-packages.xml
 create mode 100644 helpers/DATA/icecat/searchplugins/trisquel.xml
 create mode 100644 helpers/make-icecat

diff --git a/helpers/DATA/icecat/aboutHome.xhtml b/helpers/DATA/icecat/aboutHome.xhtml
new file mode 100644
index 00000000..f1eae07a
--- /dev/null
+++ b/helpers/DATA/icecat/aboutHome.xhtml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!DOCTYPE html [
+  <!ENTITY % htmlDTD
+    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "DTD/xhtml1-strict.dtd">
+  %htmlDTD;
+  <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
+  %globalDTD;
+  <!ENTITY % aboutHomeDTD SYSTEM "chrome://browser/locale/aboutHome.dtd">
+  %aboutHomeDTD;
+  <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd" >
+  %browserDTD;
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>&abouthome.pageTitle;</title>
+
+    <link rel="icon" type="image/png" id="favicon"
+          href="chrome://branding/content/icon32.png"/>
+    <link rel="stylesheet" type="text/css" media="all"
+          href="chrome://browser/content/abouthome/aboutHome.css"/>
+
+<style>
+
+label{
+position:relative;
+bottom:2px;
+left:2px;
+}
+
+em {
+color:#600
+}
+
+a{
+color:#004998
+}
+
+.block-side-margin {
+  min-width: 16px;
+  -moz-box-flex: 1;
+}
+
+#block-horizontal-margin {
+  display: -moz-box;
+  -moz-box-flex: 1;
+}
+
+ul li {
+list-style:none;
+background:#ddd;
+border-radius:3px;
+padding:3px 5px 3px 5px;
+margin:5px;
+box-shadow: 0px 2px 0 #ccc ;
+float:left;
+}
+
+ul li a{
+font-weight:bold;
+color:#666;
+text-shadow:0px 1px 0px #fff;
+}
+
+.titlelink {
+font-weight:bold;
+color:#56728C;
+text-shadow:0px 1px 0px #fff;
+}
+
+#footer{
+min-height:100px;
+}
+
+</style>
+
+  </head>
+
+  <body dir="&locale.dir;">
+
+
+    <div class="spacer"/>
+    <div id="topSection">
+      <img src="chrome://branding/content/about-logo.png"/>
+
+      <div id="searchContainer">
+        <form name="searchForm" id="searchForm" action="https://duckduckgo.com/html/">
+          <input type="hidden" name="t" value="trisquel"/>
+          <input type="text" name="q" value="" id="searchText" maxlength="256"
+                 autofocus="autofocus"/>
+          <input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label; DuckDuckGO"/>
+        </form>
+      </div>
+
+    </div>
+
+    <div class="spacer"/>
+
+<div id="footer" style="  display: -moz-box;   -moz-box-align: center;   -moz-box-pack: center;   width: 100%;   background-color: hsla(0,0%,0%,.03);   border-top: 1px solid hsla(0,0%,0%,.03);   box-shadow: 0 2px 5px hsla(0,0%,0%,.1) inset,              0 -1px 0 hsla(0,0%,100%,.25);">
+<p ><a class="titlelink" href="https://trisquel.info">Trisquel GNU/Linux</a>:</p>
+<ul style="font-size:0.8em">
+<li><a href="https://trisquel.info/forum">Forum</a></li>
+<li><a href="https://trisquel.info/wiki">Wiki</a></li>
+<li><a href="http://store.trisquel.info/">Store</a></li>
+<li><a href="https://trisquel.info/donate">Donate</a></li>
+</ul>
+</div>
+
+  </body>
+</html>
+
diff --git a/helpers/DATA/icecat/aboutIceCat.xhtml b/helpers/DATA/icecat/aboutIceCat.xhtml
new file mode 100644
index 00000000..34ddaaa7
--- /dev/null
+++ b/helpers/DATA/icecat/aboutIceCat.xhtml
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!DOCTYPE html [
+  <!ENTITY % htmlDTD
+    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "DTD/xhtml1-strict.dtd">
+  %htmlDTD;
+  <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
+  %globalDTD;
+  <!ENTITY % aboutHomeDTD SYSTEM "chrome://browser/locale/aboutHome.dtd">
+  %aboutHomeDTD;
+  <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd" >
+  %browserDTD;
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>&abouthome.pageTitle;</title>
+
+    <link rel="icon" type="image/png" id="favicon"
+          href="chrome://branding/content/icon32.png"/>
+    <link rel="stylesheet" type="text/css" media="all"
+          href="chrome://browser/content/abouthome/aboutHome.css"/>
+
+<style>
+
+label{
+position:relative;
+bottom:2px;
+left:2px;
+}
+
+#addonsform form{
+position:relative;
+left:10px;
+}
+
+em {
+color:#600
+}
+
+a{
+color:#004998
+}
+
+#addonsform{
+background-color:#fff;
+font-size:14px;
+padding:10px 30px 20px 30px;
+border-radius: 10px;
+box-shadow: 0px 0px 5px #888888;
+}
+
+.block-side-margin {
+  min-width: 16px;
+  -moz-box-flex: 1;
+}
+
+#block-horizontal-margin {
+  display: -moz-box;
+  -moz-box-flex: 1;
+}
+
+ul li {
+list-style:none;
+float:left;
+}
+
+ul li a{
+font-weight:bold;
+text-shadow:0px 1px 0px #fff;
+padding:5px 10px 5px 10px;
+border-radius:3px;
+margin:5px;
+color:#888;
+background:#dcdcdc;
+box-shadow: 0px 2px 0 #ccc ;
+}
+
+ul li a:hover{
+color:#666;
+background:#ccc;
+box-shadow: 0px 2px 0 #aaa;
+
+}
+
+#footer{
+min-height:100px;
+}
+
+</style>
+
+<script type="text/javascript">
+<![CDATA[
+
+Components.utils.import("resource://gre/modules/AddonManager.jsm");
+Components.utils.import("resource://gre/modules/Services.jsm");
+
+function flip(sel){
+  var id = sel.id;
+  var addonObj=-1;
+  AddonManager.getAddonByID(id, function(addon) {
+    addonObj=addon;
+  });
+  var thread = Components.classes["@mozilla.org/thread-manager;1"].getService().currentThread;
+  while (addonObj == null || addonObj == -1)
+  thread.processNextEvent(true);
+  addonObj.userDisabled = addonObj.isActive;
+  if ( addonObj.operationsRequiringRestart != 0)
+      alert("This change will be applied when you restart IceCat");
+}
+
+function languagesettings(sel){
+  if (sel.checked)
+    Services.prefs.setCharPref(sel.id,sel.value);
+  else
+    Services.prefs.clearUserPref(sel.id);
+}
+
+function fontsettings(sel){
+  if (sel.checked)
+    Services.prefs.setIntPref(sel.id,sel.value);
+  else
+    Services.prefs.clearUserPref(sel.id);
+}
+
+function jssettings(sel){
+  if (sel.checked){
+    Services.prefs.setBoolPref(sel.id, !sel.checked);}
+  else
+    Services.prefs.clearUserPref(sel.id);
+}
+
+function prepare(){
+
+try {
+Services.prefs.getCharPref("extensions.icecathome.intl.accept_languages");
+}catch(err){
+Services.prefs.setCharPref("intl.accept_languages","en-US, en");
+Services.prefs.setCharPref("extensions.icecathome.intl.accept_languages","en-US, en");
+}
+
+srchsvc = Components.classes["@mozilla.org/browser/search-service;1"].getService(Components.interfaces.nsIBrowserSearchService);
+currentEngine = srchsvc.defaultEngine.name;
+document.getElementById("searchLogoContainer").innerHTML=currentEngine+":"; 
+
+/*try {
+Services.prefs.getIntPref("extensions.icecathome.browser.display.use_document_fonts");
+}catch(err){
+Services.prefs.setIntPref("browser.display.use_document_fonts",0);
+Services.prefs.setIntPref("extensions.icecathome.browser.display.use_document_fonts",0);
+}*/
+
+  var f = document.createElement("form");
+
+  var extensions=[
+["jid1-KtlZuoiikVfFew@jetpack","Block execution of non-free <a target=\"_blank\" href=\"http://www.gnu.org/software/librejs/\">JavaScript</a> <em>(experimental)</em>"],
+["spyblock@gnu.org","Block privacy <a target=\"_blank\" href=\"https://easylist.adblockplus.org\">trackers</a>"],
+["torproxy@trisquel","Use <a target=\"_blank\" href=\"https://www.torproject.org/\">Tor</a> when in Private Mode"],
+["https-everywhere@eff.org","Get redirected to <a target=\"_blank\" href=\"https://www.eff.org/https-everywhere/faq\">HTTPS</a> when possible"],
+]
+
+  for (var i=0; i<extensions.length; ++i) {
+    var ex=extensions[i][0];
+
+    var tmp = document.createElement("input");
+    tmp.setAttribute('type',"checkbox");
+    tmp.setAttribute('id', ex);
+    tmp.setAttribute('onclick','flip(this);');
+
+    var label = document.createElement("label");
+    label.htmlFor =  ex ;
+    label.id = ex+'label';
+    label.appendChild(document.createTextNode(''));
+
+    f.appendChild(tmp);
+    f.appendChild(label);
+
+    document.getElementById("addonsform").appendChild(f);
+  }
+
+  var tmp = document.createElement("input");
+  tmp.setAttribute('type',"checkbox");
+  tmp.setAttribute('id', "intl.accept_languages");
+  tmp.setAttribute('value', "en-US, en");
+  tmp.setAttribute('onclick','languagesettings(this);');
+  value=Services.prefs.getCharPref("intl.accept_languages");
+  tmp.checked=(value=="en-US, en");
+  var label = document.createElement("label");
+  label.htmlFor =  "intl.accept_languages" ;
+  label.id = "intl.accept_languageslabel";
+  label.appendChild(document.createTextNode("Request pages in English"));
+  f.appendChild(tmp);
+  f.appendChild(label);
+  f.appendChild(document.createElement("br"));
+  document.getElementById("addonsform").appendChild(f);
+
+  var tmp = document.createElement("input");
+  tmp.setAttribute('type',"checkbox");
+  tmp.setAttribute('id', "browser.display.use_document_fonts");
+  tmp.setAttribute('value', 0);
+  tmp.setAttribute('onclick','fontsettings(this);');
+  value=Services.prefs.getIntPref("browser.display.use_document_fonts");
+  tmp.checked=(value==0);
+  var label = document.createElement("label");
+  label.htmlFor =  "browser.display.use_document_fonts" ;
+  label.id = "browser.display.use_document_fontslabel";
+  label.appendChild(document.createTextNode("Use system fonts"));
+  f.appendChild(tmp);
+  f.appendChild(label);
+  f.appendChild(document.createElement("br"));
+  document.getElementById("addonsform").appendChild(f);
+
+  var tmp = document.createElement("input");
+  tmp.setAttribute('type',"checkbox");
+  tmp.setAttribute('id', "javascript.enabled");
+  tmp.setAttribute('value', 0);
+  tmp.setAttribute('onclick','jssettings(this);');
+  value=Services.prefs.getBoolPref("javascript.enabled");
+  tmp.checked=(value==0);
+  var label = document.createElement("label");
+  label.htmlFor =  "javascript.enabled" ;
+  label.id = "javascript.enabledlabel";
+  label.appendChild(document.createTextNode("Disable JavaScript"));
+  f.appendChild(tmp);
+  f.appendChild(label);
+  f.appendChild(document.createElement("br"));
+  document.getElementById("addonsform").appendChild(f);
+
+  for (var i=0; i<extensions.length; ++i) {
+    var ex=extensions[i][0];
+    var addonObj=-1;
+
+    AddonManager.getAddonByID(ex, function(addon) {
+    addonObj=addon;
+    });
+
+    var thread = Components.classes["@mozilla.org/thread-manager;1"].getService().currentThread;
+    while ( addonObj == -1)
+    thread.processNextEvent(true);
+    if ( addonObj != null){
+      document.getElementById(ex).checked = addonObj.isActive;
+      //document.getElementById(ex+'label').innerHTML = addonObj.name;
+      document.getElementById(ex+'label').innerHTML = extensions[i][1]+"<br/>";
+    }else{
+      document.getElementById(ex).style.display='none';
+      document.getElementById(ex+'label').style.display='none';
+    }
+  }
+}
+
+function onSearchSubmit(){
+
+  srchsvc = Components.classes["@mozilla.org/browser/search-service;1"].getService(Components.interfaces.nsIBrowserSearchService);
+  currentEngine = srchsvc.defaultEngine;
+  var selectedText=document.getElementById("searchText").value;
+  submission = currentEngine.getSubmission(selectedText,null);
+  window.location = submission.uri.spec;
+
+}
+
+]]>
+</script>
+
+  </head>
+
+  <body dir="&locale.dir;" onload="prepare();">
+
+    <div class="spacer"/>
+    <div id="topSection">
+      <img src="chrome://branding/content/about-logo.png"/>
+
+      <div id="searchContainer">
+        <form name="searchForm" id="searchForm" onsubmit="onSearchSubmit(); return false">
+          <div id="searchLogoContainer"></div>
+          <input type="text" name="q" value="" id="searchText" maxlength="256"
+                 autofocus="autofocus" dir="auto"/>
+          <input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label;"/>
+        </form>
+      </div>
+
+    </div>
+
+    <div class="spacer"/>
+
+<div id="block-horizontal-margin">
+<div class="block-side-margin"></div>
+<div id="addonsform">
+<h3>Enabled privacy features:</h3>
+<p>The <a target="_blank" href="http://www.gnu.org/software/gnuzilla/">GNU IceCat</a> web browser protects your <a target="_blank" href="http://www.gnu.org/philosophy/free-sw.html">freedom</a> and your privacy!</p>
+</div>
+<div class="block-side-margin"></div>
+</div>
+
+    <div class="spacer"/>
+
+<div id="footer" style="  display: -moz-box;   -moz-box-align: center;   -moz-box-pack: center;   width: 100%;   background-color: hsla(0,0%,0%,.03);   border-top: 1px solid hsla(0,0%,0%,.03);   box-shadow: 0 2px 5px hsla(0,0%,0%,.1) inset,              0 -1px 0 hsla(0,0%,100%,.25);">
+<p ><a class="titlelink" href="https://trisquel.info">Trisquel GNU/Linux</a>:</p>
+<ul style="font-size:0.8em">
+<li><a href="https://trisquel.info/forum">Forum</a></li>
+<li><a href="https://trisquel.info/wiki">Wiki</a></li>
+<li><a href="http://store.trisquel.info/">Store</a></li>
+<li><a href="https://trisquel.info/donate">Donate</a></li>
+</ul>
+</div>
+
+  </body>
+</html>
+
diff --git a/helpers/DATA/icecat/bookmarks.html.in b/helpers/DATA/icecat/bookmarks.html.in
new file mode 100644
index 00000000..9767e59c
--- /dev/null
+++ b/helpers/DATA/icecat/bookmarks.html.in
@@ -0,0 +1,23 @@
+<!DOCTYPE NETSCAPE-Bookmark-file-1>
+<!-- This is an automatically generated file.
+     It will be read and overwritten.
+     DO NOT EDIT! -->
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<TITLE>Bookmarks</TITLE>
+<H1>Bookmarks Menu</H1>
+
+<DL><p>
+    <DT><H3 ADD_DATE="1245542278" LAST_MODIFIED="1245543070" PERSONAL_TOOLBAR_FOLDER="true">Bookmarks Toolbar</H3>
+<DD>Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar
+    <DL><p>
+	<HR>
+        <DT><A HREF="http://trisquel.info/" ADD_DATE="1245542718" LAST_MODIFIED="1245542736" ICON_URI="http://trisquel.info/sites/default/themes/trisquel3/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRklEQVQ4jY2SXU/SYRiHL9xwUzd7s80AzRmzmiKhgCKof0X4C4FHYZtOV2nMWZvTtFyNyQwrX1gwshTzDQQN8f0gD9w6ydo6aJ201Rfoc3Sgs+wg+Z3e9/Xcv117IOWUS1F7NJSNVYMrI3UOoGAgF/PCDg0LccyLK4jRPfTeouNLao+G+rkXWCLzCLNDXBssOJoJs0Po/Q5oy0LVW0jNq3s0LEaAtIMFY7AZMfEDMZLAshDFvvYT++p3TAEXALWhYQrdpwAJ5d5OFB1KbMmP5LrOA21ZWJf3qRipo/hRPjq/GfWgBnFlF/vqPuphDTp/FaZgD8ZAE9qRdozBZqyJHXBngrxVgTXynoJbp9E976ZitA7jxGO0z4w4Nj4gxt9x+aGM4p58Sr0l6HxV2FfjCNNPDurnt5zBEtumqEt+ZNcwOoDsdh7O9U2cW2s0rixhmRvFEglyfWMXcWkeefu5PwKNk/exRKeonrxBTagDw3gLeq8W59Yaju09HOtfsCW+IsY+0TDjO/RxLBLKPSoMAZFSbwkA9bMTODd/IYSfUuK+dCQxtbilNC5/RozGkblzqPT3YXjpQe/TpsZnu85iT37DFL6DKehGNVgIrgzqpsYo61Wm0iATcXkf4XUX1YG7qB5cAdKoCd1EmO5MrYX5rR9rLInMnYNmxEZxtxIh3I8p1HISKgHSyGuSYY0lMUdnqA25EML9iJEE8lYFB1/4v0IlQDoXrl7EONZL/ZsAleN9ZAtKIP0k+O9HpMhbFeh92sPL0n/h3yJfoqCu2Os+AAAAAElFTkSuQmCC">Trisquel GNU/Linux</A>
+        <DT><A HREF="http://trisquel.info/wiki/" ADD_DATE="1245542718" LAST_MODIFIED="1245542736" ICON_URI="http://trisquel.info/sites/default/themes/trisquel3/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRklEQVQ4jY2SXU/SYRiHL9xwUzd7s80AzRmzmiKhgCKof0X4C4FHYZtOV2nMWZvTtFyNyQwrX1gwshTzDQQN8f0gD9w6ydo6aJ201Rfoc3Sgs+wg+Z3e9/Xcv117IOWUS1F7NJSNVYMrI3UOoGAgF/PCDg0LccyLK4jRPfTeouNLao+G+rkXWCLzCLNDXBssOJoJs0Po/Q5oy0LVW0jNq3s0LEaAtIMFY7AZMfEDMZLAshDFvvYT++p3TAEXALWhYQrdpwAJ5d5OFB1KbMmP5LrOA21ZWJf3qRipo/hRPjq/GfWgBnFlF/vqPuphDTp/FaZgD8ZAE9qRdozBZqyJHXBngrxVgTXynoJbp9E976ZitA7jxGO0z4w4Nj4gxt9x+aGM4p58Sr0l6HxV2FfjCNNPDurnt5zBEtumqEt+ZNcwOoDsdh7O9U2cW2s0rixhmRvFEglyfWMXcWkeefu5PwKNk/exRKeonrxBTagDw3gLeq8W59Yaju09HOtfsCW+IsY+0TDjO/RxLBLKPSoMAZFSbwkA9bMTODd/IYSfUuK+dCQxtbilNC5/RozGkblzqPT3YXjpQe/TpsZnu85iT37DFL6DKehGNVgIrgzqpsYo61Wm0iATcXkf4XUX1YG7qB5cAdKoCd1EmO5MrYX5rR9rLInMnYNmxEZxtxIh3I8p1HISKgHSyGuSYY0lMUdnqA25EML9iJEE8lYFB1/4v0IlQDoXrl7EONZL/ZsAleN9ZAtKIP0k+O9HpMhbFeh92sPL0n/h3yJfoqCu2Os+AAAAAElFTkSuQmCC">Wiki</A>
+        <DT><A HREF="http://trisquel.info/donate" ADD_DATE="1245542718" LAST_MODIFIED="1245542736" ICON_URI="http://trisquel.info/sites/default/themes/trisquel3/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRklEQVQ4jY2SXU/SYRiHL9xwUzd7s80AzRmzmiKhgCKof0X4C4FHYZtOV2nMWZvTtFyNyQwrX1gwshTzDQQN8f0gD9w6ydo6aJ201Rfoc3Sgs+wg+Z3e9/Xcv117IOWUS1F7NJSNVYMrI3UOoGAgF/PCDg0LccyLK4jRPfTeouNLao+G+rkXWCLzCLNDXBssOJoJs0Po/Q5oy0LVW0jNq3s0LEaAtIMFY7AZMfEDMZLAshDFvvYT++p3TAEXALWhYQrdpwAJ5d5OFB1KbMmP5LrOA21ZWJf3qRipo/hRPjq/GfWgBnFlF/vqPuphDTp/FaZgD8ZAE9qRdozBZqyJHXBngrxVgTXynoJbp9E976ZitA7jxGO0z4w4Nj4gxt9x+aGM4p58Sr0l6HxV2FfjCNNPDurnt5zBEtumqEt+ZNcwOoDsdh7O9U2cW2s0rixhmRvFEglyfWMXcWkeefu5PwKNk/exRKeonrxBTagDw3gLeq8W59Yaju09HOtfsCW+IsY+0TDjO/RxLBLKPSoMAZFSbwkA9bMTODd/IYSfUuK+dCQxtbilNC5/RozGkblzqPT3YXjpQe/TpsZnu85iT37DFL6DKehGNVgIrgzqpsYo61Wm0iATcXkf4XUX1YG7qB5cAdKoCd1EmO5MrYX5rR9rLInMnYNmxEZxtxIh3I8p1HISKgHSyGuSYY0lMUdnqA25EML9iJEE8lYFB1/4v0IlQDoXrl7EONZL/ZsAleN9ZAtKIP0k+O9HpMhbFeh92sPL0n/h3yJfoqCu2Os+AAAAAElFTkSuQmCC">Donate</A>
+        <DT><A HREF="http://store.trisquel.info/" ADD_DATE="1245542718" LAST_MODIFIED="1245542736" ICON_URI="http://store.trisquel.info/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRklEQVQ4jY2SXU/SYRiHL9xwUzd7s80AzRmzmiKhgCKof0X4C4FHYZtOV2nMWZvTtFyNyQwrX1gwshTzDQQN8f0gD9w6ydo6aJ201Rfoc3Sgs+wg+Z3e9/Xcv117IOWUS1F7NJSNVYMrI3UOoGAgF/PCDg0LccyLK4jRPfTeouNLao+G+rkXWCLzCLNDXBssOJoJs0Po/Q5oy0LVW0jNq3s0LEaAtIMFY7AZMfEDMZLAshDFvvYT++p3TAEXALWhYQrdpwAJ5d5OFB1KbMmP5LrOA21ZWJf3qRipo/hRPjq/GfWgBnFlF/vqPuphDTp/FaZgD8ZAE9qRdozBZqyJHXBngrxVgTXynoJbp9E976ZitA7jxGO0z4w4Nj4gxt9x+aGM4p58Sr0l6HxV2FfjCNNPDurnt5zBEtumqEt+ZNcwOoDsdh7O9U2cW2s0rixhmRvFEglyfWMXcWkeefu5PwKNk/exRKeonrxBTagDw3gLeq8W59Yaju09HOtfsCW+IsY+0TDjO/RxLBLKPSoMAZFSbwkA9bMTODd/IYSfUuK+dCQxtbilNC5/RozGkblzqPT3YXjpQe/TpsZnu85iT37DFL6DKehGNVgIrgzqpsYo61Wm0iATcXkf4XUX1YG7qB5cAdKoCd1EmO5MrYX5rR9rLInMnYNmxEZxtxIh3I8p1HISKgHSyGuSYY0lMUdnqA25EML9iJEE8lYFB1/4v0IlQDoXrl7EONZL/ZsAleN9ZAtKIP0k+O9HpMhbFeh92sPL0n/h3yJfoqCu2Os+AAAAAElFTkSuQmCC">Store</A>
+	<HR>
+        <DT><A HREF="http://www.gnu.org/" ADD_DATE="1245542746" LAST_MODIFIED="1245542763" ICON_URI="http://www.gnu.org/graphics/gnu-head-mini.png" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEkSURBVHicXdFNc4JADAbgoP0Bi4d6dcGBMzp2z2rrnjulcsavnKuQ9+83K37vDAN5yIZsILws0uv3i7ugLTnAwpjBOsTLOE4VmmKQTFYBioGNKkI5drcCReRItmNAyinSCjianJo6A/aGRtRjtPadpB5CRkQRUaYPGbXW4UgKMfXQxDnJPIeJ0qyOrclrLXoqou8+5p7HM9EkT/JtyEsqB2QYnRv7sT2ArRPLf0kWOp1sA3hYPq3Oh/t0EAjjVIG703II9awr3l3BhxAf5foMLaaasPEZqm5A+0RzGCmuIKJbWi284csIJbzykBQ3aIADsL2CFtBWpovhA1Td7Q6NzqZ/B+38APG3HxU+sYO4B9Akt+AnqGbp/gmwTN6eAWt+gcv6B4rivVin0bWbAAAAAElFTkSuQmCC">GNU&#39;s not UNIX!</A>
+        <DT><A FEEDURL="http://planet.gnu.org/atom.xml" HREF="http://planet.gnu.org/">GNU Planet</A>
+ <DT><A HREF="http://www.fsf.org/" ADD_DATE="1245542771" LAST_MODIFIED="1245542780" ICON_URI="http://www.fsf.org/favicon.ico" 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>
+    </DL><p>
+</DL><p>
diff --git a/helpers/DATA/icecat/searchplugins/trisquel-packages.xml b/helpers/DATA/icecat/searchplugins/trisquel-packages.xml
new file mode 100644
index 00000000..3d336ea6
--- /dev/null
+++ b/helpers/DATA/icecat/searchplugins/trisquel-packages.xml
@@ -0,0 +1,9 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Trisquel Packages</os:ShortName>
+<os:Description>Search packages.trisquel.info</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jY2T3UtTARiH92/0DxR0E10EZTeBF3VhBEqF9EEXUURUpn2AmohNS60oUrRMQ1D86ItKKz+atjmd25w5S82zlXPOqfNsc27nzOPOeboQJlakL/xuXnifi+d9Xx1bLEVZxTHhxzjsRZJXkn3dVob9gQhp+d1kFhs5rv9C6s1ufnjEjQDHhJ+bNXbOlJsprHfwyxdMAgrrHbzvcxONxXF7F6l47eRUaR+qqq4BWgwCO85+5KjeyMm7Jraf62DnhU5aDZMA3KodJByR0DSNmjdDCFML7L/Wy4IYQReNxUm52oXB7sEzG6Lb5sEx7uNgXi8pOT04JuYwO308bB3mrclNfbuTFoNAWoGJmLSCzusPcij3M6GlGJUvhzDYpymuH6Tvq5cDuX0cKzHjW1jCMxtk1DWPecRLZqkFfcPwmoNgOMrhgl5m5sJJu2UNVqZnRY7oLaSXWDlRZuFGjZ3LlVYOFpg5c6+fxVB0XeLjV07OP7LwosfFs7YxGjvGsI3Nkl5iJTW/nz3Zvey+1Mm+rA7y6uyEI9LGNWqahlOY59Ogh1HXPAA51Va2ne4gv86GazqQlPhn/fMOFCXB3qxOMu+YCASXud80RNFzC7Yx/9YAYijKrotd1LZP8OTtKG6viCSvcL16AGF6cXNATFohJbubqnffefruG+M/51FVlWaDQE3b+OYAgOyqQTKKTATEZT6YXQieAOXNIzR2Tf4N0DQNVVVZXV1FURQURcHrF8m4beTsgwFaewTKm0c4qjcy5RNJJBJJoTpN04jH40QiEUKhEKIoJuOemuFBs40rFWbuN9kYFzwEg0HC4TCSJK3/QiKRQJZlZFkmHo//N7IsI0kSiqKgaRq/AbKDgxgo7zYPAAAAAElFTkSuQmCC</os:Image>
+<SearchForm>http://packages.trisquel.info/</SearchForm>
+<os:Url type="text/html" method="GET" template="http://packages.trisquel.info/search?suite=default&amp;section=all&amp;arch=any&amp;searchon=names&amp;keywords={searchTerms}">
+</os:Url>
+</SearchPlugin>
diff --git a/helpers/DATA/icecat/searchplugins/trisquel.xml b/helpers/DATA/icecat/searchplugins/trisquel.xml
new file mode 100644
index 00000000..610d8a95
--- /dev/null
+++ b/helpers/DATA/icecat/searchplugins/trisquel.xml
@@ -0,0 +1,9 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Trisquel</os:ShortName>
+<os:Description>Trisquel GNU/Linux</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jY2T3UtTARiH92/0DxR0E10EZTeBF3VhBEqF9EEXUURUpn2AmohNS60oUrRMQ1D86ItKKz+atjmd25w5S82zlXPOqfNsc27nzOPOeboQJlakL/xuXnifi+d9Xx1bLEVZxTHhxzjsRZJXkn3dVob9gQhp+d1kFhs5rv9C6s1ufnjEjQDHhJ+bNXbOlJsprHfwyxdMAgrrHbzvcxONxXF7F6l47eRUaR+qqq4BWgwCO85+5KjeyMm7Jraf62DnhU5aDZMA3KodJByR0DSNmjdDCFML7L/Wy4IYQReNxUm52oXB7sEzG6Lb5sEx7uNgXi8pOT04JuYwO308bB3mrclNfbuTFoNAWoGJmLSCzusPcij3M6GlGJUvhzDYpymuH6Tvq5cDuX0cKzHjW1jCMxtk1DWPecRLZqkFfcPwmoNgOMrhgl5m5sJJu2UNVqZnRY7oLaSXWDlRZuFGjZ3LlVYOFpg5c6+fxVB0XeLjV07OP7LwosfFs7YxGjvGsI3Nkl5iJTW/nz3Zvey+1Mm+rA7y6uyEI9LGNWqahlOY59Ogh1HXPAA51Va2ne4gv86GazqQlPhn/fMOFCXB3qxOMu+YCASXud80RNFzC7Yx/9YAYijKrotd1LZP8OTtKG6viCSvcL16AGF6cXNATFohJbubqnffefruG+M/51FVlWaDQE3b+OYAgOyqQTKKTATEZT6YXQieAOXNIzR2Tf4N0DQNVVVZXV1FURQURcHrF8m4beTsgwFaewTKm0c4qjcy5RNJJBJJoTpN04jH40QiEUKhEKIoJuOemuFBs40rFWbuN9kYFzwEg0HC4TCSJK3/QiKRQJZlZFkmHo//N7IsI0kSiqKgaRq/AbKDgxgo7zYPAAAAAElFTkSuQmCC</os:Image>
+<os:Url type="text/html" method="GET" template="http://trisquel.info/search/node/{searchTerms}?page={startPage}">
+</os:Url><os:Url type="application/rss+xml" method="GET" template="http://trisquel.info/opensearch/node/{searchTerms}?page={startPage}">
+</os:Url>
+</SearchPlugin>
diff --git a/helpers/make-icecat b/helpers/make-icecat
new file mode 100644
index 00000000..7e91bf04
--- /dev/null
+++ b/helpers/make-icecat
@@ -0,0 +1,64 @@
+#!/bin/sh
+#
+#    Copyright (C) 2015  Ruben Rodriguez <ruben@trisquel.info>
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not, write to the Free Software
+#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+#
+
+VERSION=1
+EXTERNAL='deb-src http://devel.trisquel.info/icecat/repo/ ./'
+SIGNKEY="D7E04784"
+
+. ./config
+
+ICEATVERSION=$(head -n1 debian/changelog |sed 's/.*(//; s/).*//')
+
+cat << EOF >> browser/app/profile/icecat.js
+// Preferences for the Get Add-ons panel
+pref ("extensions.webservice.discoverURL", "https://trisquel.info/browser_plain");
+pref ("extensions.getAddons.search.url", "https://trisquel.info/browser_plain");
+
+// PFS url
+pref("pfs.datasource.url", "http://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
+pref("pfs.filehint.url", "http://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
+
+// I'm feeling Ducky.
+pref("keyword.URL", "https://duckduckgo.com/html?t=trisquel&q=!+");
+pref("browser.search.defaultenginename", "DuckDuckGo");
+pref("browser.search.order.extra.duckduckgo", "DuckDuckGo");
+EOF
+
+find . -type f |grep duckduckgo |xargs sed -i '/value/s/gnu/trisquel/'
+
+cat << EOF > debian/distribution.ini
+[Global]
+id=trisquel
+version=$ICEATVERSION
+about=IceCat for Trisquel GNU/Linux
+
+[Preferences]
+app.distributor = "trisquel"
+app.distributor.channel = "trisquel"
+app.partner.ubuntu = "trisquel"
+EOF
+
+cp $DATA/searchplugins/* debian/searchplugins
+cp $DATA/aboutIceCat.xhtml extensions/gnu/abouticecat@gnu.org/chrome/content/aboutIceCat/aboutIceCat.xhtml
+cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
+cp $DATA/aboutHome.xhtml browser/base/content/abouthome/aboutHome.xhtml
+
+changelog "Customized for Trisquel"
+
+compile
-- 
GitLab