On Mon, Mar 17, 2025 at 11:42:21PM +0000, Stuart Henderson wrote:
> On 2025/03/17 22:04, Theo Buehler wrote:
> > On Mon, Mar 17, 2025 at 09:45:21PM +0100, James Turner wrote:
> > > Attached is a new port for a RDAP client. My limited searching in ports
> > > didn't turn one up. My first cargo port as well.
> > 
> > There's net/rdapper.
> 
> I wrote a port for this too alongside the one for rdapper but didn't
> think it was really a good fit for us so didn't finish polishing and
> send it out.
> 
> - poor arch support (only aarch64 amd64 riscv64)
> 
> - build on a reasonably fast machine takes over 20 minutes,
> which I thought totally excessive for what it is - fetch json over
> http, a bit of caching and retries if a server says to delay, follow
> referrals, format the output for display
> 
> - gobs and gobs of output. for a simple domain lookup (.org -> tucows)
> that rdapper displays in 67 lines, icann-rdap comes up with 560 lines
> of what to my eyes is poorly formatted output. (with domain name
> lookups you can -O gtld-whois for something more sensible, there is
> an environment-based mechanism to set that as default, but you
> then get no output if you try an ASN/IP lookup)
> 
> - ansi colours and UTF8 line drawing characters, even with
> LC_CTYPE=c TERM=dumb, that turns into json if you try to pipe it
> through less.
> 
> (ok rdapper is not great at clean output format either as it also
> uses ansi bold sequences on a dumb terminal unless told not to,
> but at least it's better, and cleans it up when piped).
> 
> > Please add this to the top of the Makefile:
> > 
> > # ring-v0.17 does not support this arch
> > NOT_FOR_ARCHS = sparc64
> > 
> > Then I'm basically ok with this.
> > 
> > Things to consider:
> > 
> > Since it's the official ICANN tool, letting it squat a naked rdap
> > seems okay although it's a tad generic.
> 
> I won't object to importing, but I _would_ prefer to rename the
> binaries; firstly as the port is named icann-rdap it makes it
> easier to discover the right binary to use; secondly the nicer
> go-based client from openrdap.org dating from 2017 (years before
> the ICANN one was started) is also just called "rdap".
> 
> I didn't look much at the openrdap.org client before (go is a bit
> of a turn-off ports-wise), but now I've tried it, actually I like it the
> best of the three - cleaner output than both rdapper/icann-rdap, under
> a minute to build, and doesn't pull in 80+ p5-* deps. I'll attach a
> first cut at a port for that too.

LGTM, I'd probably name the port and package 'openrdap' to reflect the
project name, but keeping the 'rdap' executable name.  Given the
timeline for both projects I think it makes sense to rename the
executables brought by net/icann-rdap instead.

> FWIW here's a diff between James' icann-rdap port and mine, not much
> different but there are a couple of small things that maybe worth
> taking. I hadn't got round to renaming binaries before I decided
> to give up on it ;)

LGTM except for the renaming mentioned above.

My 2 cents,

> diff -uNp -wur icann-rdap/Makefile /usr/ports/net/icann-rdap/Makefile
> --- icann-rdap/Makefile       Mon Mar 17 19:50:44 2025
> +++ /usr/ports/net/icann-rdap/Makefile        Mon Feb  3 17:20:27 2025
> @@ -1,11 +1,15 @@
> -COMMENT =            command-line RDAP client
> +# ring-v0.17.8 does not support this arch
> +NOT_FOR_ARCHS =      sparc64
> +
> +COMMENT =    ICANN's client for Registry Data Access Protocol
> +
>  GH_ACCOUNT =         icann
>  GH_PROJECT =         icann-rdap
>  GH_TAGNAME =         v0.0.21
>  
> -CATEGORIES =         net sysutils
> +CATEGORIES = net
>  
> -# MIT/Apache-2.0
> +# either Apache v2.0 or MIT
>  PERMIT_PACKAGE =     Yes
>  
>  WANTLIB +=           ${MODCARGO_WANTLIB} crypto m ssl
> @@ -14,7 +18,10 @@ MODULES =          devel/cargo
>  
>  CONFIGURE_STYLE =    cargo
>  
> -MODCARGO_INSTALL_TARGET_PATHS = ./icann-rdap-cli
> +SEPARATE_BUILD =     Yes
> +
> +# a server is available too: "icann-rdap-srv"
> +MODCARGO_INSTALL_TARGET_PATHS = icann-rdap-cli
>  
>  .include "crates.inc"
>  



-- 
jca

Reply via email to