devtools
devtools copied to clipboard
RFE: Ability to compare Rocky VS upstream RPM
- WHAT: Nee to see/understand diff of rocky rpm changes if any, per @gmkurtzer idea.
- WHY: So we can show rocky is identical with upstream except the needed diffs we introduced.
- HOW: Per Googling, See already available tool at https://github.com/lvc/pkgdiff .
From pkgdiff -h excerpts
EXAMPLES:
pkgdiff OLD.rpm NEW.rpm
pkgdiff OLD.deb NEW.deb
pkgdiff OLD.tar.gz NEW.tar.gz
ARGUMENTS:
PKG1
Path to the old version of a package (RPM, DEB, TAR.GZ, etc).
If you need to analyze a group of packages then you can
pass an XML-descriptor of this group (VERSION.xml file):
<version>
/* Group version */
</version>
<group>
/* Group name */
</group>
<packages>
/path1/to/package(s)
/path2/to/package(s)
...
</packages>
- End
- pkgdiff install and its despondency
[me@centos8t01 devtools]$ sudo dnf install -y wdiff perl-File-LibMagic.x86_64
- sed test case for rocky
[me@centos8t01 devtools]$ pwd
/home/me/github/devtools
[me@centos8t01 devtools]$ make build sed
<snipped>
+ exit 0
Finish: rpmbuild sed-4.5-2.el8.src.rpm
Finish: build phase for sed-4.5-2.el8.src.rpm
INFO: Done(/home/me/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm) Config(baseos) 2 minutes 4 seconds
INFO: Results and/or logs in: /home/me/rocky/builds/sed/r8
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
Finish: clean chroot
Finish: run
Directory walk started
Directory walk done - 487 packages
Temporary output repo path: /usr/share/nginx/html/repo/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
[me@centos8t01 devtools]$
- Download upstream src.rpm and rpm for comparison later
wget http://vault.centos.org/8.3.2011/BaseOS/Source/SPackages/sed-4.5-2.el8.src.rpm
wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/sed-4.5-2.el8.x86_64.rpm
- Generated rpms by rocky
/usr/share/nginx/html/repo/sed-4.5-2.el8_3.src.rpm
/usr/share/nginx/html/repo/sed-4.5-2.el8_3.x86_64.rpm
- .rpm comparison with upstream by "pkgdiff OLD.rpm NEW.rpm"
[me@centos8t01 devtools]$ pkgdiff /home/me/github/devtools/sed-4.5-2.el8.x86_64.rpm /usr/share/nginx/html/repo/sed-4.5-2.el8_3.x86_64.rpm \
> --report-path /usr/share/nginx/html/repo/rpmdiffs/sed-4.5-2-rpm.html
Reading packages ...
Comparing packages ...
creating report ...
result: CHANGED (3.3%)
report: /usr/share/nginx/html/repo/rpmdiffs/sed-4.5-2-rpm.html
[me@centos8t01 devtools]$
- src.rpm comparison with upstream by "pkgdiff OLD.src.rpm NEW.src.rpm"
[me@centos8t01 devtools]$ pkgdiff sed-4.5-2.el8.src.rpm /home/me/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm \
--report-path /usr/share/nginx/html/repo/rpmdiffs/sed-4.5-2.html
Reading packages ...
WARNING: different architectures of packages ("aarch64" and "x86_64")
Comparing packages ...
creating report ...
result: CHANGED (0.003%)
report: /usr/share/nginx/html/repo/rpmdiffs/sed-4.5-2.html
[me@centos8t01 devtools]$
- See screenshot for src.rpm report :)
