doc/@IMAGEX_PROGNAME@-optimize.1 \
doc/@IMAGEX_PROGNAME@-split.1 \
doc/@IMAGEX_PROGNAME@-unmount.1 \
+ doc/@IMAGEX_PROGNAME@-update.1 \
doc/mkwinpeimg.1
man1_MANS = $(wimlib_manpages)
[doc/"$IMAGEX_PROGNAME"-optimize.1:doc/imagex-optimize.1.in]
[doc/"$IMAGEX_PROGNAME"-split.1:doc/imagex-split.1.in]
[doc/"$IMAGEX_PROGNAME"-unmount.1:doc/imagex-unmount.1.in]
+ [doc/"$IMAGEX_PROGNAME"-update.1:doc/imagex-update.1.in]
[doc/mkwinpeimg.1])
AC_CONFIG_FILES([programs/mkwinpeimg], [chmod +x programs/mkwinpeimg])
restored when available.
.TP
\fB--no-acls\fR
-In the NTFS apply mode, do not apply security descriptors. This flag is also
-available in the native Win32 build of wimlib and may be useful when running
-\fB@IMAGEX_PROGNAME@\fR as a non-administrator.
+Do not restore security descriptors on extracted files and directories.
.TP
\fB--strict-acls\fR
Fail immediately if the full security descriptor of any file or directory cannot
In the NTFS capture mode, do not capture security descriptors. This flag is
also available in the native Win32 build of wimlib.
.TP
+\fB--strict-acls\fR
+In the Win32 native build of wimlib, fail immediately if the full security
+descriptor of any file or directory cannot be read. The default behavior
+without this option is to first try omitting the SACL from the security
+descriptor, then to try omitting the security descriptor entirely. The purpose
+of this is to capture as much data as possible without always requiring
+Administrator privileges. However, if you desire that all security descriptors
+be captured exactly, you may with to provide this option, although the
+Administrator should have permission to read everything anyway.
+.TP
\fB--rpfix\fR, \fB--norpfix\fR
Set whether to fix targets of absolute symbolic links (reparse points in Windows
terminology) or not. When enabled (\fB--rpfix\fR), absolute symbolic links that
(\fB--source-list\fR specified), so you may wish to set \fB--norpfix\fR in that
case.
.TP
-\fB--strict-acls\fR
-In the Win32 native build of wimlib, fail immediately if the full security
-descriptor of any file or directory cannot be read. The default behavior
-without this option is to first try omitting the SACL from the security
-descriptor, then to try omitting the security descriptor entirely. The purpose
-of this is to capture as much data as possible without always requiring
-Administrator privileges. However, if you desire that all security descriptors
-be captured exactly, you may with to provide this option, although the
-Administrator should have permission to read everything anyway.
-.TP
\fB--source-list\fR
\fB@IMAGEX_PROGNAME@ capture\fR and \fB@IMAGEX_PROGNAME@ append\fR, as of wimlib 1.3.0, support a new
option to create a WIM image from multiple files or directories. When
stream chunk size of 32768. The only WIMs I've seen that are different from
this are some pre-Vista WIMs that had a different version number.
-Unless \fB--rebuild\fR is specified, aborting an \fB@IMAGEX_PROGNAME@ append\fR command
-mid-way through has a small chance of corrupting the WIM file. However, a
-precaution is taken against this, so it should be very unlikely. In the event
-of an aborted \fB@IMAGEX_PROGNAME@ append\fR, \fB@IMAGEX_PROGNAME@ optimize\fR may be run to remove
-extra data that may have been partially appended to the physical WIM file but
+It is safe to abort an \fB@IMAGEX_PROGNAME@ append\fR command partway through;
+however, after doing this, it is recommended to run \fB@IMAGEX_PROGNAME@
+optimize\fR to remove any data that was appended to the physical WIM file but
not yet incorporated into the structure of the WIM.
\fISOURCE\fR may be a symbolic link to a directory rather than a directory
.TP
\fB--verbose\fR
Print the path to of each file or directory within the WIM image as it is
-extracted, and some additional informational messages.
+extracted.
.TP
\fB--ref\fR="\fIGLOB\fR"
File glob of additional split WIM parts that are part of the split WIM. See
with the \fB--unix-data\fR option. This option is only available on UNIX.
.TP
\fB--no-acls\fR
-Do not restore security descriptors on extracted files and directories. This
-option is only available on Windows.
+Do not restore security descriptors on extracted files and directories.
.TP
\fB--strict-acls\fR
Fail immediately if the full security descriptor of any file or directory cannot
be set exactly as specified in the WIM file. The default behavior without this
option is to fall back to setting a security descriptor with the SACL omitted,
then only the default inherited security descriptor, if we do not have
-permission to set the desired one. This option is only available on Windows.
+permission to set the desired one.
.TP
\fB--to-stdout\fR
Extract the files to standard output instead of to the filesystem. This can
stream it extracts and verifies that it is the same as the SHA1 message digest
provided in the WIM file. Thus, it should provide assurance of data integrity.
-Reparse-point fixups (a.k.a. changing absolute symbolic links and junction to
+Reparse-point fixups (a.k.a. changing absolute symbolic links and junctions to
point within the extraction location) are never done by \fB@IMAGEX_PROGNAME@
extract\fR. Use \fB@IMAGEX_PROGNAME@ apply\fR if you want this behavior.
Unlike \fB@IMAGEX_PROGNAME@ apply\fR, \fB@IMAGEX_PROGNAME@ extract\fR does not
support extracting files directly to a NTFS volume using libntfs-3g.
-Not all data and metadata containing in each WIM \fIPATH\fR will necessarily be
+Not all data and metadata contained in each WIM \fIPATH\fR will necessarily be
extracted, since \fB@IMAGEX_PROGNAME@ extract\fR does the best it can given the
platform (UNIX or Windows) and supported features of the filesystem. The
documentation for \fB@IMAGEX_PROGNAME@ apply\fR (1) goes into more detail about
echo $fil
base=`basename $fil`
base=${base%%.1}
- MANWIDTH=80 man $fil | col -b > $DESTDIR/doc/$base
+ #MANWIDTH=80 man $fil | col -b > $DESTDIR/doc/$base
+ man -t $fil | ps2pdf - $DESTDIR/doc/${base}.pdf
done
-for fil in $DESTDIR/{README*,NEWS} $DESTDIR/doc/*; do
+#for fil in $DESTDIR/{README*,NEWS} $DESTDIR/doc/*; do
+for fil in $DESTDIR/{README*,NEWS}; do
sed < $fil > ${fil}.txt -e 's/$/\r/g'
rm $fil
done
),
};
+
+static void
+recommend_man_page(const tchar *cmd_name)
+{
+#ifdef __WIN32__
+ tprintf(T("\nSee "IMAGEX_PROGNAME"-%"TS".pdf in the "
+ "doc directory for more details.\n"),
+ cmd_name);
+#else
+ tprintf(T("\nTry `man "IMAGEX_PROGNAME"-%"TS"' "
+ "for more details.\n"), cmd_name);
+#endif
+}
+
enum {
IMAGEX_ALLOW_OTHER_OPTION,
IMAGEX_BOOT_OPTION,
}
/* Read update commands from standard input */
- if (isatty(STDIN_FILENO))
+ if (isatty(STDIN_FILENO)) {
tputs(T("Reading update commands from standard input..."));
+ }
cmd_file_contents = stdin_get_text_contents(&cmd_file_nchars);
if (!cmd_file_contents) {
ret = -1;
tprintf(T("Usage:\n%"TS), usage_strings[cmd_type]);
for_imagex_command(cmd) {
if (cmd->cmd == cmd_type) {
- tprintf(T("\nTry `man "IMAGEX_PROGNAME"-%"TS"' "
- "for more details.\n"), cmd->name);
+ recommend_man_page(cmd->name);
}
}
}
/** Do not issue an error if the path to delete does not exist. */
#define WIMLIB_DELETE_FLAG_FORCE 0x00000001
-/** Delete a file or directory tree recursively; if not specified, an error is
+/** Delete the file or directory tree recursively; if not specified, an error is
* issued if the path to delete is a directory. */
#define WIMLIB_DELETE_FLAG_RECURSIVE 0x00000002
* Attempted to perform an add command that conflicted with previously
* existing files in the WIM when an overlay was attempted.
* @retval ::WIMLIB_ERR_INVALID_PARAM
- * Attempted to perform an add command with ::WIMLIB_ADD_FLAG_NTFS set, but
- * the same image had previously already been added from a NTFS volume.
+ * An unknown operation type was specified in the update commands; or,
+ * attempted to execute an add command where ::WIMLIB_ADD_FLAG_NTFS was set
+ * in the @a add_flags, but the same image had previously already been
+ * added from a NTFS volume; or, both ::WIMLIB_ADD_FLAG_RPFIX and
+ * ::WIMLIB_ADD_FLAG_NORPFIX were specified in the @a add_flags for one add
+ * command; or, ::WIMLIB_ADD_FLAG_NTFS or ::WIMLIB_ADD_FLAG_RPFIX were
+ * specified in the @a add_flags for an add command in which @a
+ * wim_target_path was not the root directory of the WIM image.
* @retval ::WIMLIB_ERR_INVALID_REPARSE_DATA
* (Windows only): While executing an add command, tried to capture a
* reparse point with invalid data.
* directory.
* @retval ::WIMLIB_ERR_UNSUPPORTED
* ::WIMLIB_ADD_FLAG_NTFS was specified in the @a add_flags for an update
- * command, but wimlib was configured with the @c --without-ntfs-3g flag.
+ * command, but wimlib was configured with the @c --without-ntfs-3g flag;
+ * or, the platform is Windows and either the ::WIMLIB_ADD_FLAG_UNIX_DATA
+ * or the ::WIMLIB_ADD_FLAG_DEREFERENCE flags were specified in the @a
+ * add_flags for an update command.
*/
extern int
wimlib_update_image(WIMStruct *wim,