ba60453 Update to 0.0.91

7 files Authored by harrymichal 3 years ago, Committed by rishi 3 years ago,
    Update to 0.0.91
    
    Toolbox is now written in Go, so this is no longer a noarch package.
    
    Unlike idiomatic Go code-bases, Toolbox uses the Meson build system to
    check for additional non-Go dependencies and install various auxilliary
    files. This leads to some interesting problems.
    
    The Go toolchain doesn't play well with passing compiler and linker
    flags via environment variables. The linker flags require a second
    level of quoting, which leaves the build system without a quote level
    to assign the flags to an environment variable like GOFLAGS.
    
    This is one reason why Fedora doesn't have a RPM macro with only the
    flags. The %{gobuild} RPM macro includes the entire 'go build ...'
    invocation.
    
    Therefore, the entire 'go build ...' invocation is swapped out using a
    set of downstream patches (one for PPC64 because it doesn't use
    '-buildmode pie', and another for other CPU architectures) to match
    the %{gobuild} RPM macro.
    
    The Go toolchain also doesn't like the LDFLAGS environment variable as
    exported by Fedora's %{meson} RPM macro.
    
    For some reason, when built on Koji, the final binary gets created as
    ../src/src instead of ../src/toolbox, but it doesn't happen when
    building locally with 'rpmbuild -ba ...'. Hence it's necessary to
    explicitly specify the name of the output binary.
    
    Finally, Fedora doesn't support Go modules when building Go programs.
    This means that Go's semantic import versioning can't be used.
    
    A conscious effort was made to minimize the use of exotic Go-specific
    RPM macros to retain the legibility of the spec file. A proliferation
    of such RPM macros is a hindrance for those who are not experts in the
    ins and outs of packaging Go code in Fedora.
    
    Some changes by Debarshi Ray.
    
    https://src.fedoraproject.org/rpms/toolbox/pull-request/2
    
        
file modified
+1 -0
file modified
+1 -1
file modified
+39 -5