update readme
This commit is contained in:
96
README.md
96
README.md
@@ -13,7 +13,7 @@ Features:
|
|||||||
Build Dependencies:
|
Build Dependencies:
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
To build this, you will need the following software packages (all available in Debian) :
|
To build this, you will need the following software packages (all available in Debian and Ubuntu, see WSL section below) :
|
||||||
|
|
||||||
- make
|
- make
|
||||||
- nsis
|
- nsis
|
||||||
@@ -30,36 +30,14 @@ and copy the content of `Plugins` to `/usr/share/nsis/Plugins`.
|
|||||||
cp -rv Plugins/* /usr/share/nsis/Plugins/
|
cp -rv Plugins/* /usr/share/nsis/Plugins/
|
||||||
```
|
```
|
||||||
|
|
||||||
To build a Debian package, you'll also need
|
|
||||||
|
|
||||||
- checkinstall
|
|
||||||
|
|
||||||
Preparation
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Before you build, run the targets
|
|
||||||
|
|
||||||
make clean-extensions
|
|
||||||
make extensions
|
|
||||||
|
|
||||||
to update the extensions to point to their latest versions.
|
|
||||||
|
|
||||||
Windows Build
|
Windows Build
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
After installing the dependencies and completing the preparations,
|
After installing the dependencies and completing the preparations,
|
||||||
just run `make`. This will produce three files:
|
just run `make`. This will produce the install.exe - the windows
|
||||||
|
installer, which sets up shortcuts to launch Firefox on Windows.
|
||||||
|
|
||||||
profile.tgz - the firefox profile, plus a shell script which will
|
When generating a build it's important to make sure that the
|
||||||
launch it if Firefox is found in the $PATH on Unix-Like operating
|
|
||||||
systems.
|
|
||||||
app-profile.tgz - the Firefox profile plus a launcher shell script,
|
|
||||||
which will launch a *modified* Firefox without a URL bar as a router
|
|
||||||
console wrapper.
|
|
||||||
install.exe - the windows installer, which sets up shortcuts to
|
|
||||||
launch Firefox on Windows.
|
|
||||||
|
|
||||||
When generating a Windows build it's important to make sure that the
|
|
||||||
licenses for all the bundled softare are included. This should happen
|
licenses for all the bundled softare are included. This should happen
|
||||||
automatically. When bundling software, describe the terms and where
|
automatically. When bundling software, describe the terms and where
|
||||||
they are applied in the `LICENSE.index`, then add the full license
|
they are applied in the `LICENSE.index`, then add the full license
|
||||||
@@ -70,6 +48,19 @@ target is run automatically during the build process.
|
|||||||
Including a jpackaged I2P Router
|
Including a jpackaged I2P Router
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
|
**Prerequisites:** You need to have OpenJDK 14 or greater installed and configured
|
||||||
|
with your `%JAVA_HOME%` environment variable configured and `%JAVA_HOME%/bin` on
|
||||||
|
your `%PATH%`. You need to have Apache Ant installed and configured with `%ANT_HOME%`
|
||||||
|
environment variable configured and `%ANT_HOME%/bin` on your `%PATH%`. You must have
|
||||||
|
Cygwin installed. You must have `NSIS.exe` installed and `makensis` available on your
|
||||||
|
`%PATH%`. You must have Git for Windows installed. When installing git for Windows,
|
||||||
|
you should select "Checkout as is, commit as is" and leave line-endings alone.
|
||||||
|
|
||||||
|
TODO: Add links to the respective instructions for each of these.
|
||||||
|
|
||||||
|
**Note that after the dependencies are installed, this step is automated**
|
||||||
|
**with `./build.sh`.**
|
||||||
|
|
||||||
In order to include a jpackaged(dependency-free) I2P router in the Profile
|
In order to include a jpackaged(dependency-free) I2P router in the Profile
|
||||||
Bundle you will need to build the jpackaged I2P router as an "App Image" on
|
Bundle you will need to build the jpackaged I2P router as an "App Image" on
|
||||||
a Windows system and place it into a directory called `I2P` in your `i2p.firefox`
|
a Windows system and place it into a directory called `I2P` in your `i2p.firefox`
|
||||||
@@ -94,19 +85,13 @@ with a non-fatal warning.
|
|||||||
In the near future, I'll start providing a pre-built app image to ease the
|
In the near future, I'll start providing a pre-built app image to ease the
|
||||||
build process for non-Windows users.
|
build process for non-Windows users.
|
||||||
|
|
||||||
End-to-End Windows build process using WSL
|
End-to-End Windows build process using WSL(**Recommended**)
|
||||||
------------------------------------------
|
-----------------------------------------------------------
|
||||||
|
|
||||||
**If you've already done this once, you can just use:** `./build.sh && wsl make`
|
**If you've already done this once, you can just use:** `./unsigned.sh`
|
||||||
**in `git bash`** to automatically build an installer.
|
**in `git bash`** to automatically build an installer. If you
|
||||||
|
are using this method, you may use the `makensis` and `make` from
|
||||||
**Prerequisites:** You need to have OpenJDK 14 or greater installed and configured
|
Ubuntu in WSL.
|
||||||
with your `%JAVA_HOME%` environment variable configured and `%JAVA_HOME%/bin` on
|
|
||||||
your `%PATH%`. You need to have Apache Ant installed and configured with `%ANT_HOME%`
|
|
||||||
environment variable configured and `%ANT_HOME%/bin` on your `%PATH%`. You must have
|
|
||||||
Cygwin installed. You must have `NSIS.exe` installed and `makensis` available on your
|
|
||||||
`%PATH%`. You must have Git for Windows installed. When installing git for Windows,
|
|
||||||
you should select "Checkout as is, commit as is" and leave line-endings alone.
|
|
||||||
|
|
||||||
1. [Set up Windows Subsystem for Linux per Microsoft's instructions](https://docs.microsoft.com/en-us/windows/wsl/install-win10#manual-installation-steps)
|
1. [Set up Windows Subsystem for Linux per Microsoft's instructions](https://docs.microsoft.com/en-us/windows/wsl/install-win10#manual-installation-steps)
|
||||||
2. [Install Ubuntu Focal per Microsoft's instructions](https://www.microsoft.com/store/apps/9n6svws3rx71)
|
2. [Install Ubuntu Focal per Microsoft's instructions](https://www.microsoft.com/store/apps/9n6svws3rx71)
|
||||||
@@ -133,21 +118,25 @@ you should select "Checkout as is, commit as is" and leave line-endings alone.
|
|||||||
|
|
||||||
wsl make
|
wsl make
|
||||||
|
|
||||||
End-to-End Windows build process using Cygwin
|
End-to-End Windows build process using Cygwin(More difficult than WSL for now)
|
||||||
---------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
I highly recommend you look into the Chocolatey package manager, which makes it much
|
I highly recommend you look into the Chocolatey package manager, which makes it much
|
||||||
easier to configure these tools and keep them up to date.
|
easier to configure these tools and keep them up to date.
|
||||||
|
|
||||||
**Prerequisites:** You need to have OpenJDK 14 or greater installed and configured
|
**Prerequisites:** In addition to the other prerequisites, you will need to to have
|
||||||
with your `%JAVA_HOME%` environment variable configured and `%JAVA_HOME%/bin` on
|
`make` installed with `cygwin`. If you are using this method, you cannot use the
|
||||||
your `%PATH%`. You need to have Apache Ant installed and configured with `%ANT_HOME%`
|
automated build scripts without a hack. You will need to create a file called `wsl`
|
||||||
environment variable configured and `%ANT_HOME%/bin` on your `%PATH%`. You must have
|
in a place that is in the path used by `git-bash.exe` sessions, with the content:
|
||||||
WSL and git bash installed. You must have `NSIS.exe` installed and `makensis` available on your
|
|
||||||
`%PATH%`. You must have Git for Windows installed. When installing git for Windows, you should
|
|
||||||
select "Checkout as is, commit as is" and leave line-endings alone.
|
|
||||||
|
|
||||||
TODO: Add links to the respective instructions for each of these.
|
```
|
||||||
|
#! /usr/bin/env bash
|
||||||
|
$@
|
||||||
|
```
|
||||||
|
|
||||||
|
For our purposes, as long as everything else is set up and you're using git bash,
|
||||||
|
that is enough to make the scripts compatible with `cygwin`. Cygwin builds without
|
||||||
|
git bash are not likely to work.
|
||||||
|
|
||||||
1. Run the Cygwin `setup-$arch.exe` for your platform to set up new packages. Select the `make` `jq` `dos2unix` and `curl` packages.
|
1. Run the Cygwin `setup-$arch.exe` for your platform to set up new packages. Select the `make` `jq` `dos2unix` and `curl` packages.
|
||||||
2. Open a cygwin terminal.
|
2. Open a cygwin terminal.
|
||||||
@@ -179,16 +168,11 @@ Certificate which Windows will recognize. The current signer of the Windows
|
|||||||
bundle is Zlatinb. Standard Windows signing tools are used.
|
bundle is Zlatinb. Standard Windows signing tools are used.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Release Copypasta
|
./release.sh
|
||||||
./clean.sh
|
|
||||||
wsl make distclean
|
|
||||||
wsl make clean-extensions
|
|
||||||
wsl make extensions
|
|
||||||
./build.sh
|
|
||||||
wsl make
|
|
||||||
./sign.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
produces the binary.
|
||||||
|
|
||||||
Building a signed update file
|
Building a signed update file
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user