Newer
Older
#!/bin/bash
# Copyright (C) 2020 Ruben Rodriguez <ruben@trisquel.info>
# Copyright (C) 2019 David Trudgian <dave@trudgian.net>
#
# 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
#
# Copy in our local Trisquel branding files.
cp $DATA/branding/* comm/mail/branding/nightly/ -r
cp $DATA/branding/* comm/mail/branding/thunderbird/ -r
#for i in aurora nightly official unofficial; do
# cp $DATA/branding/* browser/branding/$i/ -r
#done
cat << EOF >> debian/vendor.js
// Trisquel settings
pref("app.releaseNotesURL", "http://trisquel.info/mailclient");
pref("app.vendorURL", "http://trisquel.info/mailclient");
// PFS url
pref("pfs.datasource.url", "https://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
pref("pfs.filehint.url", "https://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
// DuckDuckGo
pref("keyword.URL", "https://duckduckgo.com/?t=trisquel&q=!+");
pref("browser.search.defaultenginename", "DuckDuckGo");
pref("browser.search.order.1", "DuckDuckGo");
pref("browser.search.defaultenginename", "DuckDuckGo");
pref("browser.search.showOneOffButtons", false);
pref("browser.search.suggest.enabled",false);
// Disable third party cookies
pref("network.cookie.cookieBehavior", 1);
// Extensions cannot be updated without permission
pref("extensions.update.enabled", false);
pref("extensions.systemAddon.update.enabled", false);
pref("lightweightThemes.update.enabled", false);
// Don't show suggested provider list
pref("mail.provider.enabled", false);
pref("mail.provider.providerList", "");
pref("mail.provider.suggestFromName", "");
// Don't prompt if not default mail client
pref("mail.shell.checkDefaultClient", false);
// Preferences for the Get Add-ons panel
pref("extensions.webservice.discoverURL", "https://directory.fsf.org/wiki/Icedove");
pref("extensions.getAddons.search.url", "https://trisquel.info");
pref("extensions.blocklist.enabled", false);
// Dictionary download preference
pref("spellchecker.dictionaries.download.url", "http://dictionaries.mozdev.org/installation.html");
// Privacy protections
pref("mail.rights.version", 1);
pref("toolkit.telemetry.prompted", 2);
pref("toolkit.telemetry.rejected", true);
pref("mailnews.start_page.enabled", false);
pref("mailnews.start_page.url", "");
pref("mailnews.start_page.override_url", "");
pref("app.update.auto", false);
pref("app.update.enabled", false);
pref("browser.search.update", false);
pref("app.update.url.manual", "https://trisquel.info/wiki/icedove");
pref("mail.cloud_files.inserted_urls.footer.link", "https://trisquel.info/wiki/icedove");
pref("mail.cloud_files.learn_more_url", "https://trisquel.info/wiki/icedove");
pref("mail.ignore_thread.learn_more_url", "https://trisquel.info/wiki/icedove");
pref("mail.pgpmime.addon_url", "https://enigmail.net/");
pref("app.support.baseURL", "https://trisquel.info/wiki/icedove");
pref("app.update.url.manual", "https://trisquel.info/wiki/icedove");
pref("extensions.getAddons.link.url", "https://trisquel.info/en/browser-plain");
pref("extensions.getAddons.search.browseURL", "https://trisquel.info/en/browser-plain?keys=%TERMS%&tid=All");
pref("extensions.getAddons.search.url", "https://trisquel.info/en/browser-plain?keys=%TERMS%&tid=All");
EOF
# DDG as default search engine
sed 's/?q=/?t=trisquel&q=/' -i comm/mail/components/search/extensions/ddg/manifest.json
sed '/searchDefault/s/: \".*\"/: "DuckDuckGo"/g' -i comm/mail/components/search/extensions/list.json
sed '/visibleDefaultEngines/{n; s/"ddg",//; s/\"/"ddg", "/}' -i comm/mail/components/search/extensions/list.json
# ####################################################
# Privacy / branding brought in from abrowser for 60.x
#
# captive portal page
sed '/captivedetect.canonicalURL/s/http.*.html//' -i modules/libpref/init/all.js
# do not alter useragent/platform/oscpu/etc with fingerprinting countermeasure, it makes things worse
sed '/ShouldResistFingerprinting/,/}/s/^/\/\//' -i ./netwerk/protocol/http/nsHttpHandler.cpp
sed '/If fingerprinting resistance is on/,/}/s/^/\/\//' -i ./dom/base/Navigator.cpp
# Disable healtreport
cat << EOF > toolkit/components/telemetry/healthreport-prefs.js
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.healthreport.about.reportUrl", "https://trisquel.info/legal");
pref("datareporting.healthreport.infoURL", "https://trisquel.info/legal");
EOF
#cp toolkit/components/telemetry/healthreport-prefs.js mobile/android/chrome/content/healthreport-prefs.js
# Browser legal page
sed 's%https://www.mozilla.org/legal/privacy/%https://trisquel.info/legal%' -i ./browser/app/profile/firefox.js ./toolkit/content/aboutRights.xhtml
sed -i 's|https://www.mozilla.org/thunderbird/legal/privacy/|https://trisquel.info/legal|' comm/mail/components/newmailaccount/content/accountProvisioner.js comm/mail/app/profile/all-thunderbird.js
# Org branding
sed 's/com.ubuntu/org.trisquel/' -i debian/config/mozconfig.in
# Disable DRM support, armhf has no such option.
## Add other archs that might present the same lack of disable-eme option
cat << ARCH >> debian/config/mozconfig.in
%%if DEB_HOST_ARCH != armhf
ac_add_options --disable-eme
%%endif
ARCH
########################################################
sed '/^MOZ_PKG_NAME/s/.*/MOZ_PKG_NAME=icedove/' -i debian/build/config.mk
cat << EOF >> debian/build/config.mk
# Trisquel settings
MOZ_FORCE_UNOFFICIAL_BRANDING = 1
MOZ_WANT_UNIT_TESTS = 0
MOZ_ENABLE_BREAKPAD = 0
# Replace Thunderbird branding
find -type d -name '*thunderbird*' | xargs rename s/thunderbird/icedove/
find -type f -name '*thunderbird*' | xargs rename s/thunderbird/icedove/
SEDSCRIPT="
s|Search addons.mozilla.org|Search|g;
s/Mozilla Thunderbird/Icedove/g;
s/thunderbird/icedove/g;
s/Thunderbird/Icedove/g;
s/THUNDERBIRD/ICEDOVE/g;
s/ Mozilla / Trisquel /g;
s|PACKAGES/icedove|PACKAGES/thunderbird|g;
s/iceweasel, icedove/iceweasel, thunderbird/g;
s/Replaces: icedove/Replaces: thunderbird/g;
s|www.mozilla.com/icedove/central|trisquel.info/browser|g;
s|mozilla.com/plugincheck|trisquel.info/browser|g;
s|www.mozilla.com/legal/privacy|trisquel.info/legal|g;
s/Trisquel Public/Mozilla Public/g;
s/Trisquel Foundation/Mozilla Foundation/g;
s/Trisquel Corporation/Mozilla Corporation/g;
"
echo "Running batch replace operation"
find . -type f -not -iregex '.*changelog.*' -not -iregex '.*copyright.*' -not -iregex '.*third_party/rust.*' -execdir /bin/sed --follow-symlinks -i "$SEDSCRIPT" '{}' ';'
sed 's|https://www.icedove.net/features/|https://trisquel.info/wiki/icedove|' -i comm/mail/base/content/utilityOverlay.js
sed 's|https://www.icedove.net/get-involved/|https://trisquel.info/wiki/|' -i comm/mail/base/content/utilityOverlay.js
sed 's|https://donate.mozilla.org/.*help-menu|https://trisquel.info/donate/|' -i comm/mail/base/content/utilityOverlay.js
sed 's|https://give.icedove.net/.*|https://trisquel.info/donate/"|' -i comm/mailnews/base/content/msgAccountCentral.xhtml
sed '/.*<description.*communityExperimentalDesc/,/\/description/d' -i ./comm/mail/base/content/aboutDialog.xhtml
sed '/.*<description.*communityDesc/,/\/description/d' -i ./comm/mail/base/content/aboutDialog.xhtml
sed '/.*<description.*contributeDesc/,/\/description/d' -i ./comm/mail/base/content/aboutDialog.xhtml
sed '/^Source/s/.*/Source: thunderbird/' -i debian/control.in
sed 's/Provides: mail-reader,/Provides: mail-reader, thunderbird,/' -i debian/control.in
sed "s/Provides.*/Provides: icedove-locale-@LANGCODE@/" -i debian/control.langpacks
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
#Manual fixes to allow rebranding processed through hash checks and other changes.
#Fix 1 character bigger than allowed yml line (81 > 80)
sed -i 's|Abrowser is not running. It|Abrowser is not running. It|' toolkit/mozapps/update/pings.yaml
sed -i \
's|91a59d470e0700b4bcb3ff735d06799f3107b8ef4875a2e9904607b164be0326|05f8e055df0e14ee6d50183e701888a49b74fa085dfac9d6032a2f985b5309e6|' \
third_party/dump_syms/vendor/regex/.cargo-checksum.json
sed -i \
's|af4ff013841da9bf00cf88ad3ae468f30c122b730ed37327d965d11b8e367459|a68c2df0024ff65f43efd5f5a48fe39a35d859ac459cce8695e4b09120cc1f35|' \
third_party/dump_syms/vendor/encoding_rs/.cargo-checksum.json
sed -i \
's|eb9f00340e0f6ba3d01f4770356062ab2142e1646c7c2556c9b35348f90980f0|af2b7e2811c649615d4726c7dc4fd9b2e8aa35c229e8225c930e8e7d8e003fa2|' \
third_party/dump_syms/vendor/encoding_rs/.cargo-checksum.json
sed -i \
's|04fc9b146177e7bf615156b8570fa0f97b89f68a2c02b946778711728b81e81f|16221c6c37245cd078ffdb1bd314e45334ddf60098742fc38b821e733fc4c5ca|' \
third_party/dump_syms/vendor/h2/.cargo-checksum.json
sed -i \
's|caabd31cbcb00172bb7f31a1398dbed27a3bf36b01d69729c3d6fbd9a4008e05|080cba5e2b65e6542f364aa4703a179c58b20e41489573d941ef68b9619a2734|' \
third_party/dump_syms/vendor/httparse/.cargo-checksum.json
sed -i \
's|dc1147f2b16de747c15ff9bdab44fc02fe18dcc1b6abe6acba56b69bec99013b|0fcf90cc1bd0498e18dba003142bc0dfdb43e761d88a8caefeb2d8018e2da1bb|' \
third_party/dump_syms/vendor/openssl/.cargo-checksum.json
sed -i \
's|82c82f8ef547f67f3f449a0b240e2df4ed538d976a379b07e53d5ce7cde2438c|01baa5e11aa7ec74360151d379ba8b5607abcd34132e69568c816c0116958a26|' \
third_party/dump_syms/vendor/symbolic-minidump/.cargo-checksum.json
#EO Manual fixing.
sed -i 's|this-firefox|this-abrowser|g' devtools/client/framework/test/browser_about-devtools-toolbox_reload.js
echo "devtools/client/themes/images/aboutdebugging-fenix.svg \
devtools/client/themes/images/aboutdebugging-fenix-nightly.svg \
devtools/client/themes/images/aboutdebugging-firefox-aurora.svg \
devtools/client/themes/images/aboutdebugging-firefox-beta.svg \
devtools/client/themes/images/aboutdebugging-firefox-nightly.svg \
devtools/client/themes/images/aboutdebugging-firefox-release.svg \
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
devtools/startup/aboutdevtools/images/dev-edition-logo.svg" | xargs -n1 cp $DATA/debug_brand/debuglogo.svg
cp $DATA/debug_brand/debuglogo_gray.svg devtools/client/themes/images/aboutdebugging-firefox-logo.svg
cp $DATA/debug_brand/about-logo.svg comm/mail/branding/icedove/TB-symbolic.svg
cp $DATA/debug_brand/about-logo.svg comm/mail/themes/shared/mail/icons/aboutdebugging-logo.svg
cp $DATA/debug_brand/icon.png comm/mail/themes/icon.png
cp $DATA/debug_brand/icon64.png comm/mail/themes/icon64.png
#Requirements for Icedove
THNDR_SYS_URL="https://www.icedove.net/icedove/system-requirements/"
ICEDV_SYS_URL="https://trisquel.info/wiki/icedove-requirements/"
sed -i "s|$THNDR_SYS_URL|$ICEDV_SYS_URL|" comm/mail/branding/icedove/branding.nsi
#Remove search engines inherited from firefox (remove all?).
for r in amazon amazondotcn amazondotcom bing google mercadolibre mercadolivre yahoo-jp yahoo-jp-auctions
do
rm -r comm/mail/components/search/extensions/$r
done
for r2 in amazon bing google yahoo
do
find comm/suite -name $r2* -delete
done
# Reprocess search preconfiguration dump
python3 $DATA/process-json-files.py . browser/components/extensions/schemas/
#EO Debbuging tools
cat << EOF > comm/mail/branding/nightly/locales/en-US/brand.properties
brandShortName=Icedove
brandShorterName=Icedove
brandFullName=Icedove Mail
BRAND_FTL_NTLY=comm/mail/branding/nightly/locales/en-US/brand.ftl
BRAND_FTL_STD=comm/mail/branding/icedove/locales/en-US/brand.ftl
sed -i '/shorter-name/s|Trisquel|Icedove|' $BRAND_FTL_NTLY
sed -i '/short-name/s|Trisquel|Icedove|' $BRAND_FTL_NTLY
sed -i '/full-name/s|Icedove Trisquel|Icedove Mail|' $BRAND_FTL_NTLY
sed -i '/full-name/s|Icedove|Icedove Mail|' $BRAND_FTL_STD
cat << EOF > comm/mail/branding/nightly/locales/en-US/brand.dtd
<!-- 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/. -->
<!ENTITY brandShortName "Icedove">
<!ENTITY brandShorterName "Icedove">
<!ENTITY brandFullName "Icedove Mail">
<!-- LOCALIZATION NOTE (brandProductName):
This brand name can be used in messages where the product name needs to
remain unchanged across different versions (Trisquel, Beta, etc.). -->
<!ENTITY brandProductName "Icedove">
<!ENTITY vendorShortName "mozilla.org">
<!ENTITY trademarkInfo.part1 " ">
debian/rules debian/control
touch -d "yesterday" debian/control
debian/rules debian/control
changelog "Rebranded for Trisquel"