Packaging help
by Jim Campbell
Hello Fedora Rust people,
I am interested in packaging Rust applications in Fedora. I think it would
be good for me to start by updating packages that are already present in
the repos rather than bringing in new applications.
Where would be a good place for me to start, and are there restrictions
around updating packages in already-released Fedora versions?
Thanks, and I'll look forward to working with you,
Jim
1 year, 4 months
Rust Stack Spring Cleaning (January 2022 Edition)
by Fabio Valentini
Hello Rust packagers,
Following up on my previous emails, there are still a lot of Rust packages that
were imported to Fedora, but the recommended "initial setup" for them was never
finished.
I have started by adding them all "rust-*" packages to koschei, which makes it
way easier for me to see at a glance whether there are any broken packages in
our Rust stack at any point in time.
There is also the question about whether anitya release-monitoring.org is
actually set up for those packages, but I don't have an easy way to make
scripted checks for this yet. If you add new Rust packages to Fedora, please
make sure to set up release-monitoring with these settings:
project: $crate
homepage: https://crates.io/crates/$crate
backend: crates.io
version scheme: semantic
version filter: alpha;beta;rc;pre
distro: Fedora
Package: rust-$crate
In addition, I would ask of all of you to make sure all your packages have been
added to the @rust-sig group on src.fedoraproject.org (at least with "commit"
access), unless there is a very good reason not to do so (and if that is the
case for a particular package on this list, I'd be interested in knowing the
reason).
Without that, it makes it very hard for us to keep the Rust stack
up-to-date and in working order, because the "rust-sig" list / bugzilla account
does not get CC'd on new bugs that way, and your bugs do not show up in our
BugZilla queries.
If you want a scripted way of adding "@rust-sig" group to many packages, you
can generate an API token on src.fedoraproject.org (with "Modify an existing
project") access level, and use the simple Python script from this GitHub gist:
https://gist.github.com/decathorpe/9d128982cb00e2d345d9e397372538ec
Below is the list of "incompletely set-up" packages, in alphabetic order, and
at the bottom, is a list per package maintainer.
Thanks,
Fabio / decathorpe
================================================================================
Maintainers per package:
- rust-arrayvec0.5: eclipseo
- rust-asn1: cheimes
- rust-asn1_derive: cheimes
- rust-assert-impl: dcavalca
- rust-aws-nitro-enclaves-cose: pbrobinson
- rust-benfred-read-process-memory: dcavalca
- rust-biscuit: orphan
- rust-bitfield: pbrobinson, ignatenkobrain
- rust-blsctl: javierm
- rust-bootupd: walters, siosm, lucab, jlebon
- rust-btrd: dcavalca
- rust-bytelines: ignatenkobrain
- rust-clap_generate: eclipseo
- rust-clap_generate_fig: eclipseo
- rust-clircle: eclipseo
- rust-combine: dcavalca
- rust-conhash: dcavalca
- rust-console0.13: ignatenkobrain
- rust-coolor: dcavalca
- rust-cryptoki: pbrobinson
- rust-cryptoki-sys: pbrobinson
- rust-cty: nickblack
- rust-custom_error: dcavalca
- rust-dbus-codegen: pbrobinson
- rust-dbus-crossroads: pbrobinson
- rust-derivative: pbrobinson
- rust-directories-next: jbtrystram
- rust-dirs2: ignatenkobrain
- rust-drg: jbtrystram
- rust-elf: dcavalca
- rust-enumflags2: pbrobinson, ignatenkobrain
- rust-env_proxy: dcavalca
- rust-event-listener: dcavalca
- rust-hostname-validator: ignatenkobrain
- rust-inferno: dcavalca
- rust-is_debug: atim
- rust-itertools0.9: ignatenkobrain
- rust-josekit: pbrobinson
- rust-js-sys: pbrobinson
- rust-keccak: pbrobinson
- rust-madvr_parse: dcavalca
- rust-mbox: pbrobinson, ignatenkobrain
- rust-navi: jbtrystram
- rust-netlink-packet-core: cathay4t, ffmancera
- rust-num-format: dcavalca
- rust-oauth2: ctron, jbtrystram
- rust-oid: pbrobinson
- rust-openat-ext: walters
- rust-pam: eneville
- rust-pam-sys: eneville, remilauzier
- rust-parsec-client: pbrobinson
- rust-parsec-interface: pbrobinson
- rust-picky-asn1: pbrobinson
- rust-picky-asn1-der: pbrobinson
- rust-picky-asn1-x509: pbrobinson
- rust-pkcs11: pbrobinson
- rust-pleaser: eneville
- rust-proc-maps: dcavalca
- rust-process_control: atim, petersen
- rust-prost: pbrobinson
- rust-prost-build: pbrobinson
- rust-prost-derive: pbrobinson
- rust-prost-types: pbrobinson
- rust-psa-crypto: pbrobinson
- rust-psa-crypto-sys: pbrobinson
- rust-qstring: ctron, jbtrystram
- rust-rand0.7: ignatenkobrain
- rust-rand_chacha0.2: ignatenkobrain
- rust-rand_core0.5: ignatenkobrain
- rust-rand_pcg0.2: ignatenkobrain
- rust-rbspy: dcavalca
- rust-rbspy-ruby-structs: dcavalca
- rust-rbspy-testdata: dcavalca
- rust-read-process-memory: dcavalca
- rust-remoteprocess: dcavalca
- rust-rsa: pbrobinson
- rust-sd-notify: pbrobinson
- rust-secrecy: pbrobinson
- rust-serde_with: pbrobinson
- rust-sha3: pbrobinson
- rust-shadow-rs: atim
- rust-shellwords: jbtrystram
- rust-signal-hook-mio: dcavalca
- rust-simple_asn1: pbrobinson
- rust-starship-battery: atim
- rust-str_stack: dcavalca
- rust-subprocess: dcavalca
- rust-syslog: eneville
- rust-tabular: jbtrystram
- rust-textwrap0.11: ignatenkobrain
- rust-textwrap0.12: ignatenkobrain
- rust-thread-tree: dcavalca
- rust-toml_edit: dcavalca
- rust-tss-esapi-sys: pbrobinson
- rust-umask: dcavalca
- rust-universal-hash: pbrobinson
- rust-version: pbrobinson
- rust-version-sync0.8: ignatenkobrain
- rust-versions: atim
- rust-vte_generate_state_changes: ignatenkobrain
- rust-webbrowser: ctron, jbtrystram
Packages per maintainer:
atim (5): rust-is_debug, rust-process_control, rust-shadow-rs,
rust-starship-battery, rust-versions
cathay4t (1): rust-netlink-packet-core
cheimes (2): rust-asn1, rust-asn1_derive
ctron (3): rust-oauth2, rust-qstring, rust-webbrowser
dcavalca (25): rust-assert-impl, rust-benfred-read-process-memory,
rust-btrd, rust-combine, rust-conhash, rust-coolor, rust-custom_error,
rust-elf, rust-env_proxy, rust-event-listener, rust-inferno,
rust-madvr_parse, rust-num-format, rust-proc-maps, rust-rbspy,
rust-rbspy-ruby-structs, rust-rbspy-testdata,
rust-read-process-memory, rust-remoteprocess, rust-signal-hook-mio,
rust-str_stack, rust-subprocess, rust-thread-tree, rust-toml_edit,
rust-umask
eclipseo (4): rust-arrayvec0.5, rust-clap_generate,
rust-clap_generate_fig, rust-clircle
eneville (4): rust-pam, rust-pam-sys, rust-pleaser, rust-syslog
ffmancera (1): rust-netlink-packet-core
ignatenkobrain (16): rust-bitfield, rust-bytelines, rust-console0.13,
rust-dirs2, rust-enumflags2, rust-hostname-validator,
rust-itertools0.9, rust-mbox, rust-rand0.7, rust-rand_chacha0.2,
rust-rand_core0.5, rust-rand_pcg0.2, rust-textwrap0.11,
rust-textwrap0.12, rust-version-sync0.8,
rust-vte_generate_state_changes
javierm (1): rust-blsctl
jbtrystram (8): rust-directories-next, rust-drg, rust-navi,
rust-oauth2, rust-qstring, rust-shellwords, rust-tabular,
rust-webbrowser
jlebon (1): rust-bootupd
lucab (1): rust-bootupd
nickblack (1): rust-cty
orphan (1): rust-biscuit
pbrobinson (34): rust-aws-nitro-enclaves-cose, rust-bitfield,
rust-cryptoki, rust-cryptoki-sys, rust-dbus-codegen,
rust-dbus-crossroads, rust-derivative, rust-enumflags2, rust-josekit,
rust-js-sys, rust-keccak, rust-mbox, rust-oid, rust-parsec-client,
rust-parsec-interface, rust-picky-asn1, rust-picky-asn1-der,
rust-picky-asn1-x509, rust-pkcs11, rust-prost, rust-prost-build,
rust-prost-derive, rust-prost-types, rust-psa-crypto,
rust-psa-crypto-sys, rust-rsa, rust-sd-notify, rust-secrecy,
rust-serde_with, rust-sha3, rust-simple_asn1, rust-tss-esapi-sys,
rust-universal-hash, rust-version
petersen (1): rust-process_control
remilauzier (1): rust-pam-sys
siosm (1): rust-bootupd
walters (2): rust-bootupd, rust-openat-ext
1 year, 4 months
Rust Stack Spring Cleaning (in Winter)
by Fabio Valentini
Hello Rust packagers,
(I'm sending this email to the devel and rust lists, and I've added all directly
affected package maintainers in Bcc - because adding them all to the "To" or
"CC" fields would make the lists reject this message, I believe.)
I have been working on and preparing some more clean-ups in the Rust stack, and
I came across a large-ish number of Rust packages that were imported to Fedora,
but the recommended "initial setup" for them was never finished.
I have started by adding them all "rust-*" packages to koschei, which makes it
way easier for me to see at a glance whether there are any broken packages in
our Rust stack at any point in time.
I will also make sure all those packages are correctly set up with anitya /
release-monitoring.org, so that we actually get notifications for new versions
of all those crate packages.
Additionally, I would ask of all of you to make sure all your packages have been
added to the @rust-sig group on src.fedoraproject.org (at least with "commit"
access). Without that, it makes it very hard for us to keep the Rust stack
up-to-date and in working order, because the "rust-sig" list / bugzilla account
does not get CC'd on new bugs that way, and your bugs do not show up in our
BugZilla queries.
For example, I have been working on packaging and updating the RustCrypto
stack of crates, and found that most of the already existing
(security-sensitive!) crates are not "completely" set up, and are now out of
date, just because I didn't even know about those packages (and some were also
not set up with release-monitoring.org).
In the interest of keeping the Rust stack in Fedora in a good state, please
add "@rust-sig" group to all you Rust packages on src.fedoraproject.org, unless
there is a very good reason not to do so (and if that is the case for a
particular package in this list, I'd be interested in knowing the reason, as
well).
If you want a scripted way of adding "@rust-sig" group to many packages, you
can generate an API token on src.fedoraproject.org (with "Modify an existing
project") access level, and use the simple Python script from this GitHub gist:
https://gist.github.com/decathorpe/9d128982cb00e2d345d9e397372538ec
Below is the list of "incompletely set-up" packages, in alphabetic order, and
at the bottom, there is a list of packages per affected package maintainer.
Thanks,
Fabio
===
- rust-arrayvec0.5: eclipseo
- rust-asn1: cheimes
- rust-asn1_derive: cheimes
- rust-assert-impl: dcavalca
- rust-aws-nitro-enclaves-cose: pbrobinson
- rust-benfred-read-process-memory: dcavalca
- rust-biscuit: orphan
- rust-bitfield: ignatenkobrain
- rust-block-cipher: ignatenkobrain
- rust-blsctl: javierm
- rust-btrd: dcavalca
- rust-bytelines: ignatenkobrain
- rust-clap_generate: eclipseo
- rust-clap_generate_fig: eclipseo
- rust-clircle: eclipseo
- rust-combine: dcavalca
- rust-console0.13: ignatenkobrain
- rust-cryptoki: pbrobinson
- rust-cryptoki-sys: pbrobinson
- rust-cty: nickblack
- rust-dbus-codegen: pbrobinson
- rust-dbus-crossroads: pbrobinson
- rust-derivative: pbrobinson
- rust-directories-next: jbtrystram
- rust-dirs2: ignatenkobrain
- rust-elf: dcavalca
- rust-enumflags2: ignatenkobrain, pbrobinson
- rust-env_proxy: dcavalca
- rust-epoll: slp
- rust-event-listener: dcavalca
- rust-fasteval: zbyszek
- rust-hostname-validator: ignatenkobrain
- rust-inferno: dcavalca
- rust-itertools0.9: ignatenkobrain
- rust-josekit: pbrobinson
- rust-js-sys: pbrobinson
- rust-keccak: pbrobinson
- rust-log-panics: salimma
- rust-mbox: ignatenkobrain, pbrobinson
- rust-navi: jbtrystram
- rust-netlink-packet-core: cathay4t, ffmancera
- rust-netlink-packet-route: cathay4t, ffmancera
- rust-netlink-packet-utils: cathay4t, ffmancera
- rust-netlink-proto: cathay4t, ffmancera
- rust-netlink-sys: cathay4t, ffmancera
- rust-num-format: dcavalca
- rust-oauth2: ctron, jbtrystram
- rust-oid: pbrobinson
- rust-openat-ext: walters
- rust-pam-sys: eneville
- rust-parsec-client: pbrobinson
- rust-parsec-interface: pbrobinson
- rust-picky-asn1: pbrobinson
- rust-picky-asn1-der: pbrobinson
- rust-picky-asn1-x509: pbrobinson
- rust-psa-crypto: pbrobinson
- rust-pkcs11: pbrobinson
- rust-pleaser: eneville
- rust-process_control: atim, petersen
- rust-proc-maps: dcavalca
- rust-prost: pbrobinson
- rust-prost-build: pbrobinson
- rust-prost-derive: pbrobinson
- rust-prost-types: pbrobinson
- rust-psa-crypto-sys: pbrobinson
- rust-qstring: ctron, jbtrystram
- rust-rand0.7: ignatenkobrain
- rust-rand_chacha0.2: ignatenkobrain
- rust-rand_core0.5: ignatenkobrain
- rust-rand_pcg0.2: ignatenkobrain
- rust-rbspy-ruby-structs: dcavalca
- rust-rbspy-testdata: dcavalca
- rust-read-process-memory: dcavalca
- rust-remoteprocess: dcavalca
- rust-rsa: pbrobinson
- rust-rtnetlink: cathay4t, ffmancera
- rust-sd-notify: pbrobinson
- rust-secrecy: pbrobinson
- rust-serde_with: pbrobinson
- rust-sha3: pbrobinson
- rust-shadow-rs: atim
- rust-shellwords: jbtrystram
- rust-signal-hook-mio: dcavalca
- rust-signature: orphan
- rust-simple_asn1: pbrobinson
- rust-stratisd_proc_macros: jbaublitz
- rust-str_stack: dcavalca
- rust-subprocess: dcavalca
- rust-syslog: eneville
- rust-tabular: jbtrystram
- rust-textwrap0.11: ignatenkobrain
- rust-textwrap0.12: ignatenkobrain
- rust-thread-tree: dcavalca
- rust-toml_edit: dcavalca
- rust-tss-esapi-sys: pbrobinson
- rust-universal-hash: pbrobinson
- rust-version: pbrobinson
- rust-versions: atim
- rust-version-sync0.8: ignatenkobrain
- rust-virtio-bindings: slp
- rust-vm-memory: slp
- rust-vmm-sys-util: slp
- rust-vte_generate_state_changes: ignatenkobrain
- rust-webbrowser: ctron, jbtrystram
- rust-zmq: ueno
Lists by maintainer:
- atim (3): rust-process_control, rust-shadow-rs, rust-versions
- cathay4t (6): rust-netlink-packet-core, rust-netlink-packet-route,
rust-netlink-packet-utils, rust-netlink-proto, rust-netlink-sys,
rust-rtnetlink
- cheimes (2): rust-asn1, rust-asn1_derive
- ctron (3): rust-oauth2, rust-qstring, rust-webbrowser
- dcavalca (19): rust-assert-impl, rust-benfred-read-process-memory,
rust-btrd, rust-combine, rust-elf, rust-env_proxy,
rust-event-listener, rust-inferno, rust-num-format, rust-proc-maps,
rust-rbspy-ruby-structs, rust-rbspy-testdata,
rust-read-process-memory, rust-remoteprocess, rust-signal-hook-mio,
rust-str_stack, rust-subprocess, rust-thread-tree, rust-toml_edit
- eclipseo (4): rust-arrayvec0.5, rust-clap_generate,
rust-clap_generate_fig, rust-clircle
- eneville (3): rust-pam-sys, rust-pleaser, rust-syslog
- ffmancera (6): rust-netlink-packet-core, rust-netlink-packet-route,
rust-netlink-packet-utils, rust-netlink-proto, rust-netlink-sys,
rust-rtnetlink
- ignatenkobrain (17): rust-bitfield, rust-block-cipher,
rust-bytelines, rust-console0.13, rust-dirs2, rust-enumflags2,
rust-hostname-validator, rust-itertools0.9, rust-mbox, rust-rand0.7,
rust-rand_chacha0.2, rust-rand_core0.5, rust-rand_pcg0.2,
rust-textwrap0.11, rust-textwrap0.12, rust-version-sync0.8,
rust-vte_generate_state_changes
- javierm (1): rust-blsctl
- jbaublitz (1): rust-stratisd_proc_macros
- jbtrystram (7): rust-directories-next, rust-navi, rust-oauth2,
rust-qstring, rust-shellwords, rust-tabular, rust-webbrowser
- nickblack (1): rust-cty
- orphan (2): rust-biscuit, rust-signature
- pbrobinson (33): rust-aws-nitro-enclaves-cose, rust-cryptoki,
rust-cryptoki-sys, rust-dbus-codegen, rust-dbus-crossroads,
rust-derivative, rust-enumflags2, rust-josekit, rust-js-sys,
rust-keccak, rust-mbox, rust-oid, rust-parsec-client,
rust-parsec-interface, rust-picky-asn1, rust-picky-asn1-der,
rust-picky-asn1-x509, rust-psa-crypto, rust-pkcs11, rust-prost,
rust-prost-build, rust-prost-derive, rust-prost-types,
rust-psa-crypto-sys, rust-rsa, rust-sd-notify, rust-secrecy,
rust-serde_with, rust-sha3, rust-simple_asn1, rust-tss-esapi-sys,
rust-universal-hash, rust-version
- petersen (1): rust-process_control
- salimma (1): rust-log-panics
- slp (4): rust-epoll, rust-virtio-bindings, rust-vm-memory, rust-vmm-sys-util
- ueno (1): rust-zmq
- walters (1): rust-openat-ext
- zbyszek (1): rust-fasteval
1 year, 4 months
Does anybody still use `starship'?
by Igor Raits
Hello,
I saw some recent discussions (yet another time) how packaging Rust /
Go / Node.js is horrible, we should simply bundle everything and such.
Let's not discuss this here, though.
I'm interested to hear if there are any users of the `starship'
application here in Fedora that consume it from the repositories.
Please speak up if you do!
As pointed out in the other places, I don't think we are able to
update things like that as fast as releases popping out with just as
few people working on the packaging Rust stack these days (I'm pretty
much not contributing for last couple years due to the other work).
And the question, if we want to keep packaging it (with some slower
update cycle, as the time permits) or we want to retire it completely.
Personally, I'd love to have more people working on packaging (and
most importantly keeping up-to-date) Rust crates / apps but I think
this is not so realistic :)
--
— Igor Raits.
1 year, 4 months