mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
New features: #2088 7-zip reader: improve self-extracting archive detection #2137 zip writer: added XZ, LZMA, ZSTD and BZIP2 support #2403 zip writer: added LZMA + RISCV BCJ filter #2601 bsdtar: support --mtime and --clamp-mtime #2602 libarchive: mbedtls 3.x compatibility Security fixes: #2422 tar reader: Handle truncation in the middle of a GNU long linkname CVE-2024-57970 #2532 tar reader: fix unchecked return value in list_item_verbose() CVE-2025-25724 #2532 unzip: fix null pointer dereference CVE-2025-1632 #2568 warc: prevent signed integer overflow #2584 rar: do not skip past EOF while reading #2588 tar: fix overflow in build_ustar_entry #2598 rar: fix double free with over 4 billion nodes #2599 rar: fix heap-buffer-overflow Important bugfixes: #2399 7-zip reader: add SPARC filter support for non-LZMA compressors #2405 tar reader: ignore ustar size when pax size is present #2435 tar writer: fix bug when -s/a/b/ used more than once with b flag #2459 7-zip reader: add POWERPC filter support for non-LZMA compressors #2519 libarchive: handle ARCHIVE_FILTER_LZOP in archive_read_append_filter #2539 libarchive: add missing seeker function to archive_read_open_FILE() #2544 gzip: allow setting the original filename for gzip compressed files #2564 libarchive: improve lseek handling #2582 rar: support large headers on 32 bit systems #2587 bsdtar: don't hardlink negative inode files together #2596 rar: support large headers on 32 bit systems #2606 libarchive: support @-prefixed Unix epoch timestamps as date strings Obtained from: libarchive Vendor commit: 70ff28fcf04ec129a1d064f96e49aa57fcc90e37 CVE: CVE-2024-57970, CVE-2025-1632, CVE-2025-25724
161 lines
7.1 KiB
Batchfile
Executable File
161 lines
7.1 KiB
Batchfile
Executable File
@ECHO OFF
|
|
SET ZLIB_VERSION=1.3
|
|
SET BZIP2_VERSION=1ea1ac188ad4b9cb662e3f8314673c63df95a589
|
|
SET XZ_VERSION=5.6.3
|
|
IF NOT "%BE%"=="mingw-gcc" (
|
|
IF NOT "%BE%"=="msvc" (
|
|
ECHO Environment variable BE must be mingw-gcc or msvc
|
|
EXIT /b 1
|
|
)
|
|
)
|
|
|
|
REM v1.5.6 has a bug with the CMake files & MSVC
|
|
REM https://github.com/facebook/zstd/issues/3999
|
|
REM Fall back to 1.5.5 for MSVC until fixed
|
|
IF "%BE%"=="msvc" (
|
|
SET ZSTD_VERSION=1.5.5
|
|
) ELSE (
|
|
SET ZSTD_VERSION=1.5.6
|
|
)
|
|
|
|
SET ORIGPATH=%PATH%
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET MINGWPATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\cmake\bin;C:\ProgramData\mingw64\mingw64\bin
|
|
)
|
|
|
|
IF "%1"=="deplibs" (
|
|
IF NOT EXIST build_ci\libs (
|
|
MKDIR build_ci\libs
|
|
)
|
|
CD build_ci\libs
|
|
IF NOT EXIST zlib-%ZLIB_VERSION%.zip (
|
|
ECHO Downloading https://github.com/libarchive/zlib/archive/v%ZLIB_VERSION%.zip
|
|
curl -L -o zlib-%ZLIB_VERSION%.zip https://github.com/libarchive/zlib/archive/v%ZLIB_VERSION%.zip || EXIT /b 1
|
|
)
|
|
IF NOT EXIST zlib-%ZLIB_VERSION% (
|
|
ECHO Unpacking zlib-%ZLIB_VERSION%.zip
|
|
C:\windows\system32\tar.exe -x -f zlib-%ZLIB_VERSION%.zip || EXIT /b 1
|
|
)
|
|
IF NOT EXIST bzip2-%BZIP2_VERSION%.zip (
|
|
echo Downloading https://github.com/libarchive/bzip2/archive/%BZIP2_VERSION%.zip
|
|
curl -L -o bzip2-%BZIP2_VERSION%.zip https://github.com/libarchive/bzip2/archive/%BZIP2_VERSION%.zip || EXIT /b 1
|
|
)
|
|
IF NOT EXIST bzip2-%BZIP2_VERSION% (
|
|
echo Unpacking bzip2-%BZIP2_VERSION%.zip
|
|
C:\windows\system32\tar.exe -x -f bzip2-%BZIP2_VERSION%.zip || EXIT /b 1
|
|
)
|
|
IF NOT EXIST xz-%XZ_VERSION%.zip (
|
|
echo Downloading https://github.com/libarchive/xz/archive/%XZ_VERSION%.zip
|
|
curl -L -o xz-%XZ_VERSION%.zip https://github.com/libarchive/xz/archive/v%XZ_VERSION%.zip || EXIT /b 1
|
|
)
|
|
IF NOT EXIST xz-%XZ_VERSION% (
|
|
echo Unpacking xz-%XZ_VERSION%.zip
|
|
C:\windows\system32\tar.exe -x -f xz-%XZ_VERSION%.zip || EXIT /b 1
|
|
)
|
|
IF NOT EXIST zstd-%ZSTD_VERSION%.zip (
|
|
echo Downloading https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD_VERSION%.zip
|
|
curl -L -o zstd-%ZSTD_VERSION%.zip https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD_VERSION%.zip || EXIT /b 1
|
|
)
|
|
IF NOT EXIST zstd-%ZSTD_VERSION% (
|
|
echo Unpacking zstd-%ZSTD_VERSION%.zip
|
|
C:\windows\system32\tar.exe -x -f zstd-%ZSTD_VERSION%.zip || EXIT /b 1
|
|
)
|
|
CD zlib-%ZLIB_VERSION%
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE="Release" . || EXIT /b 1
|
|
mingw32-make -j %NUMBER_OF_PROCESSORS% || EXIT /b 1
|
|
mingw32-make test || EXIT /b 1
|
|
mingw32-make install || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
cmake -G "Visual Studio 17 2022" . || EXIT /b 1
|
|
cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
|
|
cmake --build . --target RUN_TESTS --config Release || EXIT /b 1
|
|
cmake --build . --target INSTALL --config Release || EXIT /b 1
|
|
)
|
|
CD ..
|
|
CD bzip2-%BZIP2_VERSION%
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE="Release" -D ENABLE_LIB_ONLY=ON -D ENABLE_SHARED_LIB=OFF -D ENABLE_STATIC_LIB=ON . || EXIT /b 1
|
|
mingw32-make -j %NUMBER_OF_PROCESSORS% || EXIT /b 1
|
|
REM mingw32-make test || EXIT /b 1
|
|
mingw32-make install || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
cmake -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE="Release" -D ENABLE_LIB_ONLY=ON -D ENABLE_SHARED_LIB=OFF -D ENABLE_STATIC_LIB=ON . || EXIT /b 1
|
|
cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
|
|
REM cmake --build . --target RUN_TESTS --config Release || EXIT /b 1
|
|
cmake --build . --target INSTALL --config Release || EXIT /b 1
|
|
)
|
|
CD ..
|
|
CD xz-%XZ_VERSION%
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE="Release" . || EXIT /b 1
|
|
mingw32-make -j %NUMBER_OF_PROCESSORS% || EXIT /b 1
|
|
mingw32-make install || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
cmake -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE="Release" . || EXIT /b 1
|
|
cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
|
|
cmake --build . --target INSTALL --config Release || EXIT /b 1
|
|
)
|
|
CD ..
|
|
CD zstd-%ZSTD_VERSION%\build\cmake
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE="Release" . || EXIT /b 1
|
|
mingw32-make -j %NUMBER_OF_PROCESSORS% || EXIT /b 1
|
|
mingw32-make install || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
cmake -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE="Release" . || EXIT /b 1
|
|
cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
|
|
cmake --build . --target INSTALL --config Release || EXIT /b 1
|
|
)
|
|
) ELSE IF "%1%"=="configure" (
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
MKDIR build_ci\cmake
|
|
CD build_ci\cmake
|
|
cmake -G "MinGW Makefiles" -D ZLIB_LIBRARY="C:/Program Files (x86)/zlib/lib/libzlibstatic.a" -D ZLIB_INCLUDE_DIR="C:/Program Files (x86)/zlib/include" -D BZIP2_LIBRARIES="C:/Program Files (x86)/bzip2/lib/libbz2_static.a" -D BZIP2_INCLUDE_DIR="C:/Program Files (x86)/bzip2/include" -D LIBLZMA_LIBRARY="C:/Program Files (x86)/xz/lib/liblzma.a" -D LIBLZMA_INCLUDE_DIR="C:/Program Files (x86)/xz/include" -D ZSTD_LIBRARY="C:/Program Files (x86)/zstd/lib/libzstd.a" -D ZSTD_INCLUDE_DIR="C:/Program Files (x86)/zstd/include" ..\.. || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
MKDIR build_ci\cmake
|
|
CD build_ci\cmake
|
|
cmake -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE="Release" -D ZLIB_LIBRARY="C:/Program Files (x86)/zlib/lib/zlibstatic.lib" -D ZLIB_INCLUDE_DIR="C:/Program Files (x86)/zlib/include" -D BZIP2_LIBRARIES="C:/Program Files (x86)/bzip2/lib/bz2_static.lib" -D BZIP2_INCLUDE_DIR="C:/Program Files (x86)/bzip2/include" -D LIBLZMA_LIBRARY="C:/Program Files (x86)/xz/lib/lzma.lib" -D LIBLZMA_INCLUDE_DIR="C:/Program Files (x86)/xz/include" -D ZSTD_LIBRARY="C:/Program Files (x86)/zstd/lib/zstd_static.lib" -D ZSTD_INCLUDE_DIR="C:/Program Files (x86)/zstd/include" ..\.. || EXIT /b 1
|
|
)
|
|
) ELSE IF "%1%"=="build" (
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
CD build_ci\cmake
|
|
mingw32-make -j %NUMBER_OF_PROCESSORS% VERBOSE=1 || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
CD build_ci\cmake
|
|
cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
|
|
)
|
|
) ELSE IF "%1%"=="test" (
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
CD build_ci\cmake
|
|
SET SKIP_TEST_SPARSE=1
|
|
mingw32-make test VERBOSE=1 || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
CD build_ci\cmake
|
|
cmake --build . --target RUN_TESTS --config Release || EXIT /b 1
|
|
)
|
|
) ELSE IF "%1%"=="install" (
|
|
IF "%BE%"=="mingw-gcc" (
|
|
SET PATH=%MINGWPATH%
|
|
CD build_ci\cmake
|
|
mingw32-make install || EXIT /b 1
|
|
) ELSE IF "%BE%"=="msvc" (
|
|
CD build_ci\cmake
|
|
cmake --build . --target INSTALL --config Release || EXIT /b 1
|
|
)
|
|
"C:\Program Files (x86)\libarchive\bin\bsdtar.exe" --version
|
|
) ELSE IF "%1"=="artifact" (
|
|
C:\windows\system32\tar.exe -c -C "C:\Program Files (x86)" --format=zip -f libarchive.zip libarchive
|
|
) ELSE (
|
|
ECHO "Usage: %0% deplibs|configure|build|test|install|artifact"
|
|
@EXIT /b 0
|
|
)
|
|
@EXIT /b 0
|