Next major version of the asciinema CLI is a rewrite in Rust!
I’m the current maintainer of the asciinema package, and I’m looking for feedback on how to handle the upcoming update as well as the changes I made in the asciinema spec file. I’m using this opportunity to learn more about Rust packaging and to quickly update the package once it’s released.
A Copr is available for testing the asciinema CLI 3.0.0 RC2:
# dnf copr enable xfgusta/asciinema
# dnf install asciinema
A new rust-asciinema package?
I was initially thinking about creating a new package called rust-asciinema
and making the asciinema
package obsolete, similar to what was done with rust-coreos-installer
and coreos-installer
. However, this approach seems a bit complicated. I decided to continue using the current asciinema repo and generate the package from the tarball with rust2rpm
.
Spec: https://xfgusta.fedorapeople.org/pkgs/asciinema.spec
SRPM: https://xfgusta.fedorapeople.org/pkgs/asciinema-3.0.0~rc.2-1.fc41.src.rpm
Any feedback on the spec would be greatly appreciated.
License
I’m not sure if I did this right, but I just removed repeated expressions/terms to shorten the license tag. For example, there are MIT OR Apache-2.0 OR Zlib
, MIT OR Zlib OR Apache-2.0
, and Zlib OR Apache-2.0 OR MIT
. I kept the first one and left out the rest.
SourceLicense: GPL-3.0
# (Apache-2.0 OR MIT) AND BSD-3-Clause
# (MIT OR Apache-2.0) AND Unicode-DFS-2016
# 0BSD OR MIT OR Apache-2.0
# Apache-2.0
# Apache-2.0 OR BSL-1.0
# Apache-2.0 OR ISC OR MIT
# Apache-2.0 OR MIT
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# BSD-2-Clause OR Apache-2.0 OR MIT
# BSD-3-Clause
# GPL-3.0
# ISC
# ISC AND MIT AND OpenSSL
# MIT
# MIT AND BSD-3-Clause
# MIT OR Apache-2.0
# MIT OR Apache-2.0 OR Zlib
# MIT OR Zlib OR Apache-2.0
# MPL-2.0
# Unlicense OR MIT
# Zlib OR Apache-2.0 OR MIT
License: (Apache-2.0 OR MIT) AND BSD-3-Clause AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND GPL-3.0 AND ISC AND MIT AND OpenSSL AND (MIT OR Apache-2.0 OR Zlib) AND MPL-2.0 AND (Unlicense OR MIT)
Also, license-validate
tool complained about the GPL-3.0
. Should I change it to GPL-3.0-or-late
?
$ license-validate -v "GPL-3.0"
No terminal matches 'G' in the current parser context, at line 1 col 1
GPL-3.0
^
[...]
$ license-validate -v "(Apache-2.0 OR MIT) AND BSD-3-Clause AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND GPL-3.0 AND ISC AND MIT AND OpenSSL AND (MIT OR Apache-2.0 OR Zlib) AND MPL-2.0 AND (Unlicense OR MIT)"
No terminal matches 'G' in the current parser context, at line 1 col 267
(BSD-2-Clause OR Apache-2.0 OR MIT) AND GPL-3.0 AND ISC AND MIT AND OpenSSL AND
^
[...]
Dependencies
Hopefully, I’ll only need to package three dependencies. Here are the review requests:
By the way, is there any tool to check which dependencies are already packaged? Sometimes, I just want to have an idea of what I’ll need to package. I had to check them one by one. It would be interesting to have a tool that checks if:
- the package already exists in Fedora; or
- it exists, but with a different version declared in Cargo.toml; or
- it doesn’t exist, but there is an package review ticket open; or
- it doesn’t exist in Fedora, nor is there a ticket.