Commit 1d850311 authored by Vagrant Cascadian's avatar Vagrant Cascadian

Add support for .dtb (device tree blob) files (Closes: #861109).

parent 2132f2e5
......@@ -84,6 +84,7 @@ class ComparatorManager(object):
('gif.GifFile',),
('pcap.PcapFile',),
('pgp.PgpFile',),
('dtb.DeviceTreeFile',),
)
_singleton = {}
......
# -*- coding: utf-8 -*-
#
# diffoscope: in-depth comparison of files, archives, and directories
#
# Copyright © 2016 Emanuel Bronshtein <e3amn2l@gmx.com>
# Copyright © 2016 Vagrant Cascadian <vagrant@debian.org>
#
# diffoscope is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# diffoscope is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
import re
from diffoscope.tools import tool_required
from diffoscope.difference import Difference
from .utils.file import File
from .utils.command import Command
class DeviceTreeContents(Command):
@tool_required('fdtdump')
def cmdline(self):
return ['fdtdump', self.path]
class DeviceTreeFile(File):
RE_FILE_TYPE = re.compile(r'^Device Tree Blob')
def compare_details(self, other, source=None):
return [Difference.from_command(DeviceTreeContents, self.path, other.path)]
......@@ -57,6 +57,9 @@ EXTERNAL_TOOLS = {
'debian': 'enjarify',
'arch': 'enjarify',
},
'fdtdump': {
'debian': 'device-tree-compiler',
},
'file': {
'debian': 'file',
'arch': 'file',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment