Bug 269511 - net/rclone: fails to be automatically build without distclean
Summary: net/rclone: fails to be automatically build without distclean
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Golang Team (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-12 09:18 UTC by Volodymyr Kostyrko
Modified: 2023-07-29 06:19 UTC (History)
5 users (show)

See Also:
bugzilla: maintainer-feedback? (tremere)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Volodymyr Kostyrko 2023-02-12 09:18:00 UTC
Hello.

After port was previously build next build gives me:

===>  Extracting for rclone-1.61.1_2         
=> SHA256 Checksum OK for go/net_rclone/rclone-v1.61.1/v1.61.1.mod.                                       
=> SHA256 Checksum OK for go/net_rclone/rclone-v1.61.1/v1.61.1.zip.                                       
===> Tidying github.com/rclone/rclone dependencies                                                        
go: finding module for package github.com/russross/blackfriday/v2                                         
github.com/rclone/rclone/cmd/gendocs imports
        github.com/spf13/cobra/doc imports       
        github.com/cpuguy83/go-md2man/v2/md2man imports                                                   
        github.com/russross/blackfriday/v2: module github.com/russross/blackfriday/v2@latest found (v2.1.0), but does not contain package github.com/russross/blackfriday/v2                                        
go: error loading go 1.16 module graph: cloud.google.com/go/compute@v1.12.1 requires                      
        cloud.google.com/go@v0.104.0: reading file:///usr/ports/distfiles/go/net_rclone/pkg/mod/cache/download/cloud.google.com/go/@v/v0.104.0.mod: no such file or directory                                       
===> Vendoring github.com/rclone/rclone dependencies
github.com/rclone/rclone/cmd/gendocs imports                                                              
        github.com/spf13/cobra/doc imports
        github.com/cpuguy83/go-md2man/v2/md2man imports
        github.com/russross/blackfriday/v2: no required module provides package github.com/russross/blackfriday/v2; to add it:
        go get github.com/russross/blackfriday/v2
===>  Patching for rclone-1.61.1_2
===>  Applying FreeBSD patches for rclone-1.61.1_2 from /usr/ports/net/rclone/files
===>   rclone-1.61.1_2 depends on file: /usr/local/bin/go120 - found
===>   rclone-1.61.1_2 depends on shared library: libfuse.so - found (/usr/local/lib/libfuse.so)
===>  Configuring for rclone-1.61.1_2
===>  Building for rclone-1.61.1_2
(cd /tmp/ports/usr/ports/net/rclone/work/github.com/rclone/rclone@v1.61.1;  for t in rclone; do  out=$(/usr/bin/basename $(echo ${t} |  /usr/bin/sed -Ee 's/^[^:]*:([^:]+).*$/\1/' -e 's/^\.$/rclone/'));  pkg=$(ech
o ${t} |  /usr/bin/sed -Ee 's/^([^:]*).*$/\1/' -e 's/^rclone$/./');  echo "===>  Building ${out} from ${pkg}";  /usr/bin/env XDG_DATA_HOME=/tmp/ports/usr/ports/net/rclone/work  XDG_CONFIG_HOME=/tmp/ports/usr/port
s/net/rclone/work  XDG_CACHE_HOME=/tmp/ports/usr/ports/net/rclone/work/.cache  HOME=/tmp/ports/usr/ports/net/rclone/work TMPDIR="/tmp" PATH=/tmp/ports/usr/ports/net/rclone/work/.bin:/usr/local/libexec/ccache:/bin
:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin PKG_CONFIG_LIBDIR=/tmp/ports/usr/ports/net/rclone/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_F
ILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O3 -pipe -march=amdfam10  -fstack-protector-strong -fno-strict-aliasing "  CPP="cpp" CPPFLAGS=""  L
DFLAGS=" -fstack-protector-strong " LIBS=""  CXX="c++" CXXFLAGS="-O3 -pipe -march=amdfam10 -fstack-protector-strong -fno-strict-aliasing  "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_IN
STALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444" CGO_ENABLED=1  CGO_CFLAGS="-I/usr/local/include"  CGO_LDFLAGS="-L/usr/
local/lib"  GOAMD64=  GOARM=  GOTMPDIR="/tmp/ports/usr/ports/net/rclone/work" GOPATH="/usr/ports/distfiles//go/net_rclone"  GOBIN="/tmp/ports/usr/ports/net/rclone/work/bin"  GO111MODULE=on  GOFLAGS=-modcacherw  G
OSUMDB=sum.golang.org GOPROXY=off /usr/local/bin/go120 build -ldflags -s -tags cmount -buildmode=exe -v -trimpath -buildvcs=false -mod=vendor  -o /tmp/ports/usr/ports/net/rclone/work/bin/${out}  ${pkg};  done)
===>  Building rclone from .
go: finding module for package github.com/russross/blackfriday/v2
vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go:4:2: cannot query module due to -mod=vendor
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net/rclone
*** Error code 1

Stop.
make: stopped in /usr/ports/net/rclone

This is probably somehow tied up to how port is processing distfiles (it has a ton of deps). Making distclean allow port to be build once.

This is generally a dup of bug #265665, but I don't think distclean is a solution, redownloading everything each time should not be required. The code that is processing go deps is omitting some packages for some reason and that's should be fixed.

Thanks in advance.
Comment 1 Ralf van der Enden 2023-02-27 08:25:52 UTC
Hi,

I personally build everything on my box using poudriere and don't have any issues like you do. Unfortunately I'm not sure what I could do (other than running a make distclean before a build) to help you out. It might be out of my control in this case, since I use the ports framework to build it.

Previously the Makefile had a list of all the required packages, but that was a real hassle to manage. The current way pulls everything in using 'go mod vendor' based on just the correct rclone tarball.

Maybe someone managing the Uses/go.mk can shed more light on the issue ?
Comment 2 Nuno Teixeira freebsd_committer freebsd_triage 2023-04-09 15:51:07 UTC
Let's try go@FreeBSD.org to see if we can find some help.