Hello ports@,

Please find attached a new port for i2pd-tools 2.58.0:

net/i2pd-tools

i2pd-tools is a collection of command-line utilities that supplement
i2pd:

https://github.com/PurpleI2P/i2pd-tools

The package provides tools for generating and inspecting I2P keys and
addresses, offline signing keys, family certificates and router
information, among other I2P-related operations.

The installed commands are:

i2pd-autoconf
i2pd-b33address
i2pd-famtool
i2pd-i2pbase64
i2pd-keygen
i2pd-keyinfo
i2pd-offlinekeys
i2pd-regaddr
i2pd-regaddr_3ld
i2pd-regaddralias
i2pd-routerinfo
i2pd-vain
i2pd-verifyhost
i2pd-x25519

I prefixed the upstream command names with "i2pd-" to avoid collisions
with generic names such as autoconf and keygen. The actual binaries are
installed under libexec/i2pd-tools and small wrapper scripts provide the
prefixed commands under bin.

The wrappers also set:

umask 077

before executing the tools. Several of these utilities create private
key material, and upstream opens output paths using ordinary file APIs,
so this ensures that newly created files do not inherit a permissive
login umask.

Upstream builds against the i2pd source tree as a Git submodule. The
2.58.0 tag points to i2pd commit:

80080fd8f5df5c8c07df044458eedbf8fbbbe86c

The port therefore downloads that exact i2pd source revision as a
separate distfile and places it in the expected submodule directory.
It intentionally does not use the separately installed net/i2pd port:
the tools are built against the exact source revision selected by
upstream and do not require an installed or running i2pd daemon.

The OpenBSD Makefile patch adds the OpenBSD build case, uses the
"-mt" Boost library naming used by our Boost package, adds the local
include and library paths and pthread, and avoids linking libatomic,
which is not needed on OpenBSD.

The port builds with C++17 and uses std::filesystem. UPnP and Git-derived
version information are disabled, and the tools link against Boost
program_options, the base SSL/crypto libraries, zlib and pthread.

There is no upstream test target for i2pd-tools. The tests in the i2pd
submodule belong to the separate daemon project and are not a test suite
for these command-line utilities, so the port currently uses NO_TEST.

The pkg-readme also notes two potentially surprising details:

* routerinfo's firewall output generates Linux iptables commands and
does not configure OpenBSD pf;
* i2pd-autoconf is the i2pd tunnel configuration generator and is
unrelated to GNU Autoconf.

Thank you for your time and consideration.

Best regards,
David.

Attachment: i2pd-tools.tar.gz
Description: application/gzip

Reply via email to