Compare commits
No commits in common. "master" and "v87.0-2" have entirely different histories.
18 changed files with 1091 additions and 17 deletions
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
firefox-*
|
||||
librewolf-*
|
||||
megabar.patch
|
||||
remove_addons.patch
|
||||
unity-menubar.patch
|
||||
context-menu.patch
|
||||
mozilla-vpn-ad.patch
|
||||
mozconfig
|
||||
librewolf
|
||||
tmp.nsi
|
||||
tmp-experimental.nsi
|
||||
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[submodule "settings"]
|
||||
path = settings
|
||||
url = https://gitlab.com/librewolf-community/settings.git
|
||||
[submodule "common"]
|
||||
path = common
|
||||
url = https://gitlab.com/librewolf-community/browser/common.git
|
||||
49
README.md
49
README.md
|
|
@ -1,30 +1,45 @@
|
|||
# LibreWolf Issue Tracker & Update Tools 🚀
|
||||
# LibreWolf for windows
|
||||
|
||||
Welcome to the **LibreWolf for Windows** repository! This repository is now dedicated to the **Issue Tracker**. Submit your issues and get the latest updates on LibreWolf for Windows.
|
||||
* [download latest release](https://gitlab.com/librewolf-community/browser/windows/-/releases).
|
||||
* [issue tracker](https://gitlab.com/librewolf-community/browser/windows/-/issues).
|
||||
|
||||
To download the latest release, visit the [official LibreWolf release page](https://gitlab.com/librewolf-community/browser/bsys6/-/releases). For installation options, check out the [FAQ](https://librewolf.net/docs/faq/).
|
||||
# download locations
|
||||
|
||||
## Update Tools 🛠️
|
||||
* [[arch releases](https://gitlab.com/librewolf-community/browser/arch/-/releases)] - [librewolf-bin AUR(en)](https://aur.archlinux.org/packages/librewolf-bin/), [librewolf AUR(en)](https://aur.archlinux.org/packages/librewolf/)
|
||||
* [[linux releases](https://gitlab.com/librewolf-community/browser/linux/-/releases)] - Flatpak, AppImage, Arch and other Linux builds of the LibreWolf browser.
|
||||
* [[windows releases](https://gitlab.com/librewolf-community/browser/windows/-/releases)] - (this repository)
|
||||
|
||||
Stay secure and up-to-date with these LibreWolf update tools:
|
||||
# settings repository
|
||||
|
||||
1. **LibreWolf WinUpdater**: Kudos to @ltguillaume for this [automatic updater](https://codeberg.org/ltguillaume/librewolf-winupdater) that can be set up to update LibreWolf automatically or run manually.
|
||||
* [[settings repository](https://gitlab.com/librewolf-community/settings)] - all _librewolf.cfg_ stuff.. _([issues](https://gitlab.com/librewolf-community/settings/-/issues))_
|
||||
|
||||
2. **LibreWolf Update Checker Extension**: Created by Defkev, this [extension](https://addons.mozilla.org/en-US/firefox/addon/librewolf-updater/) will notify you when an update is available and guide you to the download link.
|
||||
# librewolf repositories
|
||||
|
||||
> Please note: The *updater* can _install_ updates automatically, while the *extension* can only _check_ for updates.
|
||||
* [[common](https://gitlab.com/librewolf-community/browser/common)] -> _([issues](https://gitlab.com/librewolf-community/browser/common/-/issues))_
|
||||
* [[linux](https://gitlab.com/librewolf-community/browser/linux)] -> _([issues](https://gitlab.com/librewolf-community/browser/linux/-/issues))_
|
||||
* [[website](https://gitlab.com/librewolf-community/librewolf-community.gitlab.io)] - _([issues](https://gitlab.com/librewolf-community/librewolf-community.gitlab.io/-/issues))_
|
||||
|
||||
## LibreWolf for Windows 🖥️
|
||||
# distro repositories
|
||||
|
||||
- LibreWolf supports multiple UI languages, available in settings.
|
||||
- The latest **-portable.zip** release is self-contained and can be run on removable storage.
|
||||
* [[arch](https://gitlab.com/librewolf-community/browser/arch)] -> _([issues](https://gitlab.com/librewolf-community/browser/arch/-/issues))_
|
||||
* [[debian](https://gitlab.com/librewolf-community/browser/debian)] -> _([issues](https://gitlab.com/librewolf-community/browser/debian/-/issues))_
|
||||
* [[flatpack](https://gitlab.com/librewolf-community/browser/flatpak)] -> _([issues](https://gitlab.com/librewolf-community/browser/flatpak/-/issues))_
|
||||
* [[gentoo](https://gitlab.com/librewolf-community/browser/gentoo)] -> _([issues](https://gitlab.com/librewolf-community/browser/gentoo/-/issues))_
|
||||
* [[macos](https://gitlab.com/librewolf-community/browser/macos)] -> _([issues](https://gitlab.com/librewolf-community/browser/macos/-/issues))_
|
||||
* [[windows](https://gitlab.com/librewolf-community/browser/windows)] -> _([issues](https://gitlab.com/librewolf-community/browser/windows/-/issues))_
|
||||
|
||||
## Issue Tracker 🎫
|
||||
# community links
|
||||
|
||||
- For issues with Settings or Advanced Settings (`about:config`), submit them to the [settings repository](https://gitlab.com/librewolf-community/settings/-/issues).
|
||||
- For other issues, such as crashes/theme/graphics/speed problems, submit them to [issues for windows repository](https://gitlab.com/librewolf-community/browser/windows/-/issues).
|
||||
* If at all possible, pleasse go to the relevant 'issues' link and start discussing thing there.
|
||||
* [[reddit](https://www.reddit.com/r/LibreWolf/)] - [r/LibreWolf](https://www.reddit.com/r/LibreWolf/) 😺
|
||||
* [readthedocs.io](https://librewolf.readthedocs.io/en/latest/).
|
||||
* [[gitter](https://gitter.im/librewolf-community/librewolf)].
|
||||
|
||||
## Building from Source 🏗️
|
||||
# hardening firefox
|
||||
|
||||
- Our `bsys` build system supports cross-compiling from Linux to Windows. Building the Windows version from within Windows is not tested yet.
|
||||
- The build system can be found here: [bsys6](https://gitlab.com/librewolf-community/browser/bsys6).
|
||||
* **tools**: [[deviceinfo.me](https://www.deviceinfo.me/)], [[coveryourtracks](https://coveryourtracks.eff.org/learn)], [[privacytools.io](https://privacytools.io/)],
|
||||
* eff.org: [surveillance self-defense](https://ssd.eff.org/en).
|
||||
* mozilla: [Firefox](https://www.mozilla.org/en-US/firefox/new/), [Thunderbird](https://www.thunderbird.net/en-US/); ...
|
||||
* news: [ghacks](https://www.ghacks.net/)
|
||||
* wikipedia: [Browser fingerprinting](https://en.wikipedia.org/wiki/Device_fingerprint).
|
||||
* wikipedia: [Browser security](https://en.wikipedia.org/wiki/Browser_security), [browser exploit](https://en.wikipedia.org/wiki/Browser_exploit).
|
||||
|
|
|
|||
54
artifacts_deb.sh
Normal file
54
artifacts_deb.sh
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
exe=
|
||||
objdir=obj-x86_64-pc-linux-gnu/dist/firefox
|
||||
ospkg=deb
|
||||
|
||||
# sanity checks
|
||||
if [ ! -d $objdir ]; then
|
||||
echo "artifacts_win.sh: directory $objdir not found. did you run './build.sh build'?"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
rm -rf ../firefox ../librewolf
|
||||
cp -r $objdir ..
|
||||
|
||||
pushd ..
|
||||
|
||||
mv firefox librewolf
|
||||
# apply the LibreWolf settings
|
||||
cp -rv settings/* librewolf
|
||||
# rename the executable manually
|
||||
pushd librewolf ; mv -v firefox$exe librewolf$exe ; popd
|
||||
# clean garbage files
|
||||
cd librewolf ; rm -rf maintenanceservice* pingsender* firefox.*.xml precomplete removed-files ; cd ..
|
||||
|
||||
# linux: copy app icon stuff
|
||||
cp branding_files/register-librewolf branding_files/start-librewolf branding_files/start-librewolf.desktop.in librewolf
|
||||
|
||||
# create the final zip artifact
|
||||
rm -f librewolf-$pkgver.en-US.$ospkg.zip
|
||||
zip -qr9 librewolf-$pkgver.en-US.$ospkg.zip librewolf
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# now to try to make the installer
|
||||
# (create a .deb here)
|
||||
|
||||
# patch to experimental config
|
||||
if [ ! -z $experimental ]; then
|
||||
pushd librewolf
|
||||
echo "Applying experimental patches..."
|
||||
patch -p1 -i ../patches/librewolf-config.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
patch -p1 -i ../patches/librewolf-policies.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
popd
|
||||
|
||||
# create the final zip artifact
|
||||
rm -f librewolf-$pkgver.en-US.$ospkg-experimental.zip
|
||||
zip -qr9 librewolf-$pkgver.en-US.$ospkg-experimental.zip librewolf
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# now to try to make the installer
|
||||
# (create a .deb here)
|
||||
fi
|
||||
|
||||
popd
|
||||
55
artifacts_rpm.sh
Normal file
55
artifacts_rpm.sh
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
exe=
|
||||
objdir=obj-x86_64-pc-linux-gnu/dist/firefox
|
||||
ospkg=rpm
|
||||
|
||||
# sanity checks
|
||||
if [ ! -d $objdir ]; then
|
||||
echo "artifacts_win.sh: directory $objdir not found. did you run './build.sh build'?"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
rm -rf ../firefox ../librewolf
|
||||
cp -r $objdir ..
|
||||
|
||||
pushd ..
|
||||
|
||||
mv firefox librewolf
|
||||
# apply the LibreWolf settings
|
||||
cp -rv settings/* librewolf
|
||||
# rename the executable manually
|
||||
pushd librewolf ; mv -v firefox$exe librewolf$exe ; popd
|
||||
# clean garbage files
|
||||
cd librewolf ; rm -rf maintenanceservice* pingsender* firefox.*.xml precomplete removed-files ; cd ..
|
||||
|
||||
# linux: copy app icon stuff
|
||||
cp branding_files/register-librewolf branding_files/start-librewolf branding_files/start-librewolf.desktop.in librewolf
|
||||
|
||||
|
||||
# create the final zip artifact
|
||||
rm -f librewolf-$pkgver.en-US.$ospkg.zip
|
||||
zip -qr9 librewolf-$pkgver.en-US.$ospkg.zip librewolf
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# now to try to make the installer
|
||||
# (create a .deb here)
|
||||
|
||||
# patch to experimental config
|
||||
if [ ! -z $experimental ]; then
|
||||
pushd librewolf
|
||||
echo "Applying experimental patches..."
|
||||
patch -p1 -i ../patches/librewolf-config.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
patch -p1 -i ../patches/librewolf-policies.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
popd
|
||||
|
||||
# create the final zip artifact
|
||||
rm -f librewolf-$pkgver.en-US.$ospkg-experimental.zip
|
||||
zip -qr9 librewolf-$pkgver.en-US.$ospkg-experimental.zip librewolf
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# now to try to make the installer
|
||||
# (create a .deb here)
|
||||
fi
|
||||
|
||||
popd
|
||||
122
artifacts_win.nsi
Normal file
122
artifacts_win.nsi
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
#
|
||||
# Change these values to fit your application...
|
||||
#
|
||||
|
||||
!define APPNAME "LibreWolf" # Full app name, like: "Gtk+ 2.0 Hello World"
|
||||
!define PROGNAME "librewolf" # executable name, like: gtk2hello
|
||||
!define PROG_VERSION "pkg_version" # the program version, like: 0.3.0
|
||||
!define ICON_NAME "librewolf.ico" # filename of icon to use for this app
|
||||
!define COMPANYNAME "LibreWolf" # Your name, or company (or just the program name)
|
||||
!define ESTIMATED_SIZE 190000 # Estimated size (in KB) of installed program for use in "add or remove programs" / 190 MB
|
||||
|
||||
#
|
||||
# The actual installer/uninstaller, you should not need to change much here below
|
||||
#
|
||||
|
||||
Name "${PROGNAME}"
|
||||
OutFile "${PROGNAME}-${PROG_VERSION}.en-US.win64-setup.exe"
|
||||
InstallDir $PROGRAMFILES64\${APPNAME}
|
||||
RequestExecutionLevel admin
|
||||
|
||||
Page directory
|
||||
Page instfiles
|
||||
|
||||
function .onInit
|
||||
setShellVarContext all
|
||||
functionEnd
|
||||
|
||||
Section "${PROGNAME}"
|
||||
|
||||
# Copy files
|
||||
SetOutPath $INSTDIR
|
||||
File /r librewolf\*.*
|
||||
|
||||
# Start Menu
|
||||
createDirectory "$SMPROGRAMS\${COMPANYNAME}"
|
||||
createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\${PROGNAME}.exe" "" "$INSTDIR\${ICON_NAME}"
|
||||
createShortCut "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" ""
|
||||
|
||||
# Uninstaller
|
||||
writeUninstaller "$INSTDIR\uninstall.exe"
|
||||
|
||||
# Registry information for add/remove programs
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${APPNAME}"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$\"$INSTDIR$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\${ICON_NAME}$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "${COMPANYNAME}"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "${PROG_VERSION}"
|
||||
# There is no option for modifying or repairing the install
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1
|
||||
# Set the INSTALLSIZE constant (!defined at the top of this script) so Add/Remove Programs can accurately report the size
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "EstimatedSize" ${ESTIMATED_SIZE}
|
||||
|
||||
|
||||
#
|
||||
# Registry information to let Windows pick us up in the list of available browsers
|
||||
#
|
||||
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf" "" "LibreWolf"
|
||||
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationDescription" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationIcon" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationName" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".htm" "LibreWolfHTM"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".html" "LibreWolfHTM"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\Startmenu" "StartMenuInternet" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "http" "LibreWolfHTM"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "https" "LibreWolfHTM"
|
||||
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\shell\open\command" "" "$INSTDIR\librewolf.exe"
|
||||
|
||||
WriteRegStr HKLM "Software\RegisteredApplications" "LibreWolf" "Software\Clients\StartMenuInternet\LibreWolf\Capabilities"
|
||||
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "" "LibreWolf Handler"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "AppUserModelId" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "AppUserModelId" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationIcon" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationName" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationDescription" "Howling to Freedom"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationCompany" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\shell\open\command" "" "$INSTDIR\librewolf.exe %1"
|
||||
|
||||
SectionEnd
|
||||
|
||||
# Before uninstall, ask for confirmation
|
||||
function un.onInit
|
||||
SetShellVarContext all
|
||||
|
||||
#Verify the uninstaller - last chance to back out
|
||||
MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next
|
||||
Abort
|
||||
next:
|
||||
functionEnd
|
||||
|
||||
# Uninstaller
|
||||
section "uninstall"
|
||||
|
||||
# Remove Start Menu launcher
|
||||
delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk"
|
||||
delete "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk"
|
||||
# Try to remove the Start Menu folder - this will only happen if it is empty
|
||||
rmDir "$SMPROGRAMS\${COMPANYNAME}"
|
||||
|
||||
# Remove files
|
||||
rmDir /r $INSTDIR
|
||||
|
||||
# Remove uninstaller information from the registry
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}"
|
||||
|
||||
#
|
||||
# Windows default browser integration
|
||||
#
|
||||
|
||||
DeleteRegKey HKLM "Software\Clients\StartMenuInternet\LibreWolf"
|
||||
DeleteRegKey HKLM "Software\RegisteredApplications"
|
||||
DeleteRegKey HKLM "Software\Classes\LibreWolfHTM"
|
||||
|
||||
sectionEnd
|
||||
60
artifacts_win.sh
Normal file
60
artifacts_win.sh
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
exe=.exe
|
||||
objdir=obj-x86_64-pc-mingw32/dist/firefox
|
||||
ospkg=win64
|
||||
|
||||
# sanity checks
|
||||
if [ ! -d $objdir ]; then
|
||||
echo "artifacts_win.sh: directory $objdir not found. did you run './build.sh build'?"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
rm -rf ../firefox ../librewolf
|
||||
cp -r $objdir ..
|
||||
|
||||
pushd ..
|
||||
|
||||
mv firefox librewolf
|
||||
# apply the LibreWolf settings
|
||||
cp -rv settings/* librewolf
|
||||
# rename the executable manually
|
||||
pushd librewolf ; mv -v firefox$exe librewolf$exe ; popd
|
||||
# clean garbage files
|
||||
cd librewolf ; rm -rf maintenanceservice* pingsender* firefox.*.xml precomplete removed-files ; cd ..
|
||||
|
||||
# windows: copy the windows icon
|
||||
cp -v common/source_files/browser/branding/librewolf/firefox.ico librewolf/librewolf.ico
|
||||
|
||||
# create the final zip artifact
|
||||
rm -f librewolf-$pkgver.en-US.$ospkg.zip
|
||||
zip -qr9 librewolf-$pkgver.en-US.$ospkg.zip librewolf
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# now to try to make the installer
|
||||
rm -f librewolf-$pkgver.en-US.win64-setup.exe tmp.nsi
|
||||
sed "s/pkg_version/$pkgver/g" < artifacts_win.nsi > tmp.nsi
|
||||
makensis-3.01.exe -V1 tmp.nsi
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# patch to experimental config
|
||||
if [ ! -z $experimental ]; then
|
||||
pushd librewolf
|
||||
echo "Applying experimental patches..."
|
||||
patch -p1 -i ../patches/librewolf-config.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
patch -p1 -i ../patches/librewolf-policies.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
popd
|
||||
|
||||
# create the final zip artifact
|
||||
rm -f librewolf-$pkgver.en-US.$ospkg-experimental.zip
|
||||
zip -qr9 librewolf-$pkgver.en-US.$ospkg-experimental.zip librewolf
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# now to try to make the installer
|
||||
rm -f librewolf-$pkgver.en-US.win64-experimental-setup.exe tmp-experimental.nsi
|
||||
sed "s/win64-setup/win64-experimental-setup/g" < tmp.nsi > tmp-experimental.nsi
|
||||
makensis-3.01.exe -V1 tmp-experimental.nsi
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
fi
|
||||
|
||||
popd
|
||||
16
branding_files/configure.sh
Normal file
16
branding_files/configure.sh
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# 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/.
|
||||
|
||||
MOZ_APP_NAME=librewolf
|
||||
MOZ_APP_BASENAME=LibreWolf
|
||||
MOZ_APP_PROFILE=LibreWolf
|
||||
MOZ_APP_VENDOR="LibreWolf Community"
|
||||
MOZ_APP_DISPLAYNAME=LibreWolf
|
||||
MOZ_APP_REMOTINGNAME=librewolf
|
||||
MOZ_DEV_EDITION=1
|
||||
MOZ_TELEMETRY_REPORTING=
|
||||
MOZ_SERVICES_HEALTHREPORT=
|
||||
MOZ_NORMANDY=
|
||||
MOZ_REQUIRE_SIGNING=
|
||||
MOZ_DEFAULT_BROWSER_AGENT=0
|
||||
7
branding_files/register-librewolf
Executable file
7
branding_files/register-librewolf
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
sed "s,MYDIR,$(pwd),g" < start-librewolf.desktop.in > start-librewolf.desktop
|
||||
|
||||
mkdir -p "$HOME/.local/share/applications/"
|
||||
cp -v ./start-librewolf.desktop "$HOME/.local/share/applications/"
|
||||
update-desktop-database "$HOME/.local/share/applications/"
|
||||
22
branding_files/start-librewolf
Executable file
22
branding_files/start-librewolf
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Do not (try to) connect to the session manager
|
||||
unset SESSION_MANAGER
|
||||
|
||||
# If XAUTHORITY is unset, set it to its default value of $HOME/.Xauthority
|
||||
# before we change HOME below. (See xauth(1) and #1945.) XDM and KDM rely
|
||||
# on applications using this default value.
|
||||
if [ -z "$XAUTHORITY" ]; then
|
||||
XAUTHORITY=~/.Xauthority
|
||||
export XAUTHORITY
|
||||
fi
|
||||
|
||||
# Try to be agnostic to where we're being started from, chdir to where
|
||||
# the script is.
|
||||
mydir="`dirname "$0"`"
|
||||
test -d "$mydir" && cd "$mydir"
|
||||
|
||||
#./librewolf --class "LibreWolf" -profile TorBrowser/Data/Browser/profile.default "${@}" > "$logfile" 2>&1 </dev/null &
|
||||
./librewolf --detach --class "LibreWolf" > /dev/null 2>&1 </dev/null &
|
||||
|
||||
exit $?
|
||||
10
branding_files/start-librewolf.desktop.in
Normal file
10
branding_files/start-librewolf.desktop.in
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=LibreWolf
|
||||
GenericName=Web Browser
|
||||
Comment=LibreWolf Browser
|
||||
Categories=Network;WebBrowser;Security;
|
||||
Exec=MYDIR/./start-librewolf
|
||||
X-TorBrowser-ExecShell=MYDIR/./start-librewolf
|
||||
Icon=MYDIR/./browser/chrome/icons/default/default64.png
|
||||
StartupWMClass=LibreWolf
|
||||
578
build.sh
Executable file
578
build.sh
Executable file
|
|
@ -0,0 +1,578 @@
|
|||
#!/bin/bash
|
||||
# build.sh - build librewolf on windows
|
||||
# derived from https://gitlab.com/librewolf-community/browser/linux/-/blob/master/PKGBUILD
|
||||
#
|
||||
# This script is set up like a Makefile, it's a list of functions that perform a
|
||||
# certain sub-task, that function can be called as a commandline argument to the script.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
pkgver=87.0
|
||||
|
||||
|
||||
deps_deb() {
|
||||
echo "deps_deb: begin."
|
||||
deps="python3 python3-distutils clang pkg-config libpulse-dev gcc curl wget nodejs libpango1.0-dev nasm yasm zip m4 libgtk-3-dev libgtk2.0-dev libdbus-glib-1-dev libxt-dev"
|
||||
apt -y install $deps
|
||||
echo "deps_deb: done."
|
||||
}
|
||||
|
||||
deps_rpm() {
|
||||
echo "deps_rpm: begin."
|
||||
deps="python3 python3-distutils-extra clang pkg-config gcc curl wget nodejs nasm yasm zip m4 python3-zstandard python-zstandard python-devel python3-devel gtk3-devel llvm gtk2-devel dbus-glib-devel libXt-devel pulseaudio-libs-devel"
|
||||
dnf -y install $deps
|
||||
echo "deps_rpm: done."
|
||||
}
|
||||
|
||||
deps_pkg() {
|
||||
echo "deps_pkg: begin."
|
||||
deps="wget gsed gmake m4 python3 py37-sqlite3 pkgconf llvm node nasm zip unzip yasm"
|
||||
pkg install $deps
|
||||
echo "deps_pkg: done."
|
||||
}
|
||||
|
||||
clean() {
|
||||
echo "clean: begin."
|
||||
|
||||
echo "Deleting firefox-${pkgver} ..."
|
||||
rm -rf firefox-$pkgver
|
||||
|
||||
echo "Deleting other cruft ..."
|
||||
rm -rf librewolf
|
||||
rm -f firefox-$pkgver.source.tar.xz
|
||||
rm -f mozconfig
|
||||
rm -f *.patch
|
||||
|
||||
# windows
|
||||
rm -f librewolf-$pkgver.en-US.win64.zip
|
||||
rm -f librewolf-$pkgver.en-US.win64-setup.exe
|
||||
rm -f librewolf-$pkgver.en-US.win64-experimental.zip
|
||||
rm -f librewolf-$pkgver.en-US.win64-experimental-setup.exe
|
||||
rm -f tmp.nsi tmp-experimental.nsi
|
||||
|
||||
# linux
|
||||
rm -f librewolf-$pkgver.en-US.deb.zip
|
||||
rm -f librewolf-$pkgver.en-US.deb-experimental.zip
|
||||
rm -f librewolf-$pkgver.en-US.rpm.zip
|
||||
|
||||
echo "clean: done."
|
||||
}
|
||||
|
||||
|
||||
fetch() {
|
||||
echo "fetch: begin."
|
||||
|
||||
# fetch the firefox source.
|
||||
rm -f firefox-$pkgver.source.tar.xz
|
||||
echo "Downloading firefox-$pkgver.source.tar.xz ..."
|
||||
wget -q https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
if [ ! -f firefox-$pkgver.source.tar.xz ]; then exit 1; fi
|
||||
|
||||
echo "fetch: done."
|
||||
}
|
||||
|
||||
|
||||
|
||||
extract() {
|
||||
echo "extract: begin."
|
||||
|
||||
echo "Deleting previous firefox-${pkgver} ..."
|
||||
rm -rf firefox-$pkgver
|
||||
|
||||
echo "Extracting firefox-$pkgver.source.tar.xz ..."
|
||||
tar xf firefox-$pkgver.source.tar.xz
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
|
||||
echo "extract: done."
|
||||
}
|
||||
|
||||
|
||||
create_mozconfig() {
|
||||
cat >../mozconfig <<END
|
||||
ac_add_options --enable-application=browser
|
||||
|
||||
# This supposedly speeds up compilation (We test through dogfooding anyway)
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --disable-debug
|
||||
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-hardening
|
||||
ac_add_options --enable-rust-simd
|
||||
ac_add_options --enable-optimize
|
||||
|
||||
|
||||
# Branding
|
||||
ac_add_options --enable-update-channel=release
|
||||
# theming bugs: ac_add_options --with-app-name=librewolf
|
||||
# theming bugs: ac_add_options --with-app-basename=LibreWolf
|
||||
ac_add_options --with-branding=browser/branding/librewolf
|
||||
ac_add_options --with-distribution-id=io.gitlab.librewolf-community
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
ac_add_options --allow-addon-sideload
|
||||
export MOZ_REQUIRE_SIGNING=0
|
||||
|
||||
# Features
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-updater
|
||||
|
||||
# Disables crash reporting, telemetry and other data gathering tools
|
||||
mk_add_options MOZ_CRASHREPORTER=0
|
||||
mk_add_options MOZ_DATA_REPORTING=0
|
||||
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
||||
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
||||
|
||||
# first attempt to fix the win32 vcredist issue results in build errors..
|
||||
#WIN32_REDIST_DIR=$VCINSTALLDIR\redist\x86\Microsoft.VC141.CRT
|
||||
END
|
||||
}
|
||||
|
||||
do_patches() {
|
||||
echo "do_patches: begin."
|
||||
|
||||
# get the patches
|
||||
echo 'Getting patches...'
|
||||
rm -f context-menu.patch megabar.patch mozilla-vpn-ad.patch remove_addons.patch unity-menubar.patch
|
||||
|
||||
wget -q https://gitlab.com/librewolf-community/browser/linux/-/raw/master/context-menu.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
if [ ! -f context-menu.patch ]; then exit 1; fi
|
||||
wget -q https://gitlab.com/librewolf-community/browser/linux/-/raw/master/megabar.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
if [ ! -f megabar.patch ]; then exit 1; fi
|
||||
wget -q https://gitlab.com/librewolf-community/browser/linux/-/raw/master/mozilla-vpn-ad.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
if [ ! -f mozilla-vpn-ad.patch ]; then exit 1; fi
|
||||
wget -q https://gitlab.com/librewolf-community/browser/linux/-/raw/master/remove_addons.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
if [ ! -f remove_addons.patch ]; then exit 1; fi
|
||||
|
||||
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
cd firefox-$pkgver
|
||||
|
||||
|
||||
echo 'Applying patches...'
|
||||
|
||||
# Apply patches..
|
||||
# context-menu.patch megabar.patch mozilla-vpn-ad.patch remove_addons.patch unity-menubar.patch
|
||||
echo 'context-menu.patch:'
|
||||
patch -p1 -i ../context-menu.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
echo 'megabar.patch:'
|
||||
patch -p1 -i ../megabar.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
echo 'mozilla-vpn-ad.patch:'
|
||||
patch -p1 -i ../mozilla-vpn-ad.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
echo 'remove_addons.patch:'
|
||||
patch -p1 -i ../remove_addons.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
|
||||
# create mozconfig..
|
||||
create_mozconfig
|
||||
# just a straight copy for now..
|
||||
cp -v ../mozconfig .
|
||||
|
||||
|
||||
# on freebsd we're called gsed..
|
||||
set +e
|
||||
sed=sed
|
||||
gsed --version > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
sed=gsed;
|
||||
# disable webrtc, build errors
|
||||
cat>>../mozconfig <<END
|
||||
# disable webrtc on freebsd
|
||||
ac_add_options --disable-webrtc
|
||||
END
|
||||
fi
|
||||
set -e
|
||||
|
||||
|
||||
# Disabling Pocket
|
||||
$sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# this one only to remove an annoying error message:
|
||||
$sed -i 's#SaveToPocket.init();#// SaveToPocket.init();#g' browser/components/BrowserGlue.jsm
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# Remove Internal Plugin Certificates
|
||||
_cert_sed='s#if (aCert.organizationalUnit == "Mozilla [[:alpha:]]\+") {\n'
|
||||
_cert_sed+='[[:blank:]]\+return AddonManager\.SIGNEDSTATE_[[:upper:]]\+;\n'
|
||||
_cert_sed+='[[:blank:]]\+}#'
|
||||
_cert_sed+='// NOTE: removed#g'
|
||||
# on windows: the sed.exe in MozBuild is too old, no -z, using the one from Git instead.
|
||||
if [ -f '/c/mozilla-build/start-shell.bat' ]; then
|
||||
mysed='/c/mozilla-source/Git/usr/bin/sed.exe'
|
||||
if [ ! -f $mysed ]; then
|
||||
echo 'build.sh: For the build to work, copy "c:\program files\Git" folder into "c:\mozilla-source".'
|
||||
exit
|
||||
fi
|
||||
else
|
||||
mysed=$sed
|
||||
fi
|
||||
$mysed -z "$_cert_sed" -i toolkit/mozapps/extensions/internal/XPIInstall.jsm
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
|
||||
# allow SearchEngines option in non-ESR builds
|
||||
$sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
_settings_services_sed='s#firefox.settings.services.mozilla.com#f.s.s.m.c.qjz9zk#g'
|
||||
|
||||
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
|
||||
$sed "$_settings_services_sed" -i browser/components/newtab/data/content/activity-stream.bundle.js
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
$sed "$_settings_services_sed" -i modules/libpref/init/all.js
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
$sed "$_settings_services_sed" -i services/settings/Utils.jsm
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
$sed "$_settings_services_sed" -i toolkit/components/search/SearchUtils.jsm
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
# copy branding resources
|
||||
cp -vr ../common/source_files/* ./
|
||||
# new branding stuff
|
||||
cp -v ../branding_files/configure.sh browser/branding/librewolf
|
||||
|
||||
# local patches
|
||||
echo 'Local patches...'
|
||||
|
||||
echo 'browser-confvars.patch:'
|
||||
patch -p1 -i ../patches/browser-confvars.patch
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
cd ..
|
||||
echo "do_patches: done."
|
||||
}
|
||||
|
||||
|
||||
|
||||
build() {
|
||||
echo "build: begin."
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
cd firefox-$pkgver
|
||||
|
||||
./mach build
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
cd ..
|
||||
echo "build: done."
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
artifacts_win() {
|
||||
echo "artifacts_win: begin."
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
cd firefox-$pkgver
|
||||
|
||||
./mach package
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
echo ""
|
||||
echo "artifacts_win: Creating final artifacts."
|
||||
echo ""
|
||||
|
||||
# there is just too much garbage in this installer function to
|
||||
# have it all here..
|
||||
. ../artifacts_win.sh
|
||||
|
||||
cd ..
|
||||
echo "artifacts_win: done."
|
||||
}
|
||||
|
||||
artifacts_deb()
|
||||
{
|
||||
echo "artifacts_deb: begin."
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
cd firefox-$pkgver
|
||||
|
||||
./mach package
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
echo ""
|
||||
echo "artifacts_deb: Creating final artifacts."
|
||||
echo ""
|
||||
|
||||
. ../artifacts_deb.sh
|
||||
|
||||
cd ..
|
||||
echo "artifacts_deb: done."
|
||||
}
|
||||
|
||||
|
||||
artifacts_rpm()
|
||||
{
|
||||
echo "artifacts_rpm: begin."
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
cd firefox-$pkgver
|
||||
|
||||
./mach package
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
|
||||
echo ""
|
||||
echo "artifacts_rpm: Creating final artifacts."
|
||||
echo ""
|
||||
|
||||
. ../artifacts_rpm.sh
|
||||
|
||||
cd ..
|
||||
echo "artifacts_rpm: done."
|
||||
}
|
||||
|
||||
|
||||
|
||||
rustup() {
|
||||
# rust needs special love: https://www.atechtown.com/install-rust-language-on-debian-10/
|
||||
echo "rustup: begin."
|
||||
curl https://sh.rustup.rs -sSf | sh
|
||||
. $HOME/.cargo/env
|
||||
cargo install cbindgen
|
||||
echo "rustup: done."
|
||||
}
|
||||
|
||||
mach_env() {
|
||||
echo "mach_env: begin."
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
cd firefox-$pkgver
|
||||
./mach create-mach-environment
|
||||
if [ $? -ne 0 ]; then exit 1; fi
|
||||
cd ..
|
||||
echo "mach_env: done."
|
||||
}
|
||||
|
||||
git_subs() {
|
||||
echo "git_subs: begin."
|
||||
git submodule update --recursive
|
||||
git submodule foreach git merge origin master
|
||||
echo "git_subs: done."
|
||||
}
|
||||
|
||||
#
|
||||
# Experimental configuration options
|
||||
#
|
||||
|
||||
config_diff() {
|
||||
pushd settings > /dev/null
|
||||
cp "/c/Program Files/LibreWolf/librewolf.cfg" librewolf.cfg
|
||||
git diff librewolf.cfg > ../patches/librewolf-config.patch
|
||||
git diff librewolf.cfg
|
||||
git checkout librewolf.cfg > /dev/null 2>&1
|
||||
popd > /dev/null
|
||||
}
|
||||
|
||||
policies_diff() {
|
||||
pushd settings/distribution > /dev/null
|
||||
cp "/c/Program Files/LibreWolf/distribution/policies.json" policies.json
|
||||
git diff policies.json > ../../patches/librewolf-policies.patch
|
||||
git diff policies.json
|
||||
git checkout policies.json > /dev/null 2>&1
|
||||
popd > /dev/null
|
||||
}
|
||||
|
||||
git_init() {
|
||||
echo "git_init: begin."
|
||||
if [ ! -d firefox-$pkgver ]; then exit 1; fi
|
||||
cd firefox-$pkgver
|
||||
|
||||
echo "Removing old .git folder..."
|
||||
rm -rf .git
|
||||
|
||||
echo "Creating new .git folder..."
|
||||
git init
|
||||
git config core.safecrlf false
|
||||
git config commit.gpgsign false
|
||||
git add -f * .[a-z]*
|
||||
git commit -am 'Initial commit'
|
||||
|
||||
cd ..
|
||||
echo "git_init: done."
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# windows: change $PATH to find all the build tools in .mozbuild
|
||||
# this might do the trick on macos aswell?
|
||||
if [ -f '/c/mozilla-build/start-shell.bat' ]; then
|
||||
export TPATH=$HOME/.mozbuild/clang/bin:$HOME/.mozbuild/cbindgen:$HOME/.mozbuild/node:$HOME/.mozbuild/nasm
|
||||
export PATH=$TPATH:$PATH
|
||||
fi
|
||||
|
||||
if [ -f $HOME/.cargo/env ]; then
|
||||
. $HOME/.cargo/env
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# process commandline arguments and do something
|
||||
|
||||
done_something=0
|
||||
|
||||
# various administrative actions...
|
||||
|
||||
if [[ "$*" == *clean* ]]; then
|
||||
clean
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *git_subs* ]]; then
|
||||
git_subs
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *rustup* ]]; then
|
||||
rustup
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *mach_env* ]]; then
|
||||
mach_env
|
||||
done_something=1
|
||||
fi
|
||||
|
||||
# dependencies on various platforms...
|
||||
|
||||
if [[ "$*" == *deps_deb* ]]; then
|
||||
deps_deb
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *deps_rpm* ]]; then
|
||||
deps_rpm
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *deps_pkg* ]]; then
|
||||
deps_pkg
|
||||
done_something=1
|
||||
fi
|
||||
|
||||
# main building actions...
|
||||
|
||||
if [[ "$*" == *fetch* ]]; then
|
||||
fetch
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *extract* ]]; then
|
||||
extract
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *do_patches* ]]; then
|
||||
do_patches
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *git_init* ]]; then
|
||||
git_init
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *build* ]]; then
|
||||
build
|
||||
done_something=1
|
||||
fi
|
||||
|
||||
# creating the artifacts...
|
||||
|
||||
if [[ "$*" == *artifacts_exp* ]]; then
|
||||
experimental=experimental
|
||||
artifacts_win
|
||||
done_something=1
|
||||
else
|
||||
if [[ "$*" == *artifacts_win* ]]; then
|
||||
artifacts_win
|
||||
done_something=1
|
||||
fi
|
||||
fi
|
||||
if [[ "$*" == *artifacts_deb_exp* ]]; then
|
||||
experimental=experimental
|
||||
artifacts_deb
|
||||
done_something=1
|
||||
else
|
||||
if [[ "$*" == *artifacts_deb* ]]; then
|
||||
artifacts_deb
|
||||
done_something=1
|
||||
fi
|
||||
fi
|
||||
if [[ "$*" == *artifacts_rpm_exp* ]]; then
|
||||
experimental=experimental
|
||||
artifacts_rpm
|
||||
done_something=1
|
||||
else
|
||||
if [[ "$*" == *artifacts_rpm* ]]; then
|
||||
artifacts_rpm
|
||||
done_something=1
|
||||
fi
|
||||
fi
|
||||
|
||||
# librewolf.cfg and policies.json differences
|
||||
|
||||
if [[ "$*" == *config_diff* ]]; then
|
||||
config_diff
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *policies_diff* ]]; then
|
||||
policies_diff
|
||||
done_something=1
|
||||
fi
|
||||
if [[ "$*" == *mach_run_config* ]]; then
|
||||
cp -r settings/* $(echo firefox-$pkgver/obj-*)/dist/bin
|
||||
done_something=1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# by default, give help..
|
||||
if (( done_something == 0 )); then
|
||||
cat << EOF
|
||||
Use: ./build.sh fetch extract do_patches build artifacts_win
|
||||
|
||||
fetch - fetch the tarball.
|
||||
extract - extract the tarball.
|
||||
do_patches - create a mozconfig, and patch the source.
|
||||
build - the actual build.
|
||||
artifacts_win - apply .cfg, build the zip file and NSIS setup.exe installer.
|
||||
artifacts_exp - package as above, but use the experimental config/policies.
|
||||
|
||||
Linux related functions:
|
||||
|
||||
deps_deb - install dependencies with apt.
|
||||
deps_rpm - install dependencies with dnf.
|
||||
deps_pkg - install dependencies with pkg.
|
||||
artifacts_deb - apply .cfg, create a dist zip file (for debian10).
|
||||
artifacts_deb_exp - include experimental build.
|
||||
artifacts_rpm - apply .cfg, create a dist zip file (for fedora33).
|
||||
artifacts_rpm_exp - include experimental build.
|
||||
|
||||
Generic utility functionality:
|
||||
|
||||
mach_env - create mach build environment.
|
||||
rustup - perform a rustup for this user.
|
||||
|
||||
clean - remove generated cruft.
|
||||
git_subs - update git submodules.
|
||||
config_diff - diff between my .cfg and dist .cfg file. (win10)
|
||||
policies_diff - diff between my policies and the dist policies. (win10)
|
||||
git_init - create .git folder in firefox-$pkgver for creating patches.
|
||||
mach_run_config - copy librewolf config/policies to enable 'mach run'.
|
||||
|
||||
Examples:
|
||||
|
||||
For windows, use:
|
||||
./build.sh fetch extract do_patches build artifacts_win
|
||||
|
||||
For debian, use:
|
||||
sudo ./build.sh deps_deb
|
||||
./build.sh rustup mach_env
|
||||
./build.sh fetch extract do_patches build artifacts_deb
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
1
common
Submodule
1
common
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 9120ca6c6709673b0188a081ec6383c4db75d169
|
||||
11
patches/README.md
Normal file
11
patches/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# current differences between -release and -experimental
|
||||
|
||||
## librewolf.cfg:
|
||||
|
||||
* lockPref("dom.w3c_pointer_events.enabled", true); -> This fixes YouTube picture-in-picture.
|
||||
* defaultPref("dom.event.contextmenu.enabled", true); -> This fixes lastpass.com context menu.
|
||||
* Comment out all WebGL related settings to enable WebGL again.
|
||||
|
||||
## policies.json
|
||||
|
||||
* Added the decentraleyes plugin.
|
||||
28
patches/browser-confvars.patch
Normal file
28
patches/browser-confvars.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
diff --git a/browser/confvars.sh b/browser/confvars.sh
|
||||
index 92871c9516..1e151180dd 100644
|
||||
--- a/browser/confvars.sh
|
||||
+++ b/browser/confvars.sh
|
||||
@@ -3,8 +3,10 @@
|
||||
# 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/.
|
||||
|
||||
-MOZ_APP_VENDOR=Mozilla
|
||||
-MOZ_UPDATER=1
|
||||
+MOZ_APP_BASENAME=LibreWolf
|
||||
+MOZ_APP_VENDOR="LibreWolf Community"
|
||||
+
|
||||
+MOZ_UPDATER=0
|
||||
|
||||
if test "$OS_ARCH" = "WINNT"; then
|
||||
if ! test "$HAVE_64BIT_BUILD"; then
|
||||
@@ -34,8 +36,8 @@ BROWSER_CHROME_URL=chrome://browser/content/browser.xhtml
|
||||
# For mozilla-beta, mozilla-release, or mozilla-central repositories, use
|
||||
# "unofficial" branding.
|
||||
# For the mozilla-aurora repository, use "aurora".
|
||||
-MOZ_BRANDING_DIRECTORY=browser/branding/unofficial
|
||||
-MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/official
|
||||
+MOZ_BRANDING_DIRECTORY=browser/branding/librewolf
|
||||
+MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/librewolf
|
||||
MOZ_APP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
|
||||
|
||||
MOZ_PROFILE_MIGRATOR=1
|
||||
63
patches/librewolf-config.patch
Normal file
63
patches/librewolf-config.patch
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
diff --git a/librewolf.cfg b/librewolf.cfg
|
||||
index 1ad0cea..8fe76be 100644
|
||||
--- a/librewolf.cfg
|
||||
+++ b/librewolf.cfg
|
||||
@@ -389,7 +389,7 @@ defaultPref("extensions.ui.experiment.hidden", false);
|
||||
lockPref("dom.indexedDB.enabled", true); //default true
|
||||
//lockPref("dom.indexedDB.logging.details", false); //default true
|
||||
//lockPref("dom.indexedDB.logging.enabled", false); //default true
|
||||
-lockPref("dom.w3c_pointer_events.enabled", false);
|
||||
+lockPref("dom.w3c_pointer_events.enabled", true);
|
||||
//lockPref("network.http.spdy.enabled", false);
|
||||
//lockPref("network.http.spdy.enabled.deps", false);
|
||||
//lockPref("network.http.spdy.enabled.http2", false);
|
||||
@@ -1132,7 +1132,7 @@ lockPref("prio.publicKeyB", "");
|
||||
// >>>>>>>>>>>>>>>>>>>>
|
||||
|
||||
// Pref : Other webGl [WINDOWS]
|
||||
-lockPref("webgl.dxgl.enabled", false);
|
||||
+//lockkPref("webgl.dxgl.enabled", false);
|
||||
|
||||
// Pref : disable scanning for plugins [WINDOWS]
|
||||
lockPref("plugin.scan.plid.all", false);
|
||||
@@ -1365,7 +1365,7 @@ defaultPref("layout.frame_rate.precise", true);
|
||||
// It's likely your browser is already set to use these features.
|
||||
// May introduce instability on some hardware.
|
||||
// Tor compatibility - have inverted values in tor.
|
||||
-defaultPref("webgl.force-enabled", true);
|
||||
+//defaultPref("webgl.force-enabled", true);
|
||||
defaultPref("layers.acceleration.force-enabled", true);
|
||||
|
||||
// Pref : 2508: disable hardware acceleration to reduce graphics fingerprinting
|
||||
@@ -1432,16 +1432,16 @@ defaultPref("browser.tabs.animate", false);
|
||||
// WebGL introduces high fingerprinting (WebGL is a js API for directly accessing hardware)
|
||||
defaultPref("webgl.disabled", false); // Tor have it false but the rest is the same (webgl)
|
||||
// This does not leak
|
||||
-lockPref("webgl.enable-webgl2", false);
|
||||
-lockPref("webgl.min_capability_mode", true);
|
||||
+//lockPref("webgl.enable-webgl2", false);
|
||||
+//lockPref("webgl.min_capability_mode", true);
|
||||
|
||||
// Bench Diff : 0/5000
|
||||
// Pref : Disable webGL II/II
|
||||
// WebGL introduces high fingerprinting (WebGL is a js API for directly accessing hardware)
|
||||
-lockPref("pdfjs.enableWebGL", false);
|
||||
-lockPref("webgl.disable-extensions", true);
|
||||
-lockPref("webgl.disable-fail-if-major-performance-caveat", true);
|
||||
-lockPref("webgl.enable-debug-renderer-info", false); //Deprecated Active
|
||||
+//lockPref("pdfjs.enableWebGL", false);
|
||||
+//lockPref("webgl.disable-extensions", true);
|
||||
+//lockPref("webgl.disable-fail-if-major-performance-caveat", true);
|
||||
+//lockPref("webgl.enable-debug-renderer-info", false); //Deprecated Active
|
||||
|
||||
// Bench Diff : -1500/5000
|
||||
// Pref : Disable asm.js
|
||||
@@ -1804,7 +1804,7 @@ lockPref("datareporting.healthreport.uploadEnabled", false);
|
||||
lockPref("datareporting.policy.dataSubmissionEnabled", false);
|
||||
|
||||
// Pref : Disable right-click menu manipulation via JavaScript (disabled)
|
||||
-defaultPref("dom.event.contextmenu.enabled", false);
|
||||
+defaultPref("dom.event.contextmenu.enabled", true);
|
||||
|
||||
// Pref : Disable clipboard event detection (onCut/onCopy/onPaste) via Javascript
|
||||
// Disabling clipboard events breaks Ctrl+C/X/V copy/cut/paste functionaility in
|
||||
14
patches/librewolf-policies.patch
Normal file
14
patches/librewolf-policies.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/distribution/policies.json b/distribution/policies.json
|
||||
index 7f7e822..154db6e 100644
|
||||
--- a/distribution/policies.json
|
||||
+++ b/distribution/policies.json
|
||||
@@ -62,7 +62,8 @@
|
||||
|
||||
"Extensions": {
|
||||
"Install": [
|
||||
- "https://addons.cdn.mozilla.net/user-media/addons/607454/ublock_origin-1.33.2-an+fx.xpi"
|
||||
+ "https://addons.cdn.mozilla.net/user-media/addons/607454/ublock_origin-1.33.2-an+fx.xpi",
|
||||
+ "https://addons.mozilla.org/firefox/downloads/file/3672658/decentraleyes-2.0.15-an+fx.xpi"
|
||||
],
|
||||
"Uninstall": [
|
||||
"google@search.mozilla.org",
|
||||
1
settings
Submodule
1
settings
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 9ba36a97a914a9ec96860c836d420baacbb3bd66
|
||||
Loading…
Add table
Reference in a new issue