Skip to content
jc-rs
GitHub

rpm-qi

--rpm-qiv1.0.0

Converts `rpm -qi` command output to JSON

Linuxcommand
$ rpm -qi | jc-rs --rpm-qi

A real pair

From the reference corpus (centos-7.7/rpm-qi-package.json). The left pane is the input the fixture ships; the right pane is the corpus's expected JSON. CI compares jc-rs with it field by field under the published differential. Hover a value to see where it came from.

rpm -qicentos-7.7
Name        : make
Epoch       : 1
Version     : 3.82
Release     : 24.el7
Architecture: x86_64
Install Date: Wed 16 Oct 2019 09:21:42 AM PDT
Group       : Development/Tools
Size        : 1160660
License     : GPLv2+
Signature   : RSA/SHA256, Thu 22 Aug 2019 02:34:59 PM PDT, Key ID 24c6a8a7f4a80eb5
Source RPM  : make-3.82-24.el7.src.rpm
Build Date  : Thu 08 Aug 2019 05:47:25 PM PDT
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.gnu.org/software/make/
Summary     : A GNU tool which simplifies the build process for users
Description :
A GNU tool for controlling the generation of executables and other
non-source files of a program from the program's source files. Make
allows users to build and install packages without any significant
knowledge about the details of the build process. The details about
how the program should be built are provided for make in the program's
makefile.
expected outputjson
Use the Left and Right arrow keys to highlight the matching value in the input.
[
  {
    "name": "make",
    "epoch": 1,
    "version": "3.82",
    "release": "24.el7",
    "architecture": "x86_64",
    "install_date": "Wed 16 Oct 2019 09:21:42 AM PDT",
    "group": "Development/Tools",
    "size": 1160660,
    "license": "GPLv2+",
    "signature": "RSA/SHA256, Thu 22 Aug 2019 02:34:59 PM PDT, Key ID 24c6a8a7f4a80eb5",
    "source_rpm": "make-3.82-24.el7.src.rpm",
    "build_date": "Thu 08 Aug 2019 05:47:25 PM PDT",
    "build_host": "x86-01.bsys.centos.org",
    "relocations": "(not relocatable)",
    "packager": "CentOS BuildSystem <http://bugs.centos.org>",
    "vendor": "CentOS",
    "url": "http://www.gnu.org/software/make/",
    "summary": "A GNU tool which simplifies the build process for users",
    "description": "A GNU tool for controlling the generation of executables and other non-source files of a program from the program's source files. Make allows users to build and install packages without any significant knowledge about the details of the build process. The details about how the program should be built are provided for make in the program's makefile.",
    "build_epoch": 1565311645,
    "build_epoch_utc": null,
    "install_date_epoch": 1571242902,
    "install_date_epoch_utc": null
  }
]

Fixture coverage

1/1oracle-valid pairs match under the published structural JSON comparison

Magic syntax

jc-rs rpm -qijc-rs runs the command itself and parses what it prints. Recognised for: `rpm -qi`, `rpm -qia`, `rpm -qai`

Source: crates/jc-rs-parsers/src/package/rpm_qi.rs. jc-rs targets the schemas defined by the original Python tool. Fixture coverage above is the measured evidence for this parser; test the inputs your pipeline depends on. Compare