Compare commits

...

33 Commits

Author SHA1 Message Date
0566665a24 update version numbers 2023-07-10 15:03:20 -04:00
9d8da8b65a update version numbers 2023-07-10 15:02:54 -04:00
idk
cbf693dfb3 move more stuff out of makefiles and into scripts 2023-04-30 05:50:03 +00:00
idk
2b24239267 add torrent releaser script 2023-04-30 05:20:28 +00:00
idk
706ae974bc add download-back buildscript 2023-04-30 05:05:46 +00:00
idk
d7544ced5f Remove redundant clean 2023-04-28 20:36:36 +00:00
idk
ec44c0f6e3 remove redundant clean 2023-04-28 20:35:34 +00:00
idk
10fe05066c use powershell before which wget in wget finder function 2023-04-24 16:28:29 +00:00
idk
a5c7bac581 zip in release upload 2023-04-22 15:33:40 +00:00
idk
7eeb2e4523 add release uploader script 2023-04-22 06:14:05 +00:00
idk
9cae0f78ad add release uploader script 2023-04-22 06:06:11 +00:00
idk
99438cfc33 fix changelog date 2023-04-22 06:00:58 +00:00
idk
eba4ebe3d0 remove last few references to wsl 2023-04-22 05:50:24 +00:00
idk
7f24838725 ShellExecAsUser is not required for installers that do not run as admin, this installer is adminless 2023-04-19 03:30:06 +00:00
idk
673725304c ShellExecAsUser is not required for installers that do not run as admin, this installer is adminless 2023-04-19 02:13:43 +00:00
idk
7cf2bf455a fix licenses path on windows 2023-04-19 02:05:22 +00:00
idk
d177435b50 work around makensis path issues 2023-04-19 01:34:29 +00:00
idk
33fb6ab6d5 work around makensis path issues 2023-04-19 01:33:05 +00:00
idk
29827366fb work around makensis path issues 2023-04-19 01:30:01 +00:00
idk
edfe44bc3b work around makensis path issues 2023-04-19 01:26:11 +00:00
idk
432e2c54f8 bump version 2023-04-19 01:25:02 +00:00
idk
8894c946bc work around makensis path issues 2023-04-19 01:16:51 +00:00
idk
bc9b4a0250 use invoke-webrequest instead of wget on windows 2023-04-19 00:01:20 +00:00
idk
35841c7887 fix positional args for wsl-free build 2023-04-18 23:14:09 +00:00
idk
e3afb9de1d fix paths for wsl-free windows build 2023-04-18 23:03:48 +00:00
idk
3b11def66c fix paths for wsl-free windows build 2023-04-18 22:54:12 +00:00
idk
e152513043 Work around absence of wget, lessens requirement of wsl 2023-04-18 22:35:26 +00:00
idk
81dd3ed5ef update config file, automatically determine JAVA_HOME from java in path, automatically find apache ant 2023-04-18 20:28:41 +00:00
idk
0630f77a4c update .gitignore 2023-04-18 20:16:34 +00:00
idk
204fda1a11 Remove i2pbrowser-jpackage file 2023-04-18 20:14:33 +00:00
idk
9e1ef2d546 Remove i2pbrowser-jpackage file 2023-04-18 20:14:25 +00:00
idk
688bc1b0f3 update from 2.2.0 to 2.2.1 2023-04-18 20:10:10 +00:00
idk
dd566165dd update from -19 to -20 2023-04-18 20:07:41 +00:00
20 changed files with 322 additions and 179 deletions

3
.gitignore vendored
View File

@ -26,3 +26,6 @@ i2pkeys
onionkeys
tlskeys
tmp
/.stfolder/
/.vscode/
*github-release-config*.sh*

46
Dockerfile Normal file
View File

@ -0,0 +1,46 @@
FROM debian:sid
## Originally found at: https://yusuke.blog/2021/10/19/3149 and updated to Java 20.
## This does not work yet.
RUN dpkg --add-architecture i386
RUN apt-get update
RUN apt-get install -y curl fakeroot unzip gnupg dos2unix make nsis* dos2unix curl jq
# install JDK
RUN curl --output /opt/java20.zip https://download.java.net/java/GA/jdk20.0.1/b4887098932d415489976708ad6d1a4b/9/GPL/openjdk-20.0.1_windows-x64_bin.zip \
&& cd /opt/ \
&& unzip java20.zip \
&& rm java20.zip
ENV JAVA_HOME /opt/jdk-20.0.1
# install Wine
RUN apt-get update
RUN apt install --install-recommends wine wine64* wine-binfmt fonts-wine -y
RUN wine --version
RUN wine wineboot --init
# install WIX TOOLSET
RUN mkdir /opt/wix311 \
&& cd /opt/wix311 \
&& curl -L --output /opt/wix311/wix311.zip https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip \
&& unzip wix311.zip \
&& rm wix311.zip
# WIX TOOLSET is requring .NET.
RUN curl --output winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks &&\
chmod +x winetricks && \
mv -v winetricks /usr/local/bin
# DONNO why dotnet48 installation fails with "warning: exit status 5 - user selected 'Cancel' "
# https://forum.winehq.org/viewtopic.php?f=8&t=35724
#ENV WINEPREFIX=/dotnet-test
#RUN /usr/local/bin/winetricks --optout -q dotnet48
ENV WINEPATH /opt/jdk-20.0.1/bin\;/opt/wix311
WORKDIR /root
COPY . /root
RUN echo "wine /opt/jdk-20.0.1/bin/jpackage.exe $@" > /opt/jdk-20.0.1/bin/jpackage
RUN chmod +x /opt/jdk-20.0.1/bin/jpackage
CMD ./buildscripts/build.sh

View File

@ -14,29 +14,19 @@ all: version install.exe
fmt:
find . -name '*.java' -exec clang-format -i {} \;
tag:
git tag $(PROFILE_VERSION)
version:
./buildscripts/version.sh
jpackage: version I2P build/I2P/config all
jpackage: version I2P build/I2P all
help: version
@echo "I2P-Easy-Install-Bundle-$(PROFILE_VERSION)"
@echo "$(SIGNER)"
@echo "$(I2P_VERSION)"
@echo "$(MAJOR).$(MINOR).$(BUILD)"
@echo "$(preset)"
prep:
install.exe:
./buildscripts/nsis.sh
export RES_DIR="../i2p.i2p.jpackage-build/installer/resources"
export PKG_DIR="../i2p.i2p.jpackage-build/pkg-temp"
#export I2P_JBIGI="../i2p.i2p.jpackage-build/installer/lib/jbigi"
./buildscripts/unsigned.sh
distclean: clean
rm -rf I2P
@ -45,10 +35,9 @@ I2P:
./buildscripts/build.sh
build/I2P: I2P build
cp -v I2P build/I2P
src/I2P/config:
build/I2P/config: src/I2P/config build/I2P
build/I2P: build/I2P
#
# Warning: a displayed license file of more than 28752 bytes
@ -65,38 +54,3 @@ build:
@echo "creating build directory"
mkdir -p build
include makefiles/su.mk
include makefiles/su-unsigned.mk
I2P_DATE=`date +%Y-%m-%d`
MAGNET=`bttools torrent dumpinfo i2pwinupdate.su3.torrent | grep 'Magnet' | sed 's|Magnet: ||g' | sed 's|%3A|:|g'| sed 's|%2F|/|g'`
MAGNET_TESTING=`bttools torrent dumpinfo i2pwinupdate-testing.su3.torrent | grep 'MagNet' | sed 's|MagNet: ||g' | sed 's|%3A|:|g'| sed 's|%2F|/|g'`
magnet:
echo "$(MAGNET)"
BLANK=`awk '! NF { print NR; exit }' changelog.txt`
I2P.zip: I2P-jpackage-windows-$(I2P_VERSION).zip
I2P-jpackage-windows-$(I2P_VERSION).zip:
sh -c 'powershell Compress-Archive I2P I2P-jpackage-windows-$(I2P_VERSION).zip || zip I2P-jpackage-windows-$(I2P_VERSION).zip -r I2P'
changelog:
head -n "$(BLANK)" changelog.txt
release-jpackage: I2P-jpackage-windows-$(I2P_VERSION).zip
head -n "$(BLANK)" changelog.txt | gothub release -p -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION) -n i2p-jpackage-windows-$(I2P_VERSION) -d -; true
update-release-jpackage:
head -n "$(BLANK)" changelog.txt | gothub edit -p -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION) -n i2p-jpackage-windows-$(I2P_VERSION) -d -; true
delete-release-jpackage:
gothub delete -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION); true
upload-release-jpackage:
gothub upload -R -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION) -n "i2p-jpackage-windows-$(I2P_VERSION)" -f "./I2P-jpackage-windows-$(I2P_VERSION).zip"
jpackage-release: release-jpackage upload-release-jpackage

View File

@ -95,15 +95,15 @@ mkdir -p "$SCRIPT_DIR/build"
cp "$I2P_JARS"/*.jar "$SCRIPT_DIR/build"
cp "$I2P_JBIGI_JAR" "$SCRIPT_DIR/build"
if [ ! -f "$SCRIPT_DIR/build/jna.jar" ]; then
wget -O "$SCRIPT_DIR/build/jna.jar" "https://repo1.maven.org/maven2/net/java/dev/jna/jna/$JNA_VERSION/jna-$JNA_VERSION.jar"
wget "https://repo1.maven.org/maven2/net/java/dev/jna/jna/$JNA_VERSION/jna-$JNA_VERSION.jar" -O "$SCRIPT_DIR/build/jna.jar"
fi
if [ ! -f "$SCRIPT_DIR/build/jna-platform.jar" ]; then
wget -O "$SCRIPT_DIR/build/jna-platform.jar" "https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/$JNA_VERSION/jna-platform-$JNA_VERSION.jar"
wget "https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/$JNA_VERSION/jna-platform-$JNA_VERSION.jar" -O "$SCRIPT_DIR/build/jna-platform.jar"
fi
if [ ! -f "$SCRIPT_DIR/build/i2pfirefox.jar" ]; then
wget -O "$SCRIPT_DIR/build/i2pfirefox.jar" "https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/$I2PFIREFOX_VERSION/i2pfirefox.jar"
wget "https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/$I2PFIREFOX_VERSION/i2pfirefox.jar" -O "$SCRIPT_DIR/build/i2pfirefox.jar"
fi
for dll in "$I2P_JBIGI/"*windows*.dll; do
@ -111,7 +111,7 @@ for dll in "$I2P_JBIGI/"*windows*.dll; do
done
cd "$SCRIPT_DIR"/java
"$JAVA_HOME"/bin/javac -Xlint:deprecation -d ../build -classpath "$SCRIPT_DIR/build/i2pfirefox.jar:$SCRIPT_DIR/build/jna.jar":"$SCRIPT_DIR/build/jna-platform.jar":"$SCRIPT_DIR/build/i2p.jar":"$SCRIPT_DIR/build/router.jar":"$SCRIPT_DIR/build/routerconsole.jar":"$SCRIPT_DIR/build/jbigi.jar" \
"$JAVA_HOME"/bin/javac -Xlint:deprecation -d ../build -classpath "$SCRIPT_DIR/build/i2pfirefox.jar:$SCRIPT_DIR/build/jna.jar:$SCRIPT_DIR/build/jna-platform.jar":"$SCRIPT_DIR/build/i2p.jar:$SCRIPT_DIR/build/router.jar:$SCRIPT_DIR/build/routerconsole.jar:$SCRIPT_DIR/build/jbigi.jar" \
net/i2p/router/CopyConfigDir.java \
net/i2p/router/WindowsServiceUtil.java \
net/i2p/router/WindowsUpdatePostProcessor.java \

View File

@ -15,12 +15,7 @@ if [ -f "$SCRIPT_DIR/config_override.sh" ]; then
. "$SCRIPT_DIR/config_override.sh"
fi
MAKENSIS=$(which makensis)
if [ -z "$MAKENSIS" ]; then
MAKENSIS="wsl makensis"
fi
cp "$SCRIPT_DIR"/src/nsis/*.nsi "$SCRIPT_DIR"/build
cp "$SCRIPT_DIR"/src/nsis/*.nsh "$SCRIPT_DIR"/build
cp "$SCRIPT_DIR"/src/icons/*.ico "$SCRIPT_DIR"/build
cd "$SCRIPT_DIR"/build && $MAKENSIS i2pbrowser-installer.nsi && cp I2P-Easy-Install-Bundle-*.exe ../ && echo "built windows installer"
cd "$SCRIPT_DIR"/build && makensisi i2pbrowser-installer.nsi && cp I2P-Easy-Install-Bundle-*.exe ../ && echo "built windows installer"

View File

@ -0,0 +1,42 @@
#! /usr/bin/env bash
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)/..
cd "$SCRIPT_DIR" || exit 1
. "$SCRIPT_DIR/i2pversion"
if [ -f i2pversion_override ]; then
. "$SCRIPT_DIR/i2pversion_override"
fi
mv "$SCRIPT_DIR/config_override.sh" "$SCRIPT_DIR/config_override.sh.bak"
. "$SCRIPT_DIR/config.sh"
### How to set up this script:
#
# This script will not work unless you give it a Github API key.
# You need to create a file in your $HOME directory, which on
# Windows will by /c/Users/yourusername, called github-release-config.sh,
# containing this key as the variable GITHUB_TOKEN.
# github-release-config.sh must also contain:
# GITHUB_USERNAME=your github username
. "$HOME/github-release-config.sh"
if [ -f ./i2pversion_override ]; then
. ./i2pversion_override
fi
echo github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "I2P-Easy-Install-Bundle-$I2P_VERSION.exe" -t "$I2P_VERSION"
github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "I2P-Easy-Install-Bundle-$I2P_VERSION.exe" -t "$I2P_VERSION"
echo github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "I2P.zip" -t "$I2P_VERSION"
github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "I2P.zip" -t "$I2P_VERSION"
echo github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "i2p.i2p.jpackage-build.tar.gz" -t "$I2P_VERSION"
github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "i2p.i2p.jpackage-build.tar.gz" -t "$I2P_VERSION"
echo github-release download -u "$GITHUB_USERNAME" -r i2p -t "$I2P_VERSION" -n "./I2P-jpackage-windows-$I2P_VERSION.zip"
github-release download -u "$GITHUB_USERNAME" -r i2p -t "$I2P_VERSION" -n "./I2P-jpackage-windows-$I2P_VERSION.zip"

View File

@ -0,0 +1,50 @@
#! /usr/bin/env bash
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)/..
cd "$SCRIPT_DIR" || exit 1
. "$SCRIPT_DIR/i2pversion"
if [ -f i2pversion_override ]; then
. "$SCRIPT_DIR/i2pversion_override"
fi
mv "$SCRIPT_DIR/config_override.sh" "$SCRIPT_DIR/config_override.sh.bak"
. "$SCRIPT_DIR/config.sh"
### How to set up this script:
#
# This script will not work unless you give it a Github API key.
# You need to create a file in your $HOME directory, which on
# Windows will by /c/Users/yourusername, called github-release-config.sh,
# containing this key as the variable GITHUB_TOKEN.
# github-release-config.sh must also contain:
# GITHUB_USERNAME=your github username
. "$HOME/github-release-config.sh"
if [ -f ./i2pversion_override ]; then
. ./i2pversion_override
fi
echo github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "i2pwinupdate.su3" -t "$I2P_VERSION"
github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "i2pwinupdate.su3" -t "$I2P_VERSION"
echo github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "i2pwinupdate.su3.torrent" -t "$I2P_VERSION"
github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "i2pwinupdate.su3.torrent" -t "$I2P_VERSION"
if [ ! -z "$I2P_SNARK_DIR" ]; then
if [ "$I2P_SNARK_DIR" = "$HOME/.i2p/i2psnark" ]; then
cp -v "i2pwinupdate.su3" "$I2P_SNARK_DIR"
cp -v "i2pwinupdate.su3.torrent" "$I2P_SNARK_DIR"
fi
if [ "$I2P_SNARK_DIR" = "$LOCALAPPDATA/i2p/i2psnark/" ]; then
cp -v "i2pwinupdate.su3" "$I2P_SNARK_DIR"
cp -v "i2pwinupdate.su3.torrent" "$I2P_SNARK_DIR"
fi
if [ "$I2P_SNARK_DIR" = "/var/lib/i2p/i2p-config/i2psnark/" ]; then
sudo cp -v "i2pwinupdate.su3" "$I2P_SNARK_DIR"
sudo cp -v "i2pwinupdate.su3.torrent" "$I2P_SNARK_DIR"
sudo chown i2psvc:i2psvc "$I2P_SNARK_DIR/i2pwinupdate.su3" "$I2P_SNARK_DIR/i2pwinupdate.su3.torrent"
fi
fi

43
buildscripts/release-torrent.sh Executable file
View File

@ -0,0 +1,43 @@
#! /usr/bin/env bash
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)/..
cd "$SCRIPT_DIR" || exit 1
. "$SCRIPT_DIR/i2pversion"
if [ -f i2pversion_override ]; then
. "$SCRIPT_DIR/i2pversion_override"
fi
mv "$SCRIPT_DIR/config_override.sh" "$SCRIPT_DIR/config_override.sh.bak"
. "$SCRIPT_DIR/config.sh"
### How to set up this script:
#
# This script will not work unless you give it a Github API key.
# You need to create a file in your $HOME directory, which on
# Windows will by /c/Users/yourusername, called github-release-config.sh,
# containing this key as the variable GITHUB_TOKEN.
# github-release-config.sh must also contain:
# GITHUB_USERNAME=your github username
. "$HOME/github-release-config.sh"
if [ -f ./i2pversion_override ]; then
. ./i2pversion_override
fi
cp -v "I2P-Easy-Install-Bundle-$I2P_VERSION.exe" "I2P-Easy-Install-Bundle-$I2P_VERSION-signed.exe"
java -cp "$I2P_LIBS/*" net.i2p.crypto.SU3File sign -c ROUTER -f EXE I2P-Easy-Install-Bundle-$I2P_VERSION-signed.exe I2P-Easy-Install-Bundle-$I2P_VERSION-signed.su3 "$HOME/.i2p-plugin-keys/news-su3-keystore.ks" $I2P_VERSION $SIGNER
rm -f i2pwinupdate.su3.torrent
mktorrent \
--announce=http://tracker2.postman.i2p/announce.php \
--announce=http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p/a \
--announce=http://mb5ir7klpc2tj6ha3xhmrs3mseqvanauciuoiamx2mmzujvg67uq.b32.i2p/a \
i2pwinupdate.su3
ZIPCHECKSUM=$(sha256sum "i2pwinupdate.su3")
echo github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "i2pwinupdate.su3" -l "$ZIPCHECKSUM" -t "$I2P_VERSION" -n "i2pwinupdate.su3"
github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "i2pwinupdate.su3" -l "$ZIPCHECKSUM" -t "$I2P_VERSION" -n "i2pwinupdate.su3"
ZIPCHECKSUM=$(sha256sum "i2pwinupdate.su3.torrent")
echo github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "i2pwinupdate.su3.torrent" -l "$ZIPCHECKSUM" -t "$I2P_VERSION" -n "i2pwinupdate.su3.torrent"
github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "i2pwinupdate.su3.torrent" -l "$ZIPCHECKSUM" -t "$I2P_VERSION" -n "i2pwinupdate.su3.torrent"

55
buildscripts/release-upload.sh Executable file
View File

@ -0,0 +1,55 @@
#! /usr/bin/env bash
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)/..
cd "$SCRIPT_DIR" || exit 1
. "$SCRIPT_DIR/i2pversion"
if [ -f i2pversion_override ]; then
. "$SCRIPT_DIR/i2pversion_override"
fi
mv "$SCRIPT_DIR/config_override.sh" "$SCRIPT_DIR/config_override.sh.bak"
. "$SCRIPT_DIR/config.sh"
### How to set up this script:
#
# This script will not work unless you give it a Github API key.
# You need to create a file in your $HOME directory, which on
# Windows will by /c/Users/yourusername, called github-release-config.sh,
# containing this key as the variable GITHUB_TOKEN.
# github-release-config.sh must also contain:
# GITHUB_USERNAME=your github username
git clean -fd
git checkout .
"$SCRIPT_DIR"/buildscripts/unsigned.sh
. "$HOME/github-release-config.sh"
if [ -f ./i2pversion_override ]; then
. ./i2pversion_override
fi
BLANK=$(awk '! NF { print NR; exit }' changelog.txt)
DESCRIPTION="Release build of i2p.firefox for $I2P_VERSION
==========================================================
$(head -n $BLANK changelog.txt)"
echo github-release release -p -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "$I2P_VERSION" -d "$DESCRIPTION" -t "$I2P_VERSION"
github-release release -p -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "$I2P_VERSION" -d "$DESCRIPTION" -t "$I2P_VERSION"
sleep 2s;
EXECHECKSUM=$(sha256sum "I2P-Easy-Install-Bundle-$I2P_VERSION.exe")
echo github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "I2P-Easy-Install-Bundle-$I2P_VERSION.exe" -l "$EXECHECKSUM" -t "$I2P_VERSION" -n "I2P-Easy-Install-Bundle-$I2P_VERSION.exe"
github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "I2P-Easy-Install-Bundle-$I2P_VERSION.exe" -l "$EXECHECKSUM" -t "$I2P_VERSION" -n "I2P-Easy-Install-Bundle-$I2P_VERSION.exe"
powershell Compress-Archive -force I2P I2P.zip
ZIPCHECKSUM=$(sha256sum "I2P.zip")
echo github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "I2P.zip" -l "$ZIPCHECKSUM" -t "$I2P_VERSION" -n "I2P.zip"
github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "I2P.zip" -l "$ZIPCHECKSUM" -t "$I2P_VERSION" -n "I2P.zip"
TARCHECKSUM=$(sha256sum "../i2p.i2p.jpackage-build.tar.gz")
echo github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "../i2p.i2p.jpackage-build.tar.gz" -l "Upstream I2P Router source code $TARCHECKSUM" -t "$I2P_VERSION" -n "i2p.i2p.jpackage-build.tar.gz"
github-release upload -R -u "$GITHUB_USERNAME" -r "i2p.firefox" -f "../i2p.i2p.jpackage-build.tar.gz" -l "Upstream I2P Router source code $TARCHECKSUM" -t "$I2P_VERSION" -n "i2p.i2p.jpackage-build.tar.gz"
sh -c "powershell Compress-Archive I2P I2P-jpackage-windows-$I2P_VERSION.zip || zip I2P-jpackage-windows-$I2P_VERSION.zip -r I2P"
echo github-release upload -R -u "$GITHUB_USERNAME" -r i2p -t "i2p.firefox" -n "i2p-jpackage-windows-$I2P_VERSION" -f "./I2P-jpackage-windows-$I2P_VERSION.zip"
github-release upload -R -u "$GITHUB_USERNAME" -r i2p -t "i2p.firefox" -n "i2p-jpackage-windows-$I2P_VERSION" -f "./I2P-jpackage-windows-$I2P_VERSION.zip"

View File

@ -10,7 +10,6 @@ if [ -f "$SCRIPT_DIR/config_override.sh" ]; then
fi
export machine=unix
"$SCRIPT_DIR"/buildscripts/clean.sh
wsl "$SCRIPT_DIR"/buildscripts/clean.sh
"$SCRIPT_DIR"/buildscripts/build.sh
cd "$SCRIPT_DIR/I2P" || exit 1

View File

@ -10,6 +10,5 @@ if [ -f "$SCRIPT_DIR/config_override.sh" ]; then
fi
"$SCRIPT_DIR"/buildscripts/clean.sh
wsl "$SCRIPT_DIR"/buildscripts/clean.sh
"$SCRIPT_DIR"/buildscripts/build.sh
"$SCRIPT_DIR"/buildscripts/nsis.sh

View File

@ -9,7 +9,6 @@ if [ -f "$SCRIPT_DIR/config_override.sh" ]; then
. "$SCRIPT_DIR/config_override.sh"
fi
"$SCRIPT_DIR"/buildscripts/clean.sh
wsl "$SCRIPT_DIR"/buildscripts/clean.sh
"$SCRIPT_DIR"/buildscripts/build.sh
cd "$SCRIPT_DIR/I2P" || exit 1

View File

@ -1,4 +1,4 @@
2022-01-23 idk
2023-01-23 idk
* Move build scripts to their own directory and make them use correct paths when moved
* Add EXTRA to router when generating embedded router jars.

View File

@ -5,24 +5,69 @@
uname=$(uname)
#export PATH="$PATH:/c/Program Files/Java/jdk-17.0.3/bin/"
#export JAVA_HOME="/c/Program Files/Java/jdk-17.0.3"
# to use it for Oracle OpenJDK18
# Third-party builders should always override this in config_override.sh
if [ -z "$SIGNER" ]; then
SIGNER=hankhill19580@gmail.com
export SIGNER=hankhill19580@gmail.com
fi
if [ -z "$I2P_LIBS" ]; then
if [ -d "$HOME/i2p/lib/" ]; then
I2P_LIBS="$HOME/i2p/lib/"
fi
if [ -d "$LOCALAPPDATA/i2p/lib/" ]; then
I2P_LIBS="$LOCALAPPDATA/i2p/lib/"
fi
if [ -d "/usr/share/i2p/lib/" ]; then
I2P_LIBS="/usr/share/i2p/lib/"
fi
fi
if [ -z "$I2P_SNARK_DIR" ]; then
if [ -d "$HOME/.i2p/i2psnark" ]; then
I2P_SNARK_DIR="$HOME/.i2p/i2psnark"
fi
if [ -d "$LOCALAPPDATA/i2p/i2psnark/" ]; then
I2P_SNARK_DIR="$LOCALAPPDATA/i2p/i2psnark/"
fi
if [ -d "/var/lib/i2p/i2p-config/i2psnark/" ]; then
I2P_SNARK_DIR="/var/lib/i2p/i2p-config/i2psnark/"
fi
fi
NSIS_PATH="/c/Program Files (x86)/NSIS/Bin"
PATH="$NSIS_PATH:$PATH:$NSIS_PATH/"
export PATH="$NSIS_PATH:$PATH:$NSIS_PATH/"
wget(){
which powershell && powershell Invoke-WebRequest $@ && return
which wget && wget $@ && return
}
makensisi(){
which makensis && makensis $@ && return
which wsl && wsl makensis $@ && return
}
make(){
which make && make $@ && return
which wsl && wsl make $@ && return
}
if [[ -n "$IS_WSL" || -n "$WSL_DISTRO_NAME" ]]; then
PATH="/c/Program Files/Java/jdk-19/bin/:$PATH:/c/Program Files/Java/jdk-19/bin/"
export PATH="/c/Program Files/Java/jdk-19/bin/:$PATH:/c/Program Files/Java/jdk-19/bin/"
JAVA_HOME="/c/Program Files/Java/jdk-19"
export JAVA_HOME="/c/Program Files/Java/jdk-19"
JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 | findstr "java.home" | sed 's| java.home = ||g')
export JAVA_HOME="$JAVA_HOME"
PATH="$JAVA_HOME/bin/:$PATH:$JAVA_HOME/bin/"
export PATH="$JAVA_HOME/bin/:$PATH:$JAVA_HOME/bin/"
HOST=win32
export HOST=win32
fi
if [ "${uname}" != "Linux" ]; then
PATH="/c/Program Files/Java/jdk-19/bin/:$PATH:/c/Program Files/Java/jdk-19/bin/"
export PATH="/c/Program Files/Java/jdk-19/bin/:$PATH:/c/Program Files/Java/jdk-19/bin/"
JAVA_HOME="/c/Program Files/Java/jdk-19"
export JAVA_HOME="/c/Program Files/Java/jdk-19"
JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 | findstr "java.home" | sed 's| java.home = ||g')
export JAVA_HOME="$JAVA_HOME"
PATH="$JAVA_HOME/bin/:$PATH:$JAVA_HOME/bin/"
export PATH="$JAVA_HOME/bin/:$PATH:$JAVA_HOME/bin/"
HOST=win32
export HOST=win32
fi
@ -32,10 +77,10 @@ fi
## This isn't a default install location, obviously, it's where I unzipped it.
## It won't work for you unless you kurtly tell Windows that your name is `user`
## every time you make an account, like I do.
#PATH="/c/Users/user/Downloads/openjdk-19_windows-x64_bin/jdk-19/bin/:$PATH:/c/Users/user/Downloads/openjdk-19_windows-x64_bin/jdk-19/bin/"
#export PATH="/c/Users/user/Downloads/openjdk-19_windows-x64_bin/jdk-19/bin/:$PATH:/c/Users/user/Downloads/openjdk-19_windows-x64_bin/jdk-19/bin/"
#JAVA_HOME=/c/Users/user/Downloads/openjdk-19_windows-x64_bin/jdk-19
#export JAVA_HOME=/c/Users/user/Downloads/openjdk-19_windows-x64_bin/jdk-19
#PATH="/c/Users/user/Downloads/openjdk-20_windows-x64_bin/jdk-20/bin/:$PATH:/c/Users/user/Downloads/openjdk-20_windows-x64_bin/jdk-20/bin/"
#export PATH="/c/Users/user/Downloads/openjdk-20_windows-x64_bin/jdk-20/bin/:$PATH:/c/Users/user/Downloads/openjdk-20_windows-x64_bin/jdk-20/bin/"
#JAVA_HOME=/c/Users/user/Downloads/openjdk-20_windows-x64_bin/jdk-20
#export JAVA_HOME=/c/Users/user/Downloads/openjdk-20_windows-x64_bin/jdk-20
## Other potential values(NOT exhaustive):
@ -72,8 +117,11 @@ fi
# You can also use this to temporarily add applications into the PATH that are
# required to build this if you do not wish to edit your PATH across the entire
# Windows session, and for setting ANT_HOME
#export ANT_HOME="/c/apache-ant-1.10.9"
#export PATH="$PATH:$ANT_HOME/bin/"
if [ -d "/c/apache-ant-"* ]; then
ANT_HOME=$(ls -d /c/apache-ant-*)
export ANT_HOME="$ANT_HOME"
export PATH="$PATH:$ANT_HOME/bin/"
fi
if [[ -n "$IS_WSL" || -n "$WSL_DISTRO_NAME" ]]; then
PATH="$PATH:/c/Program Files (x86)/Windows Kits/10/App Certification Kit/"

View File

@ -7,9 +7,9 @@ export I2PFIREFOX_VERSION=1.0.9
# Comment this out to build from an alternate branch or
# the tip of the master branch.
VERSIONMAJOR=2
VERSIONMINOR=2
VERSIONMINOR=3
VERSIONBUILD=0
I2P_VERSION="$VERSIONMAJOR.$VERSIONMINOR.$VERSIONBUILD"
export I2P_VERSION="$VERSIONMAJOR.$VERSIONMINOR.$VERSIONBUILD"
VERSION=i2p-2.2.0
export VERSION=i2p-2.2.0
VERSION=i2p-2.3.0
export VERSION=i2p-2.3.0

View File

@ -1,35 +0,0 @@
prepupdate-unsignedexe:
cp -v "I2P-Profile-Installer-$(PROFILE_VERSION).su3" i2pwinupdate-unsignedexe.su3
su3-unsignedexe: $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools
$(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools -name "I2P-Profile-Installer-$(PROFILE_VERSION)" -signer "$(SIGNER)" -version "$(I2P_VERSION)"
java -cp "$(HOME)/i2p/lib/*" net.i2p.crypto.SU3File sign -c ROUTER -f EXE I2P-Profile-Installer-$(PROFILE_VERSION).exe I2P-Profile-Installer-$(PROFILE_VERSION)-signed.su3 "$(HOME)/.i2p-plugin-keys/news-su3-keystore.ks" "$(I2P_VERSION)" $(SIGNER)
i2pwinupdate-unsignedexe.su3.torrent: prepupdate-unsignedexe su3-unsignedexe
mktorrent \
--announce=http://tracker2.postman.i2p/announce.php \
--announce=http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p/a \
--announce=http://mb5ir7klpc2tj6ha3xhmrs3mseqvanauciuoiamx2mmzujvg67uq.b32.i2p/a \
i2pwinupdate-unsignedexe.su3
torrent-unsignedexe: i2pwinupdate-unsignedexe.su3.torrent
testing-releases.json: torrent-unsignedexe
mkdir -p ../i2p.newsxml/data/win/testing/
@echo "[" | tee ../i2p.newsxml/data/win/testing/releases.json
@echo " {" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"date\": \"$(I2P_DATE)\"," | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"version\": \"$(I2P_VERSION)\"," | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"minVersion\": \"1.5.0\"," | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"minJavaVersion\": \"1.8\"," | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"updates\": {" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"su3\": {" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"torrent\": \"$(MAGNET_TESTING)\"," | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"url\": [" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " \"http://ekm3fu6fr5pxudhwjmdiea5dovc3jdi66hjgop4c7z7dfaw7spca.b32.i2p/i2pwinupdate.su3\"" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " ]" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " }" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " }" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo " }" | tee -a ../i2p.newsxml/data/win/testing/releases.json
@echo "]" | tee -a ../i2p.newsxml/data/win/testing/releases.json

View File

@ -1,41 +0,0 @@
GOPATH=$(HOME)/go
$(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools:
git clone https://i2pgit.org/idk/su3-tools $(GOPATH)/src/i2pgit.org/idk/su3-tools; true
git pull --all
cd $(GOPATH)/src/i2pgit.org/idk/su3-tools && \
go mod vendor && go build
prepupdate:
cp -v "I2P-Easy-Install-Bundle-$(PROFILE_VERSION)-signed.su3" i2pwinupdate.su3
su3: $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools
$(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools -name "I2P-Easy-Install-Bundle-$(PROFILE_VERSION)-signed" -signer "$(SIGNER)" -version "$(PROFILE_VERSION)"
java -cp "$(HOME)/i2p/lib/*" net.i2p.crypto.SU3File sign -c ROUTER -f EXE I2P-Easy-Install-Bundle-$(PROFILE_VERSION)-signed.exe I2P-Easy-Install-Bundle-$(PROFILE_VERSION)-signed.su3 "$(HOME)/.i2p-plugin-keys/news-su3-keystore.ks" $(PROFILE_VERSION) $(SIGNER)
i2pwinupdate.su3.torrent: prepupdate su3
mktorrent \
--announce=http://tracker2.postman.i2p/announce.php \
--announce=http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p/a \
--announce=http://mb5ir7klpc2tj6ha3xhmrs3mseqvanauciuoiamx2mmzujvg67uq.b32.i2p/a \
i2pwinupdate.su3
torrent: i2pwinupdate.su3.torrent
releases.json:
@echo "[" | tee ../i2p.newsxml/data/win/beta/releases.json
@echo " {" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"date\": \"$(I2P_DATE)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"version\": \"$(PROFILE_VERSION)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"minVersion\": \"1.5.0\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"minJavaVersion\": \"1.8\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"updates\": {" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"su3\": {" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"torrent\": \"$(MAGNET)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"url\": [" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"http://ekm3fu6fr5pxudhwjmdiea5dovc3jdi66hjgop4c7z7dfaw7spca.b32.i2p/i2pwinupdate.su3\"" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " ]" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " }" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " }" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " }" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo "]" | tee -a ../i2p.newsxml/data/win/beta/releases.json

View File

@ -10,7 +10,6 @@ UniCode true
!define CONSOLE_URL "http://127.0.0.1:7657/home"
!include i2pbrowser-version.nsi
!include i2pbrowser-jpackage.nsi
!include FindProcess.nsh
#var INSTDIR
@ -152,8 +151,8 @@ Function routerDetect
createDirectory "$INSTDIR\"
SetOutPath "$INSTDIR\"
File /a /r "I2P/config/certificates"
File /a /r "I2P/config/geoip"
File /a /r "I2P\config\certificates\"
File /a /r "I2P\config\geoip\"
FunctionEnd
Function installerFunction
@ -178,7 +177,7 @@ Function installerFunction
# Install the licenses
createDirectory "$INSTDIR\licenses"
SetOutPath "$INSTDIR\licenses"
File /a /r "licenses/*"
File /a /r "licenses\"
SetOutPath "$INSTDIR"
createDirectory "$SMPROGRAMS\${APPNAME}"
@ -275,21 +274,9 @@ Function LaunchLink
${If} ${Silent}
ReadEnvStr $0 RESTART_I2P
${If} $0 != ""
UserInfo::GetAccountType
pop $0
${If} $0 == "admin"
ShellExecAsUser::ShellExecAsUser "open" "$DESKTOP\Browse I2P.lnk"
${Else}
ExecShell "" "$DESKTOP\Browse I2P.lnk"
${EndIf}
${EndIf}
${Else}
UserInfo::GetAccountType
pop $0
${If} $0 == "admin"
ShellExecAsUser::ShellExecAsUser "open" "$DESKTOP\Browse I2P.lnk"
${Else}
ExecShell "" "$DESKTOP\Browse I2P.lnk"
${EndIf}
${EndIf}
FunctionEnd

View File

@ -1 +0,0 @@
!define I2P_VERSION

View File

@ -1,3 +1,3 @@
!define VERSIONMAJOR 2
!define VERSIONMINOR 2
!define VERSIONBUILD 0
!define VERSIONBUILD 1