...
 
Commits (10)
......@@ -20,7 +20,7 @@ AM_LDFLAGS = $(PLATFORM_LDFLAGS)
EXTRA_DIST = README README.WINDOWS \
COPYING COPYING.GPLv3 COPYING.LGPLv3 COPYING.CC0 \
examples \
archlinux debian rpm
debian rpm
##############################################################################
# Library #
......@@ -201,7 +201,7 @@ libwim_la_CFLAGS = \
$(LIBFUSE_CFLAGS) \
$(LIBCRYPTO_CFLAGS)
libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 29:0:14
libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 30:0:15
libwim_la_LIBADD = \
$(PTHREAD_LIBS) \
......@@ -336,6 +336,7 @@ endif
EXTRA_DIST += \
tests/common_tests.sh \
tests/exclusionlists \
tests/test_utils.sh \
tests/security_descriptor_1.base64 \
tests/security_descriptor_1.bin \
......
This diff is collapsed.
Version 1.13.0:
On Windows, wimlib now supports capturing and applying extended
attributes (EAs). It is compatible with DISM with the /EA option,
available since Windows 10 version 1607. wimlib's EA support is on by
default and works on older versions of Windows too.
Partially fixed a bug where [ExclusionException] entries didn't take
effect when the containing directory is matched by [ExclusionList]. It
now works when the [ExclusionException] patterns are absolute. For
example, listing "/dir/file" in [ExclusionException] now works even if
"/dir" is matched by [ExclusionList].
Added a '--create' option to 'wimappend' which makes it create the WIM
file (like 'wimcapture') if it doesn't exist yet.
Added an '--include-integrity' option to various wimlib-imagex commands.
'--include-integrity' is like '--check', but it will just include an
integrity table in the output WIM(s), while skipping verification of any
existing integrity tables. This can be useful to avoid unwanted
verification of large WIM files, e.g. WIMs given by '--delta-from'.
'wimextract' now reads a pathlist file from standard input when "@-" is
given as an argument.
wimsplit (API: wimlib_split()) now correctly handles a dot in the path
to the first split WIM part, prior to the filename extension.
'wimlib-imagex --version' now shows the version of the library it is
actually using (in case it is different from wimlib-imagex's version).
Version 1.12.0:
Fixed a bug that was causing the LZMS decompressor to be miscompiled
with GCC 7 (this broke extracting "solid" archives).
......
INTRODUCTION
This is wimlib version 1.12.0 (July 2017). wimlib is a C library for
This is wimlib version 1.13.0 (November 2018). 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,
......
......@@ -94,7 +94,7 @@ from source, potentially with customizations. Although wimlib's build system is
designed for UNIX-like systems and is easiest to use on Linux, it's possible to
build Windows binaries on Windows using Cygwin with MinGW. To do this, follow
the instructions below. For the sake of example, I'll assume you are building a
64-bit version of wimlib v1.11.0.
64-bit version of wimlib v1.13.0.
Run the Cygwin installer, available from https://www.cygwin.com/setup-x86.exe.
When you get to the package selection screen, choose the following additional
......@@ -107,13 +107,13 @@ packages from category "Devel":
- mingw64-x86_64-pkg-config
- mingw64-x86_64-winpthreads
Download wimlib's source code from https://wimlib.net/downloads/wimlib-1.11.0.tar.gz.
Download wimlib's source code from https://wimlib.net/downloads/wimlib-1.13.0.tar.gz.
Start a Cygwin terminal and run the following commands:
cd /cygdrive/c/Users/example/Downloads # (or wherever you downloaded the source to)
tar xf wimlib-1.11.0.tar.gz
cd wimlib-1.11.0
tar xf wimlib-1.13.0.tar.gz
cd wimlib-1.13.0
./configure --host=x86_64-w64-mingw32
make
......@@ -162,12 +162,12 @@ version you want, bootstrap the repository, and run the Windows release script:
git clone git://wimlib.net/wimlib
cd wimlib
git checkout v1.11.0
git checkout v1.13.0
./bootstrap
./tools/make-windows-release x86_64
The release script will download and build libxml2 and winpthreads as static
libraries, then build wimlib, then do some final tasks and bundle the resulting
files up into a ZIP archive. If successful you'll end up with a file like
"wimlib-1.11.0-windows-x86_64-bin.zip", just like the official releases. For
"wimlib-1.13.0-windows-x86_64-bin.zip", just like the official releases. For
32-bit binaries just use "i686" instead of "x86_64".
This diff is collapsed.
# Maintainer: Eric Biggers <ebiggers3 at gmail dot com>
pkgname=wimlib
pkgver=1.12.0
pkgrel=1
pkgdesc="A library and program to extract, create, and modify WIM files"
arch=("i686" "x86_64")
url="https://wimlib.net"
license=("custom")
depends=("openssl" "fuse" "libxml2" "ntfs-3g")
checkdepends=("attr")
optdepends=("cdrkit: for making ISO image of Windows PE"
"mtools: for making disk image of Windows PE"
"syslinux: for making disk image of Windows PE"
"cabextract: for extracting Windows PE from the WAIK")
source=("https://wimlib.net/downloads/$pkgname-$pkgver.tar.gz")
build() {
cd "$pkgname-$pkgver"
./configure --with-libcrypto --with-fuse --with-ntfs-3g --prefix=/usr
make
}
check() {
cd "$pkgname-$pkgver"
make check
}
package() {
cd "$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
for file in NEWS README; do
install -Dm644 $file "$pkgdir/usr/share/doc/$pkgname/$file"
done
for file in COPYING*; do
install -Dm644 $file "$pkgdir/usr/share/licenses/$pkgname/$file"
done
}
......@@ -4,7 +4,7 @@
me=ar-lib
scriptversion=2012-03-01.08; # UTC
# Copyright (C) 2010-2014 Free Software Foundation, Inc.
# Copyright (C) 2010-2018 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -18,7 +18,7 @@ scriptversion=2012-03-01.08; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -255,7 +255,8 @@ EOF
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
......@@ -339,9 +340,9 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
This diff is collapsed.
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2013-05-30.07; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -16,7 +16,7 @@ scriptversion=2013-05-30.07; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -783,9 +783,9 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2013-12-25.23; # UTC
scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
......@@ -271,15 +271,18 @@ do
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
......@@ -288,6 +291,11 @@ do
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
......@@ -324,34 +332,43 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
......@@ -427,8 +444,8 @@ do
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
......@@ -493,9 +510,9 @@ do
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2013-10-28.13; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
......@@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -101,9 +101,9 @@ else
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
perl_URL=https://www.perl.org/
flex_URL=https://github.com/westes/flex
gnu_software_URL=https://www.gnu.org/software
program_details ()
{
......@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
......@@ -48,6 +48,9 @@
/* Define to 1 if you have the `futimens' function. */
#undef HAVE_FUTIMENS
/* Define to 1 if you have the `getopt_long_only' function. */
#undef HAVE_GETOPT_LONG_ONLY
/* Define to 1 if you have the <glob.h> header file. */
#undef HAVE_GLOB_H
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.