diff options
author | Ruben Rodriguez <ruben@gnu.org> | 2014-10-09 15:39:29 +0200 |
---|---|---|
committer | Ruben Rodriguez <ruben@gnu.org> | 2014-10-09 15:39:29 +0200 |
commit | 7e8d50732a1133e3320c4875b7489e4986a277f2 (patch) | |
tree | 436fd7a0c46e749e22c8b1555f0d83949aab0e2c /helpers | |
parent | 1d08e84748748bacd9747ada7e7e0dac2ad6c408 (diff) |
Un-trisquelize the helper into makeicecat
Diffstat (limited to 'helpers')
-rw-r--r-- | helpers/DATA/firefox/README.IceCat | 40 | ||||
-rw-r--r-- | helpers/make-firefox | 352 |
2 files changed, 29 insertions, 363 deletions
diff --git a/helpers/DATA/firefox/README.IceCat b/helpers/DATA/firefox/README.IceCat index 7b6d248..908a556 100644 --- a/helpers/DATA/firefox/README.IceCat +++ b/helpers/DATA/firefox/README.IceCat @@ -27,9 +27,14 @@ The sources are hosted on Savannah: http://savannah.gnu.org/projects/gnuzilla BUILD FROM TARBALL ================== -From the released IceCat source tarball, you can build in the -standard way: -./configure && make +From the released IceCat source tarball, you can build it by running: + +# replace objdir with whatever path you want + mkdir objdir + cd objdir +# replace srcdir with the path where you unpacked the source tarball + srcdir/configure --with-l10n-base=srcdir/l10n + make Be sure you have installed the needed libraries. If you want to tune the configuration process you can change the default setup using the @@ -41,13 +46,29 @@ libpango libpangoxft libpangoft2 libfreetype libxft libgtk2 libx11 Refer to your distro help as needed if the configure script fails to find them. +To build a langpack: + + cd objdir/browser/locales + make langpack-$LANG LOCALE_MERGEDIR=. + +The xpi file is created at tempBuildDir/dist/linux-x86_64/xpi + INSTALL ======= When you have it built you can install it with: -make install + + make install If you want to install in a staging directory, you can do this: -make install DESTDIR=/foo/bar + + make install DESTDIR=/foo/bar + +Or if you want to package the results, you can run + + cd objdir/browser/installer + make + +This generates a binary tarball at objdir/dist LICENSING ========= @@ -55,7 +76,7 @@ Because we hope and want our privacy enhancements to be picked up by Mozilla itself, we are keeping the same tri-licensing scheme for Gnuzilla/IceCat as Mozilla uses: MPL/GPL/LGPL. -EXTENSIONS INCLUDED IN ICECAT 31.0 +EXTENSIONS INCLUDED IN ICECAT 31.x ================================== * LibreJS @@ -67,12 +88,9 @@ EXTENSIONS INCLUDED IN ICECAT 31.0 Extension that encrypts your communications with many major websites, making your browsing more secure. -* Adblockplus +* SpyBlock Blocks privacy trackers while in normal browsing mode, and all third party - requests when in private browsing mode. - -* YouTube ALL HTML5 - Allows to play videos at youtube.com without a flash player. + requests when in private browsing mode. Based on Adblock Plus. * AboutIceCat Adds a custom "about:icecat" homepage with links to information about the diff --git a/helpers/make-firefox b/helpers/make-firefox deleted file mode 100644 index 1422fe5..0000000 --- a/helpers/make-firefox +++ /dev/null @@ -1,352 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008-2014 Ruben Rodriguez <ruben@gnu.org> -# -# 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 - -apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 40976EAF437D05B5 -apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32 -apt-key adv --recv-keys --keyserver keyserver.ubuntu.com D5946E0F - -. ./config - -#for patch in $DATA/patches/*; do -# patch -p1 < $i -#done - -cp $DATA/Changelog.IceCat $DATA/README.IceCat . -cp $DATA/Changelog.IceCat $DATA/README.IceCat debian -echo 'debian/README.IceCat -debian/Changelog.IceCat' >> debian/docs - -############################################################################### -# Set variables and build config files -############################################################################### - -#BRAND=trisquel -DATA=$DATA/$BRAND - -if [ $BRAND = trisquel ]; then - -INFOURL="www.gnu.org/software/gnuzilla/" -LEGALINFOURL="www.gnu.org/software/gnuzilla/" -ADDONSURL="www.gnu.org/software/gnuzilla/addons.html" -LISTURL="lists.gnu.org/mailman/listinfo/bug-gnuzilla" - -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 - -else - -INFOURL="www.gnu.org/software/gnuzilla/" -LEGALINFOURL="www.gnu.org/software/gnuzilla/" -ADDONSURL="www.gnu.org/software/gnuzilla/addons.html" -LISTURL="lists.gnu.org/mailman/listinfo/bug-gnuzilla" - -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 -fi - -############################################################################### -# Custom settings and features -############################################################################### - -# revert https://bug851702.bugzilla.mozilla.org/attachment.cgi?id=733785 -patch -p1 -R < $DATA/enable-js-options.patch - -# Disable healthreport -sed '/mozilla.org\/legal/d' -i services/healthreport/healthreport-prefs.js -cat << EOF >>services/healthreport/healthreport-prefs.js -pref("datareporting.healthreport.infoURL", "https://$INFOURL"); -EOF - -# Custom privacy statement link -sed "s%https://www.mozilla.org/legal/privacy/%https://$LEGALINFOURL%" -i ./modules/libpref/src/init/all.js ./browser/app/profile/firefox.js ./browser/base/content/aboutDialog.xul ./toolkit/content/aboutRights.xhtml - -# Replace versions for building on Trisquel -sed 's/1204/60/g; s/1210/65/g; s/1404/70/g' -i debian/config/mozconfig.in debian/firefox-dev.install.in debian/firefox-dev.links.in - -# Enable gst support -[ $REVISION = "6.0" ] && apt-get install -y --force-yes libgstreamermm-0.10-dev -[ $REVISION = "6.0" ] && echo "ac_add_options --enable-gstreamer=0.10" >> debian/config/mozconfig.in -[ $REVISION = "7.0" ] && echo "ac_add_options --enable-gstreamer=1.0" >> debian/config/mozconfig.in - -# Set vendor string -sed 's/com.ubuntu/org.gnu/' -i debian/config/mozconfig.in - -# Remove Ubuntu bookmarks -sed -i /ubuntu-bookmarks/d debian/patches/series -rm debian/patches/ubuntu-bookmarks* - -# Unbrand url codes for google and amazon -find debian/searchplugins |grep google| xargs -i /bin/sed '/ubuntu/d; /channel/d' -i {} -find debian/searchplugins |grep duck| xargs -i /bin/sed "s/canonical/$BRAND/" -i {} -find debian/searchplugins |grep amazon| xargs -i /bin/sed '/canoniccom/d;' -i {} -sed 's%duckduckgo.com/%duckduckgo.com/html%' -i debian/searchplugins/en-US/duckduckgo.xml -cp debian/searchplugins/en-US/duckduckgo.xml l10n/gd/browser/searchplugins/duckduckgo.xml - -# Plugin check url -replace "mozilla.com/plugincheck" "$ADDONSURL" . - -# contact link -#sed "s_https://input.mozilla.org/feedback_https://${LISTURL}_" -i browser/base/content/utilityOverlay.js -sed "s/^MOZ_APP_NAME\t.*/MOZ_APP_NAME\t\t:= icecat/;" debian/build/config.mk -i -sed "s/^MOZ_PKG_NAME\t.*/MOZ_PKG_NAME\t\t:= icecat/;" debian/build/config.mk -i - -############################################################################### -# Branding -############################################################################### - -# Branding files -rm browser/branding/* -rf -cp -a $DATA/branding/ browser/branding/official -cat << EOF > debian/config/branch.mk -CHANNEL = release -MOZ_WANT_UNIT_TESTS = 0 -# MOZ_BUILD_OFFICIAL = 1 -MOZ_ENABLE_BREAKPAD = 0 - -MOZILLA_REPO = http://hg.mozilla.org/releases/mozilla-release -L10N_REPO = http://hg.mozilla.org/releases/l10n/mozilla-release -EOF - -# Replace about:home -rm browser/base/content/abouthome -rf -cp $DATA/abouthome -a browser/base/content -sed '/mozilla.*png/d' -i ./browser/base/jar.mn - -# Delete stuff we don't use and that may contain trademaked logos -rm -rf ./browser/metro ./mobile ./addon-sdk/source/doc/static-files/media ./browser/themes/windows ./browser/themes/osx ./b2b - -# Custom bookmarks -cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in - -cp $DATA/searchplugins debian/search -a -echo "debian/search/* /usr/lib/icecat-addons/searchplugins" >> debian/firefox.install.in - -# Custom legal about pages - -find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i - -for STRING in community.end3 community.exp.end community.start2 community.mozillaLink community.middle2 community.creditsLink community.end2 contribute.start contribute.getInvolvedLink contribute.end channel.description.start channel.description.end -do - find -name aboutDialog.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/" -done - -for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded -do - find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/" -done - -replace www.mozilla.com/icecat/central $INFOURL -replace www.mozilla.com/legal/privacy $LEGALINFOURL - -sed -i 's/<a\ href\=\"http\:\/\/www.mozilla.org\/\">Mozilla\ Project<\/a>/<a\ href\=\"http\:\/\/www.gnu.org\/\"\>GNU\ Project<\/a>/g' browser/base/content/overrides/app-license.html - -############################################################################### -# Batch rebranding -############################################################################### - -# Replace Firefox branding -find -type d | grep firefox | xargs rename s/firefox/icecat/ -find -type f | grep firefox | xargs rename s/firefox/icecat/ -find -type f | grep Firefox | xargs rename s/Firefox/IceCat/ -replace(){ -find $3 -type f |grep -v changelog |grep -v copyright | xargs -i sed -i s^"$1"^"$2"^g "{}" -} -replace "Mozilla Firefox" "GNU IceCat" . -replace firefox icecat . -replace Firefox IceCat . -replace FIREFOX ICECAT . -replace " Mozilla " " GNU " . -replace PACKAGES/icecat PACKAGES/firefox . -sed s/GNU/Mozilla/ python/compare-locales/scripts/compare-locales -i -sed s/GNU/Mozilla/ python/compare-locales/setup.py -i -replace "iceweasel, icecat" "iceweasel, firefox" . -replace "Replaces: icecat" "Replaces: firefox, abrowser" . -sed s/ubuntu/GNU/g debian/distribution.ini -i -replace "Adobe Flash" "Flash" . - -find -type f | grep run-mozilla | xargs rename s/mozilla/icecat/ -replace run-mozilla.sh run-icecat.sh . - -# We went too far... -replace "GNU Public" "Mozilla Public" . -replace "GNU Foundation" "Mozilla Foundation" . -replace "GNU Corporation" "Mozilla Corporation" . -replace "icecat.com" "firefox.com" . -replace "IceCat-Spdy" "Firefox-Spdy" . - -# Restore useragent to Firefox -sed "/MOZILLA_UAVERSION/ s:IceCat/:Firefox/:" -i netwerk/protocol/http/nsHttpHandler.cpp - -# Set migrator scripts -sed 's/IceCat/Firefox/g; s/icecat/firefox/g' -i browser/components/migration/src/IceCatProfileMigrator.js - -# Copy js settings -cat $DATA/settings.js >> debian/vendor-icecat.js - -if [ $BRAND = trisquel ]; then -cat << EOF >> debian/vendor-icecat.js -// Preferences for the Get Add-ons panel -pref ("extensions.webservice.discoverURL", "https://trisquel.info/browser-plain"); -pref ("extensions.getAddons.search.url", "http://trisquel.info"); - -// 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 - -else - -cat << EOF >> debian/vendor-icecat.js -// Preferences for the Get Add-ons panel -pref ("extensions.webservice.discoverURL", "https://directory.fsf.org/wiki/GNU_IceCat"); -pref ("extensions.getAddons.search.url", "https://directory.fsf.org/wiki/GNU_IceCat"); - -// PFS url -pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%"); -pref("pfs.filehint.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%"); - -// I'm feeling Ducky. -pref("keyword.URL", "https://duckduckgo.com/html?q=!+"); -pref("browser.search.defaultenginename", "DuckDuckGo"); -pref("browser.search.order.extra.duckduckgo", "DuckDuckGo"); -EOF -fi - -############################################################################### -# Extensions -############################################################################### - -# Disable search field at extensions panel -#sed '/header-search/d; /search.placeholder/d' -i toolkit/mozapps/extensions/content/extensions.xul -cat << EOF >> toolkit/mozapps/extensions/content/extensions.css -#header-search { - display:none; -} -EOF - -# Add extrnesions to manifest -#for EXTENSION in $(ls $DATA/branding/extensions/); do -#sed "/Browser Chrome Files/s%$%\n@BINPATH@/browser/extensions/$EXTENSION/*%" -i browser/installer/package-manifest.in -#done -cp $DATA/extensions extensions.gnu -a -sed '/^make-package-internal:/ s%$%\n\tcp $(topsrcdir)/extensions.gnu/* $(DIST)/icecat/browser/extensions -a%' -i toolkit/mozapps/installer/packager.mk -sed '/972ce4c6/ s%$%\n/extensions.gnu/* @MOZ_ADDONDIR@/extensions%' -i debian/icecat.install.in - -############################################################################### -# Deb generation specifics -############################################################################### -cat << EOF >> debian/abrowser.postinst.in - -if [ "\$1" = "configure" ] || [ "\$1" = "abort-upgrade" ] ; then - -[ -f /usr/bin/mozilla ] || ln -s /usr/bin/icecat /usr/bin/mozilla && true - -for USER in \$(grep -v /bin/false /etc/passwd|grep :/home|cut -d: -f1) -do - [ -d /home/\$USER/.mozilla/ ] || continue - [ -d /home/\$USER/.mozilla/icecat ] && continue - [ -d /home/\$USER/.mozilla/firefox ] && DIR=/home/\$USER/.mozilla/firefox - [ -d /home/\$USER/.mozilla/abrowser ] && DIR=/home/\$USER/.mozilla/abrowser - [ \$DIR ] || continue - echo Copying \$DIR into /home/\$USER/.mozilla/icecat - cp -a \$DIR /home/\$USER/.mozilla/icecat -done -fi -EOF - -cat << EOF >> debian/icecat.preinst.in - -EOF - -cat << EOF >> debian/icecat.postrm.in - -[ -L /usr/bin/mozilla ] && rm /usr/bin/mozilla -f || true -EOF - -echo "This package generated from Mozilla Firefox by $DEBFULLNAME <$DEBEMAIL> on -$(date) -More info at http://www.gnu.org/software/gnuzilla/ - -=== - -$(cat debian/copyright)" > debian/copyright - -# Keep firefox as source package name -#sed -i '2s/^Source:.*/Source: firefox/' debian/control.in - -# Don't recommend ubufox -sed '/xul-ext-ubufox/d' -i debian/control.in - -# In Trisquel, require torproxy -[ $BRAND = "trisquel" ] && sed 's/Depends: lsb-release,/Depends: xul-ext-torproxy, lsb-release,/' -i debian/control.in - -# Locale packages should provide firefox-locale-$LANG -sed "s/Provides.*/Provides: firefox-locale-@LANGCODE@, abrowser-locale-@LANGCODE@/" -i debian/control.langpacks - -# icecat-dev should provide firefox-dev -sed '/Package: @MOZ_PKG_NAME@-dev/,/Description:/ s/Provides:/Provides:firefox-dev, /' debian/control.in -i - -# icacat should provide and replace abrowser and firefox -sed '/Package: @MOZ_PKG_NAME@$/,/Description:/ s/Provides:/Provides:firefox, abrowser, /' debian/control.in -i -sed '/Package: @MOZ_PKG_NAME@$/,/Description:/ s/Replaces:/Replaces:firefox, abrowser, /' debian/control.in -i - -sed '/Vcs-Bzr/d; s/from Mozilla/from GNU/' debian/control.in -i - -sed "s_^Maintainer.*_Maintainer: Ruben Rodriguez <ruben@gnu.org>_g" -i debian/control.in -rm debian/control -debian/rules debian/control -touch -d "yesterday" debian/control -debian/rules debian/control - -changelog "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)" -sed "1s/firefox/icecat/; 1s/+.*)/+gnu$VERSION)/" -i debian/changelog - -compile - -#Copy compiled tarball for distribution as non-deb -#[ $ARCH=i386 ] && ARCH=i686 -#cd obj-$ARCH-linux-gnu/browser/installer -#make -#rm -rf /root/icecat* -#cp ../../icecat.* /root |