diffoscope 262__tar.gz → 263__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (674) hide show
  1. {diffoscope-262 → diffoscope-263}/PKG-INFO +1 -1
  2. {diffoscope-262 → diffoscope-263}/debian/changelog +19 -2
  3. {diffoscope-262 → diffoscope-263}/debian/tests/control +1 -1
  4. {diffoscope-262 → diffoscope-263}/diffoscope/__init__.py +1 -1
  5. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/zip.py +28 -7
  6. {diffoscope-262 → diffoscope-263}/diffoscope/external_tools.py +1 -0
  7. {diffoscope-262 → diffoscope-263}/diffoscope.egg-info/PKG-INFO +1 -1
  8. {diffoscope-262 → diffoscope-263}/diffoscope.egg-info/SOURCES.txt +4 -0
  9. {diffoscope-262 → diffoscope-263}/tests/comparators/test_epub.py +10 -8
  10. {diffoscope-262 → diffoscope-263}/tests/comparators/test_zip.py +13 -20
  11. diffoscope-263/tests/data/comment_zipdetails_expected_diff +45 -0
  12. diffoscope-263/tests/data/epub_expected_diffs +690 -0
  13. diffoscope-263/tests/data/jmod_zipdetails_expected_diff +20 -0
  14. diffoscope-263/tests/data/zip2_zipdetails_expected_diff +19 -0
  15. diffoscope-263/tests/data/zip_zipdetails_expected_diff +177 -0
  16. {diffoscope-262 → diffoscope-263}/tests/utils/tools.py +2 -2
  17. diffoscope-262/tests/data/epub_expected_diffs +0 -68
  18. {diffoscope-262 → diffoscope-263}/.coveragerc +0 -0
  19. {diffoscope-262 → diffoscope-263}/.dockerignore +0 -0
  20. {diffoscope-262 → diffoscope-263}/CONTRIBUTING.md +0 -0
  21. {diffoscope-262 → diffoscope-263}/COPYING +0 -0
  22. {diffoscope-262 → diffoscope-263}/Dockerfile +0 -0
  23. {diffoscope-262 → diffoscope-263}/MANIFEST.in +0 -0
  24. {diffoscope-262 → diffoscope-263}/README.rst +0 -0
  25. {diffoscope-262 → diffoscope-263}/bin/diffoscope +0 -0
  26. {diffoscope-262 → diffoscope-263}/debian/README.source +0 -0
  27. {diffoscope-262 → diffoscope-263}/debian/check-dep-sizes.sh +0 -0
  28. {diffoscope-262 → diffoscope-263}/debian/clean +0 -0
  29. {diffoscope-262 → diffoscope-263}/debian/control +0 -0
  30. {diffoscope-262 → diffoscope-263}/debian/copyright +0 -0
  31. {diffoscope-262 → diffoscope-263}/debian/diffoscope-minimal.docs +0 -0
  32. {diffoscope-262 → diffoscope-263}/debian/diffoscope-minimal.install +0 -0
  33. {diffoscope-262 → diffoscope-263}/debian/diffoscope-minimal.manpages +0 -0
  34. {diffoscope-262 → diffoscope-263}/debian/diffoscope.docs +0 -0
  35. {diffoscope-262 → diffoscope-263}/debian/gbp.conf +0 -0
  36. {diffoscope-262 → diffoscope-263}/debian/py3dist-overrides +0 -0
  37. {diffoscope-262 → diffoscope-263}/debian/rules +0 -0
  38. {diffoscope-262 → diffoscope-263}/debian/source/format +0 -0
  39. {diffoscope-262 → diffoscope-263}/debian/source/lintian-overrides +0 -0
  40. {diffoscope-262 → diffoscope-263}/debian/source/options +0 -0
  41. {diffoscope-262 → diffoscope-263}/debian/tests/basic-command-line +0 -0
  42. {diffoscope-262 → diffoscope-263}/debian/tests/control.in +0 -0
  43. {diffoscope-262 → diffoscope-263}/debian/tests/control.sh +0 -0
  44. {diffoscope-262 → diffoscope-263}/debian/tests/generate-recommends.py +0 -0
  45. {diffoscope-262 → diffoscope-263}/debian/tests/pytest +0 -0
  46. {diffoscope-262 → diffoscope-263}/debian/tests/pytest-with-recommends +0 -0
  47. {diffoscope-262 → diffoscope-263}/debian/upstream/metadata +0 -0
  48. {diffoscope-262 → diffoscope-263}/debian/upstream/signing-key.asc +0 -0
  49. {diffoscope-262 → diffoscope-263}/debian/watch +0 -0
  50. {diffoscope-262 → diffoscope-263}/debian/zsh-completion/_diffoscope +0 -0
  51. {diffoscope-262 → diffoscope-263}/diffoscope/changes.py +0 -0
  52. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/__init__.py +0 -0
  53. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/android.py +0 -0
  54. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/apk.py +0 -0
  55. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/ar.py +0 -0
  56. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/arsc.py +0 -0
  57. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/berkeley_db.py +0 -0
  58. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/binary.py +0 -0
  59. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/binwalk.py +0 -0
  60. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/bzip2.py +0 -0
  61. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/cbfs.py +0 -0
  62. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/cpio.py +0 -0
  63. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/deb.py +0 -0
  64. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/debian.py +0 -0
  65. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/debian_fallback.py +0 -0
  66. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/decompile.py +0 -0
  67. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/device.py +0 -0
  68. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/dex.py +0 -0
  69. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/directory.py +0 -0
  70. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/docx.py +0 -0
  71. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/dtb.py +0 -0
  72. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/elf.py +0 -0
  73. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/ffprobe.py +0 -0
  74. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/fit.py +0 -0
  75. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/fontconfig.py +0 -0
  76. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/fonts.py +0 -0
  77. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/fsimage.py +0 -0
  78. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/gettext.py +0 -0
  79. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/gif.py +0 -0
  80. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/git.py +0 -0
  81. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/gnumeric.py +0 -0
  82. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/gzip.py +0 -0
  83. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/haskell.py +0 -0
  84. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/hdf.py +0 -0
  85. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/html.py +0 -0
  86. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/icc.py +0 -0
  87. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/image.py +0 -0
  88. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/ipk.py +0 -0
  89. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/iso9660.py +0 -0
  90. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/java.py +0 -0
  91. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/javascript.py +0 -0
  92. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/json.py +0 -0
  93. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/kbx.py +0 -0
  94. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/llvm.py +0 -0
  95. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/lz4.py +0 -0
  96. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/lzip.py +0 -0
  97. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/macho.py +0 -0
  98. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/missing_file.py +0 -0
  99. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/mono.py +0 -0
  100. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/ocaml.py +0 -0
  101. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/odt.py +0 -0
  102. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/ogg.py +0 -0
  103. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/openssh.py +0 -0
  104. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/openssl.py +0 -0
  105. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/pcap.py +0 -0
  106. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/pdf.py +0 -0
  107. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/pe32.py +0 -0
  108. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/pgp.py +0 -0
  109. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/png.py +0 -0
  110. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/ppu.py +0 -0
  111. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/ps.py +0 -0
  112. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/python.py +0 -0
  113. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/rdata.py +0 -0
  114. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/rpm.py +0 -0
  115. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/rpm_fallback.py +0 -0
  116. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/rust.py +0 -0
  117. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/sevenz.py +0 -0
  118. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/socket_or_fifo.py +0 -0
  119. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/sphinx.py +0 -0
  120. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/sqlite.py +0 -0
  121. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/squashfs.py +0 -0
  122. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/symlink.py +0 -0
  123. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/tar.py +0 -0
  124. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/text.py +0 -0
  125. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/uimage.py +0 -0
  126. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/__init__.py +0 -0
  127. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/archive.py +0 -0
  128. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/command.py +0 -0
  129. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/compare.py +0 -0
  130. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/container.py +0 -0
  131. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/file.py +0 -0
  132. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/fuzzy.py +0 -0
  133. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/libarchive.py +0 -0
  134. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/operation.py +0 -0
  135. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/utils/specialize.py +0 -0
  136. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/vmlinuz.py +0 -0
  137. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/wasm.py +0 -0
  138. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/xar.py +0 -0
  139. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/xml.py +0 -0
  140. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/xmlb.py +0 -0
  141. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/xsb.py +0 -0
  142. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/xz.py +0 -0
  143. {diffoscope-262 → diffoscope-263}/diffoscope/comparators/zst.py +0 -0
  144. {diffoscope-262 → diffoscope-263}/diffoscope/config.py +0 -0
  145. {diffoscope-262 → diffoscope-263}/diffoscope/diff.py +0 -0
  146. {diffoscope-262 → diffoscope-263}/diffoscope/difference.py +0 -0
  147. {diffoscope-262 → diffoscope-263}/diffoscope/environ.py +0 -0
  148. {diffoscope-262 → diffoscope-263}/diffoscope/exc.py +0 -0
  149. {diffoscope-262 → diffoscope-263}/diffoscope/excludes.py +0 -0
  150. {diffoscope-262 → diffoscope-263}/diffoscope/feeders.py +0 -0
  151. {diffoscope-262 → diffoscope-263}/diffoscope/logging.py +0 -0
  152. {diffoscope-262 → diffoscope-263}/diffoscope/main.py +0 -0
  153. {diffoscope-262 → diffoscope-263}/diffoscope/path.py +0 -0
  154. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/__init__.py +0 -0
  155. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/formats.py +0 -0
  156. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/html/__init__.py +0 -0
  157. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/html/html.py +0 -0
  158. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/html/templates.py +0 -0
  159. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/icon.py +0 -0
  160. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/json.py +0 -0
  161. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/markdown.py +0 -0
  162. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/restructuredtext.py +0 -0
  163. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/text.py +0 -0
  164. {diffoscope-262 → diffoscope-263}/diffoscope/presenters/utils.py +0 -0
  165. {diffoscope-262 → diffoscope-263}/diffoscope/profiling.py +0 -0
  166. {diffoscope-262 → diffoscope-263}/diffoscope/progress.py +0 -0
  167. {diffoscope-262 → diffoscope-263}/diffoscope/readers/__init__.py +0 -0
  168. {diffoscope-262 → diffoscope-263}/diffoscope/readers/json.py +0 -0
  169. {diffoscope-262 → diffoscope-263}/diffoscope/readers/utils.py +0 -0
  170. {diffoscope-262 → diffoscope-263}/diffoscope/scripts/extract-vmlinux +0 -0
  171. {diffoscope-262 → diffoscope-263}/diffoscope/tempfiles.py +0 -0
  172. {diffoscope-262 → diffoscope-263}/diffoscope/tools.py +0 -0
  173. {diffoscope-262 → diffoscope-263}/diffoscope/utils.py +0 -0
  174. {diffoscope-262 → diffoscope-263}/diffoscope.egg-info/dependency_links.txt +0 -0
  175. {diffoscope-262 → diffoscope-263}/diffoscope.egg-info/entry_points.txt +0 -0
  176. {diffoscope-262 → diffoscope-263}/diffoscope.egg-info/requires.txt +0 -0
  177. {diffoscope-262 → diffoscope-263}/diffoscope.egg-info/top_level.txt +0 -0
  178. {diffoscope-262 → diffoscope-263}/doc/Makefile +0 -0
  179. {diffoscope-262 → diffoscope-263}/doc/diffoscope.h2m.0 +0 -0
  180. {diffoscope-262 → diffoscope-263}/doc/logo.svg +0 -0
  181. {diffoscope-262 → diffoscope-263}/extras_require.json +0 -0
  182. {diffoscope-262 → diffoscope-263}/pyproject.toml +0 -0
  183. {diffoscope-262 → diffoscope-263}/pytest.ini +0 -0
  184. {diffoscope-262 → diffoscope-263}/setup.cfg +0 -0
  185. {diffoscope-262 → diffoscope-263}/setup.py +0 -0
  186. {diffoscope-262 → diffoscope-263}/tests/__init__.py +0 -0
  187. {diffoscope-262 → diffoscope-263}/tests/comparators/__init__.py +0 -0
  188. {diffoscope-262 → diffoscope-263}/tests/comparators/test_android.py +0 -0
  189. {diffoscope-262 → diffoscope-263}/tests/comparators/test_apk.py +0 -0
  190. {diffoscope-262 → diffoscope-263}/tests/comparators/test_archive.py +0 -0
  191. {diffoscope-262 → diffoscope-263}/tests/comparators/test_arsc.py +0 -0
  192. {diffoscope-262 → diffoscope-263}/tests/comparators/test_berkeley_db.py +0 -0
  193. {diffoscope-262 → diffoscope-263}/tests/comparators/test_binary.py +0 -0
  194. {diffoscope-262 → diffoscope-263}/tests/comparators/test_binwalk.py +0 -0
  195. {diffoscope-262 → diffoscope-263}/tests/comparators/test_bzip2.py +0 -0
  196. {diffoscope-262 → diffoscope-263}/tests/comparators/test_cbfs.py +0 -0
  197. {diffoscope-262 → diffoscope-263}/tests/comparators/test_containers.py +0 -0
  198. {diffoscope-262 → diffoscope-263}/tests/comparators/test_cpio.py +0 -0
  199. {diffoscope-262 → diffoscope-263}/tests/comparators/test_deb.py +0 -0
  200. {diffoscope-262 → diffoscope-263}/tests/comparators/test_debian.py +0 -0
  201. {diffoscope-262 → diffoscope-263}/tests/comparators/test_device.py +0 -0
  202. {diffoscope-262 → diffoscope-263}/tests/comparators/test_dex.py +0 -0
  203. {diffoscope-262 → diffoscope-263}/tests/comparators/test_directory.py +0 -0
  204. {diffoscope-262 → diffoscope-263}/tests/comparators/test_docx.py +0 -0
  205. {diffoscope-262 → diffoscope-263}/tests/comparators/test_dtb.py +0 -0
  206. {diffoscope-262 → diffoscope-263}/tests/comparators/test_elf.py +0 -0
  207. {diffoscope-262 → diffoscope-263}/tests/comparators/test_elf_decompiler.py +0 -0
  208. {diffoscope-262 → diffoscope-263}/tests/comparators/test_ffprobe.py +0 -0
  209. {diffoscope-262 → diffoscope-263}/tests/comparators/test_fit.py +0 -0
  210. {diffoscope-262 → diffoscope-263}/tests/comparators/test_fontconfig.py +0 -0
  211. {diffoscope-262 → diffoscope-263}/tests/comparators/test_fonts.py +0 -0
  212. {diffoscope-262 → diffoscope-263}/tests/comparators/test_fsimage.py +0 -0
  213. {diffoscope-262 → diffoscope-263}/tests/comparators/test_gettext.py +0 -0
  214. {diffoscope-262 → diffoscope-263}/tests/comparators/test_gif.py +0 -0
  215. {diffoscope-262 → diffoscope-263}/tests/comparators/test_git.py +0 -0
  216. {diffoscope-262 → diffoscope-263}/tests/comparators/test_gnumeric.py +0 -0
  217. {diffoscope-262 → diffoscope-263}/tests/comparators/test_gzip.py +0 -0
  218. {diffoscope-262 → diffoscope-263}/tests/comparators/test_haskell.py +0 -0
  219. {diffoscope-262 → diffoscope-263}/tests/comparators/test_hdf.py +0 -0
  220. {diffoscope-262 → diffoscope-263}/tests/comparators/test_html.py +0 -0
  221. {diffoscope-262 → diffoscope-263}/tests/comparators/test_icc.py +0 -0
  222. {diffoscope-262 → diffoscope-263}/tests/comparators/test_ico_image.py +0 -0
  223. {diffoscope-262 → diffoscope-263}/tests/comparators/test_ipk.py +0 -0
  224. {diffoscope-262 → diffoscope-263}/tests/comparators/test_iso9660.py +0 -0
  225. {diffoscope-262 → diffoscope-263}/tests/comparators/test_java.py +0 -0
  226. {diffoscope-262 → diffoscope-263}/tests/comparators/test_javascript.py +0 -0
  227. {diffoscope-262 → diffoscope-263}/tests/comparators/test_jpeg_image.py +0 -0
  228. {diffoscope-262 → diffoscope-263}/tests/comparators/test_json.py +0 -0
  229. {diffoscope-262 → diffoscope-263}/tests/comparators/test_kbx.py +0 -0
  230. {diffoscope-262 → diffoscope-263}/tests/comparators/test_lz4.py +0 -0
  231. {diffoscope-262 → diffoscope-263}/tests/comparators/test_lzip.py +0 -0
  232. {diffoscope-262 → diffoscope-263}/tests/comparators/test_macho.py +0 -0
  233. {diffoscope-262 → diffoscope-263}/tests/comparators/test_macho_decompiler.py +0 -0
  234. {diffoscope-262 → diffoscope-263}/tests/comparators/test_mono.py +0 -0
  235. {diffoscope-262 → diffoscope-263}/tests/comparators/test_ocaml.py +0 -0
  236. {diffoscope-262 → diffoscope-263}/tests/comparators/test_odt.py +0 -0
  237. {diffoscope-262 → diffoscope-263}/tests/comparators/test_ogg.py +0 -0
  238. {diffoscope-262 → diffoscope-263}/tests/comparators/test_openssh_pub_key.py +0 -0
  239. {diffoscope-262 → diffoscope-263}/tests/comparators/test_openssl.py +0 -0
  240. {diffoscope-262 → diffoscope-263}/tests/comparators/test_pcap.py +0 -0
  241. {diffoscope-262 → diffoscope-263}/tests/comparators/test_pdf.py +0 -0
  242. {diffoscope-262 → diffoscope-263}/tests/comparators/test_pgp.py +0 -0
  243. {diffoscope-262 → diffoscope-263}/tests/comparators/test_png.py +0 -0
  244. {diffoscope-262 → diffoscope-263}/tests/comparators/test_ppu.py +0 -0
  245. {diffoscope-262 → diffoscope-263}/tests/comparators/test_ps.py +0 -0
  246. {diffoscope-262 → diffoscope-263}/tests/comparators/test_python.py +0 -0
  247. {diffoscope-262 → diffoscope-263}/tests/comparators/test_rdata.py +0 -0
  248. {diffoscope-262 → diffoscope-263}/tests/comparators/test_rlib.py +0 -0
  249. {diffoscope-262 → diffoscope-263}/tests/comparators/test_rpm.py +0 -0
  250. {diffoscope-262 → diffoscope-263}/tests/comparators/test_sevenz.py +0 -0
  251. {diffoscope-262 → diffoscope-263}/tests/comparators/test_sockets.py +0 -0
  252. {diffoscope-262 → diffoscope-263}/tests/comparators/test_sphinx.py +0 -0
  253. {diffoscope-262 → diffoscope-263}/tests/comparators/test_sqlite.py +0 -0
  254. {diffoscope-262 → diffoscope-263}/tests/comparators/test_squashfs.py +0 -0
  255. {diffoscope-262 → diffoscope-263}/tests/comparators/test_symlink.py +0 -0
  256. {diffoscope-262 → diffoscope-263}/tests/comparators/test_tar.py +0 -0
  257. {diffoscope-262 → diffoscope-263}/tests/comparators/test_text.py +0 -0
  258. {diffoscope-262 → diffoscope-263}/tests/comparators/test_uimage.py +0 -0
  259. {diffoscope-262 → diffoscope-263}/tests/comparators/test_utils.py +0 -0
  260. {diffoscope-262 → diffoscope-263}/tests/comparators/test_wasm.py +0 -0
  261. {diffoscope-262 → diffoscope-263}/tests/comparators/test_xml.py +0 -0
  262. {diffoscope-262 → diffoscope-263}/tests/comparators/test_xsb.py +0 -0
  263. {diffoscope-262 → diffoscope-263}/tests/comparators/test_xz.py +0 -0
  264. {diffoscope-262 → diffoscope-263}/tests/comparators/test_zst.py +0 -0
  265. {diffoscope-262 → diffoscope-263}/tests/conftest.py +0 -0
  266. {diffoscope-262 → diffoscope-263}/tests/data/Samyak-Malayalam1.ttf +0 -0
  267. {diffoscope-262 → diffoscope-263}/tests/data/Samyak-Malayalam2.ttf +0 -0
  268. {diffoscope-262 → diffoscope-263}/tests/data/Test1.class +0 -0
  269. {diffoscope-262 → diffoscope-263}/tests/data/Test2.class +0 -0
  270. {diffoscope-262 → diffoscope-263}/tests/data/android1.img +0 -0
  271. {diffoscope-262 → diffoscope-263}/tests/data/android2.img +0 -0
  272. {diffoscope-262 → diffoscope-263}/tests/data/android_expected_diff +0 -0
  273. {diffoscope-262 → diffoscope-263}/tests/data/apk_manifest_expected_diff +0 -0
  274. {diffoscope-262 → diffoscope-263}/tests/data/apk_zipinfo_expected_diff +0 -0
  275. {diffoscope-262 → diffoscope-263}/tests/data/archive1.tar +0 -0
  276. {diffoscope-262 → diffoscope-263}/tests/data/archive12.diff.txt +0 -0
  277. {diffoscope-262 → diffoscope-263}/tests/data/archive2.tar +0 -0
  278. {diffoscope-262 → diffoscope-263}/tests/data/arsc_expected_diff +0 -0
  279. {diffoscope-262 → diffoscope-263}/tests/data/base-files_157-r45695_ar71xx.ipk +0 -0
  280. {diffoscope-262 → diffoscope-263}/tests/data/base-files_157-r45918_ar71xx.ipk +0 -0
  281. {diffoscope-262 → diffoscope-263}/tests/data/berkeley6_db_expected_diff +0 -0
  282. {diffoscope-262 → diffoscope-263}/tests/data/berkeley_db_expected_diff +0 -0
  283. {diffoscope-262 → diffoscope-263}/tests/data/binary1 +0 -0
  284. {diffoscope-262 → diffoscope-263}/tests/data/binary2 +0 -0
  285. {diffoscope-262 → diffoscope-263}/tests/data/binary_expected_diff +0 -0
  286. {diffoscope-262 → diffoscope-263}/tests/data/binary_hexdump_expected_diff +0 -0
  287. {diffoscope-262 → diffoscope-263}/tests/data/binwalk_expected_diff +0 -0
  288. {diffoscope-262 → diffoscope-263}/tests/data/bug881937_1.deb +0 -0
  289. {diffoscope-262 → diffoscope-263}/tests/data/bug881937_2.deb +0 -0
  290. {diffoscope-262 → diffoscope-263}/tests/data/bug881937_control_expected_diff +0 -0
  291. {diffoscope-262 → diffoscope-263}/tests/data/bug903391_1.deb +0 -0
  292. {diffoscope-262 → diffoscope-263}/tests/data/bug903391_2.deb +0 -0
  293. {diffoscope-262 → diffoscope-263}/tests/data/bug903401_1.deb +0 -0
  294. {diffoscope-262 → diffoscope-263}/tests/data/bug903401_2.deb +0 -0
  295. {diffoscope-262 → diffoscope-263}/tests/data/bug903565_1.deb +0 -0
  296. {diffoscope-262 → diffoscope-263}/tests/data/bug903565_2.deb +0 -0
  297. {diffoscope-262 → diffoscope-263}/tests/data/comment_zipinfo_expected_diff +0 -0
  298. {diffoscope-262 → diffoscope-263}/tests/data/containers/a.tar.bz2 +0 -0
  299. {diffoscope-262 → diffoscope-263}/tests/data/containers/a.tar.gz +0 -0
  300. {diffoscope-262 → diffoscope-263}/tests/data/containers/a.tar.xz +0 -0
  301. {diffoscope-262 → diffoscope-263}/tests/data/containers/b.tar.bz2 +0 -0
  302. {diffoscope-262 → diffoscope-263}/tests/data/containers/b.tar.gz +0 -0
  303. {diffoscope-262 → diffoscope-263}/tests/data/containers/b.tar.xz +0 -0
  304. {diffoscope-262 → diffoscope-263}/tests/data/containers/different_files_expected_diff +0 -0
  305. {diffoscope-262 → diffoscope-263}/tests/data/cpio_listing_expected_diff +0 -0
  306. {diffoscope-262 → diffoscope-263}/tests/data/dbgsym/add/test-dbgsym-dbgsym_1_amd64.deb +0 -0
  307. {diffoscope-262 → diffoscope-263}/tests/data/dbgsym/add/test-dbgsym_1_amd64.deb +0 -0
  308. {diffoscope-262 → diffoscope-263}/tests/data/dbgsym/mult/test-dbgsym-dbgsym_1_amd64.deb +0 -0
  309. {diffoscope-262 → diffoscope-263}/tests/data/dbgsym/mult/test-dbgsym_1_amd64.deb +0 -0
  310. {diffoscope-262 → diffoscope-263}/tests/data/dbgsym/test-dbgsym_1.dsc +0 -0
  311. {diffoscope-262 → diffoscope-263}/tests/data/dbgsym/test-dbgsym_1.tar.gz +0 -0
  312. {diffoscope-262 → diffoscope-263}/tests/data/deb_metadata_expected_diff +0 -0
  313. {diffoscope-262 → diffoscope-263}/tests/data/debian-bug-875281.collapsed-diff.json +0 -0
  314. {diffoscope-262 → diffoscope-263}/tests/data/debian-bug-876316-control.tar.gz +0 -0
  315. {diffoscope-262 → diffoscope-263}/tests/data/device_expected_diff +0 -0
  316. {diffoscope-262 → diffoscope-263}/tests/data/device_expected_diff_freebsd +0 -0
  317. {diffoscope-262 → diffoscope-263}/tests/data/device_expected_diff_reverse +0 -0
  318. {diffoscope-262 → diffoscope-263}/tests/data/device_expected_diff_reverse_freebsd +0 -0
  319. {diffoscope-262 → diffoscope-263}/tests/data/devicetree1.dtb +0 -0
  320. {diffoscope-262 → diffoscope-263}/tests/data/devicetree2.dtb +0 -0
  321. {diffoscope-262 → diffoscope-263}/tests/data/devicetree_expected_diff +0 -0
  322. {diffoscope-262 → diffoscope-263}/tests/data/dex_expected_diffs +0 -0
  323. {diffoscope-262 → diffoscope-263}/tests/data/dex_javap_14_expected_diffs +0 -0
  324. {diffoscope-262 → diffoscope-263}/tests/data/docx_expected_diff +0 -0
  325. {diffoscope-262 → diffoscope-263}/tests/data/dot_buildinfo_fallback_expected_diff +0 -0
  326. {diffoscope-262 → diffoscope-263}/tests/data/dot_changes_description_expected_diff +0 -0
  327. {diffoscope-262 → diffoscope-263}/tests/data/dot_changes_different_contents_and_identical_files_expected_diff +0 -0
  328. {diffoscope-262 → diffoscope-263}/tests/data/dot_changes_fallback_expected_diff +0 -0
  329. {diffoscope-262 → diffoscope-263}/tests/data/dot_changes_identical_contents_and_different_files_expected_diff +0 -0
  330. {diffoscope-262 → diffoscope-263}/tests/data/dot_dsc_fallback_expected_diff +0 -0
  331. {diffoscope-262 → diffoscope-263}/tests/data/elf_lib_metadata_expected_diff +0 -0
  332. {diffoscope-262 → diffoscope-263}/tests/data/elf_lib_objdump_expected_diff +0 -0
  333. {diffoscope-262 → diffoscope-263}/tests/data/elf_obj_expected_diff +0 -0
  334. {diffoscope-262 → diffoscope-263}/tests/data/elf_obj_ghidra_expected_diff +0 -0
  335. {diffoscope-262 → diffoscope-263}/tests/data/elf_obj_radare2_expected_diff +0 -0
  336. {diffoscope-262 → diffoscope-263}/tests/data/elfmix1.not_a +0 -0
  337. {diffoscope-262 → diffoscope-263}/tests/data/elfmix2.a +0 -0
  338. {diffoscope-262 → diffoscope-263}/tests/data/elfmix_disassembly_expected_diff +0 -0
  339. {diffoscope-262 → diffoscope-263}/tests/data/elfmix_mach_o_expected_diff__text +0 -0
  340. {diffoscope-262 → diffoscope-263}/tests/data/elfmix_mach_o_expected_diff__text_16 +0 -0
  341. {diffoscope-262 → diffoscope-263}/tests/data/elfmix_src_c_expected_diff +0 -0
  342. {diffoscope-262 → diffoscope-263}/tests/data/elfmix_x_obj_expected_diff +0 -0
  343. {diffoscope-262 → diffoscope-263}/tests/data/elfmix_x_obj_objdump_expected_diff +0 -0
  344. {diffoscope-262 → diffoscope-263}/tests/data/encrypted1.zip +0 -0
  345. {diffoscope-262 → diffoscope-263}/tests/data/encrypted2.zip +0 -0
  346. {diffoscope-262 → diffoscope-263}/tests/data/ext4_expected_diffs +0 -0
  347. {diffoscope-262 → diffoscope-263}/tests/data/fat12_expected_diffs +0 -0
  348. {diffoscope-262 → diffoscope-263}/tests/data/fit_expected_diff +0 -0
  349. {diffoscope-262 → diffoscope-263}/tests/data/fontconfig_expected_diff +0 -0
  350. {diffoscope-262 → diffoscope-263}/tests/data/fuzzy-tar-in-tar1.tar +0 -0
  351. {diffoscope-262 → diffoscope-263}/tests/data/fuzzy-tar-in-tar2.tar +0 -0
  352. {diffoscope-262 → diffoscope-263}/tests/data/fuzzy1.tar +0 -0
  353. {diffoscope-262 → diffoscope-263}/tests/data/fuzzy2.tar +0 -0
  354. {diffoscope-262 → diffoscope-263}/tests/data/fuzzy3.tar +0 -0
  355. {diffoscope-262 → diffoscope-263}/tests/data/gif_expected_diff +0 -0
  356. {diffoscope-262 → diffoscope-263}/tests/data/git_expected_diff +0 -0
  357. {diffoscope-262 → diffoscope-263}/tests/data/git_expected_diff_freebsd +0 -0
  358. {diffoscope-262 → diffoscope-263}/tests/data/gnu_debuglink_expected_diff +0 -0
  359. {diffoscope-262 → diffoscope-263}/tests/data/gnumeric_expected_diff +0 -0
  360. {diffoscope-262 → diffoscope-263}/tests/data/gzip_metadata_expected_diff +0 -0
  361. {diffoscope-262 → diffoscope-263}/tests/data/haskell_expected_diff +0 -0
  362. {diffoscope-262 → diffoscope-263}/tests/data/hdf5_expected_diff +0 -0
  363. {diffoscope-262 → diffoscope-263}/tests/data/hello1.wasm +0 -0
  364. {diffoscope-262 → diffoscope-263}/tests/data/hello2.wasm +0 -0
  365. {diffoscope-262 → diffoscope-263}/tests/data/html_expected_diff +0 -0
  366. {diffoscope-262 → diffoscope-263}/tests/data/html_text_expected_diff +0 -0
  367. {diffoscope-262 → diffoscope-263}/tests/data/icc_expected_diff +0 -0
  368. {diffoscope-262 → diffoscope-263}/tests/data/ico_image_expected_diff +0 -0
  369. {diffoscope-262 → diffoscope-263}/tests/data/ico_image_meta_expected_diff +0 -0
  370. {diffoscope-262 → diffoscope-263}/tests/data/ico_image_meta_expected_diff_v2 +0 -0
  371. {diffoscope-262 → diffoscope-263}/tests/data/ignore_readelf_errors_expected_diff +0 -0
  372. {diffoscope-262 → diffoscope-263}/tests/data/inv_expected_diff +0 -0
  373. {diffoscope-262 → diffoscope-263}/tests/data/ipk_metadata_expected_diff +0 -0
  374. {diffoscope-262 → diffoscope-263}/tests/data/iso9660_content_expected_diff +0 -0
  375. {diffoscope-262 → diffoscope-263}/tests/data/iso9660_content_expected_diff_cdrtools +0 -0
  376. {diffoscope-262 → diffoscope-263}/tests/data/iso9660_rockridge_expected_diff +0 -0
  377. {diffoscope-262 → diffoscope-263}/tests/data/iso9660_rockridge_expected_diff_cdrtools +0 -0
  378. {diffoscope-262 → diffoscope-263}/tests/data/javap_14_class_expected_diff +0 -0
  379. {diffoscope-262 → diffoscope-263}/tests/data/javap_class_expected_diff +0 -0
  380. {diffoscope-262 → diffoscope-263}/tests/data/javascript_expected_diff +0 -0
  381. {diffoscope-262 → diffoscope-263}/tests/data/jmod_zipinfo_expected_diff +0 -0
  382. {diffoscope-262 → diffoscope-263}/tests/data/jpeg_image_expected_diff +0 -0
  383. {diffoscope-262 → diffoscope-263}/tests/data/jpeg_image_meta_expected_diff +0 -0
  384. {diffoscope-262 → diffoscope-263}/tests/data/json_expected_diff +0 -0
  385. {diffoscope-262 → diffoscope-263}/tests/data/json_expected_ordering_diff +0 -0
  386. {diffoscope-262 → diffoscope-263}/tests/data/kbx_expected_diff +0 -0
  387. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__cstring +0 -0
  388. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__eh_frame +0 -0
  389. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__la_symbol_ptr +0 -0
  390. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__stub_helper +0 -0
  391. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__stub_helper_16 +0 -0
  392. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__stubs +0 -0
  393. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__stubs_16 +0 -0
  394. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__text +0 -0
  395. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__text_16 +0 -0
  396. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff__unwind_info +0 -0
  397. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_dyn_relocations +0 -0
  398. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_dyn_symbols +0 -0
  399. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_file_headers +0 -0
  400. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_needed_libs +0 -0
  401. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_relocations +0 -0
  402. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_strings +0 -0
  403. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_symbols +0 -0
  404. {diffoscope-262 → diffoscope-263}/tests/data/macho_llvm_expected_diff_symbols_llvm_11 +0 -0
  405. {diffoscope-262 → diffoscope-263}/tests/data/macho_obj_ghidra_expected_diff_main +0 -0
  406. {diffoscope-262 → diffoscope-263}/tests/data/macho_obj_radare2_expected_diff_main +0 -0
  407. {diffoscope-262 → diffoscope-263}/tests/data/macho_obj_radare2_expected_diff_printf +0 -0
  408. {diffoscope-262 → diffoscope-263}/tests/data/macho_otool_expected_diff__cstring +0 -0
  409. {diffoscope-262 → diffoscope-263}/tests/data/macho_otool_expected_diff__data +0 -0
  410. {diffoscope-262 → diffoscope-263}/tests/data/macho_otool_expected_diff__text +0 -0
  411. {diffoscope-262 → diffoscope-263}/tests/data/macho_otool_expected_diff_headers +0 -0
  412. {diffoscope-262 → diffoscope-263}/tests/data/macho_otool_expected_diff_indirect_symbols +0 -0
  413. {diffoscope-262 → diffoscope-263}/tests/data/macho_otool_expected_diff_libraries +0 -0
  414. {diffoscope-262 → diffoscope-263}/tests/data/macho_otool_expected_diff_strings +0 -0
  415. {diffoscope-262 → diffoscope-263}/tests/data/mo_charsets_expected_diff +0 -0
  416. {diffoscope-262 → diffoscope-263}/tests/data/mo_expected_diff +0 -0
  417. {diffoscope-262 → diffoscope-263}/tests/data/mozzip_zipinfo_expected_diff +0 -0
  418. {diffoscope-262 → diffoscope-263}/tests/data/mp3_expected_diff +0 -0
  419. {diffoscope-262 → diffoscope-263}/tests/data/no-perms.tar +0 -0
  420. {diffoscope-262 → diffoscope-263}/tests/data/ocaml_expected_diff +0 -0
  421. {diffoscope-262 → diffoscope-263}/tests/data/odt_expected_diff +0 -0
  422. {diffoscope-262 → diffoscope-263}/tests/data/ogg_expected_diff +0 -0
  423. {diffoscope-262 → diffoscope-263}/tests/data/openssh_pub_key_expected_diff +0 -0
  424. {diffoscope-262 → diffoscope-263}/tests/data/order1a.json +0 -0
  425. {diffoscope-262 → diffoscope-263}/tests/data/order1b.json +0 -0
  426. {diffoscope-262 → diffoscope-263}/tests/data/output.colored.txt +0 -0
  427. {diffoscope-262 → diffoscope-263}/tests/data/output.json +0 -0
  428. {diffoscope-262 → diffoscope-263}/tests/data/output.md +0 -0
  429. {diffoscope-262 → diffoscope-263}/tests/data/output.rst +0 -0
  430. {diffoscope-262 → diffoscope-263}/tests/data/output.txt +0 -0
  431. {diffoscope-262 → diffoscope-263}/tests/data/output_expected_363.html +0 -0
  432. {diffoscope-262 → diffoscope-263}/tests/data/output_regression_875281.html +0 -0
  433. {diffoscope-262 → diffoscope-263}/tests/data/pcap_expected_diff +0 -0
  434. {diffoscope-262 → diffoscope-263}/tests/data/pdf_annotations_expected_diff +0 -0
  435. {diffoscope-262 → diffoscope-263}/tests/data/pdf_metadata_expected_diff +0 -0
  436. {diffoscope-262 → diffoscope-263}/tests/data/pdf_text_expected_diff +0 -0
  437. {diffoscope-262 → diffoscope-263}/tests/data/pe_expected_diff +0 -0
  438. {diffoscope-262 → diffoscope-263}/tests/data/pgp_expected_diff +0 -0
  439. {diffoscope-262 → diffoscope-263}/tests/data/pgp_signature_expected_diff +0 -0
  440. {diffoscope-262 → diffoscope-263}/tests/data/pgp_signed_expected_diff +0 -0
  441. {diffoscope-262 → diffoscope-263}/tests/data/png_expected_diff +0 -0
  442. {diffoscope-262 → diffoscope-263}/tests/data/ppu_expected_diff +0 -0
  443. {diffoscope-262 → diffoscope-263}/tests/data/procyon_class_expected_diff +0 -0
  444. {diffoscope-262 → diffoscope-263}/tests/data/ps_internal_expected_diff +0 -0
  445. {diffoscope-262 → diffoscope-263}/tests/data/ps_text_expected_diff +0 -0
  446. {diffoscope-262 → diffoscope-263}/tests/data/pyc_expected_diff +0 -0
  447. {diffoscope-262 → diffoscope-263}/tests/data/quine.gz +0 -0
  448. {diffoscope-262 → diffoscope-263}/tests/data/quine.zip +0 -0
  449. {diffoscope-262 → diffoscope-263}/tests/data/quine_a.deb +0 -0
  450. {diffoscope-262 → diffoscope-263}/tests/data/quine_b.deb +0 -0
  451. {diffoscope-262 → diffoscope-263}/tests/data/quine_deb_expected_diff +0 -0
  452. {diffoscope-262 → diffoscope-263}/tests/data/quine_expected_diff +0 -0
  453. {diffoscope-262 → diffoscope-263}/tests/data/rdb_expected_diff +0 -0
  454. {diffoscope-262 → diffoscope-263}/tests/data/rds_expected_diff +0 -0
  455. {diffoscope-262 → diffoscope-263}/tests/data/resources1.arsc +0 -0
  456. {diffoscope-262 → diffoscope-263}/tests/data/resources2.arsc +0 -0
  457. {diffoscope-262 → diffoscope-263}/tests/data/rlib_armap_expected_diff +0 -0
  458. {diffoscope-262 → diffoscope-263}/tests/data/rlib_elf_expected_diff +0 -0
  459. {diffoscope-262 → diffoscope-263}/tests/data/rlib_llvm_dis_expected_diff +0 -0
  460. {diffoscope-262 → diffoscope-263}/tests/data/rlib_llvm_dis_expected_diff_10 +0 -0
  461. {diffoscope-262 → diffoscope-263}/tests/data/rlib_llvm_dis_expected_diff_15 +0 -0
  462. {diffoscope-262 → diffoscope-263}/tests/data/rlib_llvm_dis_expected_diff_16 +0 -0
  463. {diffoscope-262 → diffoscope-263}/tests/data/rlib_llvm_dis_expected_diff_5 +0 -0
  464. {diffoscope-262 → diffoscope-263}/tests/data/rlib_llvm_dis_expected_diff_7 +0 -0
  465. {diffoscope-262 → diffoscope-263}/tests/data/rpm_fallback_expected_diff +0 -0
  466. {diffoscope-262 → diffoscope-263}/tests/data/rpm_header_expected_diff +0 -0
  467. {diffoscope-262 → diffoscope-263}/tests/data/rpm_listing_expected_diff +0 -0
  468. {diffoscope-262 → diffoscope-263}/tests/data/salsa-issue-363.diff.json +0 -0
  469. {diffoscope-262 → diffoscope-263}/tests/data/sqlite3_expected_diff +0 -0
  470. {diffoscope-262 → diffoscope-263}/tests/data/squashfs_root_expected_diff +0 -0
  471. {diffoscope-262 → diffoscope-263}/tests/data/squashfs_superblock_expected_diff +0 -0
  472. {diffoscope-262 → diffoscope-263}/tests/data/symlink_expected_destination_diff +0 -0
  473. {diffoscope-262 → diffoscope-263}/tests/data/symlink_expected_diff +0 -0
  474. {diffoscope-262 → diffoscope-263}/tests/data/tar_listing_expected_diff +0 -0
  475. {diffoscope-262 → diffoscope-263}/tests/data/test1-le64.cache-4 +0 -0
  476. {diffoscope-262 → diffoscope-263}/tests/data/test1.a +0 -0
  477. {diffoscope-262 → diffoscope-263}/tests/data/test1.apk +0 -0
  478. {diffoscope-262 → diffoscope-263}/tests/data/test1.asc +0 -0
  479. {diffoscope-262 → diffoscope-263}/tests/data/test1.binwalk +0 -0
  480. {diffoscope-262 → diffoscope-263}/tests/data/test1.buildinfo +0 -0
  481. {diffoscope-262 → diffoscope-263}/tests/data/test1.bz2 +0 -0
  482. {diffoscope-262 → diffoscope-263}/tests/data/test1.changes +0 -0
  483. {diffoscope-262 → diffoscope-263}/tests/data/test1.cpio +0 -0
  484. {diffoscope-262 → diffoscope-263}/tests/data/test1.db +0 -0
  485. {diffoscope-262 → diffoscope-263}/tests/data/test1.deb +0 -0
  486. {diffoscope-262 → diffoscope-263}/tests/data/test1.debsrc.tar.gz +0 -0
  487. {diffoscope-262 → diffoscope-263}/tests/data/test1.debug +0 -0
  488. {diffoscope-262 → diffoscope-263}/tests/data/test1.dex +0 -0
  489. {diffoscope-262 → diffoscope-263}/tests/data/test1.disk.gz +0 -0
  490. {diffoscope-262 → diffoscope-263}/tests/data/test1.docx +0 -0
  491. {diffoscope-262 → diffoscope-263}/tests/data/test1.dsc +0 -0
  492. {diffoscope-262 → diffoscope-263}/tests/data/test1.epub +0 -0
  493. {diffoscope-262 → diffoscope-263}/tests/data/test1.exe +0 -0
  494. {diffoscope-262 → diffoscope-263}/tests/data/test1.ext4 +0 -0
  495. {diffoscope-262 → diffoscope-263}/tests/data/test1.fat12 +0 -0
  496. {diffoscope-262 → diffoscope-263}/tests/data/test1.fat16 +0 -0
  497. {diffoscope-262 → diffoscope-263}/tests/data/test1.fat32 +0 -0
  498. {diffoscope-262 → diffoscope-263}/tests/data/test1.gif +0 -0
  499. {diffoscope-262 → diffoscope-263}/tests/data/test1.git-index +0 -0
  500. {diffoscope-262 → diffoscope-263}/tests/data/test1.gnumeric +0 -0
  501. {diffoscope-262 → diffoscope-263}/tests/data/test1.gz +0 -0
  502. {diffoscope-262 → diffoscope-263}/tests/data/test1.hi +0 -0
  503. {diffoscope-262 → diffoscope-263}/tests/data/test1.html +0 -0
  504. {diffoscope-262 → diffoscope-263}/tests/data/test1.icc +0 -0
  505. {diffoscope-262 → diffoscope-263}/tests/data/test1.ico +0 -0
  506. {diffoscope-262 → diffoscope-263}/tests/data/test1.inv +0 -0
  507. {diffoscope-262 → diffoscope-263}/tests/data/test1.iso +0 -0
  508. {diffoscope-262 → diffoscope-263}/tests/data/test1.jmod +0 -0
  509. {diffoscope-262 → diffoscope-263}/tests/data/test1.jpg +0 -0
  510. {diffoscope-262 → diffoscope-263}/tests/data/test1.js +0 -0
  511. {diffoscope-262 → diffoscope-263}/tests/data/test1.json +0 -0
  512. {diffoscope-262 → diffoscope-263}/tests/data/test1.kbx +0 -0
  513. {diffoscope-262 → diffoscope-263}/tests/data/test1.lz4 +0 -0
  514. {diffoscope-262 → diffoscope-263}/tests/data/test1.lzip +0 -0
  515. {diffoscope-262 → diffoscope-263}/tests/data/test1.macho +0 -0
  516. {diffoscope-262 → diffoscope-263}/tests/data/test1.mo +0 -0
  517. {diffoscope-262 → diffoscope-263}/tests/data/test1.mozzip +0 -0
  518. {diffoscope-262 → diffoscope-263}/tests/data/test1.mp3 +0 -0
  519. {diffoscope-262 → diffoscope-263}/tests/data/test1.o +0 -0
  520. {diffoscope-262 → diffoscope-263}/tests/data/test1.odt +0 -0
  521. {diffoscope-262 → diffoscope-263}/tests/data/test1.ogg +0 -0
  522. {diffoscope-262 → diffoscope-263}/tests/data/test1.pcap +0 -0
  523. {diffoscope-262 → diffoscope-263}/tests/data/test1.pdf +0 -0
  524. {diffoscope-262 → diffoscope-263}/tests/data/test1.pgp +0 -0
  525. {diffoscope-262 → diffoscope-263}/tests/data/test1.png +0 -0
  526. {diffoscope-262 → diffoscope-263}/tests/data/test1.ppu +0 -0
  527. {diffoscope-262 → diffoscope-263}/tests/data/test1.ps +0 -0
  528. {diffoscope-262 → diffoscope-263}/tests/data/test1.pyc-renamed +0 -0
  529. {diffoscope-262 → diffoscope-263}/tests/data/test1.rdb +0 -0
  530. {diffoscope-262 → diffoscope-263}/tests/data/test1.rdx +0 -0
  531. {diffoscope-262 → diffoscope-263}/tests/data/test1.rlib +0 -0
  532. {diffoscope-262 → diffoscope-263}/tests/data/test1.rpm +0 -0
  533. {diffoscope-262 → diffoscope-263}/tests/data/test1.sqlite3 +0 -0
  534. {diffoscope-262 → diffoscope-263}/tests/data/test1.squashfs +0 -0
  535. {diffoscope-262 → diffoscope-263}/tests/data/test1.tar +0 -0
  536. {diffoscope-262 → diffoscope-263}/tests/data/test1.xml +0 -0
  537. {diffoscope-262 → diffoscope-263}/tests/data/test1.xsb +0 -0
  538. {diffoscope-262 → diffoscope-263}/tests/data/test1.xz +0 -0
  539. {diffoscope-262 → diffoscope-263}/tests/data/test1.zip +0 -0
  540. {diffoscope-262 → diffoscope-263}/tests/data/test1_meta.ico +0 -0
  541. {diffoscope-262 → diffoscope-263}/tests/data/test1_meta.jpg +0 -0
  542. {diffoscope-262 → diffoscope-263}/tests/data/test1_root.squashfs +0 -0
  543. {diffoscope-262 → diffoscope-263}/tests/data/test1_signed.pgp +0 -0
  544. {diffoscope-262 → diffoscope-263}/tests/data/test2-le64.cache-4 +0 -0
  545. {diffoscope-262 → diffoscope-263}/tests/data/test2.a +0 -0
  546. {diffoscope-262 → diffoscope-263}/tests/data/test2.apk +0 -0
  547. {diffoscope-262 → diffoscope-263}/tests/data/test2.asc +0 -0
  548. {diffoscope-262 → diffoscope-263}/tests/data/test2.binwalk +0 -0
  549. {diffoscope-262 → diffoscope-263}/tests/data/test2.buildinfo +0 -0
  550. {diffoscope-262 → diffoscope-263}/tests/data/test2.bz2 +0 -0
  551. {diffoscope-262 → diffoscope-263}/tests/data/test2.changes +0 -0
  552. {diffoscope-262 → diffoscope-263}/tests/data/test2.cpio +0 -0
  553. {diffoscope-262 → diffoscope-263}/tests/data/test2.db +0 -0
  554. {diffoscope-262 → diffoscope-263}/tests/data/test2.deb +0 -0
  555. {diffoscope-262 → diffoscope-263}/tests/data/test2.debsrc.tar.gz +0 -0
  556. {diffoscope-262 → diffoscope-263}/tests/data/test2.debug +0 -0
  557. {diffoscope-262 → diffoscope-263}/tests/data/test2.dex +0 -0
  558. {diffoscope-262 → diffoscope-263}/tests/data/test2.disk.gz +0 -0
  559. {diffoscope-262 → diffoscope-263}/tests/data/test2.docx +0 -0
  560. {diffoscope-262 → diffoscope-263}/tests/data/test2.dsc +0 -0
  561. {diffoscope-262 → diffoscope-263}/tests/data/test2.epub +0 -0
  562. {diffoscope-262 → diffoscope-263}/tests/data/test2.exe +0 -0
  563. {diffoscope-262 → diffoscope-263}/tests/data/test2.ext4 +0 -0
  564. {diffoscope-262 → diffoscope-263}/tests/data/test2.fat12 +0 -0
  565. {diffoscope-262 → diffoscope-263}/tests/data/test2.gif +0 -0
  566. {diffoscope-262 → diffoscope-263}/tests/data/test2.git-index +0 -0
  567. {diffoscope-262 → diffoscope-263}/tests/data/test2.gnumeric +0 -0
  568. {diffoscope-262 → diffoscope-263}/tests/data/test2.gz +0 -0
  569. {diffoscope-262 → diffoscope-263}/tests/data/test2.hi +0 -0
  570. {diffoscope-262 → diffoscope-263}/tests/data/test2.html +0 -0
  571. {diffoscope-262 → diffoscope-263}/tests/data/test2.icc +0 -0
  572. {diffoscope-262 → diffoscope-263}/tests/data/test2.ico +0 -0
  573. {diffoscope-262 → diffoscope-263}/tests/data/test2.inv +0 -0
  574. {diffoscope-262 → diffoscope-263}/tests/data/test2.iso +0 -0
  575. {diffoscope-262 → diffoscope-263}/tests/data/test2.jmod +0 -0
  576. {diffoscope-262 → diffoscope-263}/tests/data/test2.jpg +0 -0
  577. {diffoscope-262 → diffoscope-263}/tests/data/test2.js +0 -0
  578. {diffoscope-262 → diffoscope-263}/tests/data/test2.json +0 -0
  579. {diffoscope-262 → diffoscope-263}/tests/data/test2.kbx +0 -0
  580. {diffoscope-262 → diffoscope-263}/tests/data/test2.lz4 +0 -0
  581. {diffoscope-262 → diffoscope-263}/tests/data/test2.lzip +0 -0
  582. {diffoscope-262 → diffoscope-263}/tests/data/test2.macho +0 -0
  583. {diffoscope-262 → diffoscope-263}/tests/data/test2.mo +0 -0
  584. {diffoscope-262 → diffoscope-263}/tests/data/test2.mozzip +0 -0
  585. {diffoscope-262 → diffoscope-263}/tests/data/test2.mp3 +0 -0
  586. {diffoscope-262 → diffoscope-263}/tests/data/test2.o +0 -0
  587. {diffoscope-262 → diffoscope-263}/tests/data/test2.odt +0 -0
  588. {diffoscope-262 → diffoscope-263}/tests/data/test2.ogg +0 -0
  589. {diffoscope-262 → diffoscope-263}/tests/data/test2.pcap +0 -0
  590. {diffoscope-262 → diffoscope-263}/tests/data/test2.pdf +0 -0
  591. {diffoscope-262 → diffoscope-263}/tests/data/test2.pgp +0 -0
  592. {diffoscope-262 → diffoscope-263}/tests/data/test2.png +0 -0
  593. {diffoscope-262 → diffoscope-263}/tests/data/test2.ppu +0 -0
  594. {diffoscope-262 → diffoscope-263}/tests/data/test2.ps +0 -0
  595. {diffoscope-262 → diffoscope-263}/tests/data/test2.pyc-renamed +0 -0
  596. {diffoscope-262 → diffoscope-263}/tests/data/test2.rdb +0 -0
  597. {diffoscope-262 → diffoscope-263}/tests/data/test2.rdx +0 -0
  598. {diffoscope-262 → diffoscope-263}/tests/data/test2.rlib +0 -0
  599. {diffoscope-262 → diffoscope-263}/tests/data/test2.rpm +0 -0
  600. {diffoscope-262 → diffoscope-263}/tests/data/test2.sqlite3 +0 -0
  601. {diffoscope-262 → diffoscope-263}/tests/data/test2.squashfs +0 -0
  602. {diffoscope-262 → diffoscope-263}/tests/data/test2.tar +0 -0
  603. {diffoscope-262 → diffoscope-263}/tests/data/test2.xml +0 -0
  604. {diffoscope-262 → diffoscope-263}/tests/data/test2.xsb +0 -0
  605. {diffoscope-262 → diffoscope-263}/tests/data/test2.xz +0 -0
  606. {diffoscope-262 → diffoscope-263}/tests/data/test2.zip +0 -0
  607. {diffoscope-262 → diffoscope-263}/tests/data/test2_meta.ico +0 -0
  608. {diffoscope-262 → diffoscope-263}/tests/data/test2_meta.jpg +0 -0
  609. {diffoscope-262 → diffoscope-263}/tests/data/test2_root.squashfs +0 -0
  610. {diffoscope-262 → diffoscope-263}/tests/data/test2_signed.pgp +0 -0
  611. {diffoscope-262 → diffoscope-263}/tests/data/test3.apk +0 -0
  612. {diffoscope-262 → diffoscope-263}/tests/data/test3.changes +0 -0
  613. {diffoscope-262 → diffoscope-263}/tests/data/test3.gif +0 -0
  614. {diffoscope-262 → diffoscope-263}/tests/data/test3.pdf +0 -0
  615. {diffoscope-262 → diffoscope-263}/tests/data/test3.xml +0 -0
  616. {diffoscope-262 → diffoscope-263}/tests/data/test3.zip +0 -0
  617. {diffoscope-262 → diffoscope-263}/tests/data/test4.changes +0 -0
  618. {diffoscope-262 → diffoscope-263}/tests/data/test4.gif +0 -0
  619. {diffoscope-262 → diffoscope-263}/tests/data/test4.pdf +0 -0
  620. {diffoscope-262 → diffoscope-263}/tests/data/test4.xml +0 -0
  621. {diffoscope-262 → diffoscope-263}/tests/data/test5.changes +0 -0
  622. {diffoscope-262 → diffoscope-263}/tests/data/test_comment1.zip +0 -0
  623. {diffoscope-262 → diffoscope-263}/tests/data/test_comment2.zip +0 -0
  624. {diffoscope-262 → diffoscope-263}/tests/data/test_directory_a_b_diff +0 -0
  625. {diffoscope-262 → diffoscope-263}/tests/data/test_directory_b_a_diff +0 -0
  626. {diffoscope-262 → diffoscope-263}/tests/data/test_directory_device_diff +0 -0
  627. {diffoscope-262 → diffoscope-263}/tests/data/test_directory_file_diff +0 -0
  628. {diffoscope-262 → diffoscope-263}/tests/data/test_directory_symlink_diff +0 -0
  629. {diffoscope-262 → diffoscope-263}/tests/data/test_invalid.json +0 -0
  630. {diffoscope-262 → diffoscope-263}/tests/data/test_invalid.xml +0 -0
  631. {diffoscope-262 → diffoscope-263}/tests/data/test_iso8859-1.mo +0 -0
  632. {diffoscope-262 → diffoscope-263}/tests/data/test_no_charset.mo +0 -0
  633. {diffoscope-262 → diffoscope-263}/tests/data/test_openssh_pub_key1.pub +0 -0
  634. {diffoscope-262 → diffoscope-263}/tests/data/test_openssh_pub_key2.pub +0 -0
  635. {diffoscope-262 → diffoscope-263}/tests/data/test_weird_non_unicode_chars1.pdf +0 -0
  636. {diffoscope-262 → diffoscope-263}/tests/data/test_weird_non_unicode_chars2.pdf +0 -0
  637. {diffoscope-262 → diffoscope-263}/tests/data/test_xml_expected_diff +0 -0
  638. {diffoscope-262 → diffoscope-263}/tests/data/test_xml_ordering_differences_diff +0 -0
  639. {diffoscope-262 → diffoscope-263}/tests/data/text_ascii1 +0 -0
  640. {diffoscope-262 → diffoscope-263}/tests/data/text_ascii2 +0 -0
  641. {diffoscope-262 → diffoscope-263}/tests/data/text_ascii_expected_diff +0 -0
  642. {diffoscope-262 → diffoscope-263}/tests/data/text_iso8859 +0 -0
  643. {diffoscope-262 → diffoscope-263}/tests/data/text_iso8859_expected_diff +0 -0
  644. {diffoscope-262 → diffoscope-263}/tests/data/text_order1 +0 -0
  645. {diffoscope-262 → diffoscope-263}/tests/data/text_order2 +0 -0
  646. {diffoscope-262 → diffoscope-263}/tests/data/text_order_expected_diff +0 -0
  647. {diffoscope-262 → diffoscope-263}/tests/data/text_sevenzmetadata_expected_diff +0 -0
  648. {diffoscope-262 → diffoscope-263}/tests/data/text_unicode1 +0 -0
  649. {diffoscope-262 → diffoscope-263}/tests/data/text_unicode2 +0 -0
  650. {diffoscope-262 → diffoscope-263}/tests/data/text_unicode_binary_fallback +0 -0
  651. {diffoscope-262 → diffoscope-263}/tests/data/text_unicode_expected_diff +0 -0
  652. {diffoscope-262 → diffoscope-263}/tests/data/ttf_expected_diff +0 -0
  653. {diffoscope-262 → diffoscope-263}/tests/data/ttf_ttx_expected_diff +0 -0
  654. {diffoscope-262 → diffoscope-263}/tests/data/uimage_expected_diff +0 -0
  655. {diffoscope-262 → diffoscope-263}/tests/data/uimage_expected_diff_pre_5_41 +0 -0
  656. {diffoscope-262 → diffoscope-263}/tests/data/wasm_expected_diff +0 -0
  657. {diffoscope-262 → diffoscope-263}/tests/data/xsb_expected_diff +0 -0
  658. {diffoscope-262 → diffoscope-263}/tests/data/zip_bsdtar_expected_diff +0 -0
  659. {diffoscope-262 → diffoscope-263}/tests/data/zip_zipinfo_expected_diff +0 -0
  660. {diffoscope-262 → diffoscope-263}/tests/test_diff_mask.py +0 -0
  661. {diffoscope-262 → diffoscope-263}/tests/test_difference.py +0 -0
  662. {diffoscope-262 → diffoscope-263}/tests/test_excludes.py +0 -0
  663. {diffoscope-262 → diffoscope-263}/tests/test_main.py +0 -0
  664. {diffoscope-262 → diffoscope-263}/tests/test_presenters.py +0 -0
  665. {diffoscope-262 → diffoscope-263}/tests/test_progress.py +0 -0
  666. {diffoscope-262 → diffoscope-263}/tests/test_quines.py +0 -0
  667. {diffoscope-262 → diffoscope-263}/tests/test_readers.py +0 -0
  668. {diffoscope-262 → diffoscope-263}/tests/test_source.py +0 -0
  669. {diffoscope-262 → diffoscope-263}/tests/test_tools.py +0 -0
  670. {diffoscope-262 → diffoscope-263}/tests/test_versions.py +0 -0
  671. {diffoscope-262 → diffoscope-263}/tests/utils/__init__.py +0 -0
  672. {diffoscope-262 → diffoscope-263}/tests/utils/data.py +0 -0
  673. {diffoscope-262 → diffoscope-263}/tests/utils/nonexisting.py +0 -0
  674. {diffoscope-262 → diffoscope-263}/tests/utils/versions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffoscope
3
- Version: 262
3
+ Version: 263
4
4
  Summary: in-depth comparison of files, archives, and directories
5
5
  Home-page: https://diffoscope.org/
6
6
  Author: Diffoscope developers
@@ -1,8 +1,25 @@
1
- diffoscope (263) UNRELEASED; urgency=medium
1
+ diffoscope (264) UNRELEASED; urgency=medium
2
2
 
3
3
  * WIP (generated upon release).
4
4
 
5
- -- Chris Lamb <lamby@debian.org> Fri, 29 Mar 2024 09:44:15 +0000
5
+ -- Chris Lamb <lamby@debian.org> Fri, 05 Apr 2024 12:24:24 +0100
6
+
7
+ diffoscope (263) unstable; urgency=medium
8
+
9
+ [ Chris Lamb ]
10
+ * Add support for the zipdetails(1) tool included in the Perl distribution.
11
+ Thanks to Larry Doolittle et al. for the pointer to this tool.
12
+ * Don't use parenthesis within test "skipping…" messages; PyTest adds its own
13
+ parenthesis, so we were ending up with double nested parens.
14
+ * Fix the .epub tests after supporting zipdetails(1).
15
+ * Update copyright years and debian/tests/control.
16
+
17
+ [ FC (Fay) Stegerman ]
18
+ * Fix MozillaZipContainer's monkeypatch after Python's zipfile module changed
19
+ to detect potentially insecure overlapping entries within .zip files.
20
+ (Closes: reproducible-builds/diffoscope#362)
21
+
22
+ -- Chris Lamb <lamby@debian.org> Fri, 05 Apr 2024 12:21:10 +0100
6
23
 
7
24
  diffoscope (262) unstable; urgency=medium
8
25
 
@@ -7,7 +7,7 @@
7
7
  # $ mv debian/tests/control.tmp debian/tests/control
8
8
 
9
9
  Tests: pytest-with-recommends
10
- Depends: python3-all, diffoscope, black, python3-pytest, python3-h5py, file, linux-image-amd64 [amd64] | linux-image-generic [amd64], 7zip, aapt [amd64 arm64 armel armhf i386 mips64el mipsel], abootimg, acl, apksigcopier, apksigner, apktool [!ppc64el !s390x], binutils-multiarch, bzip2, caca-utils, colord, coreboot-utils, db-util, default-jdk-headless | default-jdk | java-sdk, device-tree-compiler, dexdump [amd64 arm64 armhf i386], docx2txt, e2fsprogs, enjarify, ffmpeg, fontforge-extras, fonttools, fp-utils [!ppc64el !s390x], genisoimage, gettext, ghc, ghostscript, giflib-tools, gnumeric, gnupg-utils, gpg, hdf5-tools, html2text, imagemagick, jsbeautifier, libarchive-tools, libxmlb-utils, llvm, lz4 | liblz4-tool, lzip, mono-utils, ocaml-nox, odt2txt, oggvideotools [!s390x], openssh-client, openssl, pgpdump, poppler-utils, procyon-decompiler, python3-pdfminer, r-base-core, rpm2cpio, sng, sqlite3, squashfs-tools, tcpdump, u-boot-tools, unzip, wabt, xmlbeans, xxd, xz-utils, zip, zstd, androguard, python3-argcomplete, python3-binwalk, python3-defusedxml, python3-distro, python3-guestfs, python3-jsondiff, python3-progressbar, python3-pypdf, python3-debian, python3-pyxattr, python3-rpm, python3-tlsh
10
+ Depends: python3-all, diffoscope, black, python3-pytest, python3-h5py, file, linux-image-amd64 [amd64] | linux-image-generic [amd64], 7zip, aapt [amd64 arm64 armel armhf i386 mips64el mipsel], abootimg, acl, apksigcopier, apksigner, apktool [!ppc64el !s390x], binutils-multiarch, bzip2, caca-utils, colord, coreboot-utils, db-util, default-jdk-headless | default-jdk | java-sdk, device-tree-compiler, dexdump [amd64 arm64 armhf i386], docx2txt, e2fsprogs, enjarify, ffmpeg, fontforge-extras, fonttools, fp-utils [!ppc64el !s390x], genisoimage, gettext, ghc, ghostscript, giflib-tools, gnumeric, gnupg-utils, gpg, hdf5-tools, html2text, imagemagick, jsbeautifier, libarchive-tools, libxmlb-utils, llvm, lz4 | liblz4-tool, lzip, mono-utils, ocaml-nox, odt2txt, oggvideotools [!s390x], openssh-client, openssl, perl, pgpdump, poppler-utils, procyon-decompiler, python3-pdfminer, r-base-core, rpm2cpio, sng, sqlite3, squashfs-tools, tcpdump, u-boot-tools, unzip, wabt, xmlbeans, xxd, xz-utils, zip, zstd, androguard, python3-argcomplete, python3-binwalk, python3-defusedxml, python3-distro, python3-guestfs, python3-jsondiff, python3-progressbar, python3-pypdf, python3-debian, python3-pyxattr, python3-rpm, python3-tlsh
11
11
 
12
12
  Tests: pytest
13
13
  Depends: python3-all, diffoscope, python3-pytest, python3-h5py, file, python3-tlsh
@@ -17,4 +17,4 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
19
19
 
20
- VERSION = "262"
20
+ VERSION = "263"
@@ -2,7 +2,7 @@
2
2
  # diffoscope: in-depth comparison of files, archives, and directories
3
3
  #
4
4
  # Copyright © 2014-2015 Jérémy Bobbio <lunar@debian.org>
5
- # Copyright © 2015-2022 Chris Lamb <lamby@debian.org>
5
+ # Copyright © 2015-2022, 2024 Chris Lamb <lamby@debian.org>
6
6
  #
7
7
  # diffoscope is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU General Public License as published by
@@ -154,6 +154,12 @@ def zipinfo_differences(file, other):
154
154
  return []
155
155
 
156
156
 
157
+ class Zipdetails(Command):
158
+ @tool_required("zipdetails")
159
+ def cmdline(self):
160
+ return ["zipdetails", "--redact", "--scan", "--utc", self.path]
161
+
162
+
157
163
  class ZipDirectory(Directory, ArchiveMember):
158
164
  def __init__(self, archive, member_name):
159
165
  ArchiveMember.__init__(self, archive, member_name)
@@ -251,12 +257,13 @@ class ZipFile(ZipFileBase):
251
257
  if Config().exclude_directory_metadata != "recursive":
252
258
  differences.extend(zipinfo_differences(self, other))
253
259
 
254
- try:
255
- differences.append(
256
- Difference.from_operation(Zipnote, self.path, other.path)
257
- )
258
- except RequiredToolNotFound: # noqa
259
- pass
260
+ for op in (Zipnote, Zipdetails):
261
+ try:
262
+ differences.append(
263
+ Difference.from_operation(op, self.path, other.path)
264
+ )
265
+ except RequiredToolNotFound: # noqa
266
+ pass
260
267
 
261
268
  return differences
262
269
 
@@ -266,10 +273,13 @@ class MozillaZipContainer(ZipContainer):
266
273
  # This is gross: Monkeypatch zipfile._EndRecData to work with
267
274
  # Mozilla-optimized ZIPs
268
275
  _orig_EndRecData = zipfile._EndRecData
276
+ eocd_offset = None
269
277
 
270
278
  def _EndRecData(fh):
271
279
  endrec = _orig_EndRecData(fh)
272
280
  if endrec:
281
+ nonlocal eocd_offset
282
+ eocd_offset = endrec[zipfile._ECD_LOCATION]
273
283
  endrec[zipfile._ECD_LOCATION] = (
274
284
  endrec[zipfile._ECD_OFFSET] + endrec[zipfile._ECD_SIZE]
275
285
  )
@@ -278,6 +288,17 @@ class MozillaZipContainer(ZipContainer):
278
288
  zipfile._EndRecData = _EndRecData
279
289
  result = super(MozillaZipContainer, self).open_archive()
280
290
  zipfile._EndRecData = _orig_EndRecData
291
+ # fix _end_offset after https://github.com/python/cpython/pull/110016
292
+ # added a check that fails because the central directory comes before
293
+ # the entries in these files
294
+ zinfos = sorted(
295
+ result.filelist,
296
+ key=lambda zinfo: zinfo.header_offset,
297
+ reverse=True,
298
+ )
299
+ if zinfos:
300
+ if hasattr(zinfos[0], "_end_offset"):
301
+ zinfos[0]._end_offset = eocd_offset
281
302
  return result
282
303
 
283
304
 
@@ -251,6 +251,7 @@ EXTERNAL_TOOLS = {
251
251
  "arch": "libxmlb",
252
252
  "guix": "libxmlb",
253
253
  },
254
+ "zipdetails": {"debian": "perl"},
254
255
  "zstd": {"debian": "zstd", "guix": "zstd"},
255
256
  }
256
257
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffoscope
3
- Version: 262
3
+ Version: 263
4
4
  Summary: in-depth comparison of files, archives, and directories
5
5
  Home-page: https://diffoscope.org/
6
6
  Author: Diffoscope developers
@@ -296,6 +296,7 @@ tests/data/bug903401_1.deb
296
296
  tests/data/bug903401_2.deb
297
297
  tests/data/bug903565_1.deb
298
298
  tests/data/bug903565_2.deb
299
+ tests/data/comment_zipdetails_expected_diff
299
300
  tests/data/comment_zipinfo_expected_diff
300
301
  tests/data/cpio_listing_expected_diff
301
302
  tests/data/deb_metadata_expected_diff
@@ -368,6 +369,7 @@ tests/data/iso9660_rockridge_expected_diff_cdrtools
368
369
  tests/data/javap_14_class_expected_diff
369
370
  tests/data/javap_class_expected_diff
370
371
  tests/data/javascript_expected_diff
372
+ tests/data/jmod_zipdetails_expected_diff
371
373
  tests/data/jmod_zipinfo_expected_diff
372
374
  tests/data/jpeg_image_expected_diff
373
375
  tests/data/jpeg_image_meta_expected_diff
@@ -645,7 +647,9 @@ tests/data/uimage_expected_diff
645
647
  tests/data/uimage_expected_diff_pre_5_41
646
648
  tests/data/wasm_expected_diff
647
649
  tests/data/xsb_expected_diff
650
+ tests/data/zip2_zipdetails_expected_diff
648
651
  tests/data/zip_bsdtar_expected_diff
652
+ tests/data/zip_zipdetails_expected_diff
649
653
  tests/data/zip_zipinfo_expected_diff
650
654
  tests/data/containers/a.tar.bz2
651
655
  tests/data/containers/a.tar.gz
@@ -2,7 +2,7 @@
2
2
  # diffoscope: in-depth comparison of files, archives, and directories
3
3
  #
4
4
  # Copyright © 2015 Jérémy Bobbio <lunar@debian.org>
5
- # Copyright © 2016-2017, 2020-2023 Chris Lamb <lamby@debian.org>
5
+ # Copyright © 2016-2017, 2020-2024 Chris Lamb <lamby@debian.org>
6
6
  #
7
7
  # diffoscope is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU General Public License as published by
@@ -45,16 +45,18 @@ def differences(epub1, epub2):
45
45
  return epub1.compare(epub2).details
46
46
 
47
47
 
48
- @skip_unless_tools_exist("zipinfo")
48
+ @skip_unless_tools_exist("zipinfo", "zipdetails")
49
49
  def test_differences(differences):
50
50
  assert differences[0].source1 == "zipinfo {}"
51
51
  assert differences[0].source2 == "zipinfo {}"
52
- assert differences[1].source1 == "content.opf"
53
- assert differences[1].source2 == "content.opf"
54
- assert differences[2].source1 == "toc.ncx"
55
- assert differences[2].source2 == "toc.ncx"
56
- assert differences[3].source1 == "ch001.xhtml"
57
- assert differences[3].source2 == "ch001.xhtml"
52
+ assert differences[1].source1.startswith("zipdetails ")
53
+ assert differences[1].source2.startswith("zipdetails ")
54
+ assert differences[2].source1 == "content.opf"
55
+ assert differences[2].source2 == "content.opf"
56
+ assert differences[3].source1 == "toc.ncx"
57
+ assert differences[3].source2 == "toc.ncx"
58
+ assert differences[4].source1 == "ch001.xhtml"
59
+ assert differences[4].source2 == "ch001.xhtml"
58
60
 
59
61
  # Flatten everything recursively, as XMLFile will contain reformatted data
60
62
  # under Difference.details.
@@ -18,12 +18,11 @@
18
18
  # along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
19
19
 
20
20
  import pytest
21
- import sys
22
21
 
23
22
  from diffoscope.comparators.zip import ZipFile, MozillaZipFile, JmodJavaModule
24
23
 
25
24
  from ..utils.data import load_fixture, assert_diff
26
- from ..utils.tools import skip_unless_tools_exist, skipif
25
+ from ..utils.tools import skip_unless_tools_exist
27
26
  from ..utils.nonexisting import assert_non_existing
28
27
 
29
28
 
@@ -39,12 +38,6 @@ jmod2 = load_fixture("test2.jmod")
39
38
  test_comment1 = load_fixture("test_comment1.zip")
40
39
  test_comment2 = load_fixture("test_comment2.zip")
41
40
 
42
- # See #362
43
- skip_if_python_zip_regression = pytest.mark.skipif(
44
- sys.version_info >= (3, 10, 14),
45
- reason="Test fails under 3.10.14+ (and 3.11.8+); possible regression",
46
- )
47
-
48
41
 
49
42
  def test_identification(zip1):
50
43
  assert isinstance(zip1, ZipFile)
@@ -65,21 +58,23 @@ def differences2(zip1, zip3):
65
58
  return zip1.compare(zip3).details
66
59
 
67
60
 
68
- @skip_unless_tools_exist("zipinfo")
61
+ @skip_unless_tools_exist("zipinfo", "zipdetails")
69
62
  def test_metadata(differences):
70
63
  assert_diff(differences[0], "zip_zipinfo_expected_diff")
64
+ assert_diff(differences[1], "zip_zipdetails_expected_diff")
71
65
 
72
66
 
73
- @skip_unless_tools_exist("zipinfo")
67
+ @skip_unless_tools_exist("zipinfo", "zipdetails")
74
68
  def test_compressed_files(differences):
75
- assert differences[1].source1 == "dir/text"
76
- assert differences[1].source2 == "dir/text"
77
- assert_diff(differences[1], "text_ascii_expected_diff")
69
+ assert differences[2].source1 == "dir/text"
70
+ assert differences[2].source2 == "dir/text"
71
+ assert_diff(differences[2], "text_ascii_expected_diff")
78
72
 
79
73
 
80
- @skip_unless_tools_exist("zipinfo", "bsdtar")
74
+ @skip_unless_tools_exist("zipinfo", "bsdtar", "zipdetails")
81
75
  def test_extra_fields(differences2):
82
76
  assert_diff(differences2[0], "zip_bsdtar_expected_diff")
77
+ assert_diff(differences2[1], "zip2_zipdetails_expected_diff")
83
78
 
84
79
 
85
80
  @skip_unless_tools_exist("zipinfo")
@@ -91,7 +86,6 @@ def test_mozzip_identification(mozzip1):
91
86
  assert isinstance(mozzip1, MozillaZipFile)
92
87
 
93
88
 
94
- @skip_if_python_zip_regression
95
89
  def test_mozzip_no_differences(mozzip1):
96
90
  difference = mozzip1.compare(mozzip1)
97
91
  assert difference is None
@@ -103,13 +97,11 @@ def mozzip_differences(mozzip1, mozzip2):
103
97
 
104
98
 
105
99
  @skip_unless_tools_exist("zipinfo")
106
- @skip_if_python_zip_regression
107
100
  def test_mozzip_metadata(mozzip_differences, mozzip1, mozzip2):
108
101
  assert_diff(mozzip_differences[0], "mozzip_zipinfo_expected_diff")
109
102
 
110
103
 
111
104
  @skip_unless_tools_exist("zipinfo")
112
- @skip_if_python_zip_regression
113
105
  def test_mozzip_compressed_files(mozzip_differences):
114
106
  assert mozzip_differences[-1].source1 == "dir/text"
115
107
  assert mozzip_differences[-1].source2 == "dir/text"
@@ -117,7 +109,6 @@ def test_mozzip_compressed_files(mozzip_differences):
117
109
 
118
110
 
119
111
  @skip_unless_tools_exist("zipinfo")
120
- @skip_if_python_zip_regression
121
112
  def test_mozzip_compare_non_existing(monkeypatch, mozzip1):
122
113
  assert_non_existing(monkeypatch, mozzip1)
123
114
 
@@ -136,9 +127,10 @@ def jmod_differences(jmod1, jmod2):
136
127
  return jmod1.compare(jmod2).details
137
128
 
138
129
 
139
- @skip_unless_tools_exist("zipinfo")
130
+ @skip_unless_tools_exist("zipinfo", "zipdetails")
140
131
  def test_jmod_metadata(jmod_differences, jmod1, jmod2):
141
132
  assert_diff(jmod_differences[0], "jmod_zipinfo_expected_diff")
133
+ assert_diff(jmod_differences[1], "jmod_zipdetails_expected_diff")
142
134
 
143
135
 
144
136
  def test_encrypted(encrypted_zip1, encrypted_zip2):
@@ -151,6 +143,7 @@ def comment_differences(test_comment1, test_comment2):
151
143
  return test_comment1.compare(test_comment2).details
152
144
 
153
145
 
154
- @skip_unless_tools_exist("zipnote")
146
+ @skip_unless_tools_exist("zipnote", "zipdetails")
155
147
  def test_commented(comment_differences):
156
148
  assert_diff(comment_differences[1], "comment_zipinfo_expected_diff")
149
+ assert_diff(comment_differences[2], "comment_zipdetails_expected_diff")
@@ -0,0 +1,45 @@
1
+ @@ -33,15 +33,15 @@
2
+ 004B Compression Method 0000 'Stored'
3
+ 004D Last Mod Time 4D869485 'Thu Dec 6 18:36:10 2018'
4
+ 0051 CRC 00000000
5
+ 0055 Compressed Length 00000000
6
+ 0059 Uncompressed Length 00000000
7
+ 005D Filename Length 0003
8
+ 005F Extra Length 0018
9
+ -0061 Comment Length 0000
10
+ +0061 Comment Length 0005
11
+ 0063 Disk Start 0000
12
+ 0065 Int File Attributes 0000
13
+ [Bit 0] 0 'Binary Data'
14
+ 0067 Ext File Attributes 81A40000
15
+ 006B Local Header Offset 00000000
16
+ 006F Filename 'XXX'
17
+ 0072 Extra ID #0001 5455 'UT: Extended Timestamp'
18
+ @@ -51,17 +51,19 @@
19
+ 007B Extra ID #0002 7875 'ux: Unix Extra Type 3'
20
+ 007D Length 000B
21
+ 007F Version 01
22
+ 0080 UID Size 04
23
+ 0081 UID 000003E8
24
+ 0085 GID Size 04
25
+ 0086 GID 000003E8
26
+ +008A Comment 'hello'
27
+
28
+ -0086 END CENTRAL HEADER 06054B50
29
+ -008A Number of this disk 0000
30
+ -008C Central Dir Disk no 0000
31
+ -008E Entries in this disk 0001
32
+ -0090 Total Entries 0001
33
+ -0092 Size of Central Dir 00000049
34
+ -0096 Offset to Central Dir 0000003D
35
+ -009A Comment Length 0000
36
+ +008B END CENTRAL HEADER 06054B50
37
+ +008F Number of this disk 0000
38
+ +0091 Central Dir Disk no 0000
39
+ +0093 Entries in this disk 0001
40
+ +0095 Total Entries 0001
41
+ +0097 Size of Central Dir 0000004E
42
+ +009B Offset to Central Dir 0000003D
43
+ +009F Comment Length 0007
44
+ +00A1 Comment 'goodbye'
45
+ Done