From ab290c19f3e6077d55df10e9b981d37e411bf4f9 Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Fri, 9 Apr 2021 16:45:52 +0200 Subject: [PATCH] added build.readme.md --- build.readme.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 build.readme.md diff --git a/build.readme.md b/build.readme.md new file mode 100644 index 0000000..c032668 --- /dev/null +++ b/build.readme.md @@ -0,0 +1,76 @@ +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 +