V2 Add Logic to detect file type by extension
Commit Message
From: vsoch <vsoch@users.noreply.github.com>
Changes since V1
Merge in the correct version of the patch not an early diagnostic
one.
Fedabipkgdiff uses mimetypes to detect what file type it is looking
at. In some minimal versions of the OS, in particular container
images, the package that includes all the mimetypes may not be
installed. This allows fedabipkgdiff to fall back to using the
extension.
* tools/fedabipkgdiff - add logic to detect file type by extension
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Reviewed-by: Ben Woodard <woodard@redhat.com>
---
tools/fedabipkgdiff | 4 ++++
1 file changed, 4 insertions(+)
Comments
Ben Woodard via Libabigail <libabigail@sourceware.org> a écrit:
> From: vsoch <vsoch@users.noreply.github.com>
>
> Changes since V1
> Merge in the correct version of the patch not an early diagnostic
> one.
>
> Fedabipkgdiff uses mimetypes to detect what file type it is looking
> at. In some minimal versions of the OS, in particular container
> images, the package that includes all the mimetypes may not be
> installed. This allows fedabipkgdiff to fall back to using the
> extension.
>
> * tools/fedabipkgdiff - add logic to detect file type by extension
>
> Signed-off-by: vsoch <vsoch@users.noreply.github.com>
> Reviewed-by: Ben Woodard <woodard@redhat.com>
Applied to master, thanks!
Cheers,
@@ -213,6 +213,10 @@ def is_rpm_file(filename):
mimetype = mimetypes.guess_type(filename)[0] if isfile else None
isrpm = (mimetype == 'application/x-redhat-package-manager'
or mimetype == 'application/x-rpm')
+
+ # Most systems won't have rpm defined as a mimetype
+ if not mimetype and filename.endswith('.rpm'):
+ isrpm = True
logger.debug('is_rpm_file(\'%s\'): isfile=%s, mimetype=\'%s\', isrpm=%s',
filename, isfile, mimetype, isrpm)
return isrpm