How to find all Fedora dependencies on crate libudev?
by the Mulhern
Hi all,
I'm investigating upgrading rust-libudev[1] to 0.3.0.
There are a bunch of considerations and one that l, alas, can not
manage for myself.
I know that two of my packages, stratisd[2], and rust-devicemapper[3]
depend on rust-libudev. I know certainly that they will not update
cleanly.
What I would like to know is how to find out any other packages that
depend on rust-libudev. I would like to investigate, what, if
anything, would be required to update these packages, if they exist.
In a previous email to this list[4], directions were given to use a
script[5] to find this out. Unfortunately, I don't know in what
context to use this script, or what it does, exactly
In another email[5] a new tool, rust-update-set, was introduced. I've
tried that tool out, but it doesn't seem to do what I need, that is
just tell me what packages depend on the package I want to update, in
a particular Fedora release.
What should I do now?
Thanks,
- mulhern
[1] https://src.fedoraproject.org/rpms/rust-libudev
[2] https://src.fedoraproject.org/rpms/stratisd/
[3] https://src.fedoraproject.org/rpms/rust-devicemapper
[4] https://lists.fedoraproject.org/archives/list/rust@lists.fedoraproject.or...
[4] https://github.com/decathorpe/miscripts/blob/master/cratedeps
[5] https://lists.fedoraproject.org/archives/list/rust@lists.fedoraproject.or...
1 year, 5 months
HEADS-UP: Upcoming retirement of long-term-unused packages for Rust crates
by Fabio Valentini
Hi all,
I've been collecting data about the dependency graph of Rust packages
in Fedora for over a year now, and I would like to start the process
of removing some accumulated cruft. In particular, I've been keeping
track of which packages for *library* packages (i.e. they ship only
source code but no binaries) have been leaf packages.
List of Rust library-only packages, which no other package in Fedora
has depended on, for over a year (365 days+):
- rust-compiletest_rs
- rust-constant_time_eq
- rust-conv
- rust-counted-array
- rust-dbus-tokio
- rust-defmac
- rust-dialoguer
- rust-enumset
- rust-failure-tools
- rust-fake-simd
- rust-fbthrift_codegen_includer_proc_macro
- rust-fdlimit
- rust-hamcrest2
- rust-html2pango
- rust-imgref
- rust-ioctl-rs
- rust-lipsum
- rust-listenfd
- rust-loggerv
- rust-lzw
- rust-macro-attr
- rust-mdl
- rust-mktemp
- rust-mnt
- rust-newtype_derive
- rust-odds
- rust-osstrtools
- rust-parse_cfg
- rust-permutate
- rust-piper
- rust-podio
- rust-proc-quote-impl
- rust-process_path
- rust-progress-streams
- rust-protoc-rust
- rust-quickersort
- rust-rand_jitter
- rust-rand_os
- rust-read_input
- rust-relay
- rust-rustc_tools_util
- rust-rustdoc-stripper
- rust-rustfilt
- rust-safe-transmute
- rust-scoped-tls-hkt
- rust-serde-pickle
- rust-serial-core
- rust-sluice
- rust-smallstr
- rust-spinning_top
- rust-spmc
- rust-ssh-key-dir
- rust-stb_truetype
- rust-string_cache_shared
- rust-strings
- rust-sudo_plugin
- rust-sxd-document
- rust-synom
- rust-sysctl
- rust-tabwriter
- rust-take
- rust-timerfd
- rust-tower-test
- rust-tower-util
- rust-ucd-util
- rust-unic-ucd-category
- rust-url_serde
- rust-urlocator
- rust-utf8-ranges
- rust-watchman_client
Some of these packages are dependencies of things that will be worked
on at some point in the future (for example, packaging of GStreamer
plugins that are written in Rust), but others look very much like
accumulated cruft.
If you see a package on this list that you would like to keep for some
reason, please speak up, and I will exclude it from future dependency
graph analysis. Otherwise I will soon start retiring packages that
have been unused for over a year.
The packages that would be in the list above, but which I *know* will
get some use soon, are:
- rust-curve25519-dalek
- rust-gstreamer-audio
- rust-gstreamer-editing-services
- rust-gstreamer-player
I will probably start the cleanup process with packages for crates
that no longer have any dependent crates listed on the crates.io
registry (which is a good indicator that they are indeed obsolete),
and then continue with crates for which the longest amount of time has
passed since the last upstream release (which is "more than 5 years
ago" for some crates ...).
Fabio
1 year, 5 months
Web Assembly on Fedora: interested in a Fedora SIG to work on this?
by Michael Dawson
As Web Assembly (WASM) gains momentum we’d like to create a SIG as a place to collaborate
to ensure that Fedora is a great platform to both build and run WASM workloads. This
includes looking at the toolchains needed to build WASM as a target and the runtimes
needed to run WASM. It will provide a place to bring together efforts across different
ecosystems (nodejs, rust, compiler toolchains, etc.) as well as a place where people can
provide self-help when building and running WASM workloads
If you are interested please let us know in this thread - https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
1 year, 5 months
Re: musings on rust packaging [was Re: F38 proposal: RPM Sequoia (System-Wide Change proposal)]
by Michel Alexandre Salim
Hi all,
Just a note that over the summer, our intern did a project to try and
address some of these issues (namely, that while it's trivial to convert
a single crate to an RPM, trying to automate packaging all the
dependencies and making sure that you don't break anything else while
doing so is tedious and error-prone). Matt and Fabio might recall me
getting their inputs on this several months ago.
The tool:
- recursively checking out packages
- updating existing packages while carrying over manual changes
- creating compatibility packages when upgrading packages with dependents
- automate parallel COPR test builds of sets of packages in dependency order
- chain-build all packages in Koji with requested side tag
- merging and chain-building all packages across release branches
- help review a rust update in Bodhi and verify no compatibility issues are introduced
It does not automatically commit anything, of course, and right now is a
bit opinionated in favor of picking the lowest satisfactory version
possible, which is probably not what we want long term -- but it
hopefully provides a nice foundation on which to build on
I've finally gotten round to doing some polishing and getting it
packaged:
- updates for Fedora 36, 37, and Rawhide: https://bodhi.fedoraproject.org/updates/?search=rust-update-set-0.0.1&pac...
- Pagure repo: https://pagure.io/fedora-rust/rust-update-set
There are some fixes for corner cases I encountered while trying to update our
`below` packages with this, and some changes needed to get this packageable,
but those are minor. It mostly works really well, and is at a stage where
hopefully people can take a look and make suggestions for improvements.
Best regards,
--
Michel Alexandre Salim
identities: https://keyoxide.org/5dce2e7e9c3b1cffd335c1d78b229d2f7ccc04f2
1 year, 5 months