File: mergeall-products/unzipped/test/ziptools/docetc/1.2-upgrades/more-platform-demos/android-pie-log.txt
############################################################################# # ziptools console session on Android Pie (9). Modtimes work, but symlink # creates raise errors and permissions fail silently. SYmlink errors are # reported and skipped, except that symlinks become stub files in unzips. # This behavior occurs in Oreo and later - Oreo replaced a FUSE filesystem. # See android-nougat-log.txt for the same tests run on Nougat (and earlier). ############################################################################# Welcome to Termux! ... $ pwd /sdcard/WORK/testziptools $ date Sat Apr 11 09:26:33 PDT 2020 # # Extract a zipfile by ziptools made on Unix (Mac OS) # $ py /sdcard/Download/ziptools/zip-extract.py ../cgi.zip . -permissions Unzipping from ../cgi.zip to . Extracted cgi/ => cgi Extracted cgi/.htaccess => cgi/.htaccess Extracted cgi/__prior-sitesearch-savedterms.txt => cgi/__prior-sitesearch-savedterms.txt Extracted cgi/_prior-sitesearch-savedterms.txt => cgi/_prior-sitesearch-savedterms.txt Extracted cgi/dev/ => cgi/dev Extracted cgi/dev/orig-sitesearch.py => cgi/dev/orig-sitesearch.py Extracted cgi/dev/other-sitesearch.py => cgi/dev/other-sitesearch.py Extracted cgi/dev/py2-mock-out.txt => cgi/dev/py2-mock-out.txt Extracted cgi/dev/py3-mock-out.txt => cgi/dev/py3-mock-out.txt Extracted cgi/dev/sitesearch-savedterms-live.txt => cgi/dev/sitesearch-savedterms-live.txt Extracted cgi/dev/sitesearch-savedterms.txt => cgi/dev/sitesearch-savedterms.txt Extracted cgi/DIFFS-with-offline-june2017.txt => cgi/DIFFS-with-offline-june2017.txt (Link) --Symlink not supported Extracted cgi/DIRLINK1 => cgi/DIRLINK1 (Link) --Symlink not supported Extracted cgi/DIRLINK2 => cgi/DIRLINK2 (Link) --Symlink not supported Extracted cgi/FILELINK1 => cgi/FILELINK1 (Link) --Symlink not supported Extracted cgi/FILELINK2 => cgi/FILELINK2 Extracted cgi/HOW-INSTALL-CGI-SCRIPTS.txt => cgi/HOW-INSTALL-CGI-SCRIPTS.txt Extracted cgi/HOW.txt => cgi/HOW.txt Extracted cgi/index.html => cgi/index.html Extracted cgi/LIVE-Aug2017/ => cgi/LIVE-Aug2017 Extracted cgi/LIVE-Aug2017/sitesearch-savedterms.txt => cgi/LIVE-Aug2017/sitesearch-savedterms.txt Extracted cgi/LIVE-June2017/ => cgi/LIVE-June2017 Extracted cgi/LIVE-June2017/gdform.cgi => cgi/LIVE-June2017/gdform.cgi Extracted cgi/LIVE-June2017/gdformssl.cgi => cgi/LIVE-June2017/gdformssl.cgi Extracted cgi/LIVE-June2017/pylotto-players.txt => cgi/LIVE-June2017/pylotto-players.txt Extracted cgi/LIVE-June2017/pylotto.pswd => cgi/LIVE-June2017/pylotto.pswd Extracted cgi/LIVE-June2017/pylotto.py => cgi/LIVE-June2017/pylotto.py Extracted cgi/LIVE-June2017/pylotto24.py => cgi/LIVE-June2017/pylotto24.py Extracted cgi/LIVE-June2017/sitesearch-savedterms.txt => cgi/LIVE-June2017/sitesearch-savedterms.txt Extracted cgi/LIVE-June2017/sitesearch.html => cgi/LIVE-June2017/sitesearch.html Extracted cgi/LIVE-June2017/sitesearch.py => cgi/LIVE-June2017/sitesearch.py Extracted cgi/pylotto-full.py => cgi/pylotto-full.py Extracted cgi/pylotto.py => cgi/pylotto.py Extracted cgi/showcode-template.txt => cgi/showcode-template.txt Extracted cgi/showcode-unicode-demo.txt => cgi/showcode-unicode-demo.txt Extracted cgi/showcode.py => cgi/showcode.py Extracted cgi/sitesearch-savedterms.txt => cgi/sitesearch-savedterms.txt Extracted cgi/sitesearch.py => cgi/sitesearch.py Extracted cgi/temp.html => cgi/temp.html Extracted cgi/test.py => cgi/test.py Extracted cgi/xreadonly.txt => cgi/xreadonly.txt Extracted cgi/xwriteonly.txt => cgi/xwriteonly.txt Extract finished: files=38, folders=4, links=0, unknowns=0. # # Content same (sans 4 dummy stub files for links: see end of this log) # $ py /sdcard/Download/Mergeall-source/diffall.py cgi /storage/8BB9-1202/_test/cgi -skipcruft -------------------- Comparing cgi to /storage/8BB9-1202/_test/cgi Directory lists are identical Comparing contents .htaccess matches __prior-sitesearch-savedterms.txt matches _prior-sitesearch-savedterms.txt matches DIFFS-with-offline-june2017.txt matches *DIFFER: DIRLINK1 *DIFFER: DIRLINK2 *DIFFER: FILELINK1 *DIFFER: FILELINK2 HOW-INSTALL-CGI-SCRIPTS.txt matches HOW.txt matches index.html matches pylotto-full.py matches pylotto.py matches showcode-template.txt matches showcode-unicode-demo.txt matches showcode.py matches sitesearch-savedterms.txt matches sitesearch.py matches temp.html matches test.py matches xreadonly.txt matches xwriteonly.txt matches -------------------- Comparing cgi/dev to /storage/8BB9-1202/_test/cgi/dev Directory lists are identical Comparing contents orig-sitesearch.py matches other-sitesearch.py matches py2-mock-out.txt matches py3-mock-out.txt matches sitesearch-savedterms-live.txt matches sitesearch-savedterms.txt matches -------------------- Comparing cgi/LIVE-Aug2017 to /storage/8BB9-1202/_test/cgi/LIVE-Aug2017 Directory lists are identical Comparing contents sitesearch-savedterms.txt matches -------------------- Comparing cgi/LIVE-June2017 to /storage/8BB9-1202/_test/cgi/LIVE-June2017 Directory lists are identical Comparing contents gdform.cgi matches gdformssl.cgi matches pylotto-players.txt matches pylotto.pswd matches pylotto.py matches pylotto24.py matches sitesearch-savedterms.txt matches sitesearch.html matches sitesearch.py matches ================================================================================ Runtime hrs:mins:secs = 0:0:0.09 Dirs checked 4, Files checked: 38, Files skipped: 0 System metadata (cruft) files were skipped Diffs found: 4 - files DIFFER at [cgi/DIRLINK1] - [/storage/8BB9-1202/_test/cgi/DIRLINK1] - files DIFFER at [cgi/DIRLINK2] - [/storage/8BB9-1202/_test/cgi/DIRLINK2] - files DIFFER at [cgi/FILELINK1] - [/storage/8BB9-1202/_test/cgi/FILELINK1] - files DIFFER at [cgi/FILELINK2] - [/storage/8BB9-1202/_test/cgi/FILELINK2] End of report. # # All modtimes same, except 4 link stub files' content (Mergeall backups work on Oreo and later) # $ py /sdcard/Download/Mergeall-source/mergeall.py cgi /storage/8BB9-1202/_test/cgi -skipcruft -report Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [cgi] [/storage/8BB9-1202/_test/cgi] comparing [cgi/dev] [/storage/8BB9-1202/_test/cgi/dev] comparing [cgi/LIVE-Aug2017] [/storage/8BB9-1202/_test/cgi/LIVE-Aug2017] comparing [cgi/LIVE-June2017] [/storage/8BB9-1202/_test/cgi/LIVE-June2017] Phase runtime: 0.011180832996615209 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [('DIRLINK1', 'cgi', '/storage/8BB9-1202/_test/cgi', 'filesize'), ('DIRLINK2', 'cgi', '/storage/8BB9-1202/_test/cgi', 'filesize'), ('FILELINK1', 'cgi', '/storage/8BB9-1202/_test/cgi', 'filesize'), ('FILELINK2', 'cgi', '/storage/8BB9-1202/_test/cgi', 'filesize')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- *Summary Compared => files: 38, folders: 4 Differences => samefile: 4, uniqueto: 0, uniquefrom: 0, mixedmode: 0 Changed: files => created: 0, deleted: 0, replaced: 0 folders => created: 0, deleted: 0, replaced: 0 ------------------------------------------------------------------------------- Finished. # # Create a new zipfile from unzipped content (there are no links now) # $ py /sdcard/Download/ziptools/zip-create.py rezip cgi -skipcruft Zipping ['cgi'] to rezip.zip Cruft patterns: {'skip': ['.*', '[dD]esktop.ini', 'Thumbs.db', '~*', '$*', '*.py[co]'], 'ke ep': ['.htaccess']} Adding folder cgi Adding file cgi/.htaccess Adding file cgi/__prior-sitesearch-savedterms.txt Adding file cgi/_prior-sitesearch-savedterms.txt Adding folder cgi/dev Adding file cgi/dev/orig-sitesearch.py Adding file cgi/dev/other-sitesearch.py Adding file cgi/dev/py2-mock-out.txt Adding file cgi/dev/py3-mock-out.txt Adding file cgi/dev/sitesearch-savedterms-live.txt Adding file cgi/dev/sitesearch-savedterms.txt Adding file cgi/DIFFS-with-offline-june2017.txt Adding file cgi/DIRLINK1 Adding file cgi/DIRLINK2 Adding file cgi/FILELINK1 Adding file cgi/FILELINK2 Adding file cgi/HOW-INSTALL-CGI-SCRIPTS.txt Adding file cgi/HOW.txt Adding file cgi/index.html Adding folder cgi/LIVE-Aug2017 Adding file cgi/LIVE-Aug2017/sitesearch-savedterms.txt Adding folder cgi/LIVE-June2017 Adding file cgi/LIVE-June2017/gdform.cgi Adding file cgi/LIVE-June2017/gdformssl.cgi Adding file cgi/LIVE-June2017/pylotto-players.txt Adding file cgi/LIVE-June2017/pylotto.pswd Adding file cgi/LIVE-June2017/pylotto.py Adding file cgi/LIVE-June2017/pylotto24.py Adding file cgi/LIVE-June2017/sitesearch-savedterms.txt Adding file cgi/LIVE-June2017/sitesearch.html Adding file cgi/LIVE-June2017/sitesearch.py Adding file cgi/pylotto-full.py Adding file cgi/pylotto.py Adding file cgi/showcode-template.txt Adding file cgi/showcode-unicode-demo.txt Adding file cgi/showcode.py Adding file cgi/sitesearch-savedterms.txt Adding file cgi/sitesearch.py Adding file cgi/temp.html Adding file cgi/test.py Adding file cgi/xreadonly.txt Adding file cgi/xwriteonly.txt Create finished: files=38, folders=4, links=0, unknowns=0, crufts=0. # # Unzip zip just made on Android, with or without -permissions (fails silently) # $ py /sdcard/Download/ziptools/zip-extract.py rezip.zip reunzip -permissions Unzipping from rezip.zip to reunzip Extracted cgi/ => reunzip/cgi Extracted cgi/.htaccess => reunzip/cgi/.htaccess Extracted cgi/__prior-sitesearch-savedterms.txt => reunzip/cgi/__prior-sitesearch-savedterms.txt Extracted cgi/_prior-sitesearch-savedterms.txt => reunzip/cgi/_prior-sitesearch-savedterms.txt Extracted cgi/dev/ => reunzip/cgi/dev Extracted cgi/dev/orig-sitesearch.py => reunzip/cgi/dev/orig-sitesearch.py Extracted cgi/dev/other-sitesearch.py => reunzip/cgi/dev/other-sitesearch.py Extracted cgi/dev/py2-mock-out.txt => reunzip/cgi/dev/py2-mock-out.txt Extracted cgi/dev/py3-mock-out.txt => reunzip/cgi/dev/py3-mock-out.txt Extracted cgi/dev/sitesearch-savedterms-live.txt => reunzip/cgi/dev/sitesearch-savedterms-live.txt Extracted cgi/dev/sitesearch-savedterms.txt => reunzip/cgi/dev/sitesearch-savedterms.txt Extracted cgi/DIFFS-with-offline-june2017.txt => reunzip/cgi/DIFFS-with-offline-june2017.txt Extracted cgi/DIRLINK1 => reunzip/cgi/DIRLINK1 Extracted cgi/DIRLINK2 => reunzip/cgi/DIRLINK2 Extracted cgi/FILELINK1 => reunzip/cgi/FILELINK1 Extracted cgi/FILELINK2 => reunzip/cgi/FILELINK2 Extracted cgi/HOW-INSTALL-CGI-SCRIPTS.txt => reunzip/cgi/HOW-INSTALL-CGI-SCRIPTS.txt Extracted cgi/HOW.txt => reunzip/cgi/HOW.txt Extracted cgi/index.html => reunzip/cgi/index.html Extracted cgi/LIVE-Aug2017/ => reunzip/cgi/LIVE-Aug2017 Extracted cgi/LIVE-Aug2017/sitesearch-savedterms.txt => reunzip/cgi/LIVE-Aug2017/sitesearch-savedterms.txt Extracted cgi/LIVE-June2017/ => reunzip/cgi/LIVE-June2017 Extracted cgi/LIVE-June2017/gdform.cgi => reunzip/cgi/LIVE-June2017/gdform.cgi Extracted cgi/LIVE-June2017/gdformssl.cgi => reunzip/cgi/LIVE-June2017/gdformssl.cgi Extracted cgi/LIVE-June2017/pylotto-players.txt => reunzip/cgi/LIVE-June2017/pylotto-players.txt Extracted cgi/LIVE-June2017/pylotto.pswd => reunzip/cgi/LIVE-June2017/pylotto.pswd Extracted cgi/LIVE-June2017/pylotto.py => reunzip/cgi/LIVE-June2017/pylotto.py Extracted cgi/LIVE-June2017/pylotto24.py => reunzip/cgi/LIVE-June2017/pylotto24.py Extracted cgi/LIVE-June2017/sitesearch-savedterms.txt => reunzip/cgi/LIVE-June2017/sitesearch-savedterms.txt Extracted cgi/LIVE-June2017/sitesearch.html => reunzip/cgi/LIVE-June2017/sitesearch.html Extracted cgi/LIVE-June2017/sitesearch.py => reunzip/cgi/LIVE-June2017/sitesearch.py Extracted cgi/pylotto-full.py => reunzip/cgi/pylotto-full.py Extracted cgi/pylotto.py => reunzip/cgi/pylotto.py Extracted cgi/showcode-template.txt => reunzip/cgi/showcode-template.txt Extracted cgi/showcode-unicode-demo.txt => reunzip/cgi/showcode-unicode-demo.txt Extracted cgi/showcode.py => reunzip/cgi/showcode.py Extracted cgi/sitesearch-savedterms.txt => reunzip/cgi/sitesearch-savedterms.txt Extracted cgi/sitesearch.py => reunzip/cgi/sitesearch.py Extracted cgi/temp.html => reunzip/cgi/temp.html Extracted cgi/test.py => reunzip/cgi/test.py Extracted cgi/xreadonly.txt => reunzip/cgi/xreadonly.txt Extracted cgi/xwriteonly.txt => reunzip/cgi/xwriteonly.txt Extract finished: files=38, folders=4, links=0, unknowns=0. # # Same data, same (original) modtimes, munged perms # $ ls --full-time cgi/test.py reunzip/cgi/test.py -rw-rw---- 1 root everybody 78 2018-04-14 15:51:26.000000000 -0700 cgi/test.py -rw-rw---- 1 root everybody 78 2018-04-14 15:51:26.000000000 -0700 reunzip/cgi/test.py # # Symlink stub files: modtimes same, content is dummy text (original link path), perms differ # $ ls --full-time cgi/FILELINK1 reunzip/cgi/FILELINK1 /storage/8BB9-1202/_test/cgi/FILELINK1 -rwxr-xr-x 1 root everybody 1067 2020-03-21 13:36:56.000000000 -0700 /storage/8BB9-1202/_test/cgi/FILELINK1 -rw-rw---- 1 root everybody 11 2020-03-21 13:36:56.000000000 -0700 cgi/FILELINK1 -rw-rw---- 1 root everybody 11 2020-03-21 13:36:56.000000000 -0700 reunzip/cgi/FILELINK1 $ $ cat cgi/FILELINK1 showcode.py$ $ $ cat reunzip/cgi/FILELINK1 showcode.py$ $ $ cat /storage/8BB9-1202/_test/cgi/FILELINK1 XSym 0011 f67d36fa88bde9cb2fa4bbd07e3d5e66 showcode.py