On Wed, Jun 23, 2021 at 07:48:01AM -0600, Aaron Bieber wrote:
> Hi,
> 
> Here is a diff that adds:
> 
> - -trimpath to MODGO_FLAGS: This removes paths like
>    "/build/pobj/blablablablbal" from the resulting binary.
> - Teaches modgo-gen-modules-helper how to pass a version to the
>    get_dist_info stuff.
> - Adds a new make target: "modgo-gen-current-modules". This will
>    generate the MODGO_ bits for the currently defined
>    MODGO_MODNAME. (existing target generates them for what ever Go
>    things the latest version of a MODGO_MODNAME is).
> 
> The -trimpath is mostly cosmetic, but it also gets us a bit closer to
> "reproducible builds". This would potentially let us produce the same
> binaries that an upstream does for releases (assuming build flags and
> '-X' things are all the same).
> 
> The new target lets one bump a port to an explicit version (i.e. not the
> latest, or a latest that has not yet propagated through the Go module
> ecosystem).
> 
> Thoughts? Cluesticks? OKs?
> 
> Cheers,
> Aaron
> 

> diff ad22f1f0930c176e1bc87c0d5537a6033669c23a /usr/ports
> blob - 60b84fb0ae310786ee5c71a2e4e4e741f0904da9
> file + infrastructure/bin/modgo-gen-modules-helper
> --- infrastructure/bin/modgo-gen-modules-helper
> +++ infrastructure/bin/modgo-gen-modules-helper
> @@ -31,7 +31,8 @@ use lib ( "$portdir/infrastructure/lib", "$FindBin::Bi
>  
>  use OpenBSD::PortGen::Port::Go;
>  
> -my ( $module ) = @ARGV;
> +my ( $module, $version ) = @ARGV;
> +$module = "${module}\@${version}" if ($version ne "");
>  
>  my $port = OpenBSD::PortGen::Port::Go->new;
>  my $portinfo = $port->get_dist_info($module);
> blob - 924c64a51696a59fd6dc5456b1f3f7abda7e38d6
> file + lang/go/go.port.mk

That part looks wrong.

I expect that having one single parameter will complain loudly about
$version being undefined.

You want to distinguish between 1 parameter and two.

So probably

die if @ARGV < 1;
my $module = shift;
if (@ARGV == 1) {
        $module .= '@'. shift;
}

or something like that.

(comparing version with ""  opens all kinds of issues.

Note that *all* portgen stuff should have
"use strict;"

near use warnings.

Reply via email to