Source: prometheus-frr-exporter
Version: 1.2.0-1
Severity: minor
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-binary-20230816 ftbfs-binary-after-build
User: [email protected]
Usertags: qa-doublebuild

Hi,

This package fails to do build a binary-only build (not source) after a
successful build (dpkg-buildpackage ; dpkg-buildpackage -b).

This is probably a clear violation of Debian Policy section 4.9 (clean target),
but this is filed as severity:minor for now, because a discussion on
debian-devel showed that we might want to revisit the requirement of a working
'clean' target.

More information about this class of issues, included common problems and
solutions, is available at
https://wiki.debian.org/qa.debian.org/FTBFS/DoubleBuild

Relevant part of the build log:
> cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env 
> -us -uc -rfakeroot -b
> -----------------------------------------------------------------------------------------------------------------------------------------------------
> 
> dpkg-buildpackage: info: source package prometheus-frr-exporter
> dpkg-buildpackage: info: source version 1.2.0-1
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Daniel Swarbrick 
> <[email protected]>
>  dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
>  debian/rules clean
> dh clean --buildsystem=golang --builddirectory=/<<PKGBUILDDIR>>/build
>    dh_auto_clean -O--buildsystem=golang 
> -O--builddirectory=/<<PKGBUILDDIR>>/build
>    dh_autoreconf_clean -O--buildsystem=golang 
> -O--builddirectory=/<<PKGBUILDDIR>>/build
>    dh_clean -O--buildsystem=golang -O--builddirectory=/<<PKGBUILDDIR>>/build
>  debian/rules binary
> dh binary --buildsystem=golang --builddirectory=/<<PKGBUILDDIR>>/build
>    dh_update_autotools_config -O--buildsystem=golang 
> -O--builddirectory=/<<PKGBUILDDIR>>/build
>    dh_autoreconf -O--buildsystem=golang 
> -O--builddirectory=/<<PKGBUILDDIR>>/build
>    dh_auto_configure -O--buildsystem=golang 
> -O--builddirectory=/<<PKGBUILDDIR>>/build
>    debian/rules override_dh_auto_build
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build -- -tags "" -ldflags " -X 
> github.com/prometheus/common/version.Version=1.2.0 -X 
> github.com/prometheus/common/version.Revision=1.2.0-1 -X 
> github.com/prometheus/common/version.Branch=debian/sid -X 
> github.com/prometheus/common/[email protected] 
> -X github.com/prometheus/common/version.BuildDate=20230612-21:54:20 -X 
> github.com/prometheus/common/version.GoVersion=go1.20.7"
>       cd build && go install -trimpath -v -p 8 -tags  -ldflags " -X 
> github.com/prometheus/common/version.Version=1.2.0 -X 
> github.com/prometheus/common/version.Revision=1.2.0-1 -X 
> github.com/prometheus/common/version.Branch=debian/sid -X 
> github.com/prometheus/common/[email protected] 
> -X github.com/prometheus/common/version.BuildDate=20230612-21:54:20 -X 
> github.com/prometheus/common/version.GoVersion=go1.20.7" 
> github.com/tynany/frr_exporter github.com/tynany/frr_exporter/collector 
> github.com/tynany/frr_exporter/internal/frrsockets
> internal/unsafeheader
> internal/goos
> internal/coverage/rtcov
> internal/goexperiment
> internal/cpu
> internal/goarch
> runtime/internal/atomic
> runtime/internal/syscall
> internal/itoa
> math/bits
> unicode/utf8
> internal/race
> internal/abi
> runtime/internal/math
> runtime/internal/sys
> sync/atomic
> unicode
> encoding
> unicode/utf16
> container/list
> crypto/internal/alias
> crypto/subtle
> crypto/internal/boring/sig
> vendor/golang.org/x/crypto/cryptobyte/asn1
> internal/bytealg
> math
> internal/nettrace
> vendor/golang.org/x/crypto/internal/alias
> google.golang.org/protobuf/internal/flags
> google.golang.org/protobuf/internal/set
> runtime
> runtime/metrics
> sync
> internal/reflectlite
> internal/testlog
> internal/godebug
> internal/singleflight
> google.golang.org/protobuf/internal/pragma
> runtime/cgo
> math/rand
> internal/intern
> errors
> sort
> io
> internal/oserror
> strconv
> internal/safefilepath
> path
> crypto/internal/nistec/fiat
> vendor/golang.org/x/net/dns/dnsmessage
> syscall
> github.com/beorn7/perks/quantile
> bytes
> strings
> hash
> hash/crc32
> crypto/internal/randutil
> vendor/golang.org/x/text/transform
> hash/fnv
> bufio
> reflect
> regexp/syntax
> crypto
> crypto/rc4
> net/netip
> net/http/internal/ascii
> github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
> html
> text/tabwriter
> golang.org/x/text/transform
> golang.org/x/crypto/blowfish
> regexp
> time
> internal/syscall/execenv
> internal/syscall/unix
> io/fs
> context
> github.com/jpillora/backoff
> internal/poll
> embed
> os
> internal/fmtsort
> encoding/binary
> encoding/base64
> crypto/cipher
> crypto/internal/edwards25519/field
> crypto/md5
> vendor/golang.org/x/crypto/internal/poly1305
> github.com/cespare/xxhash
> crypto/internal/nistec
> fmt
> encoding/pem
> net
> crypto/internal/boring
> crypto/des
> path/filepath
> vendor/golang.org/x/crypto/chacha20
> crypto/aes
> crypto/sha512
> crypto/internal/edwards25519
> crypto/hmac
> crypto/sha1
> crypto/sha256
> crypto/ecdh
> io/ioutil
> vendor/golang.org/x/crypto/hkdf
> vendor/golang.org/x/sys/cpu
> google.golang.org/protobuf/internal/detrand
> encoding/json
> github.com/go-logfmt/logfmt
> log
> compress/flate
> math/big
> encoding/hex
> net/url
> vendor/golang.org/x/crypto/chacha20poly1305
> vendor/golang.org/x/text/unicode/bidi
> vendor/golang.org/x/text/unicode/norm
> vendor/golang.org/x/net/http2/hpack
> compress/gzip
> mime
> mime/quotedprintable
> net/http/internal
> google.golang.org/protobuf/internal/errors
> vendor/golang.org/x/text/secure/bidirule
> go/token
> github.com/go-kit/log
> google.golang.org/protobuf/encoding/protowire
> google.golang.org/protobuf/internal/version
> github.com/prometheus/common/model
> github.com/prometheus/procfs/internal/fs
> github.com/go-kit/log/level
> google.golang.org/protobuf/reflect/protoreflect
> github.com/prometheus/procfs/internal/util
> golang.org/x/sys/unix
> runtime/debug
> github.com/prometheus/common/promlog
> github.com/alecthomas/units
> go/scanner
> go/doc/comment
> internal/lazyregexp
> google.golang.org/protobuf/internal/descfmt
> google.golang.org/protobuf/internal/descopts
> vendor/golang.org/x/net/idna
> google.golang.org/protobuf/internal/strs
> google.golang.org/protobuf/internal/encoding/messageset
> google.golang.org/protobuf/internal/genid
> google.golang.org/protobuf/internal/encoding/text
> google.golang.org/protobuf/internal/order
> google.golang.org/protobuf/reflect/protoregistry
> google.golang.org/protobuf/runtime/protoiface
> go/ast
> text/template/parse
> crypto/rand
> crypto/elliptic
> crypto/internal/bigmod
> crypto/internal/boring/bbig
> encoding/asn1
> crypto/ed25519
> crypto/dsa
> google.golang.org/protobuf/internal/encoding/defval
> google.golang.org/protobuf/proto
> golang.org/x/net/internal/timeseries
> go/doc
> golang.org/x/text/unicode/bidi
> crypto/rsa
> vendor/golang.org/x/crypto/cryptobyte
> crypto/x509/pkix
> text/template
> golang.org/x/text/secure/bidirule
> google.golang.org/protobuf/internal/filedesc
> google.golang.org/protobuf/encoding/prototext
> golang.org/x/text/unicode/norm
> golang.org/x/net/http2/hpack
> crypto/ecdsa
> gopkg.in/yaml.v2
> golang.org/x/crypto/bcrypt
> golang.org/x/sync/errgroup
> os/exec
> html/template
> google.golang.org/protobuf/internal/encoding/tag
> golang.org/x/net/idna
> google.golang.org/protobuf/internal/impl
> vendor/golang.org/x/net/http/httpproxy
> net/textproto
> gopkg.in/alecthomas/kingpin.v2
> golang.org/x/net/http/httpproxy
> github.com/tynany/frr_exporter/internal/frrsockets
> github.com/prometheus/procfs
> crypto/x509
> vendor/golang.org/x/net/http/httpguts
> mime/multipart
> golang.org/x/net/http/httpguts
> crypto/tls
> github.com/prometheus/common/promlog/flag
> google.golang.org/protobuf/internal/filetype
> google.golang.org/protobuf/runtime/protoimpl
> google.golang.org/protobuf/types/known/timestamppb
> google.golang.org/protobuf/types/descriptorpb
> github.com/prometheus/client_model/go
> github.com/prometheus/client_golang/prometheus/internal
> github.com/coreos/go-systemd/activation
> net/http/httptrace
> google.golang.org/protobuf/reflect/protodesc
> net/http
> github.com/golang/protobuf/proto
> github.com/matttproud/golang_protobuf_extensions/pbutil
> expvar
> golang.org/x/net/trace
> github.com/prometheus/common/expfmt
> golang.org/x/net/context/ctxhttp
> golang.org/x/net/http2
> golang.org/x/oauth2/internal
> golang.org/x/oauth2
> golang.org/x/oauth2/clientcredentials
> github.com/prometheus/client_golang/prometheus
> github.com/prometheus/common/version
> github.com/mwitkow/go-conntrack
> github.com/tynany/frr_exporter/collector
> github.com/prometheus/client_golang/prometheus/promhttp
> github.com/prometheus/common/config
> github.com/prometheus/exporter-toolkit/web
> github.com/prometheus/exporter-toolkit/web/kingpinflag
> github.com/tynany/frr_exporter
> # Rename the binary to match the debian package
> mv -v /<<PKGBUILDDIR>>/build/bin/frr_exporter 
> /<<PKGBUILDDIR>>/build/bin/prometheus-frr-exporter
> renamed '/<<PKGBUILDDIR>>/build/bin/frr_exporter' -> 
> '/<<PKGBUILDDIR>>/build/bin/prometheus-frr-exporter'
> build/bin/prometheus-frr-exporter --help-man > build/prometheus-frr-exporter.1
> # Remove build user/build date/go version headers, which is ugly
> sed -i -e '/^  /d' build/prometheus-frr-exporter.1
> # Fix whatis entry
> sed -i '/^.SH "NAME"/,+1c.SH "NAME"\n'"prometheus-frr-exporter \\- Prometheus 
> exporter for Free Range Routing (FRR)" build/prometheus-frr-exporter.1
> # Remove default values as they create unwieldy long lines
> sed -i 's/\\fB--\(.*\)=".*"\\fR/\\fB--\1\\fR/' build/prometheus-frr-exporter.1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=golang 
> -O--builddirectory=/<<PKGBUILDDIR>>/build
>       cd build && go test -vet=off -v -p 8 github.com/tynany/frr_exporter 
> github.com/tynany/frr_exporter/collector 
> github.com/tynany/frr_exporter/internal/frrsockets
> ?     github.com/tynany/frr_exporter  [no test files]
> === RUN   TestProcessBFDPeers
> --- PASS: TestProcessBFDPeers (0.00s)
> === RUN   TestProcessBGPSummary
> --- PASS: TestProcessBGPSummary (0.00s)
> === RUN   TestProcessBgpL2vpnEvpnSummary
> --- PASS: TestProcessBgpL2vpnEvpnSummary (0.00s)
> === RUN   TestProcessBGPPeerDesc
> --- PASS: TestProcessBGPPeerDesc (0.00s)
> === RUN   TestProcessOSPFInterface
> --- PASS: TestProcessOSPFInterface (0.00s)
> === RUN   TestProcessPIMNeighbors
> --- PASS: TestProcessPIMNeighbors (0.00s)
> === RUN   TestParseHMS
> === RUN   TestParseHMS/03:45:43
> === RUN   TestParseHMS/00:04:01
> === RUN   TestParseHMS/10:00:43
> --- PASS: TestParseHMS (0.00s)
>     --- PASS: TestParseHMS/03:45:43 (0.00s)
>     --- PASS: TestParseHMS/00:04:01 (0.00s)
>     --- PASS: TestParseHMS/10:00:43 (0.00s)
> === RUN   TestProcessVRRPInfo
> --- PASS: TestProcessVRRPInfo (0.00s)
> PASS
> ok    github.com/tynany/frr_exporter/collector        0.039s
> === RUN   TestExecuteCmd
> --- PASS: TestExecuteCmd (0.10s)
> === RUN   TestExecuteCmdWithLargeOutput
> panic: listen unix /tmp/bgp_mock.vty: bind: address already in use
> 
> goroutine 6 [running]:
> github.com/tynany/frr_exporter/internal/frrsockets.mockSocket({0xc0000222d0, 
> 0x11}, {0xc00009e000, 0x1388})
>       
> /<<PKGBUILDDIR>>/build/src/github.com/tynany/frr_exporter/internal/frrsockets/frrsockets_test.go:55
>  +0x345
> created by 
> github.com/tynany/frr_exporter/internal/frrsockets.TestExecuteCmdWithLargeOutput
>       
> /<<PKGBUILDDIR>>/build/src/github.com/tynany/frr_exporter/internal/frrsockets/frrsockets_test.go:37
>  +0x13a
> FAIL  github.com/tynany/frr_exporter/internal/frrsockets      0.143s
> FAIL
> dh_auto_test: error: cd build && go test -vet=off -v -p 8 
> github.com/tynany/frr_exporter github.com/tynany/frr_exporter/collector 
> github.com/tynany/frr_exporter/internal/frrsockets returned exit code 1
> make: *** [debian/rules:24: binary] Error 25
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 
> 2
> 
> E: Command 'cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage 
> --sanitize-env -us -uc -rfakeroot -b' failed to run.


The full build log is available from:
http://qa-logs.debian.net/2023/08/16/prometheus-frr-exporter_1.2.0-1_unstable.log

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to