devtools icon indicating copy to clipboard operation
devtools copied to clipboard

RFE: Ability to compare Rocky VS upstream RPM

Open tjyang opened this issue 4 years ago • 1 comments

  1. WHAT: Nee to see/understand diff of rocky rpm changes if any, per @gmkurtzer idea.
  2. WHY: So we can show rocky is identical with upstream except the needed diffs we introduced.
  3. 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>


  1. End

tjyang avatar Apr 14 '21 10:04 tjyang

  • 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 :) image

tjyang avatar Apr 14 '21 10:04 tjyang