I just emerged go-1.24.0. Up to now, the go build log always asked for @golang-rebuild, and @golang-rebuild re-emerged sys-libs/libcap, but for 1.24.0, there was no such log message, and @golang-rebuild is also no longer recognized. My other go ebuild (doggo) was rebuilt automatically together with go, but sys-libs/libcap definitely contains go executables and was *not* rebuilt. Is rebuilding no longer necessary, or should it have been rebuilt automatically?
libcap depends on go with dev-lang/go in BDEPEND but with no :=. While the := in BDEPEND thing is IMHO somewhat dubious, I agree it should be there for consistency.
The @golang-rebuild set is provided by dev-lang/go. It appears this set got dropped in dev-lang/go-1.24.0. Adding a slot operator to BDEPEND is not necessary for this set to function properly.
Is the golang-rebuild set still needed? I see when I upgrade/downgrade go that rebuilds are automatically triggered. Thanks, William
Looking this over, the rebuilds are triggered by the BDEPEND including the slot operator. I don't have an issue with adding back the @golang-rebuild set, but we should also make sure we check all dependencies on dev-lang/go in the tree to make sure they are correct. operator in bdepend.
I wasn't aware that Portage did slot operator rebuilds based on BDEPEND. Sam's comment makes more sense now. Agreed, someone needs to audit the gentoo repo and add the missing slot operators.
I think we should make sure all ebuilds that use go are inheriting go-module since the eclass sets the proper BDEPEND by default. If ebuilds can't inherit the go-module eclass we should try to figure out why. Thanks, William
Still unfixed. @golang-rebuild does not exist, and the dependencies in libcap do not force an automatic rebuild when go is updated. libcap has to be rebuilt manually after re-emerging go (and might silently fail when this is not done).
(In reply to Klaus Kusche from comment #7) > libcap has to be rebuilt manually after re-emerging go > (and might silently fail when this is not done). How might it fail silently?
(In reply to William Hubbs from comment #3) > Is the golang-rebuild set still needed? I think it make sense to install the set nonetheless for convenience.
(In reply to Sam James from comment #8) > (In reply to Klaus Kusche from comment #7) > > libcap has to be rebuilt manually after re-emerging go > > (and might silently fail when this is not done). > > How might it fail silently? Sorry, my mistake. I mis-remembered the message written to the elog when emerging go. I thought it said "You have to rebuild all go packages, or they might fail.". But it says "You should rebuild all go packages, or they will contain old code which could have vulnerabilities." I don't know what the lesser evil is...