diff --git a/.gitignore b/.gitignore index 9c45754..b3c8f2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ /binwalk-0.4.5.tar.gz /binwalk-1.2.tar.gz /binwalk-2.0.0.tar.gz +/binwalk-2.1.1.tar.gz +/binwalk-2.2.0.tar.gz +/binwalk-2.3.1.tar.gz +/binwalk-2.3.2.tar.gz +/binwalk-2.3.3.tar.gz +/binwalk-2.3.4.tar.gz diff --git a/0001-Migrate-from-ast.Num-to-ast.Constant.patch b/0001-Migrate-from-ast.Num-to-ast.Constant.patch new file mode 100644 index 0000000..e1cfada --- /dev/null +++ b/0001-Migrate-from-ast.Num-to-ast.Constant.patch @@ -0,0 +1,28 @@ +From 27518c9b5817c1c54f782083db9957260666575d Mon Sep 17 00:00:00 2001 +From: LuK1337 +Date: Wed, 3 Sep 2025 20:41:03 +0200 +Subject: [PATCH] Migrate from ast.Num to ast.Constant + +ast.Num has been removed from Python 3.14. +--- + src/binwalk/core/common.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/binwalk/core/common.py b/src/binwalk/core/common.py +index bff7481..5f34f61 100644 +--- a/src/binwalk/core/common.py ++++ b/src/binwalk/core/common.py +@@ -238,8 +238,8 @@ class MathExpression(object): + return self._eval(ast.parse(expr).body[0].value) + + def _eval(self, node): +- if isinstance(node, ast.Num): # +- return node.n ++ if isinstance(node, ast.Constant): # ++ return node.value + elif isinstance(node, ast.operator): # + return self.OPERATORS[type(node.op)] + elif isinstance(node, ast.UnaryOp): +-- +2.51.0 + diff --git a/6e7736869d998edb6384728c03a348cd9ab1f9ca.patch b/6e7736869d998edb6384728c03a348cd9ab1f9ca.patch new file mode 100644 index 0000000..d57a904 --- /dev/null +++ b/6e7736869d998edb6384728c03a348cd9ab1f9ca.patch @@ -0,0 +1,34 @@ +From 6e7736869d998edb6384728c03a348cd9ab1f9ca Mon Sep 17 00:00:00 2001 +From: Scott Talbert +Date: Sun, 12 Sep 2021 13:34:38 -0400 +Subject: [PATCH] Fix SyntaxWarnings + +Fixes: +/usr/lib/python3.10/site-packages/binwalk/modules/extractor.py:969: SyntaxWarning: "is" with a literal. Did you mean "=="? +/usr/lib/python3.10/site-packages/binwalk/modules/extractor.py:984: SyntaxWarning: "is" with a literal. Did you mean "=="? +--- + src/binwalk/modules/extractor.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/binwalk/modules/extractor.py b/src/binwalk/modules/extractor.py +index 4e4660af..3cc38ab1 100644 +--- a/src/binwalk/modules/extractor.py ++++ b/src/binwalk/modules/extractor.py +@@ -966,7 +966,7 @@ def shell_call(self, command): + + # Fork a child process + child_pid = os.fork() +- if child_pid is 0: ++ if child_pid == 0: + # Switch to the run-as user privileges, if one has been set + if self.runas_uid is not None and self.runas_gid is not None: + os.setgid(self.runas_uid) +@@ -981,7 +981,7 @@ def shell_call(self, command): + rval = subprocess.call(shlex.split(command), stdout=tmp, stderr=tmp) + + # A true child process should exit with the subprocess exit value +- if child_pid is 0: ++ if child_pid == 0: + sys.exit(rval) + # If no os.fork() happened, just return the subprocess exit value + elif child_pid is None: diff --git a/_nose_shim.py b/_nose_shim.py new file mode 100644 index 0000000..074dd44 --- /dev/null +++ b/_nose_shim.py @@ -0,0 +1,10 @@ +def eq_(a, b): + assert a == b + +def ok_(s): + assert s + +def assert_not_equal(a, b): + assert a != b + +assert_equal = eq_ diff --git a/binwalk-1.2-ignore-matplotlib-fail.patch b/binwalk-1.2-ignore-matplotlib-fail.patch deleted file mode 100644 index 87900b8..0000000 --- a/binwalk-1.2-ignore-matplotlib-fail.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up binwalk-1.2/src/setup.py.ignore-matplotlibfail binwalk-1.2/src/setup.py ---- binwalk-1.2/src/setup.py.ignore-matplotlibfail 2013-04-08 16:47:13.975048629 -0400 -+++ binwalk-1.2/src/setup.py 2013-04-08 16:47:36.047047840 -0400 -@@ -30,12 +30,12 @@ try: - except Exception, e: - print "\n", "*" * WIDTH - print "Pre-requisite check warning:", str(e) -- print "To take advantage of this tool's entropy plotting capabilities, please install the python-matplotlib module." -- print "*" * WIDTH, "\n" -+ # print "To take advantage of this tool's entropy plotting capabilities, please install the python-matplotlib module." -+ # print "*" * WIDTH, "\n" - -- if raw_input('Continue installation without this module (Y/n)? ').lower().startswith('n'): -- print 'Quitting...\n' -- sys.exit(1) -+ # if raw_input('Continue installation without this module (Y/n)? ').lower().startswith('n'): -+ # print 'Quitting...\n' -+ # sys.exit(1) - - - # Generate a new magic file from the files in the magic directory diff --git a/binwalk-2.0.0-fix-binvis-python3.patch b/binwalk-2.0.0-fix-binvis-python3.patch deleted file mode 100644 index 90b4be6..0000000 --- a/binwalk-2.0.0-fix-binvis-python3.patch +++ /dev/null @@ -1,15 +0,0 @@ -This is part of upstream commit bfd3f88652f4c0eb055776238c1083e4e0916510 - -diff --git a/src/binwalk/modules/binvis.py b/src/binwalk/modules/binvis.py -index 4835537..a542cff 100644 ---- a/src/binwalk/modules/binvis.py -+++ b/src/binwalk/modules/binvis.py -@@ -98,7 +98,7 @@ def _generate_plot_points(self, data_points): - - # If the number of data points exceeds the maximum number of allowed data points, use a - # weighting system to eliminate data points that occur less freqently. -- if sum(data_points.itervalues()) > self.max_points: -+ if sum(data_points.values()) > self.max_points: - - # First, generate a set of weight values 1 - 10 - for i in range(1, 11): diff --git a/binwalk-2.0.0-unbundle-miniz.patch b/binwalk-2.0.0-unbundle-miniz.patch deleted file mode 100644 index 69dc136..0000000 --- a/binwalk-2.0.0-unbundle-miniz.patch +++ /dev/null @@ -1,336 +0,0 @@ -From 9b16315e00bbb3d26f21713cba8500d1db4910ef Mon Sep 17 00:00:00 2001 -From: Scott Talbert -Date: Mon, 13 Oct 2014 23:29:14 -0400 -Subject: [PATCH] Move most of binwalk's tinfl additions to a separate file - -This will make downstream use of unbundled tinfl easier. ---- - src/C/miniz/Makefile | 8 +-- - src/C/miniz/tinfl.c | 131 ------------------------------------------- - src/C/miniz/tinfl_wrapper.c | 133 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 137 insertions(+), 135 deletions(-) - create mode 100644 src/C/miniz/tinfl_wrapper.c - -diff --git a/src/C/miniz/Makefile b/src/C/miniz/Makefile -index d8c7448..9930e7f 100644 ---- a/src/C/miniz/Makefile -+++ b/src/C/miniz/Makefile -@@ -2,12 +2,12 @@ LIBNAME=libtinfl.$(SOEXT) - - all: $(LIBNAME) - --$(LIBNAME): tinfl.o -- $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl.o -o $(LIBNAME) $(LDFLAGS) -+$(LIBNAME): tinfl_wrapper.o -+ $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl_wrapper.o -o $(LIBNAME) $(LDFLAGS) - chmod +x $(LIBNAME) - --tinfl.o: -- $(CC) $(CFLAGS) -c tinfl.c -+tinfl_wrapper.o: -+ $(CC) $(CFLAGS) -c tinfl_wrapper.c - - install: - mkdir -p $(DESTDIR)$(LIBDIR) -diff --git a/src/C/miniz/tinfl.c b/src/C/miniz/tinfl.c -index 23fbe93..401168c 100644 ---- a/src/C/miniz/tinfl.c -+++ b/src/C/miniz/tinfl.c -@@ -8,7 +8,6 @@ - #ifndef TINFL_HEADER_INCLUDED - #define TINFL_HEADER_INCLUDED - --#include - #include - - typedef unsigned char mz_uint8; -@@ -70,10 +69,6 @@ size_t tinfl_decompress_mem_to_mem(void *pOut_buf, size_t out_buf_len, const voi - typedef int (*tinfl_put_buf_func_ptr)(const void* pBuf, int len, void *pUser); - int tinfl_decompress_mem_to_callback(const void *pIn_buf, size_t *pIn_buf_size, tinfl_put_buf_func_ptr pPut_buf_func, void *pPut_buf_user, int flags); - --// Checks to see if the first block of data in in_buf is valid zlib compressed data. --// Returns 1 if valid, 0 if invalid. --int is_valid_zlib_data(char *in_buf, size_t in_buf_size); -- - struct tinfl_decompressor_tag; typedef struct tinfl_decompressor_tag tinfl_decompressor; - - // Max size of LZ dictionary. -@@ -573,117 +568,6 @@ int tinfl_decompress_mem_to_callback(const void *pIn_buf, size_t *pIn_buf_size, - return result; - } - --#define BLOCK_SIZE (32*1024) --char *inflate_block(char *buf, size_t buf_size) --{ -- size_t out_size = BLOCK_SIZE; -- return (char *) tinfl_decompress_mem_to_heap((const void *) buf, buf_size, (size_t *) &out_size, 0); --} -- --/* CJH */ -- --int is_deflated_callback(const void *pBuf, int len, void *pUser) --{ -- int *decomp_size = pUser; -- -- *decomp_size += len; -- -- if(len > 0) -- { -- return 1; -- } -- -- return 0; --} -- --/* -- * Tries to determine if a given buffer contains valid deflated data. -- * -- * @buf - The buffer of data to check for deflated data. -- * @buf_size - The size of @buf. -- * @includes_zlib_header - Set to 1 if the buffer should start with a valid zlib header. -- * -- * Returns the size of the inflated data if @buf inflated to a value larger than 32KB, -- * or if it contained a valid zlib header/footer; else, returns 0. -- * -- * Thus, it is recommended to provide more than 32KB of data in @buf for the most accurate results. -- */ --int is_deflated(char *buf, size_t buf_size, int includes_zlib_header) --{ -- int flags = TINFL_FLAG_HAS_MORE_INPUT; -- int retval = 0, decomp_size = 0; -- -- if(includes_zlib_header) -- { -- flags |= TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_COMPUTE_ADLER32; -- } -- -- retval = tinfl_decompress_mem_to_callback(buf, &buf_size, is_deflated_callback, (void *) &decomp_size, flags); -- -- if(retval == 1 || decomp_size > BLOCK_SIZE) -- { -- return decomp_size; -- } -- -- return 0; --} -- --int inflate_raw_file_callback(const void *pBuf, int len, void *pUser) --{ -- if(fwrite(pBuf, 1, len, (FILE *) pUser) == len) -- { -- return 1; -- } -- -- return 0; --} -- --/* Inflates a file containing raw deflated data. -- * -- * @in_file - Input file containing raw deflated data. -- * @out_file - Output file where inflated data will be saved. -- * -- * Returns void. -- */ --void inflate_raw_file(char *in_file, char *out_file) --{ -- char *compressed_data = NULL; -- size_t in_size = 0, nbytes = 0; -- FILE *fp_in = NULL, *fp_out = NULL; -- -- fp_in = fopen(in_file, "rb"); -- if(fp_in) -- { -- fp_out = fopen(out_file, "wb"); -- if(fp_out) -- { -- -- fseek(fp_in, 0L, SEEK_END); -- in_size = ftell(fp_in); -- fseek(fp_in, 0L, SEEK_SET); -- -- compressed_data = malloc(in_size); -- if(compressed_data) -- { -- memset(compressed_data, 0, in_size); -- -- nbytes = fread(compressed_data, 1, in_size, fp_in); -- if(nbytes > 0) -- { -- tinfl_decompress_mem_to_callback(compressed_data, &nbytes, inflate_raw_file_callback, (void *) fp_out, 0); -- } -- -- free(compressed_data); -- } -- } -- } -- -- if(fp_in) fclose(fp_in); -- if(fp_out) fclose(fp_out); -- -- return; --} -- - #endif // #ifndef TINFL_HEADER_FILE_ONLY - - /* -@@ -712,18 +596,3 @@ void inflate_raw_file(char *in_file, char *out_file) - - For more information, please refer to - */ -- --#ifdef MAIN --int main(int argc, char *argv[]) --{ -- if(argc != 3) -- { -- fprintf(stderr, "Usage: %s \n", argv[0]); -- return EXIT_FAILURE; -- } -- -- inflate_raw_file(argv[1], argv[2]); -- -- return EXIT_SUCCESS; --} --#endif -diff --git a/src/C/miniz/tinfl_wrapper.c b/src/C/miniz/tinfl_wrapper.c -new file mode 100644 -index 0000000..f942853 ---- /dev/null -+++ b/src/C/miniz/tinfl_wrapper.c -@@ -0,0 +1,133 @@ -+#include -+#include -+#include "tinfl.c" -+ -+// Checks to see if the first block of data in in_buf is valid zlib compressed data. -+// Returns 1 if valid, 0 if invalid. -+int is_valid_zlib_data(char *in_buf, size_t in_buf_size); -+ -+#define BLOCK_SIZE (32*1024) -+char *inflate_block(char *buf, size_t buf_size) -+{ -+ size_t out_size = BLOCK_SIZE; -+ return (char *) tinfl_decompress_mem_to_heap((const void *) buf, buf_size, (size_t *) &out_size, 0); -+} -+ -+/* CJH */ -+ -+int is_deflated_callback(const void *pBuf, int len, void *pUser) -+{ -+ int *decomp_size = pUser; -+ -+ *decomp_size += len; -+ -+ if(len > 0) -+ { -+ return 1; -+ } -+ -+ return 0; -+} -+ -+/* -+ * Tries to determine if a given buffer contains valid deflated data. -+ * -+ * @buf - The buffer of data to check for deflated data. -+ * @buf_size - The size of @buf. -+ * @includes_zlib_header - Set to 1 if the buffer should start with a valid zlib header. -+ * -+ * Returns the size of the inflated data if @buf inflated to a value larger than 32KB, -+ * or if it contained a valid zlib header/footer; else, returns 0. -+ * -+ * Thus, it is recommended to provide more than 32KB of data in @buf for the most accurate results. -+ */ -+int is_deflated(char *buf, size_t buf_size, int includes_zlib_header) -+{ -+ int flags = TINFL_FLAG_HAS_MORE_INPUT; -+ int retval = 0, decomp_size = 0; -+ -+ if(includes_zlib_header) -+ { -+ flags |= TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_COMPUTE_ADLER32; -+ } -+ -+ retval = tinfl_decompress_mem_to_callback(buf, &buf_size, is_deflated_callback, (void *) &decomp_size, flags); -+ -+ if(retval == 1 || decomp_size > BLOCK_SIZE) -+ { -+ return decomp_size; -+ } -+ -+ return 0; -+} -+ -+int inflate_raw_file_callback(const void *pBuf, int len, void *pUser) -+{ -+ if(fwrite(pBuf, 1, len, (FILE *) pUser) == len) -+ { -+ return 1; -+ } -+ -+ return 0; -+} -+ -+/* Inflates a file containing raw deflated data. -+ * -+ * @in_file - Input file containing raw deflated data. -+ * @out_file - Output file where inflated data will be saved. -+ * -+ * Returns void. -+ */ -+void inflate_raw_file(char *in_file, char *out_file) -+{ -+ char *compressed_data = NULL; -+ size_t in_size = 0, nbytes = 0; -+ FILE *fp_in = NULL, *fp_out = NULL; -+ -+ fp_in = fopen(in_file, "rb"); -+ if(fp_in) -+ { -+ fp_out = fopen(out_file, "wb"); -+ if(fp_out) -+ { -+ -+ fseek(fp_in, 0L, SEEK_END); -+ in_size = ftell(fp_in); -+ fseek(fp_in, 0L, SEEK_SET); -+ -+ compressed_data = malloc(in_size); -+ if(compressed_data) -+ { -+ memset(compressed_data, 0, in_size); -+ -+ nbytes = fread(compressed_data, 1, in_size, fp_in); -+ if(nbytes > 0) -+ { -+ tinfl_decompress_mem_to_callback(compressed_data, &nbytes, inflate_raw_file_callback, (void *) fp_out, 0); -+ } -+ -+ free(compressed_data); -+ } -+ } -+ } -+ -+ if(fp_in) fclose(fp_in); -+ if(fp_out) fclose(fp_out); -+ -+ return; -+} -+ -+#ifdef MAIN -+int main(int argc, char *argv[]) -+{ -+ if(argc != 3) -+ { -+ fprintf(stderr, "Usage: %s \n", argv[0]); -+ return EXIT_FAILURE; -+ } -+ -+ inflate_raw_file(argv[1], argv[2]); -+ -+ return EXIT_SUCCESS; -+} -+#endif --- -1.9.3 - diff --git a/binwalk-2.0.0-use-system-miniz.patch b/binwalk-2.0.0-use-system-miniz.patch deleted file mode 100644 index 2ff65d8..0000000 --- a/binwalk-2.0.0-use-system-miniz.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 16bb181ca0b6b92b6a1dde40a610d640e9031c57 Mon Sep 17 00:00:00 2001 -From: Scott Talbert -Date: Wed, 15 Oct 2014 23:54:05 -0400 -Subject: [PATCH] Use Fedora system miniz library - ---- - src/C/miniz/Makefile | 2 +- - src/C/miniz/tinfl_wrapper.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/C/miniz/Makefile b/src/C/miniz/Makefile -index 9930e7f..0196818 100644 ---- a/src/C/miniz/Makefile -+++ b/src/C/miniz/Makefile -@@ -3,7 +3,7 @@ LIBNAME=libtinfl.$(SOEXT) - all: $(LIBNAME) - - $(LIBNAME): tinfl_wrapper.o -- $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl_wrapper.o -o $(LIBNAME) $(LDFLAGS) -+ $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl_wrapper.o -o $(LIBNAME) $(LDFLAGS) -lminiz - chmod +x $(LIBNAME) - - tinfl_wrapper.o: -diff --git a/src/C/miniz/tinfl_wrapper.c b/src/C/miniz/tinfl_wrapper.c -index f942853..8192c39 100644 ---- a/src/C/miniz/tinfl_wrapper.c -+++ b/src/C/miniz/tinfl_wrapper.c -@@ -1,6 +1,6 @@ - #include - #include --#include "tinfl.c" -+#include "miniz.h" - - // Checks to see if the first block of data in in_buf is valid zlib compressed data. - // Returns 1 if valid, 0 if invalid. --- -1.9.3 - diff --git a/binwalk-2.3.3-tests.patch b/binwalk-2.3.3-tests.patch new file mode 100644 index 0000000..dd4f876 --- /dev/null +++ b/binwalk-2.3.3-tests.patch @@ -0,0 +1,12 @@ +reverted: +--- b/testing/tests/test_firmware_zip.py ++++ a/testing/tests/test_firmware_zip.py +@@ -10,6 +10,8 @@ + ''' + expected_results = [ + [0, 'Zip archive data, at least v1.0 to extract, name: dir655_revB_FW_203NA/'], ++ [51, 'Zip archive data, at least v2.0 to extract, compressed size: 6395868, uncompressed size: 6422554, name: dir655_revB_FW_203NA/DIR655B1_FW203NAB02.bin'], ++ [6395993, 'Zip archive data, at least v2.0 to extract, compressed size: 14243, uncompressed size: 61440, name: dir655_revB_FW_203NA/dir655_revB_release_notes_203NA.doc'], + [6410581, 'End of Zip archive, footer length: 22'], + + ] diff --git a/binwalk.spec b/binwalk.spec index 6e2c2c1..6fc3a22 100644 --- a/binwalk.spec +++ b/binwalk.spec @@ -1,17 +1,31 @@ Name: binwalk -Version: 2.0.0 -Release: 6%{?dist} +Version: 2.3.4 +Release: 15%{?dist} Summary: Firmware analysis tool License: MIT -URL: http://www.binwalk.org/ -Source0: https://github.com/devttys0/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz -Patch0: binwalk-2.0.0-unbundle-miniz.patch -Patch1: binwalk-2.0.0-use-system-miniz.patch -Patch2: binwalk-2.0.0-fix-binvis-python3.patch +URL: https://github.com/ReFirmLabs/binwalk +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +Source1: _nose_shim.py +Patch0: binwalk-2.3.3-tests.patch +Patch1: %{url}/pull/559/commits/6e7736869d998edb6384728c03a348cd9ab1f9ca.patch +Patch2: version-oops.patch +# https://github.com/ReFirmLabs/binwalk/issues/507 +Patch3: requires-zombie-imp.patch +Patch4: 0001-Migrate-from-ast.Num-to-ast.Constant.patch +BuildArch: noarch BuildRequires: python3-devel -BuildRequires: miniz-devel -Requires: file-libs +BuildRequires: python3-setuptools +# https://github.com/ReFirmLabs/binwalk/issues/507 +BuildRequires: (python3-zombie-imp if python3-devel >= 3.12) +# For tests +BuildRequires: python3-pytest +# Optional, for graphs and visualizations Suggests: python3-pyqtgraph +# Optional, for --disasm functionality +Suggests: capstone +# Optional, for automatic extraction/decompression of files and data +Recommends: mtd-utils gzip bzip2 tar arj p7zip p7zip-plugins cabextract squashfs-tools lzop srecord +Suggests: sleuthkit %description Binwalk is a tool for searching a given binary image for embedded files and @@ -21,25 +35,166 @@ it is compatible with magic signatures created for the Unix file utility. %prep %autosetup -p1 +# replace nose with minimal compatibility shim +# upsteram has moved away from Python in version 3+ +cp -a %{SOURCE1} testing/tests/_nose_shim.py +sed -i 's/from nose.tools import/from _nose_shim import/' testing/tests/*.py %build -%configure --disable-bundles --with-python=%{__python3} -make %{?_smp_mflags} -chmod -c +x src/build/lib/binwalk/libs/*.so +%py3_build %install -# Override --install-lib because package believes it is pure python but it -# actually contains arch-specific code. -%{__python3} setup.py install --install-lib=%{python3_sitearch} --prefix=%{_prefix} --root=%{buildroot} +%py3_install + +%check +cd testing/tests +%pytest %files %doc API.md INSTALL.md README.md %license LICENSE %{_bindir}/%{name} -%{python3_sitearch}/%{name}/ -%{python3_sitearch}/%{name}-%{version}*.egg-info +%{python3_sitelib}/%{name}/ +%{python3_sitelib}/%{name}-%{version}*.egg-info %changelog +* Fri Sep 19 2025 Python Maint - 2.3.4-15 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Wed Sep 03 2025 LuK1337 - 2.3.4-14 +- Add support for Python 3.14 + +* Wed Jul 23 2025 Fedora Release Engineering - 2.3.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 03 2025 Python Maint - 2.3.4-12 +- Rebuilt for Python 3.14 + +* Thu Jan 16 2025 Fedora Release Engineering - 2.3.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Dec 14 2024 Miro Hrončok - 2.3.4-10 +- Replace deprecated nose with pytest +- https://fedoraproject.org/wiki/Changes/DeprecateNose + +* Wed Jul 31 2024 Scott Talbert - 2.3.4-9 +- Confirm License tag is already SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 2.3.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 2.3.4-7 +- Rebuilt for Python 3.13 + +* Tue Jan 23 2024 Fedora Release Engineering - 2.3.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.3.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 2.3.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 28 2023 Scott Talbert - 2.3.4-3 +- BR python3-zombie-imp to fix FTBFS with Python 3.12 + +* Tue Jun 13 2023 Python Maint - 2.3.4-2 +- Rebuilt for Python 3.12 + +* Fri Feb 03 2023 Scott Talbert - 2.3.4-1 +- Update to new upstream release 2.3.4 (#2166724) + +* Fri Jan 27 2023 Scott Talbert - 2.3.3-3 +- Fix path traversal in PFS extractor script (#2165006) + +* Wed Jan 18 2023 Fedora Release Engineering - 2.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 27 2022 Scott Talbert - 2.3.3-1 +- Update to new upstream release 2.3.3 (#2003337 #2156566) + +* Wed Jul 20 2022 Fedora Release Engineering - 2.3.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 2.3.2-3 +- Rebuilt for Python 3.11 + +* Wed Jan 19 2022 Fedora Release Engineering - 2.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Aug 18 2021 Scott Talbert - 2.3.2-1 +- Update to new upstream release 2.3.2 (#1994176) + +* Wed Jul 21 2021 Fedora Release Engineering - 2.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 2.3.1-2 +- Rebuilt for Python 3.10 + +* Fri Mar 26 2021 Scott Talbert - 2.3.1-1 +- Update to new upstream release 2.3.1 (#1941447) + +* Tue Jan 26 2021 Fedora Release Engineering - 2.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 2.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 2.2.0-3 +- Rebuilt for Python 3.9 + +* Tue Jan 28 2020 Fedora Release Engineering - 2.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Oct 15 2019 Scott Talbert - 2.2.0-1 +- Update to new upstream release 2.2.0 (#1761636) + +* Thu Oct 03 2019 Miro Hrončok - 2.1.1-14 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 2.1.1-13 +- Rebuilt for Python 3.8 + +* Wed Jul 24 2019 Fedora Release Engineering - 2.1.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 2.1.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 2.1.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 2.1.1-9 +- Rebuilt for Python 3.7 + +* Wed Feb 07 2018 Fedora Release Engineering - 2.1.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Nov 13 2017 Scott Talbert - 2.1.1-7 +- Add p7zip-plugins as a dependency and change from Suggests to Recommends (#1511958) + +* Wed Jul 26 2017 Fedora Release Engineering - 2.1.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 2.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 2.1.1-4 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 2.1.1-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Feb 03 2016 Fedora Release Engineering - 2.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sun Jan 03 2016 Scott Talbert - 2.1.1-1 +- New upstream release 2.1.1 +- Remove patches (all upstream/obsolete), switch to noarch, add suggests + +* Tue Nov 10 2015 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + * Mon Aug 24 2015 Scott Talbert - 2.0.0-6 - Needed to specify python3 to configure diff --git a/requires-zombie-imp.patch b/requires-zombie-imp.patch new file mode 100644 index 0000000..1fe30a4 --- /dev/null +++ b/requires-zombie-imp.patch @@ -0,0 +1,11 @@ +diff -up binwalk-2.3.4/setup.py.imp binwalk-2.3.4/setup.py +--- binwalk-2.3.4/setup.py.imp 2023-02-02 20:28:44.655410043 -0500 ++++ binwalk-2.3.4/setup.py 2023-06-28 22:26:04.279845937 -0400 +@@ -336,6 +336,7 @@ setup( + author="Craig Heffner", + url="https://github.com/ReFirmLabs/%s" % MODULE_NAME, + requires=[], ++ install_requires=["zombie-imp;python_version>='3.12'"], + python_requires=">=3", + package_dir={"": "src"}, + packages=[MODULE_NAME], diff --git a/sources b/sources index 82449ce..2a33f3a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -609668aa39a81d34b463edbf3956dd73 binwalk-2.0.0.tar.gz +SHA512 (binwalk-2.3.4.tar.gz) = 5a5e16035dfc05b94ae4ee3969a337336c550606b71e20fcb1f150c4b38ef2084b6a823ce2a8050f4b41616b7d7c31cfb04bf43e7f2c977ab1a634aba9d67fec diff --git a/version-oops.patch b/version-oops.patch new file mode 100644 index 0000000..033f4fa --- /dev/null +++ b/version-oops.patch @@ -0,0 +1,12 @@ +diff -up binwalk-2.3.4/setup.py.oops binwalk-2.3.4/setup.py +--- binwalk-2.3.4/setup.py.oops 2023-02-01 11:15:53.000000000 -0500 ++++ binwalk-2.3.4/setup.py 2023-02-02 20:28:44.655410043 -0500 +@@ -12,7 +12,7 @@ except ImportError: + from distutils.dir_util import remove_tree + + MODULE_NAME = "binwalk" +-MODULE_VERSION = "2.3.3" ++MODULE_VERSION = "2.3.4" + SCRIPT_NAME = MODULE_NAME + MODULE_DIRECTORY = os.path.dirname(os.path.realpath(__file__)) +