Skip to content
Snippets Groups Projects
Commit f0663bbf authored by Chris Lamb's avatar Chris Lamb :eyes:
Browse files

Generate the file formats dynamically.

parent 92d13a72
No related branches found
No related tags found
No related merge requests found
Pipeline #140898 passed
......@@ -55,6 +55,26 @@ contributors:
- Xavier Briand
- Ximin Luo
- Yasushi SHOJI
description: 'File formats supported include: Android APK files, Android boot images,
AppleXcode mobile provisioning files, Berkeley DB database files, ColorSync colourprofiles
(.icc), Coreboot CBFS filesystem images, Dalvik .dex files, Debianbuildinfo files,
Debian .changes files, Debian source packages (.dsc), DeviceTree Compiler blob files,
ELF binaries, FreeDesktop Fontconfig cache files,FreePascal files (.ppu), GHC Haskell
.hi files, GIF image files, GNU R Rscriptfiles (.rds), GNU R database files (.rdb),
GPG keybox databases, Gettextmessage catalogues, Git repositories, Gnumeric spreadsheets,
Gzipped files,Hierarchical Data Format database, ISO 9660 CD images, JPEG images,
JSON files,Java .class files, Java .jmod modules, JavaScript files, LLVM IR bitcode
files,LZ4 compressed files, MacOS binaries, Microsoft Windows icon files, MicrosoftWord
.docx files, Mono ''Portable Executable'' files, Mozilla-optimized .ZIParchives,
Multimedia metadata, OCaml interface files, Ogg Vorbis audio files,OpenOffice .odt
files, OpenSSH public keys, OpenWRT package archives (.ipk),PDF documents, PGP signatures,
PGP signed/encrypted messages, PNG images,PostScript documents, Public Key Cryptography
Standards (PKCS) files (version#7), Rust object files (.deflate), SQLite databases,
SquashFS filesystems,TrueType font files, WebAssembly binary module, XML binary
schemas (.xsb), XMLfiles, XZ compressed files, ZIP archives, Zstandard compressed
files, ar(1)archives, bzip2 archives, character/block devices, cpio archives, directories,ext2/ext3/ext4/btrfs/fat
filesystems, symlinks, tape archives (.tar), tcpdumpcapture files (.pcap) and text
files.'
latest_release:
date: 1590224080
version: '146'
......@@ -44,7 +44,7 @@ Try it now using Docker:
* Text and HTML ouput
* Supported file formats: Android APK files, Android boot images, Berkeley DB database files, ColorSync colour profiles (.icc), Coreboot CBFS filesystem images, Dalvik .dex files, Debian .buildinfo files, Debian .changes files, Debian source packages (.dsc), Device Tree Compiler blob files, ELF binaries, FreeDesktop Fontconfig cache files, FreePascal files (.ppu), GHC Haskell .hi files, GIF image files, GNU R Rscript files (.rds), GNU R database files (.rdb), Gettext message catalogues, Git repositories, Gnumeric spreadsheets, Gzipped files, ISO 9660 CD images, JPEG images, JSON files, Java .class files, JavaScript files, LLVM IR bitcode files, MacOS binaries, Microsoft Windows icon files, Microsoft Word .docx files, Mono 'Portable Executable' files, Ogg Vorbis audio files, OpenOffice .odt files, OpenSSH public keys, OpenWRT package archives (.ipk), PDF documents, PGP signed/encrypted messages, PNG images, PostScript documents, RPM archives, Rust object files (.deflate), SQLite databases, SquashFS filesystems, TrueType font files, XML binary schemas (.xsb), XML files, XZ compressed files, ar(1) archives, bzip2 archives, character/block devices, cpio archives, directories, ext2/ext3/ext4/btrfs filesystems, statically-linked binaries, symlinks, tape archives (.tar), tcpdump capture files (.pcap) and text files.
* {{ site.data.diffoscope.description }}
* Fallback on hexdump comparison
......
......@@ -30,6 +30,7 @@ def main():
subprocess.check_call(("git", "clone", src, git_dir))
releases = get_releases(git_dir)
debian_substvars = get_debian_substvars(git_dir)
data = {
"latest_release": {
......@@ -37,6 +38,7 @@ def main():
"version": releases[0]["version"],
},
"contributors": get_contributors(git_dir),
"description": debian_substvars["diffoscope:Description"],
}
with open(os.path.join(DATA_DIR, "diffoscope.yml"), "w") as f:
......@@ -69,6 +71,21 @@ def get_releases(git_dir):
return result
def get_debian_substvars(git_dir):
val = subprocess.check_output(
("bin/diffoscope", "--list-debian-substvars"), cwd=git_dir
)
data = {}
for x in val.decode("utf-8").splitlines():
key, _, val = x.partition("=")
data[key] = val.replace("${Newline}", "")
return data
def git(git_dir, *args):
cmd = ("git",) + args
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment