Mon Aug 01, 2016 8:29 am
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
# distdiff mkpup/figos0.8.iso mkpup/figos0.9.iso | grep -v "^="
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
#### 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