Upstream commits since last merge

** Description changed:

- Tracking bug
+ ## FFE ##
+ 
+ [ 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.

** Attachment added: "commit-list.txt"
   
https://bugs.launchpad.net/ubuntu/+source/rust-cargo-c/+bug/2158129/+attachment/6004604/+files/commit-list.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:
  Please merge rust-cargo-c 0.10.16-2 into stonking

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