• Bug#1102241: opkssh: FTBFS: not enough arguments in call to choosers.Ne

    From Santiago Vila@21:1/5 to All on Sun Apr 6 18:40:02 2025
    Package: src:opkssh
    Version: 0.3.0-1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    [ please read notes at the end ]

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --builddirectory=_build --buildsystem=golang
    dh_auto_clean -O--builddirectory=_build -O--buildsystem=golang
    dh_autoreconf_clean -O--builddirectory=_build -O--buildsystem=golang
    dh_clean -O--builddirectory=_build -O--buildsystem=golang
    debian/rules binary
    dh binary --builddirectory=_build --buildsystem=golang
    dh_update_autotools_config -O--builddirectory=_build -O--buildsystem=golang
    dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang
    dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang
    dh_auto_build -O--builddirectory=_build -O--buildsystem=golang
    cd _build && go install -trimpath -v -p 2 github.com/openpubkey/opkssh github.com/openpubkey/opkssh/commands github.com/openpubkey/opkssh/internal/projectpath github.com/openpubkey/opkssh/policy github.com/openpubkey/opkssh/policy/files github.com/
    openpubkey/opkssh/sshcert
    internal/unsafeheader
    internal/goarch
    internal/cpu
    internal/abi
    internal/bytealg
    internal/byteorder
    internal/coverage/rtcov
    internal/chacha8rand
    internal/godebugs
    internal/goexperiment
    internal/goos
    internal/profilerecord
    internal/runtime/atomic
    internal/asan
    internal/msan
    internal/race
    internal/runtime/math
    internal/runtime/sys
    internal/runtime/exithook
    internal/runtime/syscall
    internal/runtime/maps
    internal/stringslite
    sync/atomic
    internal/sync
    math/bits
    internal/itoa
    encoding
    runtime
    cmp
    math
    unicode/utf8
    unicode
    crypto/internal/fips140/alias
    crypto/internal/fips140deps/byteorder
    crypto/internal/fips140deps/cpu
    crypto/internal/fips140/subtle
    crypto/internal/boring/sig
    unicode/utf16
    container/list
    golang.org/x/crypto/internal/alias
    golang.org/x/crypto/salsa20/salsa
    internal/nettrace
    vendor/golang.org/x/crypto/cryptobyte/asn1 vendor/golang.org/x/crypto/internal/alias
    log/internal
    log/slog/internal
    go.opentelemetry.io/otel/internal
    go.opentelemetry.io/otel/metric/embedded go.opentelemetry.io/otel/trace/embedded
    golang.org/x/exp/maps
    github.com/zitadel/oidc/pkg/oidc/grants/tokenexchange github.com/openpubkey/openpubkey/cosigner/msgs
    golang.org/x/exp/constraints
    golang.org/x/exp/slices
    internal/reflectlite
    sync
    errors
    internal/bisect
    internal/oserror
    syscall
    internal/godebug
    iter
    strconv
    reflect
    time
    context
    slices
    io
    path
    io/fs
    internal/filepathlite
    internal/syscall/unix
    internal/poll
    internal/syscall/execenv
    internal/testlog
    os
    internal/fmtsort
    strings
    embed
    hash
    crypto
    bytes
    fmt
    crypto/internal/fips140deps/godebug
    crypto/internal/fips140
    crypto/internal/impl
    crypto/internal/fips140/sha256
    crypto/internal/fips140/sha3
    flag
    crypto/internal/fips140/sha512
    crypto/internal/sysrand
    crypto/internal/fips140/hmac
    crypto/internal/entropy
    math/rand/v2
    crypto/internal/fips140/check
    crypto/internal/fips140/aes
    crypto/internal/randutil
    crypto/subtle
    math/rand
    math/big
    crypto/internal/fips140/drbg
    crypto/internal/fips140/aes/gcm
    crypto/internal/fips140only
    crypto/cipher
    crypto/internal/boring
    crypto/internal/fips140/bigmod
    crypto/internal/fips140/rsa
    crypto/sha3
    crypto/internal/fips140hash
    crypto/rand
    crypto/internal/boring/bbig
    encoding/binary
    crypto/rsa
    sort
    encoding/base64
    encoding/json
    golang.org/x/sys/unix
    golang.org/x/sys/cpu
    golang.org/x/crypto/blake2b
    golang.org/x/crypto/internal/poly1305
    golang.org/x/crypto/nacl/secretbox
    os/signal
    crypto/md5
    github.com/awnumar/memcall
    crypto/sha1
    github.com/awnumar/memguard/core
    database/sql/driver
    encoding/hex
    github.com/awnumar/memguard
    vendor/golang.org/x/net/dns/dnsmessage
    internal/singleflight
    weak
    unique
    runtime/cgo
    net/netip
    github.com/lestrrat-go/option
    github.com/lestrrat-go/jwx/jwa
    crypto/internal/fips140/nistec/fiat
    crypto/internal/fips140/nistec
    net
    crypto/internal/fips140/ecdh
    crypto/internal/fips140/edwards25519/field
    crypto/ecdh
    crypto/elliptic
    crypto/internal/fips140/ecdsa
    crypto/sha512
    encoding/asn1
    vendor/golang.org/x/crypto/cryptobyte
    crypto/ecdsa
    crypto/internal/fips140/edwards25519
    crypto/internal/fips140/ed25519
    crypto/ed25519
    encoding/pem
    github.com/lestrrat-go/blackmagic
    bufio
    github.com/lestrrat-go/httpcc
    compress/flate
    hash/crc32
    compress/gzip
    crypto/aes
    crypto/des
    crypto/hmac
    crypto/internal/fips140/hkdf
    github.com/google/uuid
    crypto/internal/fips140/mlkem
    crypto/internal/fips140/tls12
    crypto/internal/fips140/tls13
    vendor/golang.org/x/crypto/chacha20 vendor/golang.org/x/crypto/internal/poly1305
    vendor/golang.org/x/sys/cpu
    crypto/rc4
    vendor/golang.org/x/crypto/chacha20poly1305
    crypto/sha256
    crypto/tls/internal/fips140tls
    crypto/dsa
    crypto/x509/pkix
    crypto/internal/hpke
    maps
    net/url
    path/filepath
    vendor/golang.org/x/text/transform
    log
    crypto/x509
    vendor/golang.org/x/text/unicode/bidi
    vendor/golang.org/x/text/secure/bidirule
    vendor/golang.org/x/text/unicode/norm
    vendor/golang.org/x/net/idna
    crypto/tls
    net/textproto
    vendor/golang.org/x/net/http/httpguts
    vendor/golang.org/x/net/http/httpproxy
    vendor/golang.org/x/net/http2/hpack
    mime
    mime/quotedprintable
    mime/multipart
    net/http/internal
    net/http/internal/ascii
    regexp/syntax
    regexp
    github.com/lestrrat-go/iter/arrayiter
    github.com/lestrrat-go/iter/mapiter
    github.com/lestrrat-go/jwx/internal/base64
    github.com/lestrrat-go/jwx/cert
    net/http/httptrace
    github.com/lestrrat-go/jwx/internal/ecutil github.com/lestrrat-go/jwx/internal/iter github.com/lestrrat-go/jwx/internal/json
    net/http
    github.com/lestrrat-go/jwx/internal/pool github.com/lestrrat-go/jwx/jwk/internal/x509
    golang.org/x/crypto/curve25519
    github.com/lestrrat-go/jwx/x25519
    golang.org/x/crypto/ed25519
    filippo.io/bigmod
    os/exec
    github.com/openpubkey/openpubkey/util
    golang.org/x/crypto/sha3
    github.com/go-jose/go-jose/cipher
    github.com/go-jose/go-jose/json
    golang.org/x/crypto/pbkdf2
    github.com/go-jose/go-jose
    github.com/sirupsen/logrus
    log/slog/internal/buffer
    log/slog
    github.com/zitadel/oidc/pkg/crypto
    internal/saferio
    encoding/gob
    github.com/lestrrat-go/httprc
    github.com/zitadel/logging
    github.com/lestrrat-go/jwx/jwk
    github.com/gorilla/securecookie
    github.com/muhlemmer/gu
    github.com/zitadel/schema
    io/ioutil
    golang.org/x/oauth2/internal
    golang.org/x/oauth2
    golang.org/x/text/internal/tag
    golang.org/x/text/internal/language
    golang.org/x/text/internal/language/compact
    golang.org/x/text/language
    github.com/lestrrat-go/jwx/internal/keyconv
    github.com/lestrrat-go/jwx/jws
    github.com/zitadel/oidc/pkg/oidc
    github.com/zitadel/oidc/pkg/http
    github.com/go-logr/logr
    github.com/openpubkey/openpubkey/gq
    github.com/go-logr/logr/funcr
    go.opentelemetry.io/otel/internal/attribute
    go.opentelemetry.io/otel/attribute
    github.com/go-logr/stdr
    go.opentelemetry.io/otel/codes
    go.opentelemetry.io/otel/metric
    go.opentelemetry.io/otel/internal/baggage
    go.opentelemetry.io/otel/baggage
    go.opentelemetry.io/otel/trace
    github.com/openpubkey/openpubkey/oidc github.com/openpubkey/openpubkey/pktoken/clientinstance github.com/davecgh/go-spew/spew
    go.opentelemetry.io/otel/propagation
    go.opentelemetry.io/otel/internal/global
    github.com/pmezard/go-difflib/difflib
    gopkg.in/yaml.v3
    go.opentelemetry.io/otel
    github.com/zitadel/oidc/pkg/client
    github.com/openpubkey/openpubkey/discover github.com/openpubkey/openpubkey/providers/mocks
    net/http/internal/testcert
    net/http/httptest
    runtime/debug
    github.com/stretchr/testify/assert/yaml
    golang.org/x/oauth2/clientcredentials
    github.com/stretchr/testify/assert
    github.com/zitadel/oidc/pkg/client/rp
    internal/sysinfo
    runtime/trace
    testing
    github.com/stretchr/testify/require
    html
    text/template/parse
    github.com/openpubkey/openpubkey/providers
    text/template
    github.com/openpubkey/openpubkey/pktoken github.com/openpubkey/openpubkey/cosigner github.com/openpubkey/openpubkey/verifier github.com/openpubkey/openpubkey/client
    html/template
    github.com/spf13/afero/internal/common
    github.com/spf13/afero/mem
    golang.org/x/text/transform
    golang.org/x/text/runes
    golang.org/x/text/unicode/norm
    github.com/openpubkey/openpubkey/client/choosers
    os/user
    github.com/spf13/afero
    github.com/openpubkey/opkssh/policy/files
    golang.org/x/crypto/chacha20
    golang.org/x/crypto/blowfish
    golang.org/x/crypto/ssh/internal/bcrypt_pbkdf
    golang.org/x/crypto/ssh
    github.com/openpubkey/opkssh/policy github.com/openpubkey/opkssh/internal/projectpath github.com/openpubkey/opkssh/sshcert
    github.com/openpubkey/opkssh/commands
    github.com/openpubkey/opkssh
    # github.com/openpubkey/opkssh
    src/github.com/openpubkey/opkssh/main.go:183:5: not enough arguments in call to choosers.NewWebChooser
    have ([]providers.BrowserOpenIdProvider)
    want ([]providers.BrowserOpenIdProvider, bool)
    dh_auto_build: error: cd _build && go install -trimpath -v -p 2 github.com/openpubkey/opkssh github.com/openpubkey/opkssh/commands github.com/openpubkey/opkssh/internal/projectpath github.com/openpubkey/opkssh/policy github.com/openpubkey/opkssh/policy/
    files github.com/openpubkey/opkssh/sshcert returned exit code 1
    make: *** [debian/rules:4: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

    https://people.debian.org/~sanvila/build-logs/202504/

    About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages.

    If you could not reproduce the bug please contact me privately, as I
    am willing to provide ssh access to a virtual machine where the bug is
    fully reproducible.

    If this is really a bug in one of the build-depends, please use
    reassign and add an affects on src:opkssh, so that this is still
    visible in the BTS web page for this package.

    Notes:

    - This is an "always" failure in my setup, not random.

    - Yes, I know that this built ok in the buildd merely 6 hours ago,
    but they have additional packages in the chroot and they disable
    network access. My theories to explain this would be a) Maybe this package
    is trying to access Internet and b) Maybe there are missing build-depends.

    - In either case, weird cases like this one are the reason I always offer
    a VM to test in case it's necessary.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Mon Apr 7 11:10:01 2025
    Hi.

    Thanks a lot for such comprehensive analysis of the issue!

    El 7/4/25 a las 7:31, Simon Josefsson escribió:
    At this point, I'm not sure if it makes sense to re-upload golang-github-openpubkey-openpubkey with that Breaks, since nobody
    should ever attempt to build opkssh 0.3.0-1 with golang-github-openpubkey-openpubkey 0.7.3-1 again, right? There is a implicit temporal build dependency ordering in each archive. I'm
    tagging this bug with that information though.

    In general, it's a good thing that we care about those versioned
    relations, because otherwise it could happen that some packages
    propagate to testing prematurely and they become unbuildable.

    In this case I agree that it's too late and does not worth the effort.

    - Yes, I know that this built ok in the buildd merely 6 hours ago,
    but they have additional packages in the chroot and they disable
    network access. My theories to explain this would be a) Maybe this package >> is trying to access Internet and b) Maybe there are missing build-depends. >>
    - In either case, weird cases like this one are the reason I always offer
    a VM to test in case it's necessary.

    Maybe you could add 'c) Maybe you uploaded a new version of a build dependency that triggered this failure and forgot to add Breaks' to this
    list of reasonable explanations.

    Yes, this is also an option to consider so I will try to mention it
    in similar future cases should they arise.

    Thanks a lot!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)