Welcome to refracta

You are currently viewing our boards as a guest, which gives you limited access to view most discussions and access our other features. By joining our free community, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, and access many other special features. In addition, registered members also see less advertisements. Registration is fast, simple, and absolutely free, so please, join our community today!

distdiff 0.1 - compare 2 isos with squashfs / md5deep

If it's not on-topic, it's in here.

distdiff 0.1 - compare 2 isos with squashfs / md5deep

Postby figlfdev » 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: Select all
# distdiff mkpup/figos0.8.iso mkpup/figos0.9.iso | grep -v "^="

and you get this on the screen:

Code: Select all
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: Select all
#### 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
    from sys import argv as figargv ; return figargv[1:]

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

function orph mvar
   ck instr mvar "/"
   iftrue ck
       mlen mvar  len  minus  ck
       now mvar  right mlen  return now
       now  return mvar     

e 0
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

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

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

twosq "find 2 | egrep -i '.sfs$|.squashfs'" arrshell 
sqlen twosq len minus 1
twosq left sqlen #print

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

#now "mount | egrep 'iso|1|2'" shell

o "md5deep -of -sr 1" arrshell

p "md5deep -of -sr 2" arrshell

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
path ""
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
now return r

o ckl o
p ckl p


#z "in "  plus f1  print
forin y o
yin instr p y sgn
ifequal yin 0
z "< " prints
z y print
z "= " prints
z y print

z ""  print
forin x p
xin instr o x  sgn
ifequal xin 0
z "> " prints
z x  print
#z "= " prints
#z x  print
now ""  print

    now whoami
    e 1
    now "sudo distdiff " plusquotes f1 now  plusquotes f2 now   now shell


ifequal e 0
z proginf print "usage: distdiff iso-file1 iso-file2" print "" print end

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

Return to General Nonsense

Who is online

Users browsing this forum: No registered users and 1 guest