118 lines
2.6 KiB
Markdown
118 lines
2.6 KiB
Markdown
Packages for various operating systems
|
|
======================================
|
|
|
|
Making a new release:
|
|
---------------------
|
|
|
|
Release dependency: I use `github-release` to automatically upload packages to github.
|
|
You can obtain it with:
|
|
|
|
```sh
|
|
go install github.com/github-release/github-release@latest
|
|
```
|
|
|
|
You will need it on both the Windows and Linux system. OSX too if I jpackage this
|
|
for it.
|
|
|
|
Releases can be created in a mostly automatic way. With a working Java toolchain
|
|
including jpackage installed:
|
|
|
|
0. Set a `GITHUB_TOKEN` in the environment containing an API key.
|
|
1. Update `CHANGES.md`
|
|
2. Update the version number(`GITHUB_TAG`) and version title(`GITHUB_NAME`) in `config.sh`
|
|
3. On a Linux machine, run `./release.sh`
|
|
4. On a Windows machine, run `./windows-release.sh`
|
|
5. On whatever machine you check in code with, run `./packages.sh`
|
|
|
|
Windows
|
|
-------
|
|
|
|
All Windows packages require building on a Windows machine. In order to build
|
|
them, check out i2p.firefox in an adjacent directory and `source` i2p.firefox/config.sh
|
|
to set the path to the Java toolchain you want to use.
|
|
|
|
run: `ant jar` before any of these scripts.
|
|
|
|
run: `windows-release.sh` only *after* release.sh on a Linux machine.
|
|
|
|
### MSI
|
|
|
|
Requires the Wixl toolset.
|
|
|
|
#### Status: Works. Maintained.
|
|
|
|
run: `./windows.sh`
|
|
|
|
#### EXE
|
|
|
|
No special requirements.
|
|
|
|
#### Status: Works. Maintained.
|
|
|
|
run: `./windows-exe.sh`
|
|
|
|
### Portable(.zip)
|
|
|
|
No special requirements.
|
|
|
|
#### Status: Works. Maintained.
|
|
|
|
run: `./windows-portable.sh`
|
|
|
|
Linux
|
|
-----
|
|
|
|
All Linux packages require building on a Linux machines. Debian packages must
|
|
be built on Debian, Fedora packages must be built on Fedora. Some leeway for
|
|
derivative distros. Portable can be b build anywhere with a jpackage. Have
|
|
Java tools in your `PATH`.
|
|
|
|
### Debian
|
|
|
|
Make sure you have a recent Java and jpackage.
|
|
|
|
#### Status: Works. Maintained.
|
|
|
|
run: `ant debian`
|
|
|
|
### Fedora
|
|
|
|
I'm a Debian user and don't have a Fedora machine set up right now. Therefore,
|
|
I build Fedora packages in a container.
|
|
|
|
Fedora doesn't have a jpackage in their repositories as far as I can tell so I use
|
|
Adoptium's third-party repository to supply the JDK I use to build the fedora
|
|
package.
|
|
|
|
#### Status: Unknown. Maintained.
|
|
|
|
run: `ant fedora`
|
|
|
|
### Portable(.zip)
|
|
|
|
Details are platform dependent. Same build-deps as everything else.
|
|
|
|
#### Status: Works. Maintained.
|
|
|
|
run: `ant jpackage`
|
|
|
|
Docker
|
|
------
|
|
|
|
```sh
|
|
docker build -t eyedeekay/i2p.plugins.firefox .
|
|
```
|
|
|
|
```sh
|
|
xhost + local:docker
|
|
docker run -it --rm \
|
|
--net=host \
|
|
-e DISPLAY=unix$(DISPLAY) \
|
|
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
|
eyedeekay/i2p.plugins.firefox
|
|
```
|
|
|
|
OSX
|
|
---
|
|
|
|
### TODO |