• Bug#1109514: Bug#1109513: Likely golang-github-golang-protobuf-1-{3,5}-

    From Jochen Sprickerhof@21:1/5 to All on Sun Jul 27 14:30:01 2025
    XPost: linux.debian.devel.release

    * Jochen Sprickerhof <[email protected]> [2025-07-26 08:45]:
    * Mathias Gibbens <[email protected]> [2025-07-19 11:40]:
    The root cause looks like the golang-github-golang-protobuf-1-3-dev
    golang-github-golang-protobuf-1-5-dev transition.

    I agree. Sadly this transition is still incomplete as there are a
    number of packages build depending on the old version:

    $ dak rm -nRb golang-github-golang-protobuf-1-3-dev protoc-gen-go-1-3
    Will remove the following packages from unstable:

    golang-github-golang-protobuf-1-3-dev | 1.3.5-4 | all
    protoc-gen-go-1-3 | 1.3.5-4+b12 | riscv64
    protoc-gen-go-1-3 | 1.3.5-4+b14 | amd64, arm64, armel, armhf, i386, mips64el, ppc64el, s390x

    Maintainer: Debian Go Packaging Team <[email protected]>

    ------------------- Reason -------------------

    ----------------------------------------------

    Checking reverse dependencies...
    # Broken Depends:
    golang-github-golang-protobuf-1-3: golang-goprotobuf-dev

    # Broken Build-Depends:
    golang-github-golang-groupcache: golang-github-golang-protobuf-1-3-dev >golang-github-spiffe-go-spiffe: protoc-gen-go-1-3
    golang-google-appengine: golang-github-golang-protobuf-1-3-dev >golang-gopkg-rethinkdb-rethinkdb-go.v6: golang-github-golang-protobuf-1-3-dev
    protoc-gen-go-1-3
    golang-protobuf-extensions: golang-github-golang-protobuf-1-3-dev >golang-v2ray-core: protoc-gen-go-1-3

    Actually:

    coccia:~$ dak rm -nR golang-github-golang-protobuf-1-3
    Will remove the following packages from unstable:

    golang-github-golang-protobuf-1-3 | 1.3.5-4 | source golang-github-golang-protobuf-1-3-dev | 1.3.5-4 | all
    golang-goprotobuf-dev | 1.3.5-4+b12 | riscv64
    golang-goprotobuf-dev | 1.3.5-4+b14 | amd64, arm64, armel, armhf, i386, mips64el, ppc64el, s390x
    protoc-gen-go-1-3 | 1.3.5-4+b12 | riscv64
    protoc-gen-go-1-3 | 1.3.5-4+b14 | amd64, arm64, armel, armhf, i386, mips64el, ppc64el, s390x

    Maintainer: Debian Go Packaging Team <[email protected]>

    ------------------- Reason -------------------

    ----------------------------------------------

    Checking reverse dependencies...
    # Broken Depends:
    golang-github-hashicorp-go-raftchunking: golang-github-hashicorp-go-raftchunking-dev
    golang-github-m3db-prometheus-client-model: golang-github-m3db-prometheus-client-model-dev

    # Broken Build-Depends:
    debiman: golang-goprotobuf-dev
    golang-android-soong: golang-goprotobuf-dev
    golang-github-golang-groupcache: golang-github-golang-protobuf-1-3-dev golang-github-hashicorp-go-raftchunking: golang-goprotobuf-dev (1.3.2~ >=) golang-github-m3db-prometheus-client-model: golang-goprotobuf-dev golang-github-spiffe-go-spiffe: protoc-gen-go-1-3
    golang-google-appengine: golang-github-golang-protobuf-1-3-dev golang-gopkg-rethinkdb-rethinkdb-go.v6: golang-github-golang-protobuf-1-3-dev
    protoc-gen-go-1-3 golang-protobuf-extensions: golang-github-golang-protobuf-1-3-dev golang-v2ray-core: protoc-gen-go-1-3

    Dependency problem found.

    Given those are Go packages they probably produce the same binary
    packages with the new protobuf version but I did not check this.

    I gave this a try and golang-gopkg-rethinkdb-rethinkdb-go.v6 FTBFS with golang-github-golang-protobuf-1-5-dev:

    protoc-gen-go: unable to determine Go import path for "ql2.proto"

    Once this is done we can change golang-github-golang-protobuf-1-3 to
    contain only transitional dummy packages. This would mean the
    following changes:

    Package: golang-github-golang-protobuf-1-3-dev
    Description: transitional dummy package
    Replaces:
    Depends: golang-github-golang-protobuf-1-5-dev
    Conflicts:
    Breaks:

    Package: golang-goprotobuf-dev
    Depends: golang-github-golang-protobuf-1-5-dev, protoc-gen-go-1-5

    Package: protoc-gen-go-1-3
    Description: transitional dummy package
    Replaces:
    Depends: protoc-gen-go-1-5
    Conflicts: protoc-gen-go

    Package: golang-github-golang-protobuf-1-5-dev
    Conflicts: golang-goprotobuf-dev, golang-github-golang-protobuf-1-3-dev (<< 1.3.5-4+b13)
    Replaces: golang-github-golang-protobuf-1-3-dev (<< 1.3.5-4+b13)

    Package: protoc-gen-go-1-5
    Conflicts: protoc-gen-go, protoc-gen-go-1-3 (<< 1.3.5-4+b13)
    Replaces: protoc-gen-go-1-3 (<< 1.3.5-4+b12)

    Would be great if someone would pick this up but please coordinate
    with the release time before uploading.

    The options I see are:

    a) Ask the release team (Cc) for tagging this bug trixie-can-defer.
    b) Remove the FTBFS package(s) from testing and finish the transition.
    c) Remove a lot of packages from testing.

    Cheers Jochen

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEc7KZy9TurdzAF+h6W//cwljmlDMFAmiGGtMACgkQW//cwljm lDO7GhAAkwpuMTw7aI8EPtlpS6yc8X8RklMZCjKruwE0Q8nzVFWoqrbphHtJAFw3 JETTEB1df6L89720PUFdspGwPWMfrcOy1eTLV7idhw5XIByYDcSEhgbTmyxOaU4x Gs/oABnQoAsKWTcDkj5FsOQciSPi/EyPLFNcTd4VQEM0uDB/HFBCf+5rkjr0xvtg V3L3eGh6ok6LwoyxKoFpOr6wRwDjHoDyNTDSNe0UU9/y1/XfL1DqZvbB68rOF+fr fje2ddMbtwwnPJWdtt/x5lMF91nEPMAxE1P83GSqd5rZPVuZLEedvGNwYqnqU8R/ oeVbwJJL1MQwEehG1oun14VlSsS54b9CkdLvDG1t7XpkNGmPiJCPzhnv3o3YKKga zJPfbOomLtWD+gn7K7zCDKXjEQdMTYcTHz2mj69uppq78YPZLoBm4z5Y5uiZ03U8 qV+uL2hyg3/Dw2mDr9UJNEtUBG2ZkWTHPd60aDju6Vr+oBs7Ikwc8K3fsPKI8Re2 ChJiUIKr8JF6PyD1p/T09mm5G7b5v3IIu1FZZt1PNwOvDIXZumNMb/JQTu03lkyQ 47FCOtIuCTAQN1X01gums436rCLby/D88fIR/GpXUla3cB2GLRZntMltQIrdR4Nk aXd389wwG/3+GwcElKz4zr9GASA6eCVBRy/KpDblK5v+Sv1MYKM=
    =lson
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mathias Gibbens@21:1/5 to All on Sun Jul 27 20:00:01 2025
    XPost: linux.debian.devel.release

    What makes this tricky is that golang-github-golang-protobuf-1-3
    provides pre-APIv2 protobuf libraries and golang-github-golang-
    protobuf-1-5 provides APIv2. While some code might compile with both
    versions, they are runtime incompatible and mixing resulting binaries
    will result most likely in crashes.

    I think that a Breaks+Replaces as suggested in bug #1109655 isn't
    correct. I'm not familiar enough with the details to be able to
    confidently suggest the correct solution to this problem. I did mention
    this on the debian-go mailing list hoping to solicit feedback from
    others.

    The affected packages in bugs #1109513-7 are all golang development libraries, which aren't expected to be used other than building golang packages. I think the odds of an end user encountering the upgrade
    issue is low, although it would still be good to fix.

    Mathias

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEE1Bp60H32xfynSJ8cKe7i1uz0QvkFAmiGZuoACgkQKe7i1uz0 Qvk7thAAn7X8exhPmPJHZBc4Qas175NV+8YFri96o5bMay0vQ2jLhbwanDnPqxsP 1FTgjXXZpjUhubXG1880LXEAp1YEJX9yyYDRE7aTUx7zFOAIdrbfy3u48AohZZ58 z1osq3/9lwpymSvszkDi+Z6togNtruyGb+q16WdW2LYWDJN4yZEIWPMNZrIBjUux I+qqujfydXlQVQng5kAeUAqliqVxfcIj4VlLzneKRZI0HVc/HrmAJpcYfdnFr0g7 xLUVVEPdXHp19Jdl/e0o8pSWlw+T+pMpOrIvZJtSLng89vzSSt2qto0yG72eVIvJ +CnUYkR4tz277J6k88vLzzCNsxbKR4YAv1IYD5m6YcoKoYTzevcVBWTjRxFJDGV7 ZEP6Bjim716W0pP8gvNSqXiZTXeCz/SKND/Y75q8ULIaS8ZN1ApmdeX1oYVrRN9X rPQPL9ECpN55f2FxVC1v0H5aS8jGcGaF7EhILjevVGCyS0dhDZcT9bBEUd06jYHz FnKiqW2ZoIkHiQ+DchhIyi5XCG9GX3k6nO4p3nYEnawt5gZ+laXLvMonNMXW1BgZ nj/NNzU/2Ud3E+duHTY0baqZJKeaOjeossdV7Za8QCfHuJ4ak65qYUcg4G4aGKmZ sdzYZUnyN+56u7bWbZdnoZyfggyp8yT+wVsG7r7AHv1bvfMn32c=
    =ebWD
    -----END PGP SIGNATURE-----

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