2.6 KiB
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:
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:
- Set a
GITHUB_TOKEN
in the environment containing an API key. - Update
CHANGES.md
- Update the version number(
GITHUB_TAG
) and version title(GITHUB_NAME
) inconfig.sh
- On a Linux machine, run
./release.sh
- On a Windows machine, run
./windows-release.sh
- 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
docker build -t eyedeekay/i2p.plugins.firefox .
xhost + local:docker
docker run -it --rm \
--net=host \
-e DISPLAY=unix$(DISPLAY) \
-v /tmp/.X11-unix:/tmp/.X11-unix \
eyedeekay/i2p.plugins.firefox