Hello community, here is the log from the commit of package wimlib for openSUSE:Factory checked in at 2020-12-12 20:30:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wimlib (Old) and /work/SRC/openSUSE:Factory/.wimlib.new.2328 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wimlib" Sat Dec 12 20:30:16 2020 rev:4 rq:851288 version:1.13.3 Changes: -------- --- /work/SRC/openSUSE:Factory/wimlib/wimlib.changes 2020-08-17 12:04:53.578677966 +0200 +++ /work/SRC/openSUSE:Factory/.wimlib.new.2328/wimlib.changes 2020-12-12 20:32:47.129878404 +0100 @@ -1,0 +2,7 @@ +Thu Nov 26 19:01:29 UTC 2020 - Dirk Mueller <dmuel...@suse.com> + +- update to 1.13.3: + * windows specific fixes + * clarified license text + +------------------------------------------------------------------- Old: ---- wimlib-1.13.2.tar.gz New: ---- wimlib-1.13.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wimlib.spec ++++++ --- /var/tmp/diff_new_pack.8Tychc/_old 2020-12-12 20:32:47.645878943 +0100 +++ /var/tmp/diff_new_pack.8Tychc/_new 2020-12-12 20:32:47.649878947 +0100 @@ -18,7 +18,7 @@ %define so_version 15 Name: wimlib -Version: 1.13.2 +Version: 1.13.3 Release: 0 Summary: Library to extract, create, modify, and mount WIM files License: GPL-3.0-or-later AND LGPL-3.0-or-later AND CC0-1.0 ++++++ wimlib-1.13.2.tar.gz -> wimlib-1.13.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/COPYING new/wimlib-1.13.3/COPYING --- old/wimlib-1.13.2/COPYING 2017-09-20 04:55:16.000000000 +0200 +++ new/wimlib-1.13.3/COPYING 2020-08-23 21:37:44.000000000 +0200 @@ -1,25 +1,30 @@ -Unless otherwise specified, wimlib and its associated programs, scripts, -documentation, and other files may be redistributed and/or modified under the -terms of the GNU General Public License; either version 3 of the License, or (at -your option) any later version. There is NO WARRANTY, to the extent permitted -by law. See the file COPYING.GPLv3 for more details. - -Alternatively, when not prohibited by conflict with a third-party software -license, the library portion of wimlib may be redistributed and/or modified -under the terms of the GNU Lesser General Public License; either version 3 of -the License, or (at your option) any later version. There is NO WARRANTY, to -the extent permitted by law. See the file COPYING.LGPLv3 for more details. - ----------------------------------------- - -NOTE! The primary reason for the GPL/LGPL "dual licensing" for the library is -that on UNIX-like systems, wimlib can optionally be linked to the third-party -library "libntfs-3g", which is licensed GPLv2+. Under some interpretations of -the GPL, this would require that wimlib be licensed under the GPL as well. -However, a binary copy of wimlib that was compiled without libntfs-3g support -(for example; the exception may be applicable in other situations as well) -logically cannot be affected by libntfs-3g's license and should therefore be -free to be redistributed under the LGPL instead of the GPL. +wimlib (meaning all programs, scripts, libraries, documentation, and other files +that are part of the wimlib project -- not just the "libwim" library) may be +redistributed and/or modified under the terms of the GNU General Public License; +either version 3 of the License, or (at your option) any later version. A copy +of this license can be found in the file COPYING.GPLv3. + +Also, when not prohibited by a third-party software license, libwim (the library +portion of wimlib) may be redistributed and/or modified under the terms of the +GNU Lesser General Public License; either version 3 of the License, or (at your +option) any later version. A copy of this license can be found in the file +COPYING.LGPLv3. This is offered as a "dual license", meaning that you can +choose either this LGPLv3+ option or the above-mentioned GPLv3+ option. + +In either case there is NO WARRANTY, to the extent permitted by law. + +-------------------------------------------------------------------------------- + +NOTE! The reason for the "when not prohibited by a third-party software license" +condition on the LGPL option for libwim is that libwim can optionally be linked +to the third-party library "libntfs-3g", which is licensed under the GPL. +Usually the GPL is interpreted in a way that means that any binary that uses a +GPL library must be licensed under the GPL as well, not (for example) the LGPL. + +Therefore, if your build of libwim links to libntfs-3g, then you can't choose +the LGPL option. You may choose the LGPL option for Windows builds of libwim, +since they don't link to libntfs-3g. Likewise, you may choose the LGPL option +for UNIX builds of libwim that were built with './configure --without-ntfs-3g'. NOTE! The file COPYING.CC0 contains a public domain dedication. This public domain dedication does not apply to wimlib as a whole, but rather to individual diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/Makefile.am new/wimlib-1.13.3/Makefile.am --- old/wimlib-1.13.2/Makefile.am 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/Makefile.am 2020-10-27 04:49:10.000000000 +0100 @@ -200,7 +200,7 @@ $(LIBFUSE_CFLAGS) \ $(LIBCRYPTO_CFLAGS) -libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 32:0:17 +libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 33:0:18 libwim_la_LIBADD = \ $(PTHREAD_LIBS) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/Makefile.in new/wimlib-1.13.3/Makefile.in --- old/wimlib-1.13.2/Makefile.in 2020-05-24 20:23:42.000000000 +0200 +++ new/wimlib-1.13.3/Makefile.in 2020-10-27 04:54:52.000000000 +0100 @@ -918,7 +918,7 @@ $(LIBFUSE_CFLAGS) \ $(LIBCRYPTO_CFLAGS) -libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 32:0:17 +libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 33:0:18 libwim_la_LIBADD = $(PTHREAD_LIBS) $(LIBXML2_LIBS) $(LIBNTFS_3G_LIBS) \ $(LIBFUSE_LIBS) $(LIBRT_LIBS) $(LIBCRYPTO_LIBS) \ $(PLATFORM_LIBS) $(am__append_7) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/NEWS new/wimlib-1.13.3/NEWS --- old/wimlib-1.13.2/NEWS 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/NEWS 2020-10-27 04:53:59.000000000 +0100 @@ -1,3 +1,16 @@ +Version 1.13.3: + On Windows, improved performance of capturing an entire drive in some + cases. + + On Windows, fixed leaking a directory handle (or triggering a SEH + exception when running under a debugger) when referencing WIM files. + + On Windows, when applying a Windows OS image using the --compact flag, + bootloader files can now be compressed with stronger compression + algorithms if the version of Windows is recent enough to support it. + + Clarified the license text. + Version 1.13.2: Prevented miscompilation with gcc 10 at -O3 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94994). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/README new/wimlib-1.13.3/README --- old/wimlib-1.13.2/README 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/README 2020-10-27 04:49:10.000000000 +0100 @@ -1,6 +1,6 @@ INTRODUCTION -This is wimlib version 1.13.2 (May 2020). wimlib is a C library for +This is wimlib version 1.13.3 (October 2020). wimlib is a C library for creating, modifying, extracting, and mounting files in the Windows Imaging Format (WIM files). wimlib and its command-line frontend 'wimlib-imagex' provide a free and cross-platform alternative to Microsoft's WIMGAPI, ImageX, @@ -267,7 +267,7 @@ law. See the COPYING file for more details. Bug reports, suggestions, and other contributions are appreciated and may be -sent via email to ebigge...@gmail.com or posted to https://wimlib.net/forums. +posted to https://wimlib.net/forums/. wimlib is independently developed and does not contain any code, data, or files copyrighted by Microsoft. It is not known to be affected by any patents. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/README.WINDOWS new/wimlib-1.13.3/README.WINDOWS --- old/wimlib-1.13.2/README.WINDOWS 2018-11-24 00:35:07.000000000 +0100 +++ new/wimlib-1.13.3/README.WINDOWS 2020-06-05 02:49:18.000000000 +0200 @@ -104,8 +104,8 @@ - mingw64-x86_64-binutils - mingw64-x86_64-gcc-g++ - mingw64-x86_64-libxml2 - - mingw64-x86_64-pkg-config - mingw64-x86_64-winpthreads + - pkg-config Download wimlib's source code from https://wimlib.net/downloads/wimlib-1.13.0.tar.gz. @@ -153,7 +153,6 @@ - git (category "Devel") - libtool (category "Devel") - nasm (category "Devel") - - pkg-config (category "Devel") - ghostscript (category "Graphics") - wget (category "Web") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/configure new/wimlib-1.13.3/configure --- old/wimlib-1.13.2/configure 2020-05-24 20:23:42.000000000 +0200 +++ new/wimlib-1.13.3/configure 2020-10-27 04:54:51.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for wimlib 1.13.2. +# Generated by GNU Autoconf 2.69 for wimlib 1.13.3. # -# Report bugs to <ebigge...@gmail.com>. +# Report bugs to <https://wimlib.net/forums/>. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -275,10 +275,10 @@ $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoc...@gnu.org and -$0: ebigge...@gmail.com about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." +$0: https://wimlib.net/forums/ about your system, including +$0: any error possibly output before this message. Then +$0: install a modern shell, or manually run the script +$0: under such a shell if you do have one." fi exit 1 fi @@ -590,9 +590,9 @@ # Identity of this package. PACKAGE_NAME='wimlib' PACKAGE_TARNAME='wimlib' -PACKAGE_VERSION='1.13.2' -PACKAGE_STRING='wimlib 1.13.2' -PACKAGE_BUGREPORT='ebigge...@gmail.com' +PACKAGE_VERSION='1.13.3' +PACKAGE_STRING='wimlib 1.13.3' +PACKAGE_BUGREPORT='https://wimlib.net/forums/' PACKAGE_URL='' ac_unique_file="src/wim.c" @@ -1369,7 +1369,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures wimlib 1.13.2 to adapt to many kinds of systems. +\`configure' configures wimlib 1.13.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1439,7 +1439,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of wimlib 1.13.2:";; + short | recursive ) echo "Configuration of wimlib 1.13.3:";; esac cat <<\_ACEOF @@ -1524,7 +1524,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to <ebigge...@gmail.com>. +Report bugs to <https://wimlib.net/forums/>. _ACEOF ac_status=$? fi @@ -1587,7 +1587,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -wimlib configure 1.13.2 +wimlib configure 1.13.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1932,9 +1932,9 @@ $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ---------------------------------- ## -## Report this to ebigge...@gmail.com ## -## ---------------------------------- ##" +( $as_echo "## ----------------------------------------- ## +## Report this to https://wimlib.net/forums/ ## +## ----------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac @@ -2059,7 +2059,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by wimlib $as_me 1.13.2, which was +It was created by wimlib $as_me 1.13.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2924,7 +2924,7 @@ # Define the identity of the package. PACKAGE='wimlib' - VERSION='1.13.2' + VERSION='1.13.3' cat >>confdefs.h <<_ACEOF @@ -15365,7 +15365,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by wimlib $as_me 1.13.2, which was +This file was extended by wimlib $as_me 1.13.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15425,13 +15425,13 @@ Configuration commands: $config_commands -Report bugs to <ebigge...@gmail.com>." +Report bugs to <https://wimlib.net/forums/>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -wimlib config.status 1.13.2 +wimlib config.status 1.13.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/configure.ac new/wimlib-1.13.3/configure.ac --- old/wimlib-1.13.2/configure.ac 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/configure.ac 2020-10-27 04:49:10.000000000 +0100 @@ -1,6 +1,6 @@ ############################################################################### -AC_INIT([wimlib], [1.13.2], [ebigge...@gmail.com]) +AC_INIT([wimlib], [1.13.3], [https://wimlib.net/forums/]) AC_CONFIG_SRCDIR([src/wim.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/mkwinpeimg.1 new/wimlib-1.13.3/doc/man1/mkwinpeimg.1 --- old/wimlib-1.13.2/doc/man1/mkwinpeimg.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/mkwinpeimg.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH MKWINPEIMG "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH MKWINPEIMG "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME mkwinpeimg \- Make a customized bootable image of Windows PE .SH SYNOPSIS @@ -118,6 +118,6 @@ Microsoft's licenses may limit the things that Windows PE can be used for, and they may limit your rights to redistribute customized versions of Windows PE. .SH REPORTING BUGS -Report bugs to ebigge...@gmail.com. +Report bugs to \fIhttps://wimlib.net/forums/\fR. .SH SEE ALSO .BR wimlib-imagex (1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimapply.1 new/wimlib-1.13.3/doc/man1/wimapply.1 --- old/wimlib-1.13.2/doc/man1/wimapply.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimapply.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMAPPLY "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMAPPLY "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimapply \- Apply a WIM image .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimcapture.1 new/wimlib-1.13.3/doc/man1/wimcapture.1 --- old/wimlib-1.13.2/doc/man1/wimcapture.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimcapture.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMCAPTURE "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMCAPTURE "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimcapture, wimappend \- Capture or append a WIM image .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimdelete.1 new/wimlib-1.13.3/doc/man1/wimdelete.1 --- old/wimlib-1.13.2/doc/man1/wimdelete.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimdelete.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMDELETE "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMDELETE "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimdelete \- Delete an image from a WIM archive .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimdir.1 new/wimlib-1.13.3/doc/man1/wimdir.1 --- old/wimlib-1.13.2/doc/man1/wimdir.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimdir.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMDIR "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMDIR "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimdir \- List the files contained in a WIM image .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimexport.1 new/wimlib-1.13.3/doc/man1/wimexport.1 --- old/wimlib-1.13.2/doc/man1/wimexport.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimexport.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMEXPORT "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMEXPORT "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimexport \- Export image(s) from a WIM archive .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimextract.1 new/wimlib-1.13.3/doc/man1/wimextract.1 --- old/wimlib-1.13.2/doc/man1/wimextract.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimextract.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMEXTRACT "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMEXTRACT "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimextract \- Extract files from a WIM image .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wiminfo.1 new/wimlib-1.13.3/doc/man1/wiminfo.1 --- old/wimlib-1.13.2/doc/man1/wiminfo.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wiminfo.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMINFO "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMINFO "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wiminfo \- Display or change information about a WIM file or image .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimjoin.1 new/wimlib-1.13.3/doc/man1/wimjoin.1 --- old/wimlib-1.13.2/doc/man1/wimjoin.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimjoin.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMJOIN "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMJOIN "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimjoin\- Join a split WIM into a standalone WIM .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimlib-imagex.1 new/wimlib-1.13.3/doc/man1/wimlib-imagex.1 --- old/wimlib-1.13.2/doc/man1/wimlib-imagex.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimlib-imagex.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMLIB-IMAGEX 1 "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMLIB-IMAGEX 1 "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimlib-imagex \- Extract, create, modify, or mount a WIM archive .SH SYNOPSIS @@ -224,7 +224,7 @@ General Public License; either version 3 of the License, or (at your option) any later version. There is NO WARRANTY, to the extent permitted by law. .SH REPORTING BUGS -Report bugs to ebigge...@gmail.com or to \fIhttps://wimlib.net/forums/\fR. +Report bugs to \fIhttps://wimlib.net/forums/\fR. Feedback and suggestions are also welcome. .SH SEE ALSO .BR wimappend (1), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimmount.1 new/wimlib-1.13.3/doc/man1/wimmount.1 --- old/wimlib-1.13.2/doc/man1/wimmount.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimmount.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMMOUNT "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMMOUNT "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimmount, wimmountrw, wimunmount \- Mount or unmount a WIM image .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimoptimize.1 new/wimlib-1.13.3/doc/man1/wimoptimize.1 --- old/wimlib-1.13.2/doc/man1/wimoptimize.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimoptimize.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMOPTIMIZE "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMOPTIMIZE "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimoptimize \- Optimize a WIM archive .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimsplit.1 new/wimlib-1.13.3/doc/man1/wimsplit.1 --- old/wimlib-1.13.2/doc/man1/wimsplit.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimsplit.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMSPLIT "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMSPLIT "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimsplit \- Split a WIM archive into multiple parts .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimupdate.1 new/wimlib-1.13.3/doc/man1/wimupdate.1 --- old/wimlib-1.13.2/doc/man1/wimupdate.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimupdate.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMUPDATE "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMUPDATE "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimupdate \- Update a WIM image .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/doc/man1/wimverify.1 new/wimlib-1.13.3/doc/man1/wimverify.1 --- old/wimlib-1.13.2/doc/man1/wimverify.1 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/doc/man1/wimverify.1 2020-10-27 04:49:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH WIMVERIFY "1" "May 2020" "wimlib 1.13.2" "User Commands" +.TH WIMVERIFY "1" "October 2020" "wimlib 1.13.3" "User Commands" .SH NAME wimverify \- Verify a WIM archive .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/include/wimlib.h new/wimlib-1.13.3/include/wimlib.h --- old/wimlib-1.13.2/include/wimlib.h 2020-05-24 20:22:36.000000000 +0200 +++ new/wimlib-1.13.3/include/wimlib.h 2020-10-27 04:49:10.000000000 +0100 @@ -11,7 +11,7 @@ /** * @mainpage * - * This is the documentation for the library interface of wimlib 1.13.2, a C + * This is the documentation for the library interface of wimlib 1.13.3, a C * library for creating, modifying, extracting, and mounting files in the * Windows Imaging (WIM) format. This documentation is intended for developers * only. If you have installed wimlib and want to know how to use the @b @@ -411,7 +411,7 @@ #define WIMLIB_MINOR_VERSION 13 /** Patch version of the library (for example, the 5 in 1.2.5). */ -#define WIMLIB_PATCH_VERSION 2 +#define WIMLIB_PATCH_VERSION 3 #ifdef __cplusplus extern "C" { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/programs/mkwinpeimg new/wimlib-1.13.3/programs/mkwinpeimg --- old/wimlib-1.13.2/programs/mkwinpeimg 2020-05-24 21:13:11.000000000 +0200 +++ new/wimlib-1.13.3/programs/mkwinpeimg 2020-10-27 04:54:57.000000000 +0100 @@ -20,7 +20,7 @@ script_name="$(basename "$0")" PREFIX_REG="::" -WIMLIB_VERSION=1.13.2 +WIMLIB_VERSION=1.13.3 calc_columns () { STAT_COL=80 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/src/win32_apply.c new/wimlib-1.13.3/src/win32_apply.c --- old/wimlib-1.13.2/src/win32_apply.c 2019-12-07 04:01:24.000000000 +0100 +++ new/wimlib-1.13.3/src/win32_apply.c 2020-06-05 03:26:37.000000000 +0200 @@ -3,7 +3,7 @@ */ /* - * Copyright (C) 2013-2018 Eric Biggers + * Copyright (C) 2013-2020 Eric Biggers * * This file is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free @@ -244,14 +244,6 @@ } } -/* Is the image being extracted an OS image for Windows 10 or later? */ -static bool -is_image_windows_10_or_later(struct win32_apply_ctx *ctx) -{ - /* Note: if no build number is available, this returns false. */ - return ctx->windows_build_number >= 10240; -} - static const wchar_t * current_path(struct win32_apply_ctx *ctx); @@ -2530,6 +2522,22 @@ .num_strings = ARRAY_LEN(bootloader_pattern_strings), }; +/* Returns true if the specified system compression format is supported by the + * bootloader of the image being applied. */ +static bool +bootloader_supports_compression_format(struct win32_apply_ctx *ctx, int format) +{ + /* Windows 10 and later support XPRESS4K */ + if (format == FILE_PROVIDER_COMPRESSION_FORMAT_XPRESS4K) + return ctx->windows_build_number >= 10240; + + /* + * Windows 10 version 1903 and later support the other formats; + * see https://wimlib.net/forums/viewtopic.php?f=1&t=444 + */ + return ctx->windows_build_number >= 18362; +} + static NTSTATUS set_system_compression_on_inode(struct wim_inode *inode, int format, struct win32_apply_ctx *ctx) @@ -2539,12 +2547,8 @@ HANDLE h; /* If it may be needed for compatibility with the Windows bootloader, - * force this file to XPRESS4K or uncompressed format. The bootloader - * of Windows 10 supports XPRESS4K only; older versions don't support - * system compression at all. */ - if (!is_image_windows_10_or_later(ctx) || - format != FILE_PROVIDER_COMPRESSION_FORMAT_XPRESS4K) - { + * force this file to XPRESS4K or uncompressed format. */ + if (!bootloader_supports_compression_format(ctx, format)) { /* We need to check the patterns against every name of the * inode, in case any of them match. */ struct wim_dentry *dentry; @@ -2568,7 +2572,9 @@ warned = (ctx->num_system_compression_exclusions++ > 0); - if (is_image_windows_10_or_later(ctx)) { + if (bootloader_supports_compression_format(ctx, + FILE_PROVIDER_COMPRESSION_FORMAT_XPRESS4K)) + { /* Force to XPRESS4K */ if (!warned) { WARNING("For compatibility with the " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/src/win32_capture.c new/wimlib-1.13.3/src/win32_capture.c --- old/wimlib-1.13.2/src/win32_capture.c 2018-11-23 19:19:07.000000000 +0100 +++ new/wimlib-1.13.3/src/win32_capture.c 2020-06-02 06:10:11.000000000 +0200 @@ -803,12 +803,13 @@ } static int -winnt_build_dentry_tree_recursive(struct wim_dentry **root_ret, - HANDLE cur_dir, - const wchar_t *relative_path, - size_t relative_path_nchars, - const wchar_t *filename, - struct winnt_scan_ctx *ctx); +winnt_build_dentry_tree(struct wim_dentry **root_ret, + HANDLE cur_dir, + const wchar_t *relative_path, + size_t relative_path_nchars, + const wchar_t *filename, + struct winnt_scan_ctx *ctx, + bool recursive); static int winnt_recurse_directory(HANDLE h, @@ -850,13 +851,14 @@ if (!filename) goto out_free_buf; - ret = winnt_build_dentry_tree_recursive( + ret = winnt_build_dentry_tree( &child, h, filename, info->FileNameLength / 2, filename, - ctx); + ctx, + true); pathbuf_truncate(ctx->params, orig_path_nchars); @@ -1701,12 +1703,13 @@ } static int -winnt_build_dentry_tree_recursive(struct wim_dentry **root_ret, - HANDLE cur_dir, - const wchar_t *relative_path, - size_t relative_path_nchars, - const wchar_t *filename, - struct winnt_scan_ctx *ctx) +winnt_build_dentry_tree(struct wim_dentry **root_ret, + HANDLE cur_dir, + const wchar_t *relative_path, + size_t relative_path_nchars, + const wchar_t *filename, + struct winnt_scan_ctx *ctx, + bool recursive) { struct wim_dentry *root = NULL; struct wim_inode *inode = NULL; @@ -1883,7 +1886,7 @@ set_sort_key(inode, sort_key); - if (inode_is_directory(inode)) { + if (inode_is_directory(inode) && recursive) { /* Directory: recurse to children. */ @@ -1907,10 +1910,16 @@ } out_progress: - if (likely(root)) - ret = do_scan_progress(ctx->params, WIMLIB_SCAN_DENTRY_OK, inode); - else - ret = do_scan_progress(ctx->params, WIMLIB_SCAN_DENTRY_EXCLUDED, NULL); + ret = 0; + if (recursive) { /* if !recursive, caller handles progress */ + if (likely(root)) + ret = do_scan_progress(ctx->params, + WIMLIB_SCAN_DENTRY_OK, inode); + else + ret = do_scan_progress(ctx->params, + WIMLIB_SCAN_DENTRY_EXCLUDED, + NULL); + } out: if (likely(h)) NtClose(h); @@ -2710,10 +2719,10 @@ * ntfs_stream => wim_inode_stream * * This also handles things such as exclusions and issuing progress messages. - * It's similar to winnt_build_dentry_tree_recursive(), but this is much faster - * because almost all information we need is already loaded in memory in the - * ntfs_* structures. However, in some cases we still fall back to - * winnt_build_dentry_tree_recursive() and/or opening the file. + * It's similar to winnt_build_dentry_tree(), but this is much faster because + * almost all information we need is already loaded in memory in the ntfs_* + * structures. However, in some cases we still fall back to + * winnt_build_dentry_tree() and/or opening the file. */ static int generate_wim_structures_recursive(struct wim_dentry **root_ret, @@ -2732,7 +2741,7 @@ if (NTFS_IS_SPECIAL_FILE(ni->ino)) goto out; - /* Fall back to a recursive scan for unhandled cases. Reparse points, + /* Fall back to the standard scan for unhandled cases. Reparse points, * in particular, can't be properly handled here because a commonly used * filter driver (WOF) hides reparse points from regular filesystem APIs * but not from FSCTL_QUERY_FILE_LAYOUT. */ @@ -2740,13 +2749,16 @@ FILE_ATTRIBUTE_ENCRYPTED) || ni->special_streams != 0) { - ret = winnt_build_dentry_tree_recursive(&root, - NULL, - ctx->params->cur_path, - ctx->params->cur_path_nchars, - filename, - ctx); - goto out; + ret = winnt_build_dentry_tree(&root, NULL, + ctx->params->cur_path, + ctx->params->cur_path_nchars, + filename, ctx, false); + if (ret) /* Error? */ + goto out; + if (!root) /* Excluded? */ + goto out_progress; + inode = root->d_inode; + goto process_children; } /* Test for exclusion based on path. */ @@ -2866,6 +2878,7 @@ /* If processing a directory, then recurse to its children. In this * version there is no need to go to disk, as we already have the list * of children cached from the MFT. */ +process_children: if (inode_is_directory(inode)) { const struct ntfs_dentry *nd = ni->first_child; @@ -3027,10 +3040,8 @@ } } #endif - ret = winnt_build_dentry_tree_recursive(root_ret, NULL, - params->cur_path, - params->cur_path_nchars, - L"", &ctx); + ret = winnt_build_dentry_tree(root_ret, NULL, params->cur_path, + params->cur_path_nchars, L"", &ctx, true); out: vss_put_snapshot(ctx.snapshot); if (ret == 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wimlib-1.13.2/src/win32_replacements.c new/wimlib-1.13.3/src/win32_replacements.c --- old/wimlib-1.13.2/src/win32_replacements.c 2018-05-02 05:38:31.000000000 +0200 +++ new/wimlib-1.13.3/src/win32_replacements.c 2020-10-27 04:16:27.000000000 +0100 @@ -692,7 +692,7 @@ pglob->gl_pathv[pglob->gl_pathc++] = path; } while (FindNextFileW(hFind, &dat)); err = GetLastError(); - CloseHandle(hFind); + FindClose(hFind); if (err != ERROR_NO_MORE_FILES) { set_errno_from_win32_error(err); ret = GLOB_ABORTED; @@ -701,7 +701,7 @@ return 0; oom: - CloseHandle(hFind); + FindClose(hFind); errno = ENOMEM; ret = GLOB_NOSPACE; fail_globfree: _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org