Remove some redundant methods

This commit is contained in:
eyedeekay
2024-06-26 19:27:29 -04:00
parent 0fc103b777
commit 4d3e700ec3
11 changed files with 122 additions and 267 deletions

View File

@ -95,8 +95,8 @@ Windows Build
-------------
After installing the dependencies and completing the preparations,
just run `make`. This will produce the install.exe - the windows
installer, which sets up the shortcuts to launch Firefox on Windows.
just run `buildscripts/unsigned.sh`. This will produce the install.exe - the
windows installer, which sets up the shortcuts to launch Firefox on Windows.
Building without a jpackage is no longer supported.
When generating a build it's important to make sure that the
@ -137,7 +137,7 @@ Ubuntu in WSL.
7. Move into the i2p.firefox directory. Run the `./buildscripts/build.sh` script.
cd i2p.firefox
./buildscripts/build.sh
./buildscripts/unsigned.sh
8. Compile the NSIS installer using WSL.

View File

@ -48,9 +48,16 @@ export I2P_JARS="$I2P_PKG/lib"
export I2P_JBIGI="$SCRIPT_DIR/../i2p.i2p.jpackage-build/installer/lib/jbigi"
export I2P_JBIGI_JAR="$SCRIPT_DIR/../i2p.i2p.jpackage-build/build/jbigi.jar"
if [ ! -d "$SCRIPT_DIR/../i2p.i2p.jpackage-build/" ]; then
if [ -d "$SCRIPT_DIR/../i2p.i2p/" ]; then
echo cloning from local i2p.i2p checkout
git clone --depth=1 -b "$VERSION" -l "$SCRIPT_DIR/../i2p.i2p/" "$SCRIPT_DIR/../i2p.i2p.jpackage-build/"
else
echo cloning from remote i2p.i2p repository
git clone --depth=1 -b "$VERSION" https://i2pgit.org/i2p-hackers/i2p.i2p "$SCRIPT_DIR/../i2p.i2p.jpackage-build/"
fi
fi
cd "$SCRIPT_DIR/../i2p.i2p.jpackage-build/"
echo "setting up git branch for build"
OLDEXTRA=$(find . -name RouterVersion.java -exec grep 'String EXTRA' {} \;)
if [ -z "$EXTRA" ]; then
export EXTRACODE="win"
@ -62,8 +69,7 @@ if [ "$VERSION" = master ]; then
else
export TAG_VERSION="$VERSION"
fi
echo "build is: i2p-$TAG_VERSION-$VERSIONDATE-$EXTRACODE"
find . -name RouterVersion.java -exec sed -i "s|$OLDEXTRA|$EXTRA|g" {} \;
git switch - || :

View File

@ -1,150 +0,0 @@
package net.i2p.router;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.logging.FileHandler;
import java.util.logging.SimpleFormatter;
import net.i2p.util.Log;
public class CopyConfigDir extends I2PAppUtil {
final Log logger;
public CopyConfigDir(RouterContext ctx) {
logger = ctx.logManager().getLog(CopyConfigDir.class);
}
public boolean copyDirectory(String baseDir, String workDir) {
File baseFile = new File(baseDir);
File workFile = new File(workDir);
return copyDirectory(baseFile, workFile);
}
public boolean copyDirectory(File baseDir, File workDir) {
for (File file : baseDir.listFiles()) {
String fPath = file.getAbsolutePath().replace(
file.getParentFile().getAbsolutePath(), "");
String newPath = workDir.toString() + fPath;
if (file.isDirectory())
if (copyDirectory(file, new File(newPath)))
return false;
if (file.isFile())
if (0 == copyFile(file, new File(newPath), true))
return false;
}
return true;
}
public boolean copyConfigDirectory(File baseDir, File workDir) {
for (File file : baseDir.listFiles()) {
// System.out.println(file.getAbsolutePath());
String fPath = file.getAbsolutePath().replace(
file.getParentFile().getAbsolutePath(), "");
String newPath = workDir.toString() + fPath;
if (file.isDirectory())
if (!copyConfigDirectory(file, new File(newPath)))
return false;
if (file.isFile()) {
int cnr = copyFileNeverOverwrite(file, new File(newPath));
if (0 == cnr)
return false;
if (1 == cnr) {
logger.info(
"using jpackaged configs in a jpackaged install, creating jpackaged file");
File jpackagedConfigsInUse = new File(appImageHome(), "jpackaged");
if (!jpackagedConfigsInUse.exists()) {
try {
jpackagedConfigsInUse.createNewFile();
} catch (IOException e) {
logger.warn(
"Error creating jpackaged file, delete config files manually when uninstalling");
}
}
}
if (-1 == cnr) {
logger.info(
"not overwriting existing config file, not creating jpackaged file");
}
}
}
return true;
}
public int copyFileNeverOverwrite(String basePath, String workPath) {
File baseFile = new File(basePath);
File workFile = new File(workPath);
return copyFileNeverOverwrite(baseFile, workFile);
}
public int copyFileNeverOverwrite(File basePath, File workPath) {
return copyFile(basePath, workPath, false);
}
public int copyFile(File basePath, File workPath, boolean overWrite) {
if (!basePath.exists()) {
logger.info(basePath.getAbsolutePath() + " doesn't exist, not copying");
return 0;
}
if (!overWrite && workPath.exists()) {
logger.info(workPath.getAbsolutePath() +
" already exists, not overwriting");
return -1;
}
File workDir = workPath.getParentFile();
if (!workDir.exists()) {
workDir.mkdirs();
}
try (InputStream in =
new BufferedInputStream(new FileInputStream(basePath));
OutputStream out =
new BufferedOutputStream(new FileOutputStream(workPath))) {
byte[] buffer = new byte[1024];
int lengthRead;
while ((lengthRead = in.read(buffer)) > 0) {
out.write(buffer, 0, lengthRead);
out.flush();
}
in.close();
out.close();
return 1;
} catch (Throwable e) {
logger.warn(e.toString());
logger.warn("failed to copy " + basePath.getAbsolutePath() + " to " +
workPath.getAbsolutePath());
return 0;
}
}
protected boolean copyConfigDir() {
File appImageConfigDir = appImageConfig();
File appImageHomeDir = selectHome();
return copyConfigDirectory(appImageConfigDir, appImageHomeDir);
}
/**
* set up the path to the log file
*
* @return
*/
protected File logFile() { return logFile("launcher.log"); }
/**
* set up the path to the log file
*
* @return
*/
protected File logFile(String p) {
File log = new File(selectHome(), "logs");
if (!log.exists())
log.mkdirs();
return new File(log, p);
}
}

View File

@ -25,18 +25,18 @@ import net.i2p.util.Log;
* router.pid - the pid of the java process.
*/
public class WinLauncher extends I2PAppUtil {
private final CopyConfigDir copyConfigDir;
// private final CopyConfigDir copyConfigDir;
WinUpdatePostProcessor wupp = null;
private Router i2pRouter;
private final Log logger;
public WinLauncher() {
File programs = programFile();
File home = homeDir();
System.setProperty(
"i2p.dir.base",
new File(programs.getAbsolutePath(), "config").getAbsolutePath());
System.setProperty("i2p.dir.config", home.getAbsolutePath());
appImageConfig().getAbsolutePath());
System.setProperty("i2p.dir.config", appImageConfig().getAbsolutePath());
System.setProperty("router.pid",
String.valueOf(ProcessHandle.current().pid()));
/**
@ -48,7 +48,7 @@ public class WinLauncher extends I2PAppUtil {
System.setProperty("user.dir", programs.getAbsolutePath());
i2pRouter = new Router(routerConfig(), System.getProperties());
copyConfigDir = new CopyConfigDir(i2pRouter.getContext());
// copyConfigDir = new CopyConfigDir(i2pRouter.getContext());
logger = i2pRouter.getContext().logManager().getLog(WinLauncher.class);
}
@ -75,10 +75,12 @@ public class WinLauncher extends I2PAppUtil {
// This actually does most of what we use NSIS for if NSIS hasn't
// already done it, which essentially makes this whole thing portable.
if (!launcher.copyConfigDir.copyConfigDir()) {
launcher.logger.error("Cannot copy the configuration directory");
System.exit(1);
}
/*
* if (!launcher.copyConfigDir.copyConfigDir()) {
* launcher.logger.error("Cannot copy the configuration directory");
* System.exit(1);
* }
*/
if (!launcher.isInstalled("i2p")) {
if (launcher.i2pRouter.saveConfig("routerconsole.browser", "NUL")) {
@ -116,19 +118,6 @@ public class WinLauncher extends I2PAppUtil {
return programs;
}
private File homeDir() {
File home = selectHome();
if (!home.exists())
home.mkdirs();
else if (!home.isDirectory()) {
logger.warn(
home +
" exists but is not a directory. Please get it out of the way");
System.exit(1);
}
return home;
}
// see
// https://stackoverflow.com/questions/434718/sockets-discover-port-availability-using-java
private boolean isAvailable(int portNr) {
@ -152,8 +141,7 @@ public class WinLauncher extends I2PAppUtil {
sleep(1000);
}
UpdateManager um;
while ((um = (UpdateManager)cam.getRegisteredApp(UpdateManager.APP_NAME)) ==
null) {
while ((um = (UpdateManager) cam.getRegisteredApp(UpdateManager.APP_NAME)) == null) {
sleep(1000);
}
WinUpdatePostProcessor wupp = new WinUpdatePostProcessor(ctx);

View File

@ -31,9 +31,13 @@ public class WinUpdatePostProcessor implements UpdatePostProcessor {
this._log = ctx.logManager().getLog(WinUpdatePostProcessor.class);
}
public String getVersion() { return version; }
public String getVersion() {
return version;
}
public File getFile() { return positionedFile; }
public File getFile() {
return positionedFile;
}
public void updateDownloadedandVerified(UpdateType type, int fileType,
String version, File file)
@ -97,8 +101,7 @@ public class WinUpdatePostProcessor implements UpdatePostProcessor {
private File workDir() throws IOException {
if (this.ctx != null) {
File workDir =
new File(this.ctx.getConfigDir().getAbsolutePath(), "i2p_update_win");
File workDir = new File(this.ctx.getConfigDir().getAbsolutePath(), "i2p_update_win");
if (workDir.exists()) {
if (workDir.isFile())
throw new IOException(workDir +

View File

@ -23,8 +23,7 @@ class WinUpdateProcess implements Runnable {
private File workDir() throws IOException {
if (ctx != null) {
File workDir =
new File(ctx.getConfigDir().getAbsolutePath(), "i2p_update_win");
File workDir = new File(ctx.getConfigDir().getAbsolutePath(), "i2p_update_win");
if (workDir.exists()) {
if (workDir.isFile())
throw new IOException(workDir +

View File

@ -2,8 +2,15 @@ package net.i2p.router;
import java.io.File;
import net.i2p.util.Log;
import net.i2p.router.RouterContext;
public class WindowsAppUtil extends WindowsServiceUtil {
private final Log _log;
public WindowsAppUtil(RouterContext ctx) {
this._log = ctx.logManager().getLog(WindowsAppUtil.class);
}
private File checkPathEnvironmentVariable(String name) {
String path_override = System.getenv(name);
if (path_override != null) {
@ -115,6 +122,7 @@ public class WindowsAppUtil extends WindowsServiceUtil {
File winConfigDir = new File(aih, "config");
if (winConfigDir != null) {
if (winConfigDir.exists()) {
return winConfigDir;
}
}

View File

@ -30,7 +30,9 @@ import javax.swing.JOptionPane;
*/
public class WindowsServiceUtil {
public WindowsServiceUtil() {}
public WindowsServiceUtil() {
}
public String queryService(String serviceName) {
String result = "";
String line;
@ -39,8 +41,7 @@ public class WindowsServiceUtil {
Process p = pb.start();
try {
p.waitFor(); // wait for process to finish then continue.
BufferedReader bri =
new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = bri.readLine()) != null) {
result += line;
}
@ -54,6 +55,7 @@ public class WindowsServiceUtil {
}
return result;
}
public String getStatePrefix(String qResult) {
String statePrefix = "STATE : ";
// get the first occurrence of "STATE", then find the
@ -70,6 +72,7 @@ public class WindowsServiceUtil {
}
return statePrefix;
}
public int getServiceStateInt(String serviceName) {
// String statePrefix = "STATE : ";
String qResult = queryService(serviceName);
@ -113,12 +116,9 @@ public class WindowsServiceUtil {
if (isInstalled(serviceName)) {
if (!isStart(serviceName)) {
int a;
String message =
"It appears you have an existing I2P service installed.\n";
message +=
"However, it is not running yet. Please start it through `services.msc`.\n";
message +=
"If you click \"No\", the jpackage router will be launched instead.\n";
String message = "It appears you have an existing I2P service installed.\n";
message += "However, it is not running yet. Please start it through `services.msc`.\n";
message += "If you click \"No\", the jpackage router will be launched instead.\n";
a = JOptionPane.showConfirmDialog(null, message,
"I2P Service detected not running",
JOptionPane.YES_NO_OPTION);
@ -131,8 +131,7 @@ public class WindowsServiceUtil {
// user can start the service themselves. OR maybe we ask for
// elevation here? May need to refactor Elevator and Shell32X to
// achieve it though
ProcessBuilder pb =
new ProcessBuilder("C:\\Windows\\System32\\services.msc");
ProcessBuilder pb = new ProcessBuilder("C:\\Windows\\System32\\services.msc");
try {
Process p = pb.start();
int exitCode = p.waitFor();
@ -194,6 +193,7 @@ public class WindowsServiceUtil {
return "mac";
return "linux";
}
public static void main(String args[]) {
WindowsServiceUtil wsu = new WindowsServiceUtil();
// when querying the I2P router service installed by the IzPack installer

View File

@ -29,8 +29,7 @@ public class ZipUpdateProcess implements Runnable {
private File workDir() throws IOException {
if (ctx != null) {
File workDir =
new File(ctx.getConfigDir().getAbsolutePath(), "i2p_update_zip");
File workDir = new File(ctx.getConfigDir().getAbsolutePath(), "i2p_update_zip");
if (workDir.exists()) {
if (workDir.isFile())
throw new IOException(workDir +

View File

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

View File

@ -1,9 +1,11 @@
#!/bin/bash
if [ -z "$NO_TORSOCKS" ]; then
TORSOCKS=$(which torsocks)
if [ -f "${TORSOCKS}" ]; then
. "${TORSOCKS}" on
fi
fi
version="$(curl -s https://aus1.torproject.org/torbrowser/update_3/release/downloads.json | jq -r ".version")"
locale="en-US" # mention your locale. default = en-US