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

Reply via email to