Built-by on /logs shows "undefined", LogsHelper.getBuiltBy() is looking in (base dir)/lib/i2p.jar but the jars are elsewhere for jpackage installs.
Mac and Windows jpackages need a common way (e.g. System property) to indicate that it's a jpackage install, and/or specify where the jars are, then modify getBuiltBy() to check and look there.
Low priority. Also affects the /jars listing as implemented in FileDumpHelper but that's a debug function and even lower priority.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
The most generic way to do this would be to add a getLibDir() to I2PAppContext with a default of getBaseDir()/lib and an override property "i2p.dir.lib"
idk your MR is still WIP, what's the plan here? If the MR goes in we can then quickly make the changes to call the new method, or are those changes going in the MR too? target this release or the next one?
on a hunch that this wasn't the only place where we were getting the baseDir and adding "lib" to the end to find the libDir, and the result was this:
./router/java/src/net/i2p/router/tasks/InstallUpdate.java:138: File jbigiJar = new File(context.getBaseDir(), "lib/jbigi.jar");./router/java/src/net/i2p/router/tasks/InstallUpdate.java:144: File jcpuidLib = new File(context.getBaseDir(), libPrefix + "jcpuid" + libSuffix);./router/java/src/net/i2p/router/tasks/InstallUpdate.java:160: File jbigiLib = new File(context.getBaseDir(), libPrefix + "jbigi" + libSuffix);./router/java/src/net/i2p/router/Router.java:1352: File jbigiJar = new File(_context.getBaseDir(), "lib/jbigi.jar");./router/java/src/net/i2p/router/Router.java-1354- String libPrefix = isWin ? "" : "lib";./router/java/src/net/i2p/router/Router.java:1356: File jbigiLib = new File(_context.getBaseDir(), libPrefix + "jbigi" + libSuffix);./core/java/src/net/i2p/time/BuildTime.java:119: File f = new File(I2PAppContext.getGlobalContext().getBaseDir(), "lib");./core/java/src/net/i2p/crypto/KeyStoreUtil.java-939- f = new File(f, "lib");./core/java/src/net/i2p/I2PAppContext.java:231: * Base i2p.dir.base getBaseDir() lib/, webapps/, docs/, geoip/, licenses/, ..../apps/routerconsole/java/src/net/i2p/router/web/helpers/FileDumpHelper.java:66: File dir = new File(_context.getBaseDir(), "lib");./apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java:458: System.setProperty("jetty.class.path", _context.getBaseDir() + "/lib/routerconsole.jar");./apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java:90: File libDir = new File(i2pContext.getBaseDir(), "lib");./apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java:183: File libDir = new File(ctx.getBaseDir(), "lib");./apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java-184- File[] files = libDir.listFiles(new FileSuffixFilter(".jar"));
So there are several such occurrences, which I should probably also do here. Some of these may be false-positives, it assumes any line with "lib" in it preceded by a call to I2PAppContext.getBaseDir() is going to need to change, but I think most of them should probably use getLibDir now.
Well a couple of mine weren't real anyway, but there could also still be more too, my grep only accounts for situations where getBaseDir is called and then the path to baseDir is combined with "lib" on the very next line, which seems like it would cover most cases but there's no reason the lines couldn't be further apart. So I found every file with a call to getBaseDir in it that also contained "lib" and cross-referenced them against the ones I've already checked, there might be no such issue but these are the files which I think I might need to still check.