Skip to content

Commit

Permalink
Update Wimlib-V1.14.4
Browse files Browse the repository at this point in the history
  • Loading branch information
chris1111 committed Nov 12, 2024
1 parent ecb3b14 commit 1da949a
Show file tree
Hide file tree
Showing 42 changed files with 1,896 additions and 1,415 deletions.
34 changes: 8 additions & 26 deletions Build-Package.tool
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
# By chris1111
# Copyright (c) 2022, chris1111. All Right Reserved
# Credit: wimlib https://wimlib.net/
# Credit: Homebrew https://github.com/homebrew
# Vars
dir="$HOME/WimlibDev/Wimlib-Imagex-Package"
install_log="$HOME/WimlibDev/Wimlib-Imagex-Package/Build-Package.txt"
Expand All @@ -27,9 +26,9 @@ response=$(osascript -e 'tell app "System Events" to display dialog "
Welcome Wimlib-Imagex-Package
You are about to install
/usr/local/etc/libxml2, openssl@3
/usr/local/Cellar/wimlib, libxml2, openssl@3
/usr/local/lib/wimlib
/usr/local/bin/wimlib-imagex
/usr/local/share/man/man1
Please make a choice\nCancel for Exit" buttons {"Cancel", "Wimlib-Imagex-Package"} default button 2 with title "'"$apptitle"' '"$version"'" with icon POSIX file "'"$iconfile"'" ')

Expand Down Expand Up @@ -58,31 +57,14 @@ Sleep 2
echo " "
echo "Prepare --> Install wimlib"
Sleep 1
echo "⬇︎ Type your password to continue"
sudo mkdir -p /usr/local/bin
sudo mkdir -p /usr/local/opt
sudo mkdir -p /usr/local/etc
hdiutil attach -noverify -nobrowse ./Library-wimlib.dmg
echo "Attach Image"
sudo cp -Rp /Volumes/Library-wimlib/wimlib/usr/* /usr/
Sleep 3
export LIBXML2_CFLAGS="-L/usr/local/Cellar/libxml2/2.10.3_1/lib"
export LIBXML2_LIBS="/usr/local/Cellar/libxml2/2.10.3_1/include"
export OPENSSL_CFLAGS="-L/usr/local/Cellar/openssl@3/3.0.7/lib"
export OPENSSL_LIBS="/usr/local/Cellar/openssl@3/3.0.7/include"
export PKG_CONFIG_PATH=/usr/local/Cellat/wimlib/1.14.1/lib
./configure --prefix=/usr/local CC=$CC --without-ntfs-3g --without-fuse --prefix=/usr/local/Cellar/wimlib/1.14.1
./configure --without-ntfs-3g --without-fuse
make
echo "⬇︎ Type your password to continue"
sudo make install
ln -s /usr/local/Cellar/wimlib/1.14.1 /usr/local/opt/wimlib
ln -s /usr/local/Cellar/wimlib/1.14.1/include/wimlib.h /usr/local/include
ln -s /usr/local/Cellar/libxml2/2.10.3_1 /usr/local/opt/libxml2
ln -s /usr/local/Cellar/openssl@3/3.0.7 /usr/local/opt/openssl@3
ln -s /usr/local/Cellar/openssl@3/3.0.7 /usr/local/opt/openssl
sudo ln -s /usr/local/Cellar/wimlib/1.14.1/bin/* /usr/local/bin
sudo cp -Rp /usr/local/Cellar/wimlib/1.14.1/share/man /usr/local/share/
echo $PKG_CONFIG_PATH
Umount -f /Volumes/Library-wimlib
echo "============================================="
wimlib-imagex --version
echo "============================================="
echo " "
echo "============================================="
echo "Your path --> /usr/local/bin ➤ wimlib-imagex"
echo "============================================="
Expand Down
Binary file removed Library-wimlib.dmg
Binary file not shown.
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ libwim_la_CFLAGS = \
$(LIBNTFS_3G_CFLAGS) \
$(LIBFUSE_CFLAGS)

libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 38:0:23
libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 41:0:26

libwim_la_LIBADD = \
$(PTHREAD_LIBS) \
Expand Down
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -913,7 +913,7 @@ libwim_la_CFLAGS = \
$(LIBNTFS_3G_CFLAGS) \
$(LIBFUSE_CFLAGS)

libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 38:0:23
libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 41:0:26
libwim_la_LIBADD = \
$(PTHREAD_LIBS) \
$(LIBNTFS_3G_LIBS) \
Expand Down
33 changes: 33 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
# wimlib release notes

## Version 1.14.4

- Fixed potential crash when writing WIM XML data, introduced in v1.14.0.

- Improved some documentation.

- Fixed the Windows build script to avoid an unnecessary DLL dependency when
building with MSYS2 MINGW32 or MSYS2 MINGW64.

## Version 1.14.3

- Fixed a bug introduced in v1.14.0 where non-ASCII characters stopped being
accepted in image names and descriptions. This bug only affected UNIX-like
systems that use `signed char`, e.g. x86 Linux systems.

## Version 1.14.2

- Fixed a bug introduced in v1.14.0 where a crash would sometimes occur if a
Delphi application or Visual Studio compiled application called into the
32-bit x86 build of the library.

- Fixed an issue where some WIM images written by wimlib weren't accepted by
some MS software versions. wimlib-written WIM images containing directory
reparse points (e.g. junctions) weren't accepted by some versions of the
Windows 8 setup wizard. Also, recent versions of DISM had stopped accepting
wimlib-written WIM images containing directories with named data streams.

- Commands passed to wimupdate on standard input are now interpreted as UTF-8 or
UTF-16LE (autodetected), just like wimcapture config files and wimextract path
list files. Previously, on Windows the Windows code page was used instead of
UTF-8, which made it hard to specify non-ASCII file paths in wimupdate
commands. The same change also applies to wimcapture source list files.

## Version 1.14.1

- Fixed a bug introduced in v1.14.0 where wimlib would crash on older CPUs.
Expand Down
10 changes: 5 additions & 5 deletions README.WINDOWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,13 +103,13 @@ Then, open any MSYS2 shell and run the following command:
After that, open any MSYS2 shell again and run the following commands:

pacman -Syu --noconfirm git
git clone git://wimlib.net/wimlib
git clone https://wimlib.net/git/wimlib

Note: By default the git repository will be on the `master` branch, which is the
latest development snapshot. Optionally, you can check out a specific version,
e.g. `cd wimlib && git checkout v1.14.1`. For old versions, please refer to the
e.g. `cd wimlib && git checkout v1.14.4`. For old versions, please refer to the
documentation for that version, as things may have changed. It is also possible
to use a release tarball (e.g. `wimlib-1.14.1.tar.gz`) instead of the git repo.
to use a release tarball (e.g. `wimlib-1.14.4.tar.gz`) instead of the git repo.

Finally, to actually do a build, close the MSYS2 shell you have open, then open
one of the following from the Start menu:
Expand All @@ -127,7 +127,7 @@ one of the following from the Start menu:

The script will automatically download and install the packages needed to build
wimlib in the chosen MSYS2 environment, then build wimlib. The output will be
in a folder named similarly to `wimlib-1.14.1-windows-x86_64-bin`. Note that
in a folder named similarly to `wimlib-1.14.4-windows-x86_64-bin`. Note that
your "home" folder within MSYS2 is `C:\msys64\home\%USERNAME%` by default.
Therefore, the full path to the output folder will be similar to
`C:\msys64\home\%USERNAME%\wimlib\wimlib-1.14.1-windows-x86_64-bin`.
`C:\msys64\home\%USERNAME%\wimlib\wimlib-1.14.4-windows-x86_64-bin`.
38 changes: 19 additions & 19 deletions aclocal.m4
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
[m4_warning([this file was generated for autoconf 2.71.
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],,
[m4_warning([this file was generated for autoconf 2.72.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])

# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 11 (pkg-config-0.29.1)
# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*-
# serial 12 (pkg-config-0.29.2)

dnl Copyright © 2004 Scott James Remnant <[email protected]>.
dnl Copyright © 2012-2015 Dan Nicholson <[email protected]>
Expand Down Expand Up @@ -63,7 +63,7 @@ dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29.1])
[m4_define([PKG_MACROS_VERSION], [0.29.2])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
Expand Down Expand Up @@ -108,7 +108,7 @@ dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl only at the first occurrence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
Expand Down Expand Up @@ -164,7 +164,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
Expand All @@ -174,17 +174,17 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
m4_default([$4], [AC_MSG_ERROR(
m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
Expand All @@ -195,8 +195,8 @@ installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
Expand All @@ -206,10 +206,10 @@ _PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
$3
$3
fi[]dnl
])dnl PKG_CHECK_MODULES

Expand Down
Loading

0 comments on commit 1da949a

Please sign in to comment.