This uninstallability can be fixed by simply relaxing the toml dependency requirement.
Hence, a merge and, by extension, an FFe are no longer necessary. I shall update this bug to be a simple bug fix request to fix uninstallability, as the current upstream version of rust-cargo-c is what matches the 26.10 archive. ** Summary changed: - Please merge rust-cargo-c 0.10.22-1 into stonking + rust-cargo-c is uninstallable due to strict rust-toml dep ** Description changed: - ## FFE ## + As Jeremy says in the comments, librust-cargo-c-dev has Depends: + librust-toml-0.9+default-dev but stonking-proposed has rust-toml 1.1.4. - [ Rationale ] - - * librust-cargo-c-dev has Depends: librust-toml-0.9+default-dev but - stonking-proposed has rust-toml 1.1.4, making this package uninstallable: - https://ubuntu-archive-team.ubuntu.com/proposed-migration/stonking_uninst.txt - - * Not only does this make cargo-c unavailable on 26.10, this also makes the - following packages unbuildable: - - $ reverse-depends -blrstonking src:rust-cargo-c - - libimagequant - librsvg - rust-dolby-vision - rust-gst-plugin-dav1d - rust-gst-plugin-fallbackswitch - rust-gst-plugin-gif - rust-gst-plugin-gtk4 - rust-rav1e - upki - - [ Scope ] - - * While the diff is large, it is relatively simple. The fix for this - uninstallability is to simply merge version 0.10.22 from Debian unstable. - - * Additionally, in order to reduce future maintenance burden, I have filtered - unneeded vendored dependencies from the tarball, which matches the most common - modern workflow for vendoring Rust dependencies for Ubuntu packages. - - * rust-cargo-c is not seeded in Ubuntu: - - $ seeded-in-ubuntu rust-cargo-c - rust-cargo-c's binaries are not seeded. - - * As far as upstream changes go, I have attached the output of - `git log v0.10.16..v0.10.22 --oneline` to this bug. The changes are mostly - bugfixes, version bumps of actions, and dependency version bumps. Nothing - significant. - - - [ Regression Potential ] - - * Notably, rust-cargo-c has no runtime dependencies, meaning that even in the - worst-case scenario it will not break other packages at runtime: - - $ ./reverse-depends-ng-poc -rstonking -p src:rust-cargo-c - No reverse dependencies found for 'src:rust-cargo-c'. - - This result was found using a WIP newer version of reverse-depends which can - handle Provides relationships: - https://github.com/maxgmr/reverse-depends-ng-poc - - * Since the only changes to the package are the upstream version bump and the - filtering of vendored dependencies, both of those should be addressed. First, - the filtering of vendored dependencies is the standard workflow for vendored - Rust packages on Ubuntu. If the filtering was too aggressive, then the build - would fail; the successful builds in the PPA prove that this has not happened. - - * Second, the upstream changes themselves are limited to the addition of Cygwin - support (so not relevant to us), some version requirement bumps, and - miscellanous bugfixes -- no API incompatabilities whatsoever, and the only - added feature doesn't apply to Ubuntu. - - * To summarize, regression potential is low -- the most likely scenario is that - some upstream bugfix causes some sort of build failure in one of - librust-cargo-c-dev's reverse Build-Depends, and even then this is very - unlikely considering that the upstream changes are minor. - - * However, in the unlikely event it *does* cause a build failure, such an event - wouldn't break any packages at runtime -- it would only block new uploads. I - believe this risk is more than worth it, considering rust-cargo-c is currently - completely uninstallable. - - [ Testing ] - - * Smoke test: - - PPA: https://launchpad.net/~maxgmr/+archive/ubuntu/stonking-merges - - Build logs: https://launchpad.net/~maxgmr/+archive/ubuntu/stonking-merges/+sourcepub/18811389/+listing-archive-extra - - autopkgtests: - - amd64: - - arm64: - - armhf: - - ppc64el: - - s390x: - - Installation: - - # add-apt-repository -y ppa:maxgmr/stonking-merges - [...] - - # apt update - [...] - - $ apt-cache policy cargo-c - cargo-c: - Installed: (none) - Candidate: 0.10.16+ds1-1ubuntu3~ppa1 - Version table: - 0.10.16+ds1-1ubuntu3~ppa1 500 - 500 https://ppa.launchpadcontent.net/maxgmr/stonking-merges/ubuntu stonking/main amd64 Packages - 0.10.16+ds1-0ubuntu1 500 - 500 http://archive.ubuntu.com/ubuntu stonking/universe amd64 Packages - - # apt install -y cargo-c - [...successful installation...] - - [ Other Info ] - - * +ds1 has been added to the version string to show that the tarball includes a - separate orig-vendor component containing all of the vendored dependencies. - This is a necessary addition because our orig contents fundamentally differ - from Debian's. - - * While all we need to do is update the upstream version, a sync from Debian is - not possible due to the Rust ecosystem being out of sync with the particular - dependencies required by this package. + This makes librust-cargo-c-dev uninstallable: + https://ubuntu-archive-team.ubuntu.com/proposed-migration/stonking_uninst.txt -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2158129 Title: rust-cargo-c is uninstallable due to strict rust-toml dep To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/rust-cargo-c/+bug/2158129/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
