If it's not on-topic, it's in here.
Post a reply
figlfdev

- figlfdev
- Posts: 116
- Joined: Tue May 31, 2016 6:23 pm

## distdiff 0.1 - compare 2 isos with squashfs / md5deep

Mon Aug 01, 2016 8:29 am

here is what the uploads of mkfigos 0.8 and mkfigos 0.9 say:

> 0.8: upgrade to latest refracta, upgrade to icewm, added leafpad, hsetroot, yadless, battery indicator in icewm, added "auto-edited by" to scripts that might otherwise be thought of as unedited.
> 0.9: icewm menus fixed, puppy yad upgraded, simple python server, rox copied from puppy to refracta

but you want to check, so you load up distdiff on the isos like this:

Code:
  `# distdiff mkpup/figos0.8.iso mkpup/figos0.9.iso | grep -v "^="`

and you get this on the screen:

Code:
  `mount: /dev/loop3 is write-protected, mounting read-only
  mount: /dev/loop4 is write-protected, mounting read-only
  < eb5b8e66405d071c9e34dd13a791fb3f usr/share/icewm/keys
  < 10fd9f051accb6fd1f753f2d48371890 etc/rc.local
  < a4cf948f7f005241c648811b49cd5261 usr/share/alsa-base/alsa-info.sh
  < 6d009c4e23a4ba8fdf0798599d94b93b usr/sbin/getflash
  < b3fd20aa58c33f2f28625fdad7d72b48 usr/sbin/check_internet
  < ecca8272eac8025c5f08efe632145abf usr/sbin/Pudd
  < 1bad027fe65499b72134eef44fd8ec4d usr/local/yassm/yassm-search
  < 86f8a266a06b361b3ffccee6ba9efa0c usr/local/video_upgrade/video_upgrade_wizard
  < e5cc397e188dd1cab2340558fed8352c usr/local/petget/service_pack.sh
  < 76742d642bb19544637d0b6272e44aa4 usr/local/petget/devx_service_pack.sh
  < 635d6408a6a3be785450b84d20239c69 usr/local/apps/pnethood/pnethood
  < b93d969f839faae38712a3c2da3f4a94 usr/bin/yad
  < 343425f121dbd6f15fdc06d699ec7575 live/filesystem.squashfs
  < 036e0e898d6220977ff56b95df264e26 root/.bashrc
  < a02f9d69458bf2741d293547ae0dd1fa puppy_tahr_6.0.5.sfs
  > 86c1a95602845c6fdb373811c9678e93 usr/share/icewm/keys
  > 5b3f32c16700534744e91f726393a338 usr/local/apps/rox
  > 00906ab93fe63b14e724103278822cec usr/bin/pserver
  > b20a11718e0ec2d6ffa85a9aaf61e306 etc/rc.local
  > c3fc8b18407a7f6d91aa87555ca5a841 usr/share/alsa-base/alsa-info.sh
  > fe8ddef6e4753987e1edba28012becb8 usr/sbin/getflash
  > 31dc183ed6b5328861139e5cc71dd425 usr/sbin/check_internet
  > f8891221fa7edbd0c6e0b27befa6754f usr/sbin/Pudd
  > c014ae15d62831dd6b02dd526d098256 usr/local/yassm/yassm-search
  > 285a88c9d7cb3271145a8b7260bb665a usr/local/video_upgrade/video_upgrade_wizard
  > beda1a99bfe3b98a3077db02a8d23345 usr/local/petget/service_pack.sh
  > 49858ff3cd332c9744accabb2a038a61 usr/local/petget/devx_service_pack.sh
  > 7b58a012ae905571378d45eef4c8d1fa usr/local/apps/pnethood/pnethood
  > 00906ab93fe63b14e724103278822cec usr/bin/pserver
  > d6b1d04ca51db82d7da062618b18fc71 live/filesystem.squashfs
  > 389a583eaa0e3e18724f266c4e9c7722 root/.bashrc
  > 5cda6eb0a21ea4c7610615ec48d97df4 puppy_tahr_6.0.5.sfs
  `

here is the fig script:

Code:
  `#### license: creative commons cc0 1.0 (public domain)
  #### http://creativecommons.org/publicdomain/zero/1.0/
  proginf = "distdiff 0.1, aug 2016 mn"
  # this program is FREE SOFTWARE and comes with NO WARRANTY
  debinstall_md5deep 0
  function cmd
  python
  from sys import argv as figargv ; return figargv[1:]
  fig
  fig
  function plusquotes st mvar
  q 34 chr #plus "\\" reverse
  qq q times 2
  now mvar plus " " plus q plus st plus q split now qq join now q return now
  fig
  function orph mvar
  ck instr mvar "/"
  iftrue ck
  mlen mvar len minus ck
  now mvar right mlen return now
  else
  now return mvar
  fig
  fig
  e 0
  try
  f1 cmd mid 1 1
  f2 cmd mid 2 1 rtrim
  f3 "."
  #f3 cmd mid 3 1 rtrim
  pwd "pwd" arrshell mid 1 1
  whoami "whoami" arrshell mid 1 1
  e 1
  ifequal whoami "root"
  iftrue debinstall_md5deep
  now "echo installing md5deep ; apt-get install -y md5deep 2> /dev/null > /dev/null" shell
  fig
  now "mkdir " plusquotes f3 now plus "/1 2> /dev/null" shell
  now "mkdir " plusquotes f3 now plus "/2 2> /dev/null" shell
  now "mkdir -p " plusquotes f3 now plus "/1/iso/1 2> /dev/null" shell
  now "mkdir -p " plusquotes f3 now plus "/2/iso/1 2> /dev/null" shell
  now "mkdir " plusquotes f3 now plus "/1/sqfs 2> /dev/null" shell
  now "mkdir " plusquotes f3 now plus "/2/sqfs 2> /dev/null" shell
  now "mount " plusquotes f1 now plus " 1/iso/1" shell
  now "mount " plusquotes f2 now plus " 2/iso/1" shell
  onesq "find 1 | egrep -i '.sfs$|.squashfs'" arrshell
  sqlen onesq len minus 1
  onesq left sqlen #print
  num
  forin sq onesq
  inc num val plus 1 str swap inc num
  now "mkdir 1/sqfs/" plus num plus " 2> /dev/null" shell
  now "mount " plusquotes sq now plus " 1/sqfs/" plus num shell
  next
  twosq "find 2 | egrep -i '.sfs$|.squashfs'" arrshell
  sqlen twosq len minus 1
  twosq left sqlen #print
  num
  forin sq twosq
  inc num val plus 1 str swap inc num
  now "mkdir 2/sqfs/" plus num plus " 2> /dev/null" shell
  now "mount " plusquotes sq now plus " 2/sqfs/" plus num shell
  next
  #now "mount | egrep 'iso|1|2'" shell
  try
  o "md5deep -of -sr 1" arrshell
  except
  pass
  resume
  try
  p "md5deep -of -sr 2" arrshell
  except
  pass
  resume
  now "umount " plusquotes f3 now plus "/1/sqfs/* 2> /dev/null" shell
  now "umount " plusquotes f3 now plus "/2/sqfs/* 2> /dev/null" shell
  now "umount " plusquotes f3 now plus "/1/iso/1 2> /dev/null" shell
  now "umount " plusquotes f3 now plus "/2/iso/1 2> /dev/null" shell
  function ckl p
  plen p len
  r "" arr times plen plus 2
  forin each p
  md5 split each " " mid 1 1
  ck pwd len plus 37
  pathlen each len minus ck
  iftrue ck
  path each right pathlen orph path orph path
  else
  path ""
  fig
  now md5 plus " " plus path
  r arrset plen now
  ckplen plen minus 1 swap ckplen plen
  #ckplen plen mod 250
  #ifequal ckplen 0
  #now plen prints " " prints
  #fig
  next
  now return r
  fig
  o ckl o
  p ckl p
  xc
  yc
  #z "in " plus f1 print
  forin y o
  yin instr p y sgn
  ifequal yin 0
  z "< " prints
  z y print
  else
  z "= " prints
  z y print
  fig
  next
  z "" print
  forin x p
  xin instr o x sgn
  ifequal xin 0
  z "> " prints
  z x print
  #else
  #z "= " prints
  #z x print
  fig
  next
  now "" print
  else
  now whoami
  e 1
  now "sudo distdiff " plusquotes f1 now plusquotes f2 now now shell
  fig
  except
  ifequal e 0
  z proginf print "usage: distdiff iso-file1 iso-file2" print "" print end
  fig
  resume
  `

Post a reply
Jump to:

Powered by phpBB © phpBB Group.

phpBB Mobile / SEO by Artodia.