pkgtreediff: Package tree diff tool

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Tool for comparing RPM packages and versions in OS dist trees or instances.

[Skip to Readme]


Versions 0.1, 0.2, 0.2.1, 0.3, 0.4, 0.4, 0.4.1, 0.5.0, 0.6.0
Change log
Dependencies async, base (<5), directory, filepath, Glob, http-client (>=0.5.0), http-client-tls, http-directory (>=0.1.4 && <0.1.6 || >=0.1.8), semigroups, simple-cmd (>=0.1.4), simple-cmd-args, text [details]
License GPL-3.0-only
Copyright 2019-2020 Jens Petersen
Author Jens Petersen
Category Util
Home page
Bug tracker
Source repo head: git clone
Uploaded by JensPetersen at 2020-03-13T09:31:20Z


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for pkgtreediff-0.4

[back to package description]


Hackage GPL-3 license Stackage Lts Stackage Nightly Build status

pkgtreediff compares the NVRs (name-version-release) of RPM packages in OS package trees and/or installations:

Usage examples


Compare the content of two rpm based containers (new added packages in fedora:31)

$ pkgtreediff --new "podman run --rm fedora:30 rpm -qa" "podman run --rm fedora:31 rpm -qa"
libgomp.x86_64  9.2.1-1.fc31
tss2.x86_64  1331-2.fc31
yum.noarch  4.2.9-5.fc31

Package trees

Package source changes between Fedora 30 and 31 Server at GA (ignoring release bumps):

$ pkgtreediff --ignore-release{30,31}/Server/source/tree/Packages/
- 389-ds-base.src
- GConf2.src  3.2.6-25.fc30
- GeoIP.src  1.6.12-5.fc30
- GeoIP-GeoLite-data.src  2018.06-3.fc30
- ImageMagick.src
ModemManager.src: 1.10.0-1.fc30 -> 1.10.6-2.fc31
NetworkManager.src: 1.16.0-1.fc30 -> 1.20.4-1.fc31
- ORBit2.src  2.14.19-21.fc30
- OpenEXR.src  2.2.0-16.fc30
- compface.src  1.5.2-27.fc30
- comps-extras.src  24-5.fc30
+ conmon.src  2.0.1-1.fc31
container-selinux.src: 2.95-1.gite3ebc68.fc30 -> 2.117.0-1.gitbfde70a.fc31
- container-storage-setup.src
+ containerd.src  1.2.6-2.20190627gitd68b593.fc31
zchunk.src: 1.1.1-3.fc30 -> 1.1.2-3.fc31
zd1211-firmware.src: 1.5-4.fc30 -> 1.5-5.fc31
- zerofree.src  1.1.1-3.fc30
- zfs-fuse.src
- zile.src  2.4.14-3.fc30
zip.src: 3.0-24.fc30 -> 3.0-25.fc31
zlib.src: 1.2.11-15.fc30 -> 1.2.11-19.fc31
zram.src: 0.3-1.fc30 -> 0.4-1.fc31
zstd.src: 1.3.8-2.fc30 -> 1.4.2-1.fc31
- zziplib.src  0.13.69-5.fc30

Updated: 918
Added: 17
Deleted: 765
Arch changed: 0
Total packages: 1690 -> 942


Compare the packages on local and another host:

pkgtreediff "rpm -qa" "ssh otherhost rpm -qa"

Any types of sources can be compared, together with the use of flags.


Builds are available in copr for Fedora, EPEL, and OpenSuSE (more details).