windows/build.readme.md
Bert van der Weerd 5a84e4cccf
documentation
2021-04-10 00:23:40 +02:00

2.8 KiB

Use: ./build.sh clean | all | [other stuff...]

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_perm   - package as above, but use the permissive config/policies.

Linux related functions:

deps_deb	        - install dependencies with apt.
deps_rpm	        - install dependencies with dnf.
deps_pkg	        - install dependencies with pkg. (freebsd)
deps_mac	        - install dependencies with brew. (macOS)

artifacts_deb       - apply .cfg, create a dist zip file (for debian10).
artifacts_deb_perm  - include permissive build.
artifacts_rpm       - apply .cfg, create a dist zip file (for fedora33).
artifacts_rpm_perm  - include permissive build.

Generic utility functionality:

all             - build all, produce all artifacts including -permissive.
clean           - remove generated cruft.

mach_env        - create mach build environment.
rustup          - perform a rustup for this user.
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-87.0 for creating patches.
mach_run_config - copy librewolf config/policies to enable 'mach run'.

Cross-compile from linux:

linux_patches    - the 'do_patches' for linux->win crosscompile.
linux_artifacts  - standard artifact zip file. perhaps a -setup.exe.
setup_deb_root   - setup compile environment (root stuff)
setup_deb_user   - setup compile environmnet (build user)
setup_rpm_root   - setup compile environment (root stuff)
setup_rpm_user   - setup compile environmnet (build user)

Nightly:

init_mozilla_unified   - use bootstrap.py to grab the latest mozilla-unified.
set_mozilla_unified    - use mozilla-unified instead of firefox-87.0 source.
reset_mozilla_unified  - clean mozilla-unified and pull latest git changes.

Documentation is in the build-howto.md. In a docker situation, we'd like to run something like:

./build.sh fetch extract linux_patches build linux_artifacts

Installation from linux zip file:

Copy the zip file in your $HOME folder, then:

unzip librewolf-*.zip
cd librewolf
./register-librewolf

That should give an app icon. You can have it elsewhere and it will work.

Examples:

For windows, use:
  ./build.sh fetch extract do_patches build artifacts_win
  ./build.sh all

For debian, use: 
  sudo ./build.sh deps_deb 
  ./build.sh rustup mach_env
  ./build.sh fetch extract do_patches build artifacts_deb