Rebase, squash and merge !7.
changes changes changes changes changes addes settings submodule changes updates updates new version of the readme.md Update README2.md changes Update the text formatting Update README2.md Update README2.md changes Removed install_script.txt because the profile folder requested here is checked to be Ok. Updated the readme a bit
This commit is contained in:
parent
f560babc69
commit
ec10c4e6f5
10 changed files with 411 additions and 15 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -1,2 +1,6 @@
|
||||||
firefox.exe
|
firefox-*
|
||||||
librewolf
|
librewolf-*
|
||||||
|
megabar.patch
|
||||||
|
remove_addons.patch
|
||||||
|
unity-menubar.patch
|
||||||
|
mozconfig
|
||||||
|
|
|
||||||
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -1,3 +1,6 @@
|
||||||
[submodule "settings"]
|
[submodule "settings"]
|
||||||
path = settings
|
path = settings
|
||||||
url = https://gitlab.com/librewolf-community/settings.git
|
url = https://gitlab.com/librewolf-community/settings.git
|
||||||
|
[submodule "common"]
|
||||||
|
path = common
|
||||||
|
url = https://gitlab.com/librewolf-community/browser/common.git
|
||||||
|
|
|
||||||
30
README.md
30
README.md
|
|
@ -1,16 +1,22 @@
|
||||||
# Librewolf Windows
|
This repository is still a work in progress.
|
||||||
|
|
||||||
## Instalation/Creation
|
But we have a zip file available for testing right now..
|
||||||
* clone this repository
|
|
||||||
* execute the package.ps1 on powershell
|
|
||||||
|
|
||||||
This is create a folder *librewolf* on current dir, with subfolder core (its content of the firefox.exe), with Firefox configured with scripts/settings of librewolf.
|
Download link to the prerelease alpha zip file is [here](https://gitlab.com/librewolf-community/browser/windows/uploads/5e9d436515d315d4e8953f88bf02bd99/librewolf-85.0.en-US.win64.zip).
|
||||||
From that point you can install using the setup.exe or simple execute the ***firefox.exe*** on the core folder.
|
|
||||||
|
|
||||||
## Cloning the repo
|
To do:
|
||||||
```powershell
|
|
||||||
git clone --recursive https://gitlab.com/librewolf-community/browser/windows.git
|
* Creating an installer.
|
||||||
```
|
* Branding issues, include a good icon for librewolf.exe
|
||||||
|
* Other Branding Issues
|
||||||
|
* Improve this README.md to contain detailed instructions on how to build.
|
||||||
|
|
||||||
|
For now, if you want to attempt to build, this build does require you to:
|
||||||
|
|
||||||
|
* First build the mozilla-unified as explained in the mozilla docs, using all the ./mach bootstrap stuff
|
||||||
|
* You can delete this mozilla-unified thing to save some space (try ./mach run on it just for fun)
|
||||||
|
* Then clone the windows repo
|
||||||
|
* cd into it, and build with: **time bash build.sh fetch prepare build package installer_win**
|
||||||
|
* you can perform each of the build steps individually and the overall script structure follows PKGBULD as used on Archlinux
|
||||||
|
* This will produce a **librewolf-85.0.en-US.win64.zip** in this windows folder.
|
||||||
|
|
||||||
### Opensource Licences/Uses
|
|
||||||
This scripts use and embed [7zip](https://www.7-zip.org/)
|
|
||||||
|
|
|
||||||
61
README2.md
Normal file
61
README2.md
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
Just some notes
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Once you have built the entire mozilla-unified with all the mach bootstrap stuff (which will
|
||||||
|
install the needed binaries in $HOME/.mozbuild), don't forget to copy the entire
|
||||||
|
C:\Program Files\Git folder to /c/mozilla-source to get a sed.exe that understands the -z option,
|
||||||
|
and to get sha256sum.exe.
|
||||||
|
|
||||||
|
|
||||||
|
To build, one should use the following command in the checked out windows repo:
|
||||||
|
|
||||||
|
$ time bash build.sh fetch prepare build package
|
||||||
|
|
||||||
|
|
||||||
|
the final .zip is in:
|
||||||
|
C:\mozilla-source\windows
|
||||||
|
|
||||||
|
|
||||||
|
* problem with old sed. does not recognize -z. using the one from Git might be a work around.
|
||||||
|
|
||||||
|
|
||||||
|
BRANDING: resource files
|
||||||
|
========================
|
||||||
|
|
||||||
|
* build fail on missing stubinstaller (might be a FF bug as it should just take missing
|
||||||
|
stuff from the nightly branding folder?)
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mkdir stubinstaller
|
||||||
|
$ cp bgstub.jpg stubinstaller
|
||||||
|
$ pwd
|
||||||
|
/c/mozilla-source/firefox-85.0/browser/branding/librewolf
|
||||||
|
$
|
||||||
|
|
||||||
|
* checking all the different files in nightly and librewolf
|
||||||
|
|
||||||
|
$ cd nightly
|
||||||
|
$ find . | sort > /c/mozilla-source/branding-nightly.txt
|
||||||
|
$ cd ../librewolf/
|
||||||
|
$ find . | sort > /c/mozilla-source/branding-librewolf.txt
|
||||||
|
|
||||||
|
|
||||||
|
$ diff branding-nightly.txt branding-librewolf.txt
|
||||||
|
4a5,6
|
||||||
|
> ./bgstub.jpg
|
||||||
|
> ./bgstub_2x.jpg
|
||||||
|
7a10
|
||||||
|
> ./content/about-background.png
|
||||||
|
9,10d11
|
||||||
|
< ./content/about-logo.svg
|
||||||
|
< ./content/about-logo@2x.png
|
||||||
|
14,15d14
|
||||||
|
< ./content/aboutlogins.svg
|
||||||
|
< ./content/firefox-wordmark.svg
|
||||||
|
22,24d20
|
||||||
|
< ./default22.png
|
||||||
|
< ./default24.png
|
||||||
|
< ./default256.png
|
||||||
|
$
|
||||||
|
```
|
||||||
|
|
||||||
219
build.sh
Normal file
219
build.sh
Normal file
|
|
@ -0,0 +1,219 @@
|
||||||
|
# build.sh - build librewolf on windows
|
||||||
|
# derived from https://gitlab.com/librewolf-community/browser/linux/-/blob/master/PKGBUILD
|
||||||
|
|
||||||
|
pkgname=librewolf
|
||||||
|
_pkgname=LibreWolf
|
||||||
|
|
||||||
|
pkgver=85.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fetch() {
|
||||||
|
rm -f firefox-$pkgver.source.tar.xz
|
||||||
|
wget https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
|
||||||
|
|
||||||
|
# the settings and common submodules should be checked out to allow the build
|
||||||
|
|
||||||
|
rm -f megabar.patch remove_addons.patch unity-menubar.patch
|
||||||
|
wget https://gitlab.com/librewolf-community/browser/linux/-/raw/master/megabar.patch
|
||||||
|
wget https://gitlab.com/librewolf-community/browser/linux/-/raw/master/remove_addons.patch
|
||||||
|
wget https://gitlab.com/librewolf-community/browser/linux/-/raw/master/unity-menubar.patch
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
rm -rf firefox-$pkgver
|
||||||
|
tar xf firefox-$pkgver.source.tar.xz
|
||||||
|
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
# as suggested by Mental Outlaw in https://www.youtube.com/watch?v=L2otiFy4ADI
|
||||||
|
ac_add_options --disable-webrtc
|
||||||
|
|
||||||
|
|
||||||
|
# Branding
|
||||||
|
ac_add_options --enable-update-channel=release
|
||||||
|
ac_add_options --with-app-name=${pkgname}
|
||||||
|
ac_add_options --with-app-basename=${_pkgname}
|
||||||
|
ac_add_options --with-branding=browser/branding/${pkgname}
|
||||||
|
ac_add_options --with-distribution-id=io.gitlab.${pkgname}-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
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
patch -p1 -i ../remove_addons.patch
|
||||||
|
patch -p1 -i ../megabar.patch
|
||||||
|
patch -p1 -i ../unity-menubar.patch
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Disabling Pocket
|
||||||
|
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
|
||||||
|
# this one only to remove an annoying error message:
|
||||||
|
sed -i 's#SaveToPocket.init();#// SaveToPocket.init();#g' browser/components/BrowserGlue.jsm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# allow SearchEngines option in non-ESR builds
|
||||||
|
sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json
|
||||||
|
|
||||||
|
_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
|
||||||
|
sed "$_settings_services_sed" -i modules/libpref/init/all.js
|
||||||
|
sed "$_settings_services_sed" -i services/settings/Utils.jsm
|
||||||
|
sed "$_settings_services_sed" -i toolkit/components/search/SearchUtils.jsm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cp -r ../common/source_files/* ./
|
||||||
|
|
||||||
|
# FIXME: this 'mozconfig' file in the 'common' submodule should be removed
|
||||||
|
# this submodule is purely for the branding.
|
||||||
|
rm -f mozconfig
|
||||||
|
|
||||||
|
# FIXME: on windows: the stubinstaller folder is missing from the librewolf branding folder.
|
||||||
|
# this might be a bug in FF however as it seems to take missing branding resources from
|
||||||
|
# the nightly branding. We probably want this stuff merged into the 'common' submodule.
|
||||||
|
cp -r ../missing_branding_files/stubinstaller browser/branding/librewolf
|
||||||
|
|
||||||
|
# just a straight copy for now..
|
||||||
|
cp ../mozconfig .mozconfig
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
./mach build
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
./mach package
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
installer_win() {
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
# apply the LibreWolf settings
|
||||||
|
cp -rv ../settings/* obj-x86_64-pc-mingw32/dist/librewolf
|
||||||
|
|
||||||
|
# recreate the zip file..
|
||||||
|
cd obj-x86_64-pc-mingw32/dist
|
||||||
|
rm -f librewolf-$pkgver.en-US.win64.txt librewolf-$pkgver.en-US.win64.zip
|
||||||
|
zip -r9 librewolf-$pkgver.en-US.win64.zip librewolf
|
||||||
|
/c/mozilla-source/Git/usr/bin/sha256sum.exe librewolf-$pkgver.en-US.win64.zip > librewolf-$pkgver.en-US.win64.zip.sha256sum
|
||||||
|
rm -f ../../../librewolf-$pkgver.en-US.win64.zip*
|
||||||
|
cp librewolf-$pkgver.en-US.win64.zip* ../../..
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
installer_macos() {
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
# TODO: we want to apply the librewolf settings and make the .dmg file here.
|
||||||
|
echo 'build.sh: installer_macos() Not implemented yet.'
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# process commandline arguments and do something
|
||||||
|
done_something=0
|
||||||
|
if [[ "$*" == *fetch* ]]; then
|
||||||
|
fetch
|
||||||
|
done_something=1
|
||||||
|
fi
|
||||||
|
if [[ "$*" == *prepare* ]]; then
|
||||||
|
prepare
|
||||||
|
done_something=1
|
||||||
|
fi
|
||||||
|
if [[ "$*" == *build* ]]; then
|
||||||
|
build
|
||||||
|
done_something=1
|
||||||
|
fi
|
||||||
|
if [[ "$*" == *package* ]]; then
|
||||||
|
package
|
||||||
|
done_something=1
|
||||||
|
fi
|
||||||
|
if [[ "$*" == *installer_win* ]]; then
|
||||||
|
installer_win
|
||||||
|
done_something=1
|
||||||
|
fi
|
||||||
|
if [[ "$*" == *installer_macos* ]]; then
|
||||||
|
installer_macos
|
||||||
|
done_something=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( done_something == 0 )); then
|
||||||
|
echo "Usage: $0 fetch | prepare | build | package | installer_win | installer_mac"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
1
common
Submodule
1
common
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 9995c8b275e2a06db3e0b24974b302a63791fc24
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
#C:\Users\<username>\AppData\Roaming\LibreWolf\Profiles\xxxxxxxx.default
|
|
||||||
BIN
missing_branding_files/stubinstaller/bgstub.jpg
Normal file
BIN
missing_branding_files/stubinstaller/bgstub.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
61
missing_branding_files/stubinstaller/installing_page.css
Normal file
61
missing_branding_files/stubinstaller/installing_page.css
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
/* 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/. */
|
||||||
|
|
||||||
|
body {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#label,
|
||||||
|
#progress_background,
|
||||||
|
#blurb {
|
||||||
|
text-align: center;
|
||||||
|
margin: 20px 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#label {
|
||||||
|
font-size: 40px;
|
||||||
|
margin-top: 100px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#progress_background {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 60%;
|
||||||
|
height: 24px;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.high-contrast #progress_background {
|
||||||
|
outline: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
#progress_bar {
|
||||||
|
margin: 0;
|
||||||
|
width: 0%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #00AAFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* In high contrast mode, fill the entire progress bar with its border. */
|
||||||
|
body.high-contrast #progress_bar {
|
||||||
|
/* This border should be the height of progress_background. */
|
||||||
|
border-top: 24px solid;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This layout doesn't want the header or content text. */
|
||||||
|
#header, #content {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#blurb {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The footer goes in the bottom right corner. */
|
||||||
|
#footer {
|
||||||
|
position: fixed;
|
||||||
|
right: 50px;
|
||||||
|
bottom: 59px;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
/* 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/. */
|
||||||
|
|
||||||
|
body {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header,
|
||||||
|
#refreshCheckboxContainer,
|
||||||
|
#refreshButtonContainer {
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 40px;
|
||||||
|
margin-right: 40px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
font-size: 35px;
|
||||||
|
font-weight: normal;
|
||||||
|
margin-top: 45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#refreshCheckbox {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
#checkboxLabel {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#refreshButton {
|
||||||
|
padding: 8px 40px;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The footer goes in the bottom right corner. */
|
||||||
|
#footer {
|
||||||
|
position: fixed;
|
||||||
|
right: 50px;
|
||||||
|
bottom: 59px;
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue