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

Reply via email to