diff options
author | sjg <sjg@FreeBSD.org> | 2014-11-19 01:07:58 +0000 |
---|---|---|
committer | sjg <sjg@FreeBSD.org> | 2014-11-19 01:07:58 +0000 |
commit | b137080f19736ee33fede2e88bb54438604cf86b (patch) | |
tree | 377ac0ac449528621eb192cd245adadb5fd53668 /usr.bin | |
parent | ab21a29eb607d4dfe389b965fbdee27558e791aa (diff) | |
parent | 4a8d07956d121238d006d34ffe7d6269744e8b1a (diff) | |
download | FreeBSD-src-b137080f19736ee33fede2e88bb54438604cf86b.zip FreeBSD-src-b137080f19736ee33fede2e88bb54438604cf86b.tar.gz |
Merge from head@274682
Diffstat (limited to 'usr.bin')
304 files changed, 11507 insertions, 1534 deletions
diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 353816a..865be93 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -36,6 +36,7 @@ SUBDIR= alias \ ctlstat \ cut \ dirname \ + dpv \ du \ ee \ elf2aout \ @@ -196,6 +197,7 @@ SUBDIR= alias \ xargs \ xinstall \ ${_xlint} \ + xo \ ${_xstr} \ xz \ xzdec \ diff --git a/usr.bin/at/at.c b/usr.bin/at/at.c index 5f4500b..6e072d6 100644 --- a/usr.bin/at/at.c +++ b/usr.bin/at/at.c @@ -367,6 +367,7 @@ writefile(time_t runtimer, char queue) if (export) { + (void)fputs("export ", fp); fwrite(*atenv, sizeof(char), eqp-*atenv, fp); for(ap = eqp;*ap != '\0'; ap++) { @@ -389,8 +390,6 @@ writefile(time_t runtimer, char queue) fputc(*ap, fp); } } - fputs("; export ", fp); - fwrite(*atenv, sizeof(char), eqp-*atenv -1, fp); fputc('\n', fp); } diff --git a/usr.bin/basename/Makefile b/usr.bin/basename/Makefile index d647395..b392c3f 100644 --- a/usr.bin/basename/Makefile +++ b/usr.bin/basename/Makefile @@ -1,7 +1,13 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ +.include <src.opts.mk> + PROG= basename MLINKS= basename.1 dirname.1 +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/basename/tests/Makefile b/usr.bin/basename/tests/Makefile new file mode 100644 index 0000000..32dedab --- /dev/null +++ b/usr.bin/basename/tests/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.bin/basename +.PATH: ${TESTSRC} + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/usr.bin/basename +ATF_TESTS_SH= basename_test +ATF_TESTS_SH_SRC_basename_test= t_basename.sh + +.include <bsd.test.mk> diff --git a/usr.bin/bc/Makefile b/usr.bin/bc/Makefile index 5fd918d..d2f26f1 100644 --- a/usr.bin/bc/Makefile +++ b/usr.bin/bc/Makefile @@ -5,8 +5,8 @@ PROG= bc SRCS= bc.y scan.l tty.c CFLAGS+= -I. -I${.CURDIR} -LDADD+= -ledit -lcurses -DPADD+= ${LIBEDIT} ${LIBCURSES} +DPADD+= ${LIBEDIT} ${LIBNCURSESW} +LDADD+= -ledit -lncursesw NO_WMISSING_VARIABLE_DECLARATIONS= diff --git a/usr.bin/bluetooth/rfcomm_sppd/Makefile b/usr.bin/bluetooth/rfcomm_sppd/Makefile index 9018f6e..0da7498 100644 --- a/usr.bin/bluetooth/rfcomm_sppd/Makefile +++ b/usr.bin/bluetooth/rfcomm_sppd/Makefile @@ -6,6 +6,6 @@ SRCS= rfcomm_sppd.c rfcomm_sdp.c WARNS?= 2 DPADD= ${LIBBLUETOOTH} ${LIBSDP} -LDADD= -lbluetooth -lsdp +LDADD= -lbluetooth -lsdp -lutil .include <bsd.prog.mk> diff --git a/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 b/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 index 0f60089..849c02c6 100644 --- a/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 +++ b/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 @@ -33,10 +33,9 @@ .Nd RFCOMM Serial Port Profile daemon .Sh SYNOPSIS .Nm -.Op Fl bhS +.Op Fl bhtS .Fl a Ar address .Fl c Ar channel -.Op Fl t Ar tty .Sh DESCRIPTION The .Nm @@ -53,7 +52,7 @@ Once connection is established, the .Nm utility provides access to the server's remote serial port via stdin/stdout or via -.Xr pty 4 +.Xr pts 4 interface if .Fl t option was specified. @@ -72,8 +71,7 @@ daemon. If .Fl t options was specified, -the server side of the virtual serial port is attached to the pseudo-terminal -.Ar tty . +the server side of the virtual serial port is attached to a pseudo-terminal. Otherwise the virtual serial port is attached to the stdin/stdout. .Nm should be run as root in order to communicate with @@ -146,24 +144,22 @@ Display usage message and exit. .It Fl S Server mode; see .Sx DESCRIPTION . -.It Fl t Ar tty -Slave pseudo tty name. +.It Fl t +Use slave pseudo tty. If not set stdin/stdout will be used. This option is required if .Fl b option was specified. .El .Sh FILES -.Bl -tag -width ".Pa /dev/tty[p-sP-S][0-9a-v]" -compact -.It Pa /dev/pty[p-sP-S][0-9a-v] -master pseudo terminals -.It Pa /dev/tty[p-sP-S][0-9a-v] +.Bl -tag -width ".Pa /dev/pts/[num]" -compact +.It Pa /dev/pts/[num] slave pseudo terminals .El .Sh EXIT STATUS .Ex -std .Sh EXAMPLES -.Dl "rfcomm_sppd -a 00:01:02:03:04:05 -c 1 -t /dev/ttyp1" +.Dl "rfcomm_sppd -a 00:01:02:03:04:05 -c 1 -t" .Pp Will start the .Nm @@ -171,13 +167,17 @@ utility and open RFCOMM connection to the server at .Li 00:01:02:03:04:05 and channel .Li 1 . -Once the connection has been established, -.Pa /dev/ttyp1 +Once the connection has been established, a +.Xr pts 4 can be used to talk to the remote serial port on the server. +.Nm +prints the name of the +.Xr pts 4 +to use on stdout. .Sh SEE ALSO .Xr bluetooth 3 , .Xr ng_btsocket 4 , -.Xr pty 4 , +.Xr pts 4 , .Xr rfcomm_pppd 8 , .Xr sdpd 8 .Sh AUTHORS diff --git a/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c b/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c index 4e0d04b..ab6e1a7 100644 --- a/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c +++ b/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c @@ -32,6 +32,7 @@ */ #include <sys/stat.h> +#include <sys/types.h> #include <bluetooth.h> #include <ctype.h> #include <err.h> @@ -49,6 +50,7 @@ #include <syslog.h> #include <termios.h> #include <unistd.h> +#include <libutil.h> #define SPPD_IDENT "rfcomm_sppd" #define SPPD_BUFFER_SIZE 1024 @@ -58,7 +60,7 @@ int rfcomm_channel_lookup (bdaddr_t const *local, bdaddr_t const *remote, int service, int *channel, int *error); -static int sppd_ttys_open (char const *tty, int *amaster, int *aslave); +static int sppd_ttys_open (char **tty, int *amaster, int *aslave); static int sppd_read (int fd, char *buffer, int size); static int sppd_write (int fd, char *buffer, int size); static void sppd_sighandler (int s); @@ -74,7 +76,8 @@ main(int argc, char *argv[]) struct sockaddr_rfcomm ra; bdaddr_t addr; int n, background, channel, service, - s, amaster, aslave, fd, doserver; + s, amaster, aslave, fd, doserver, + dopty; fd_set rfd; char *tty = NULL, *ep = NULL, buf[SPPD_BUFFER_SIZE]; @@ -82,9 +85,10 @@ main(int argc, char *argv[]) background = channel = 0; service = SDP_SERVICE_CLASS_SERIAL_PORT; doserver = 0; + dopty = 0; /* Parse command line options */ - while ((n = getopt(argc, argv, "a:bc:t:hS")) != -1) { + while ((n = getopt(argc, argv, "a:bc:thS")) != -1) { switch (n) { case 'a': /* BDADDR */ if (!bt_aton(optarg, &addr)) { @@ -130,11 +134,8 @@ main(int argc, char *argv[]) background = 1; break; - case 't': /* Slave TTY name */ - if (optarg[0] != '/') - asprintf(&tty, "%s%s", _PATH_DEV, optarg); - else - tty = optarg; + case 't': /* Open pseudo TTY */ + dopty = 1; break; case 'S': @@ -173,18 +174,18 @@ main(int argc, char *argv[]) err(1, "Could not sigaction(SIGCHLD)"); /* Open TTYs */ - if (tty == NULL) { + if (dopty) { + if (sppd_ttys_open(&tty, &amaster, &aslave) < 0) + exit(1); + + fd = amaster; + } else { if (background) usage(); amaster = STDIN_FILENO; fd = STDOUT_FILENO; - } else { - if (sppd_ttys_open(tty, &amaster, &aslave) < 0) - exit(1); - - fd = amaster; - } + } /* Open RFCOMM connection */ @@ -287,6 +288,10 @@ main(int argc, char *argv[]) openlog(SPPD_IDENT, LOG_NDELAY|LOG_PERROR|LOG_PID, LOG_DAEMON); syslog(LOG_INFO, "Starting on %s...", (tty != NULL)? tty : "stdin/stdout"); + /* Print used tty on stdout for wrappers to pick up */ + if (!background) + fprintf(stdout, "%s\n", tty); + for (done = 0; !done; ) { FD_ZERO(&rfd); FD_SET(amaster, &rfd); @@ -359,70 +364,20 @@ main(int argc, char *argv[]) /* Open TTYs */ static int -sppd_ttys_open(char const *tty, int *amaster, int *aslave) +sppd_ttys_open(char **tty, int *amaster, int *aslave) { - char pty[PATH_MAX], *slash; - struct group *gr = NULL; - gid_t ttygid; + char pty[PATH_MAX]; struct termios tio; - /* - * Construct master PTY name. The slave tty name must be less then - * PATH_MAX characters in length, must contain '/' character and - * must not end with '/'. - */ - - if (strlen(tty) >= sizeof(pty)) { - syslog(LOG_ERR, "Slave tty name is too long"); - return (-1); - } - - strlcpy(pty, tty, sizeof(pty)); - slash = strrchr(pty, '/'); - if (slash == NULL || slash[1] == '\0') { - syslog(LOG_ERR, "Invalid slave tty name (%s)", tty); - return (-1); - } - - slash[1] = 'p'; - - if (strcmp(pty, tty) == 0) { - syslog(LOG_ERR, "Master and slave tty are the same (%s)", tty); - return (-1); - } - - if ((*amaster = open(pty, O_RDWR, 0)) < 0) { - syslog(LOG_ERR, "Could not open(%s). %s", pty, strerror(errno)); - return (-1); - } - - /* - * Slave TTY - */ - - if ((gr = getgrnam("tty")) != NULL) - ttygid = gr->gr_gid; - else - ttygid = -1; - - (void) chown(tty, getuid(), ttygid); - (void) chmod(tty, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP); - (void) revoke(tty); + cfmakeraw(&tio); - if ((*aslave = open(tty, O_RDWR, 0)) < 0) { - syslog(LOG_ERR, "Could not open(%s). %s", tty, strerror(errno)); - close(*amaster); + if (openpty(amaster, aslave, pty, &tio, NULL) == -1) { + syslog(LOG_ERR, "Could not openpty(). %s", strerror(errno)); return (-1); } - /* - * Make slave TTY raw - */ - - cfmakeraw(&tio); - - if (tcsetattr(*aslave, TCSANOW, &tio) < 0) { - syslog(LOG_ERR, "Could not tcsetattr(). %s", strerror(errno)); + if ((*tty = strdup(pty)) == NULL) { + syslog(LOG_ERR, "Could not strdup(). %s", strerror(errno)); close(*aslave); close(*amaster); return (-1); @@ -496,7 +451,7 @@ usage(void) "\t-a address Peer address (required in client mode)\n" \ "\t-b Run in background\n" \ "\t-c channel RFCOMM channel to connect to or listen on\n" \ -"\t-t tty TTY name (required in background mode)\n" \ +"\t-t use slave pseudo tty (required in background mode)\n" \ "\t-S Server mode\n" \ "\t-h Display this message\n", SPPD_IDENT); exit(255); diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index e6cd93f..fc6df82 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -36,6 +36,7 @@ 01/26 Andrew Gallatin <gallatin@FreeBSD.org> born in Buffalo, New York, United States, 1970 01/27 Nick Sayer <nsayer@FreeBSD.org> born in San Diego, California, United States, 1968 01/27 Jacques Anthony Vidrine <nectar@FreeBSD.org> born in Baton Rouge, Louisiana, United States, 1971 +01/27 Garrett Cooper <ngie@FreeBSD.org> born in Seattle, Washington, United States, 1984 01/31 Hidetoshi Shimokawa <simokawa@FreeBSD.org> born in Yokohama, Kanagawa, Japan, 1970 02/01 Doug Rabson <dfr@FreeBSD.org> born in London, England, 1966 02/01 Nicola Vitale <nivit@FreeBSD.org> born in Busto Arsizio, Varese, Italy, 1976 @@ -51,6 +52,7 @@ 02/03 Jason Helfman <jgh@FreeBSD.org> born in Royal Oak, Michigan, United States, 1972 02/04 Eitan Adler <eadler@FreeBSD.org> born in West Hempstead, New York, United States, 1991 02/05 Frank Laszlo <laszlof@FreeBSD.org> born in Howell, Michigan, United States, 1983 +02/06 Julien Charbon <jch@FreeBSD.org> born in Saint Etienne, Loire, France, 1978 02/10 David Greenman <dg@FreeBSD.org> born in Portland, Oregon, United States, 1968 02/10 Paul Richards <paul@FreeBSD.org> born in Ammanford, Carmarthenshire, United Kingdom, 1968 02/10 Simon Barner <barner@FreeBSD.org> born in Rosenheim, Bayern, Germany, 1980 diff --git a/usr.bin/clang/clang-tblgen/Makefile b/usr.bin/clang/clang-tblgen/Makefile index 34e7aeb..0f64ad3 100644 --- a/usr.bin/clang/clang-tblgen/Makefile +++ b/usr.bin/clang/clang-tblgen/Makefile @@ -19,6 +19,4 @@ SRCS= ClangASTNodesEmitter.cpp \ LIBDEPS=llvmtablegen \ llvmsupport -NO_PIE= yes - .include "../clang.prog.mk" diff --git a/usr.bin/clang/clang.prog.mk b/usr.bin/clang/clang.prog.mk index b127a77..14f7609 100644 --- a/usr.bin/clang/clang.prog.mk +++ b/usr.bin/clang/clang.prog.mk @@ -1,7 +1,5 @@ # $FreeBSD$ -NO_PIE= yes - LLVM_SRCS= ${.CURDIR}/../../../contrib/llvm .include "../../lib/clang/clang.build.mk" diff --git a/usr.bin/clang/lldb/Makefile b/usr.bin/clang/lldb/Makefile index b8dc38e..92e2640 100644 --- a/usr.bin/clang/lldb/Makefile +++ b/usr.bin/clang/lldb/Makefile @@ -16,8 +16,8 @@ SRCS= Driver.cpp \ lldb.1: ln -fs ${LLDB_SRCS}/docs/lldb.1 ${.TARGET} -DPADD= ${LIBEDIT} ${LIBCURSES} ${LIBEXECINFO} -LDADD= -lcurses -ledit -lexecinfo -lpanel +DPADD= ${LIBEDIT} ${LIBNCURSESW} ${LIBEXECINFO} ${LIBPANEL} +LDADD= -ledit -lncursesw -lexecinfo -lpanel LLDB_LIBS=\ lldb \ diff --git a/usr.bin/clang/tblgen/Makefile b/usr.bin/clang/tblgen/Makefile index 31fdc20..f06150e 100644 --- a/usr.bin/clang/tblgen/Makefile +++ b/usr.bin/clang/tblgen/Makefile @@ -42,6 +42,4 @@ SRCS= AsmMatcherEmitter.cpp \ LIBDEPS=llvmtablegen \ llvmsupport -NO_PIE= yes - .include "../clang.prog.mk" diff --git a/usr.bin/cmp/Makefile b/usr.bin/cmp/Makefile index d93f54b..5b9fdfc 100644 --- a/usr.bin/cmp/Makefile +++ b/usr.bin/cmp/Makefile @@ -1,7 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ +.include <src.opts.mk> + PROG= cmp SRCS= cmp.c link.c misc.c regular.c special.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/cmp/tests/Makefile b/usr.bin/cmp/tests/Makefile new file mode 100644 index 0000000..1c054c6 --- /dev/null +++ b/usr.bin/cmp/tests/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.bin/cmp +.PATH: ${TESTSRC} + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/usr.bin/cmp +ATF_TESTS_SH= cmp_test +ATF_TESTS_SH_SRC_cmp_test= t_cmp.sh + +.include <bsd.test.mk> diff --git a/usr.bin/col/col.c b/usr.bin/col/col.c index 78e9780..52214857 100644 --- a/usr.bin/col/col.c +++ b/usr.bin/col/col.c @@ -378,7 +378,7 @@ flush_blanks(void) PUTC('\n'); if (half) { PUTC('\033'); - PUTC('9'); + PUTC('\011'); if (!nb) PUTC('\r'); } diff --git a/usr.bin/compile_et/Makefile b/usr.bin/compile_et/Makefile index 122d745..d7177b2 100644 --- a/usr.bin/compile_et/Makefile +++ b/usr.bin/compile_et/Makefile @@ -12,6 +12,4 @@ CFLAGS+=-I. -I${.CURDIR}/../../contrib/com_err WARNS?= 0 -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/csup/cpasswd.1 b/usr.bin/csup/cpasswd.1 index 1e5a5c3..8d0ef09 100644 --- a/usr.bin/csup/cpasswd.1 +++ b/usr.bin/csup/cpasswd.1 @@ -107,12 +107,12 @@ http://www.cvsup.org/ .Ed .Sh AUTHORS .An -nosplit -.An Petar Zhivkov Petrov Aq pesho.petrov@gmail.com +.An Petar Zhivkov Petrov Aq Mt pesho.petrov@gmail.com is the author of .Nm , the rewrite of .Nm cvpasswd . -.An John Polstra Aq jdp@polstra.com +.An John Polstra Aq Mt jdp@polstra.com is the author of .Nm CVSup . .Sh LEGALITIES diff --git a/usr.bin/csup/csup.1 b/usr.bin/csup/csup.1 index fcf63ed..e40204b4 100644 --- a/usr.bin/csup/csup.1 +++ b/usr.bin/csup/csup.1 @@ -973,13 +973,13 @@ List files. .Xr ssh 1 . .Sh AUTHORS .An -nosplit -.An Maxime Henrion Aq mux@FreeBSD.org +.An Maxime Henrion Aq Mt mux@FreeBSD.org is the author of .Nm , the rewrite of .Nm CVSup in C. -.An John Polstra Aq jdp@polstra.com +.An John Polstra Aq Mt jdp@polstra.com is the author of .Nm CVSup . .Sh LEGALITIES diff --git a/usr.bin/cut/Makefile b/usr.bin/cut/Makefile index 5be029a..21c1a1c 100644 --- a/usr.bin/cut/Makefile +++ b/usr.bin/cut/Makefile @@ -1,6 +1,12 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ +.include <src.opts.mk> + PROG= cut +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/cut/tests/Makefile b/usr.bin/cut/tests/Makefile new file mode 100644 index 0000000..b324a78 --- /dev/null +++ b/usr.bin/cut/tests/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ + +TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.bin/cut +.PATH: ${TESTSRC} + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/usr.bin/cut +ATF_TESTS_SH= cut_test +ATF_TESTS_SH_SRC_cut_test= t_cut.sh + +FILESDIR= ${TESTSDIR} +FILES= d_basic.out +FILES+= d_cut.in +FILES+= d_dflag.out +FILES+= d_dsflag.out +FILES+= d_latin1.in +FILES+= d_sflag.out +FILES+= d_utf8.in + +.include <bsd.test.mk> diff --git a/usr.bin/dirname/Makefile b/usr.bin/dirname/Makefile index fb0e660..be9193c 100644 --- a/usr.bin/dirname/Makefile +++ b/usr.bin/dirname/Makefile @@ -1,7 +1,13 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ +.include <src.opts.mk> + PROG= dirname MAN= +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/dirname/tests/Makefile b/usr.bin/dirname/tests/Makefile new file mode 100644 index 0000000..5b84c57 --- /dev/null +++ b/usr.bin/dirname/tests/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.bin/dirname +.PATH: ${TESTSRC} + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/usr.bin/dirname +ATF_TESTS_SH= dirname_test +ATF_TESTS_SH_SRC_dirname_test= t_dirname.sh + +.include <bsd.test.mk> diff --git a/usr.bin/dpv/Makefile b/usr.bin/dpv/Makefile new file mode 100644 index 0000000..3cc18ca --- /dev/null +++ b/usr.bin/dpv/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +PROG= dpv + +CFLAGS+= -I${.CURDIR} + +DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSESW} ${LIBUTIL} +LDADD= -ldpv -ldialog -lfigpar -lncursesw -lutil + +WARNS?= 6 + +.include <bsd.prog.mk> diff --git a/usr.bin/dpv/dpv.1 b/usr.bin/dpv/dpv.1 new file mode 100644 index 0000000..c8d321b --- /dev/null +++ b/usr.bin/dpv/dpv.1 @@ -0,0 +1,430 @@ +.\" Copyright (c) 2013-2014 Devin Teske +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd Sep 7, 2014 +.Dt DPV 1 +.Os +.Sh NAME +.Nm dpv +.Nd stream data from stdin or multiple paths with dialog progress view +.Sh SYNOPSIS +.Nm +.Op options +.Ar [bytes:]label +.Nm +.Op options +.Fl m +.Ar [bytes1:]label1 +.Ar path1 +.Op Ar [bytes2:]label2 path2 ... +.Sh DESCRIPTION +.Nm +provides a dialog progress view, allowing a user to see current throughput rate +and total data transferred for one or more streams. +.Pp +The +.Nm +utility has two main modes for processing input. +.Pp +The default input mode, without +.Ql Fl m , +.Nm +reads bytes from standard input. +A label for the data must be provided. +.Pp +The secondary input mode, with +.Ql Fl m , +.Nm +reads multiple paths +.Pq up to 2047 or Dq ARG_MAX/2-1 , +sequentially. +.Pp +Data read in either mode is either thrown away +.Pq default , +sent to a spawned instance of the program specified via +.Ql Fl x Ar cmd , +or sent to a unique file specified by +.Ql Fl o Ar file . +.Pp +With or without +.Ql Fl m , +progress is displayed using one of +.Xr dialog 3 +.Pq default , +.Xr dialog 1 +.Pq see Ql Fl D , +or instead +.Xr Xdialog 1 +.Pq see Ql Fl X . +.Pp +The following options are available: +.Bl -tag -width ".Fl b Ar backtitle" +.It Fl a Ar text +Display +.Ar text +below the file progress indicator(s). +.It Fl b Ar backtitle +Display +.Ar backtitle +on the backdrop, at top-left, behind the dialog widget. +When using +.Xr Xdialog 1 , +this is displayed inside the window +.Pq at the top +followed by a separator line. +.It Fl d +Debug mode. +Print dialog prompt data to standard out and provide additional debugging on +standard error. +.It Fl D +Do not use the default interface of +.Xr dialog 3 , +but instead spawn an instance of +.Xr dialog 1 . +The path to +.Xr dialog 1 +is taken from the +.Ev DIALOG +environment variable or simply +.Dq Li dialog +if unset or NULL. +.It Fl h +Produce a short syntax usage with brief option descriptions and exit. +Output is produced on standard error. +.It Fl i Ar format +Customize the single-file format string used to update the status line. +Ignored when using either +.Ql Fl D +or +.Ql Fl X +which lack the ability to display the status line +.Pq containing bytes/rate/thread information . +Default value +is +.Dq Li %'10lli bytes read @ %'9.1f bytes/sec. . +This format is used when handling one file. +.It Fl I Ar format +Customize the multi-file format string used to update the status line. +Ignored when using either +.Ql Fl D +or +.Ql Fl X +which lack the ability to display the status line +.Pq containing bytes/rate/thread information . +Default value +is +.Dq Li %'10lli bytes read @ %'9.1f bytes/sec. [%i/%i busy/wait] . +This format is used when handling more than one file. +.It Fl l +Line mode. Read lines from input instead of bytes. +.It Fl L Ar size +Label size. +If negative, shrink to longest label width. +.It Fl m +Multi-input mode. +Instead of reading bytes from standard input, read from a set of paths +.Pq one for each label . +By default, each path is processed sequentially in the order given. +.It Fl n Ar num +Display at-most +.Ar num +progress indicators per screen. +If zero, display as many as possible. +If negative, only display the main progress indicator. +Default is 0. +Maximum value is 10. +.It Fl N +No overrun. +If enabled, stop reading known-length inputs when input reaches stated length. +.It Fl o Ar file +Output data to +.Ar file . +The first occurrence of +.Ql %s +.Pq if any +in +.Ql Ar file +will be replaced with the +.Ar label +text. +.It Fl p Ar text +Display +.Ar text +above the file progress indicator(s). +.It Fl P Ar size +Mini-progressbar size. +If negative, don't display mini-progressbars +.Pq only the large overall progress indicator is shown . +If zero, auto-adjust based on number of files to read. +When zero and only one file to read, defaults to -1. +When zero and more than one file to read, defaults to 17. +.It Fl t Ar title +Display +.Ar title +atop the dialog box. +Note that if you use this option at the same time as +.Ql Fl X +and +.Ql Fl b Ar backtitle , +the +.Ar backtitle +and +.Ar title +are effectively switched +.Pq see BUGS section below . +.It Fl T +Test mode. +Simulate reading a number of bytes, divided evenly across the number of files, +while stepping through each percent value of each file to process. +Appends +.Dq Li [TEST MODE] +to the status line +.Pq to override, use Ql Fl u Ar format . +No data is actually read. +.It Fl U Ar num +Update status line +.Ar num +times per-second. +Default value is +.Ql Li 2 . +A value of +.Ql Li 0 +disables status line updates. +If negative, update the status line as fast as possible. +Ignored when using either +.Ql Fl D +or +.Ql Fl X +which lack the ability to display the status line +.Pq containing bytes/rate/thread information . +.It Fl w +Wide mode. +Allows long +.Ar text +arguments used with +.Ql Fl p +and +.Ql Fl a +to bump the dialog width. +Prompts wider than the maximum width will wrap +.Pq unless using Xr Xdialog 1 ; see BUGS section below . +.It Fl x Ar cmd +Execute +.Ar cmd +.Pq via Xr sh 1 +and send it data that has been read. +Data is available to +.Ar cmd +on standard input. +With +.Ql Fl m , +.Ar cmd +is executed once for each +.Ar path +argument. +The first occurrence of +.Ql %s +.Pq if any +in +.Ql Ar cmd +will be replaced with the +.Ar label +text. +.It Fl X +Enable X11 mode by using +.Xr Xdialog 1 +instead of +.Xr dialog 1 +or +.Xr dialog 3 . +.El +.Sh ENVIRONMENT +The following environment variables are referenced by +.Nm : +.Bl -tag -width ".Ev USE_COLOR" +.It Ev DIALOG +Override command string used to launch +.Xr dialog 1 +.Pq requires Ql Fl D +or +.Xr Xdialog 1 +.Pq requires Ql Fl X ; +default is either +.Ql dialog +.Pq for Ql Fl D +or +.Ql Xdialog +.Pq for Ql Fl X . +.It Ev DIALOGRC +If set and non-NULL, path to +.Ql .dialogrc +file. +.It Ev HOME +If +.Ql Ev $DIALOGRC +is either not set or NULL, used as a prefix to +.Ql .dialogrc +.Pq i.e., Ql $HOME/.dialogrc . +.It Ev USE_COLOR +If set and NULL, disables the use of color when using +.Xr dialog 1 +.Pq does not apply to Xr Xdialog 1 . +.El +.Sh DEPENDENCIES +If using +.Ql Fl D , +.Xr dialog 1 +is required. +.Pp +If using +.Ql Fl X , +.Xr Xdialog 1 +is required. +.Sh FILES +.Bl -tag -width ".Pa $HOME/.dialogrc" -compact +.It Pa $HOME/.dialogrc +.El +.Sh EXAMPLES +.Pp +Simple example to show how fast +.Xr yes 1 +produces lines +.Pq usually about ten-million per-second; your results may vary : +.Bd -literal -offset indent +yes | dpv -l yes +.Ed +.Pp +Display progress while timing how long it takes +.Xr yes 1 +to produce a half-billion lines +.Pq usually under one minute; your results may vary : +.Bd -literal -offset indent +time yes | dpv -Nl 500000000:yes +.Ed +.Pp +An example to watch how quickly a file is transferred using +.Xr nc 1 : +.Bd -literal -offset indent +dpv -x "nc -w 1 somewhere.com 3000" -m label file +.Ed +.Pp +A similar example, transferring a file from another process and passing the +expected size to +.Nm : +.Bd -literal -offset indent +cat file | dpv -x "nc -w 1 somewhere.com 3000" 12345:label +.Ed +.Pp +A more complicated example: +.Bd -literal -offset indent +tar cf - . | dpv -x "gzip -9 > out.tgz" \\ + $( du -s . | awk '{print $1 * 1024}' ):label +.Ed +.Pp +Taking an image of a disk: +.Bd -literal -offset indent +dpv -o disk-image.img -m label /dev/ada0 +.Ed +.Pp +Writing an image back to a disk: +.Bd -literal -offset indent +dpv -o /dev/ada0 -m label disk-image.img +.Ed +.Pp +Zeroing a disk: +.Bd -literal -offset indent +dpv -o /dev/md42 < /dev/zero +.Ed +.Pp +.Sh BUGS +.Xr Xdialog 1 , +when given both +.Ql Fl -title Ar title +.Pq see above Ql Fl t Ar title +and +.Ql Fl -backtitle Ar backtitle +.Pq see above Ql Fl b Ar backtitle , +displays the backtitle in place of the title and vice-versa. +.Pp +.Xr Xdialog 1 +does not wrap long prompt texts received after initial launch. +This is a known issue with the +.Ql --gauge +widget in +.Xr Xdialog 1 . +.Pp +.Xr dialog 1 +does not display the first character after a series of escaped escape-sequences +(e.g., ``\\\\n'' produces ``\\'' instead of ``\\n''). +This is a known issue with +.Xr dialog 1 +and does not affect +.Xr dialog 3 +or +.Xr Xdialog 1 . +.Pp +If your application ignores +.Ev USE_COLOR +when set and NULL before calling +.Xr dpv 1 +with color escape sequences anyway, +.Xr dialog 3 +and +.Xr dialog 1 +may not render properly. +Workaround is to detect when +.Ev USE_COLOR +is set and NULL and either not use color escape sequences at that time or use +.Xr unset 1 +.Xr [ sh 1 ] +or +.Xr unsetenv 1 +.Xr [ csh 1 ] +to unset +.Ev USE_COLOR , +forcing interpretation of color sequences. +This does not effect +.Xr Xdialog 1 , +which renders the color escape sequences as plain text. +See +.Do Li +embedded "\\Z" sequences +.Dc +in +.Xr dialog 1 +for additional information. +.Sh SEE ALSO +.Xr dialog 1 , +.Xr dialog 3 , +.Xr sh 1 , +.Xr Xdialog 1 +.Sh HISTORY +A +.Nm +utility first appeared in +.Fx 11.0 . +.Sh AUTHORS +.An Devin Teske Aq dteske@FreeBSD.org diff --git a/usr.bin/dpv/dpv.c b/usr.bin/dpv/dpv.c new file mode 100644 index 0000000..4e006f6 --- /dev/null +++ b/usr.bin/dpv/dpv.c @@ -0,0 +1,541 @@ +/*- + * Copyright (c) 2013-2014 Devin Teske <dteske@FreeBSD.org> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#include <sys/stat.h> +#include <sys/types.h> + +#define _BSD_SOURCE /* to get dprintf() prototype in stdio.h below */ +#include <dialog.h> +#include <dpv.h> +#include <err.h> +#include <errno.h> +#include <fcntl.h> +#include <limits.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <string_m.h> +#include <unistd.h> + +#include "dpv_util.h" + +/* Debugging */ +static uint8_t debug = FALSE; + +/* Data to process */ +static struct dpv_file_node *file_list = NULL; +static unsigned int nfiles = 0; + +/* Data processing */ +static uint8_t line_mode = FALSE; +static uint8_t no_overrun = FALSE; +static char *buf = NULL; +static int fd = -1; +static int output_type = DPV_OUTPUT_NONE; +static size_t bsize; +static char rpath[PATH_MAX]; + +/* Extra display information */ +static uint8_t multiple = FALSE; /* `-m' */ +static char *pgm; /* set to argv[0] by main() */ + +/* Function prototypes */ +static void sig_int(int sig); +static void usage(void); +int main(int argc, char *argv[]); +static int operate_common(struct dpv_file_node *file, int out); +static int operate_on_bytes(struct dpv_file_node *file, int out); +static int operate_on_lines(struct dpv_file_node *file, int out); + +static int +operate_common(struct dpv_file_node *file, int out) +{ + struct stat sb; + + /* Open the file if necessary */ + if (fd < 0) { + if (multiple) { + /* Resolve the file path and attempt to open it */ + if (realpath(file->path, rpath) == 0 || + (fd = open(rpath, O_RDONLY)) < 0) { + warn("%s", file->path); + file->status = DPV_STATUS_FAILED; + return (-1); + } + } else { + /* Assume stdin, but if that's a TTY instead use the + * highest numbered file descriptor (obtained by + * generating new fd and then decrementing). + * + * NB: /dev/stdin should always be open(2)'able + */ + fd = STDIN_FILENO; + if (isatty(fd)) { + fd = open("/dev/stdin", O_RDONLY); + close(fd--); + } + + /* This answer might be wrong, if dpv(3) has (by + * request) opened an output file or pipe. If we + * told dpv(3) to open a file, subtract one from + * previous answer. If instead we told dpv(3) to + * prepare a pipe output, subtract two. + */ + switch(output_type) { + case DPV_OUTPUT_FILE: + fd -= 1; + break; + case DPV_OUTPUT_SHELL: + fd -= 2; + break; + } + } + } + + /* Allocate buffer if necessary */ + if (buf == NULL) { + /* Use output block size as buffer size if available */ + if (out >= 0) { + if (fstat(out, &sb) != 0) { + warn("%i", out); + file->status = DPV_STATUS_FAILED; + return (-1); + } + if (S_ISREG(sb.st_mode)) { + if (sysconf(_SC_PHYS_PAGES) > + PHYSPAGES_THRESHOLD) + bsize = MIN(BUFSIZE_MAX, MAXPHYS * 8); + else + bsize = BUFSIZE_SMALL; + } else + bsize = MAX(sb.st_blksize, + (blksize_t)sysconf(_SC_PAGESIZE)); + } else + bsize = MIN(BUFSIZE_MAX, MAXPHYS * 8); + + /* Attempt to allocate */ + if ((buf = malloc(bsize+1)) == NULL) { + end_dialog(); + err(EXIT_FAILURE, "Out of memory?!"); + } + } + + return (0); +} + +static int +operate_on_bytes(struct dpv_file_node *file, int out) +{ + int progress; + ssize_t r, w; + + if (operate_common(file, out) < 0) + return (-1); + + /* [Re-]Fill the buffer */ + if ((r = read(fd, buf, bsize)) <= 0) { + if (fd != STDIN_FILENO) + close(fd); + fd = -1; + file->status = DPV_STATUS_DONE; + return (100); + } + + /* [Re-]Dump the buffer */ + if (out >= 0) { + if ((w = write(out, buf, r)) < 0) { + end_dialog(); + err(EXIT_FAILURE, "output"); + } + fsync(out); + } + + dpv_overall_read += r; + file->read += r; + + /* Calculate percentage of completion (if possible) */ + if (file->length >= 0) { + progress = (file->read * 100 / (file->length > 0 ? + file->length : 1)); + + /* If no_overrun, do not return 100% until read >= length */ + if (no_overrun && progress == 100 && file->read < file->length) + progress--; + + return (progress); + } else + return (-1); +} + +static int +operate_on_lines(struct dpv_file_node *file, int out) +{ + char *p; + int progress; + ssize_t r, w; + + if (operate_common(file, out) < 0) + return (-1); + + /* [Re-]Fill the buffer */ + if ((r = read(fd, buf, bsize)) <= 0) { + if (fd != STDIN_FILENO) + close(fd); + fd = -1; + file->status = DPV_STATUS_DONE; + return (100); + } + buf[r] = '\0'; + + /* [Re-]Dump the buffer */ + if (out >= 0) { + if ((w = write(out, buf, r)) < 0) { + end_dialog(); + err(EXIT_FAILURE, "output"); + } + fsync(out); + } + + /* Process the buffer for number of lines */ + for (p = buf; p != NULL && *p != '\0';) + if ((p = strchr(p, '\n')) != NULL) + dpv_overall_read++, p++, file->read++; + + /* Calculate percentage of completion (if possible) */ + if (file->length >= 0) { + progress = (file->read * 100 / file->length); + + /* If no_overrun, do not return 100% until read >= length */ + if (no_overrun && progress == 100 && file->read < file->length) + progress--; + + return (progress); + } else + return (-1); +} + +/* + * Takes a list of names that are to correspond to input streams coming from + * stdin or fifos and produces necessary config to drive dpv(3) `--gauge' + * widget. If the `-d' flag is used, output is instead send to terminal + * standard output (and the output can then be saved to a file, piped into + * custom [X]dialog(1) invocation, or whatever. + */ +int +main(int argc, char *argv[]) +{ + char dummy; + int ch; + int n = 0; + size_t config_size = sizeof(struct dpv_config); + size_t file_node_size = sizeof(struct dpv_file_node); + struct dpv_config *config; + struct dpv_file_node *curfile; + struct sigaction act; + + pgm = argv[0]; /* store a copy of invocation name */ + + /* Allocate config structure */ + if ((config = malloc(config_size)) == NULL) + errx(EXIT_FAILURE, "Out of memory?!"); + memset((void *)(config), '\0', config_size); + + /* + * Process command-line options + */ + while ((ch = getopt(argc, argv, + "a:b:dDhi:I:lL:mn:No:p:P:t:TU:wx:X")) != -1) { + switch(ch) { + case 'a': /* additional message text to append */ + if (config->aprompt == NULL) { + config->aprompt = malloc(DPV_APROMPT_MAX); + if (config->aprompt == NULL) + errx(EXIT_FAILURE, "Out of memory?!"); + } + snprintf(config->aprompt, DPV_APROMPT_MAX, "%s", + optarg); + break; + case 'b': /* [X]dialog(1) backtitle */ + if (config->backtitle != NULL) + free((char *)config->backtitle); + config->backtitle = malloc(strlen(optarg) + 1); + if (config->backtitle == NULL) + errx(EXIT_FAILURE, "Out of memory?!"); + *(config->backtitle) = '\0'; + strcat(config->backtitle, optarg); + break; + case 'd': /* debugging */ + debug = TRUE; + config->debug = debug; + break; + case 'D': /* use dialog(1) instead of libdialog */ + config->display_type = DPV_DISPLAY_DIALOG; + break; + case 'h': /* help/usage */ + usage(); + break; /* NOTREACHED */ + case 'i': /* status line format string for single-file */ + config->status_solo = optarg; + break; + case 'I': /* status line format string for many-files */ + config->status_many = optarg; + break; + case 'l': /* Line mode */ + line_mode = TRUE; + break; + case 'L': /* custom label size */ + config->label_size = + (int)strtol(optarg, (char **)NULL, 10); + if (config->label_size == 0 && errno == EINVAL) + errx(EXIT_FAILURE, + "`-L' argument must be numeric"); + else if (config->label_size < -1) + config->label_size = -1; + break; + case 'm': /* enable multiple file arguments */ + multiple = TRUE; + break; + case 'o': /* `-o path' for sending data-read to file */ + output_type = DPV_OUTPUT_FILE; + config->output_type = DPV_OUTPUT_FILE; + config->output = optarg; + break; + case 'n': /* custom number of files per `page' */ + config->display_limit = + (int)strtol(optarg, (char **)NULL, 10); + if (config->display_limit == 0 && errno == EINVAL) + errx(EXIT_FAILURE, + "`-n' argument must be numeric"); + else if (config->display_limit < 0) + config->display_limit = -1; + break; + case 'N': /* No overrun (truncate reads of known-length) */ + no_overrun = TRUE; + config->options |= DPV_NO_OVERRUN; + break; + case 'p': /* additional message text to use as prefix */ + if (config->pprompt == NULL) { + config->pprompt = malloc(DPV_PPROMPT_MAX + 2); + if (config->pprompt == NULL) + errx(EXIT_FAILURE, "Out of memory?!"); + /* +2 is for implicit "\n" appended later */ + } + snprintf(config->pprompt, DPV_PPROMPT_MAX, "%s", + optarg); + break; + case 'P': /* custom size for mini-progressbar */ + config->pbar_size = + (int)strtol(optarg, (char **)NULL, 10); + if (config->pbar_size == 0 && errno == EINVAL) + errx(EXIT_FAILURE, + "`-P' argument must be numeric"); + else if (config->pbar_size < -1) + config->pbar_size = -1; + break; + case 't': /* [X]dialog(1) title */ + if (config->title != NULL) + free(config->title); + config->title = malloc(strlen(optarg) + 1); + if (config->title == NULL) + errx(EXIT_FAILURE, "Out of memory?!"); + *(config->title) = '\0'; + strcat(config->title, optarg); + break; + case 'T': /* test mode (don't read data, fake it) */ + config->options |= DPV_TEST_MODE; + break; + case 'U': /* updates per second */ + config->status_updates_per_second = + (int)strtol(optarg, (char **)NULL, 10); + if (config->status_updates_per_second == 0 && + errno == EINVAL) + errx(EXIT_FAILURE, + "`-U' argument must be numeric"); + break; + case 'w': /* `-p' and `-a' widths bump [X]dialog(1) width */ + config->options |= DPV_WIDE_MODE; + break; + case 'x': /* `-x cmd' for sending data-read to sh(1) code */ + output_type = DPV_OUTPUT_SHELL; + config->output_type = DPV_OUTPUT_SHELL; + config->output = optarg; + break; + case 'X': /* X11 support through x11/xdialog */ + config->display_type = DPV_DISPLAY_XDIALOG; + break; + case '?': /* unknown argument (based on optstring) */ + /* FALLTHROUGH */ + default: /* unhandled argument (based on switch) */ + usage(); + /* NOTREACHED */ + } + } + argc -= optind; + argv += optind; + + /* Process remaining arguments as list of names to display */ + for (curfile = file_list; n < argc; n++) { + nfiles++; + + /* Allocate a new struct for the file argument */ + if (curfile == NULL) { + if ((curfile = malloc(file_node_size)) == NULL) + errx(EXIT_FAILURE, "Out of memory?!"); + memset((void *)(curfile), '\0', file_node_size); + file_list = curfile; + } else { + if ((curfile->next = malloc(file_node_size)) == NULL) + errx(EXIT_FAILURE, "Out of memory?!"); + memset((void *)(curfile->next), '\0', file_node_size); + curfile = curfile->next; + } + curfile->name = argv[n]; + + /* Read possible `lines:' prefix from label syntax */ + if (sscanf(curfile->name, "%lli:%c", &(curfile->length), + &dummy) == 2) + curfile->name = strchr(curfile->name, ':') + 1; + else + curfile->length = -1; + + /* Read path argument if enabled */ + if (multiple) { + if (++n >= argc) + errx(EXIT_FAILURE, "Missing path argument " + "for label number %i", nfiles); + curfile->path = argv[n]; + } else + break; + } + + /* Display usage and exit if not given at least one name */ + if (nfiles == 0) { + warnx("no labels provided"); + usage(); + /* NOTREACHED */ + } + + /* + * Set cleanup routine for Ctrl-C action + */ + if (config->display_type == DPV_DISPLAY_LIBDIALOG) { + act.sa_handler = sig_int; + sigaction(SIGINT, &act, 0); + } + + /* Set status formats and action */ + if (line_mode) { + config->status_solo = LINE_STATUS_SOLO; + config->status_many = LINE_STATUS_SOLO; + config->action = operate_on_lines; + } else { + config->status_solo = BYTE_STATUS_SOLO; + config->status_many = BYTE_STATUS_SOLO; + config->action = operate_on_bytes; + } + + /* + * Hand off to dpv(3)... + */ + if (dpv(config, file_list) != 0 && debug) + warnx("dpv(3) returned error!?"); + + end_dialog(); + dpv_free(); + + exit(EXIT_SUCCESS); +} + +/* + * Interrupt handler to indicate we received a Ctrl-C interrupt. + */ +static void +sig_int(int sig __unused) +{ + dpv_interrupt = TRUE; +} + +/* + * Print short usage statement to stderr and exit with error status. + */ +static void +usage(void) +{ + + if (debug) /* No need for usage */ + exit(EXIT_FAILURE); + + fprintf(stderr, "Usage: %s [options] bytes:label\n", pgm); + fprintf(stderr, " %s [options] -m bytes1:label1 path1 " + "[bytes2:label2 path2 ...]\n", pgm); + fprintf(stderr, "OPTIONS:\n"); +#define OPTFMT "\t%-14s %s\n" + fprintf(stderr, OPTFMT, "-a text", + "Append text. Displayed below file progress indicators."); + fprintf(stderr, OPTFMT, "-b backtitle", + "String to be displayed on the backdrop, at top-left."); + fprintf(stderr, OPTFMT, "-d", + "Debug. Write to standard output instead of dialog."); + fprintf(stderr, OPTFMT, "-D", + "Use dialog(1) instead of dialog(3) [default]."); + fprintf(stderr, OPTFMT, "-h", + "Produce this output on standard error and exit."); + fprintf(stderr, OPTFMT, "-i format", + "Customize status line format. See fdpv(1) for details."); + fprintf(stderr, OPTFMT, "-I format", + "Customize status line format. See fdpv(1) for details."); + fprintf(stderr, OPTFMT, "-L size", + "Label size. Must be a number greater than 0, or -1."); + fprintf(stderr, OPTFMT, "-m", + "Enable processing of multiple file argiments."); + fprintf(stderr, OPTFMT, "-n num", + "Display at-most num files per screen. Default is -1."); + fprintf(stderr, OPTFMT, "-N", + "No overrun. Stop reading input at stated length, if any."); + fprintf(stderr, OPTFMT, "-o file", + "Output data to file. First %s replaced with label text."); + fprintf(stderr, OPTFMT, "-p text", + "Prefix text. Displayed above file progress indicators."); + fprintf(stderr, OPTFMT, "-P size", + "Mini-progressbar size. Must be a number greater than 3."); + fprintf(stderr, OPTFMT, "-t title", + "Title string to be displayed at top of dialog(1) box."); + fprintf(stderr, OPTFMT, "-T", + "Test mode. Don't actually read any data, but fake it."); + fprintf(stderr, OPTFMT, "-U num", + "Update status line num times per-second. Default is 2."); + fprintf(stderr, OPTFMT, "-w", + "Wide. Width of `-p' and `-a' text bump dialog(1) width."); + fprintf(stderr, OPTFMT, "-x cmd", + "Send data to executed cmd. First %s replaced with label."); + fprintf(stderr, OPTFMT, "-X", + "X11. Use Xdialog(1) instead of dialog(1)."); + exit(EXIT_FAILURE); +} diff --git a/usr.bin/dpv/dpv_util.h b/usr.bin/dpv/dpv_util.h new file mode 100644 index 0000000..36990be --- /dev/null +++ b/usr.bin/dpv/dpv_util.h @@ -0,0 +1,68 @@ +/*- + * Copyright (c) 2013-2014 Devin Teske <dteske@FreeBSD.org> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _DPV_UTIL_H_ +#define _DPV_UTIL_H_ + +/* Limits */ +#define BUFSIZE_MAX (2 * 1024 * 1024) + /* Buffer size for read(2) input */ +#ifndef MAXPHYS +#define MAXPHYS (128 * 1024) + /* max raw I/O transfer size */ +#endif + +/* + * Memory strategry threshold, in pages: if physmem is larger than this, + * use a large buffer. + */ +#define PHYSPAGES_THRESHOLD (32 * 1024) + +/* + * Small (default) buffer size in bytes. It's inefficient for this to be + * smaller than MAXPHYS. + */ +#define BUFSIZE_SMALL (MAXPHYS) + +/* + * Math macros + */ +#undef MIN +#define MIN(x,y) ((x) < (y) ? (x) : (y)) +#undef MAX +#define MAX(x,y) ((x) > (y) ? (x) : (y)) + +/* + * Extra display information + */ +#define BYTE_STATUS_SOLO "%'10lli bytes read @ %'9.1f bytes/sec." +#define BYTE_STATUS_MANY (BYTE_STATUS_SOLO " [%i/%i busy/wait]") +#define LINE_STATUS_SOLO "%'10lli lines read @ %'9.1f lines/sec." +#define LINE_STATUS_MANY (LINE_STATUS_SOLO " [%i/%i busy/wait]") + +#endif /* !_DPV_UTIL_H_ */ diff --git a/usr.bin/drill/Makefile b/usr.bin/drill/Makefile index a963bfc..0db0604 100644 --- a/usr.bin/drill/Makefile +++ b/usr.bin/drill/Makefile @@ -13,7 +13,7 @@ NO_WERROR= true MAN= drill.1 DPADD+= ${LIBLDNS} ${LIBCRYPTO} -LDADD+= -lldns -lcrypto +LDADD+= ${LDLDNS} -lcrypto USEPRIVATELIB= ldns .include <bsd.prog.mk> diff --git a/usr.bin/elfdump/elfdump.1 b/usr.bin/elfdump/elfdump.1 index dbb3171..a549d53 100644 --- a/usr.bin/elfdump/elfdump.1 +++ b/usr.bin/elfdump/elfdump.1 @@ -50,7 +50,7 @@ The options are as follows: .It Fl a Dump all information. .It Fl c -Dump shared headers. +Dump section headers. .It Fl d Dump dynamic symbols. .It Fl e diff --git a/usr.bin/elfdump/elfdump.c b/usr.bin/elfdump/elfdump.c index 4ba4529..bf9b718 100644 --- a/usr.bin/elfdump/elfdump.c +++ b/usr.bin/elfdump/elfdump.c @@ -172,74 +172,74 @@ d_tags(u_int64_t tag) static char unknown_tag[48]; switch (tag) { - case 0: return "DT_NULL"; - case 1: return "DT_NEEDED"; - case 2: return "DT_PLTRELSZ"; - case 3: return "DT_PLTGOT"; - case 4: return "DT_HASH"; - case 5: return "DT_STRTAB"; - case 6: return "DT_SYMTAB"; - case 7: return "DT_RELA"; - case 8: return "DT_RELASZ"; - case 9: return "DT_RELAENT"; - case 10: return "DT_STRSZ"; - case 11: return "DT_SYMENT"; - case 12: return "DT_INIT"; - case 13: return "DT_FINI"; - case 14: return "DT_SONAME"; - case 15: return "DT_RPATH"; - case 16: return "DT_SYMBOLIC"; - case 17: return "DT_REL"; - case 18: return "DT_RELSZ"; - case 19: return "DT_RELENT"; - case 20: return "DT_PLTREL"; - case 21: return "DT_DEBUG"; - case 22: return "DT_TEXTREL"; - case 23: return "DT_JMPREL"; - case 24: return "DT_BIND_NOW"; - case 25: return "DT_INIT_ARRAY"; - case 26: return "DT_FINI_ARRAY"; - case 27: return "DT_INIT_ARRAYSZ"; - case 28: return "DT_FINI_ARRAYSZ"; - case 29: return "DT_RUNPATH"; - case 30: return "DT_FLAGS"; - case 32: return "DT_PREINIT_ARRAY"; /* XXX: DT_ENCODING */ - case 33: return "DT_PREINIT_ARRAYSZ"; + case DT_NULL: return "DT_NULL"; + case DT_NEEDED: return "DT_NEEDED"; + case DT_PLTRELSZ: return "DT_PLTRELSZ"; + case DT_PLTGOT: return "DT_PLTGOT"; + case DT_HASH: return "DT_HASH"; + case DT_STRTAB: return "DT_STRTAB"; + case DT_SYMTAB: return "DT_SYMTAB"; + case DT_RELA: return "DT_RELA"; + case DT_RELASZ: return "DT_RELASZ"; + case DT_RELAENT: return "DT_RELAENT"; + case DT_STRSZ: return "DT_STRSZ"; + case DT_SYMENT: return "DT_SYMENT"; + case DT_INIT: return "DT_INIT"; + case DT_FINI: return "DT_FINI"; + case DT_SONAME: return "DT_SONAME"; + case DT_RPATH: return "DT_RPATH"; + case DT_SYMBOLIC: return "DT_SYMBOLIC"; + case DT_REL: return "DT_REL"; + case DT_RELSZ: return "DT_RELSZ"; + case DT_RELENT: return "DT_RELENT"; + case DT_PLTREL: return "DT_PLTREL"; + case DT_DEBUG: return "DT_DEBUG"; + case DT_TEXTREL: return "DT_TEXTREL"; + case DT_JMPREL: return "DT_JMPREL"; + case DT_BIND_NOW: return "DT_BIND_NOW"; + case DT_INIT_ARRAY: return "DT_INIT_ARRAY"; + case DT_FINI_ARRAY: return "DT_FINI_ARRAY"; + case DT_INIT_ARRAYSZ: return "DT_INIT_ARRAYSZ"; + case DT_FINI_ARRAYSZ: return "DT_FINI_ARRAYSZ"; + case DT_RUNPATH: return "DT_RUNPATH"; + case DT_FLAGS: return "DT_FLAGS"; + case DT_PREINIT_ARRAY: return "DT_PREINIT_ARRAY"; /* XXX DT_ENCODING */ + case DT_PREINIT_ARRAYSZ:return "DT_PREINIT_ARRAYSZ"; /* 0x6000000D - 0x6ffff000 operating system-specific semantics */ - case 0x6ffffdf5: return "DT_GNU_PRELINKED"; - case 0x6ffffdf6: return "DT_GNU_CONFLICTSZ"; - case 0x6ffffdf7: return "DT_GNU_LIBLISTSZ"; - case 0x6ffffdf8: return "DT_SUNW_CHECKSUM"; - case 0x6ffffdf9: return "DT_PLTPADSZ"; - case 0x6ffffdfa: return "DT_MOVEENT"; - case 0x6ffffdfb: return "DT_MOVESZ"; - case 0x6ffffdfc: return "DT_FEATURE"; - case 0x6ffffdfd: return "DT_POSFLAG_1"; - case 0x6ffffdfe: return "DT_SYMINSZ"; - case 0x6ffffdff: return "DT_SYMINENT (DT_VALRNGHI)"; - case 0x6ffffe00: return "DT_ADDRRNGLO"; - case 0x6ffffef5: return "DT_GNU_HASH"; - case 0x6ffffef8: return "DT_GNU_CONFLICT"; - case 0x6ffffef9: return "DT_GNU_LIBLIST"; - case 0x6ffffefa: return "DT_SUNW_CONFIG"; - case 0x6ffffefb: return "DT_SUNW_DEPAUDIT"; - case 0x6ffffefc: return "DT_SUNW_AUDIT"; - case 0x6ffffefd: return "DT_SUNW_PLTPAD"; - case 0x6ffffefe: return "DT_SUNW_MOVETAB"; - case 0x6ffffeff: return "DT_SYMINFO (DT_ADDRRNGHI)"; - case 0x6ffffff9: return "DT_RELACOUNT"; - case 0x6ffffffa: return "DT_RELCOUNT"; - case 0x6ffffffb: return "DT_FLAGS_1"; - case 0x6ffffffc: return "DT_VERDEF"; - case 0x6ffffffd: return "DT_VERDEFNUM"; - case 0x6ffffffe: return "DT_VERNEED"; - case 0x6fffffff: return "DT_VERNEEDNUM"; - case 0x6ffffff0: return "DT_GNU_VERSYM"; + case 0x6ffffdf5: return "DT_GNU_PRELINKED"; + case 0x6ffffdf6: return "DT_GNU_CONFLICTSZ"; + case 0x6ffffdf7: return "DT_GNU_LIBLISTSZ"; + case 0x6ffffdf8: return "DT_SUNW_CHECKSUM"; + case DT_PLTPADSZ: return "DT_PLTPADSZ"; + case DT_MOVEENT: return "DT_MOVEENT"; + case DT_MOVESZ: return "DT_MOVESZ"; + case DT_FEATURE: return "DT_FEATURE"; + case DT_POSFLAG_1: return "DT_POSFLAG_1"; + case DT_SYMINSZ: return "DT_SYMINSZ"; + case DT_SYMINENT : return "DT_SYMINENT (DT_VALRNGHI)"; + case DT_ADDRRNGLO: return "DT_ADDRRNGLO"; + case DT_GNU_HASH: return "DT_GNU_HASH"; + case 0x6ffffef8: return "DT_GNU_CONFLICT"; + case 0x6ffffef9: return "DT_GNU_LIBLIST"; + case DT_CONFIG: return "DT_CONFIG"; + case DT_DEPAUDIT: return "DT_DEPAUDIT"; + case DT_AUDIT: return "DT_AUDIT"; + case DT_PLTPAD: return "DT_PLTPAD"; + case DT_MOVETAB: return "DT_MOVETAB"; + case DT_SYMINFO : return "DT_SYMINFO (DT_ADDRRNGHI)"; + case DT_RELACOUNT: return "DT_RELACOUNT"; + case DT_RELCOUNT: return "DT_RELCOUNT"; + case DT_FLAGS_1: return "DT_FLAGS_1"; + case DT_VERDEF: return "DT_VERDEF"; + case DT_VERDEFNUM: return "DT_VERDEFNUM"; + case DT_VERNEED: return "DT_VERNEED"; + case DT_VERNEEDNUM: return "DT_VERNEEDNUM"; + case 0x6ffffff0: return "DT_GNU_VERSYM"; /* 0x70000000 - 0x7fffffff processor-specific semantics */ - case 0x70000000: return "DT_IA_64_PLT_RESERVE"; - case 0x7ffffffd: return "DT_SUNW_AUXILIARY"; - case 0x7ffffffe: return "DT_SUNW_USED"; - case 0x7fffffff: return "DT_SUNW_FILTER"; + case 0x70000000: return "DT_IA_64_PLT_RESERVE"; + case 0x7ffffffd: return "DT_SUNW_AUXILIARY"; + case 0x7ffffffe: return "DT_SUNW_USED"; + case 0x7fffffff: return "DT_SUNW_FILTER"; } snprintf(unknown_tag, sizeof(unknown_tag), "ERROR: TAG NOT DEFINED -- tag 0x%jx", (uintmax_t)tag); @@ -267,6 +267,7 @@ e_machines(u_int mach) case EM_SPARCV9:return "EM_SPARCV9"; case EM_IA_64: return "EM_IA_64"; case EM_X86_64: return "EM_X86_64"; + case EM_AARCH64:return "EM_AARCH64"; } snprintf(machdesc, sizeof(machdesc), "(unknown machine) -- type 0x%x", mach); @@ -314,23 +315,23 @@ sh_types(uint64_t machine, uint64_t sht) { if (sht < 0x60000000) { switch (sht) { - case 0: return "SHT_NULL"; - case 1: return "SHT_PROGBITS"; - case 2: return "SHT_SYMTAB"; - case 3: return "SHT_STRTAB"; - case 4: return "SHT_RELA"; - case 5: return "SHT_HASH"; - case 6: return "SHT_DYNAMIC"; - case 7: return "SHT_NOTE"; - case 8: return "SHT_NOBITS"; - case 9: return "SHT_REL"; - case 10: return "SHT_SHLIB"; - case 11: return "SHT_DYNSYM"; - case 14: return "SHT_INIT_ARRAY"; - case 15: return "SHT_FINI_ARRAY"; - case 16: return "SHT_PREINIT_ARRAY"; - case 17: return "SHT_GROUP"; - case 18: return "SHT_SYMTAB_SHNDX"; + case SHT_NULL: return "SHT_NULL"; + case SHT_PROGBITS: return "SHT_PROGBITS"; + case SHT_SYMTAB: return "SHT_SYMTAB"; + case SHT_STRTAB: return "SHT_STRTAB"; + case SHT_RELA: return "SHT_RELA"; + case SHT_HASH: return "SHT_HASH"; + case SHT_DYNAMIC: return "SHT_DYNAMIC"; + case SHT_NOTE: return "SHT_NOTE"; + case SHT_NOBITS: return "SHT_NOBITS"; + case SHT_REL: return "SHT_REL"; + case SHT_SHLIB: return "SHT_SHLIB"; + case SHT_DYNSYM: return "SHT_DYNSYM"; + case SHT_INIT_ARRAY: return "SHT_INIT_ARRAY"; + case SHT_FINI_ARRAY: return "SHT_FINI_ARRAY"; + case SHT_PREINIT_ARRAY: return "SHT_PREINIT_ARRAY"; + case SHT_GROUP: return "SHT_GROUP"; + case SHT_SYMTAB_SHNDX: return "SHT_SYMTAB_SHNDX"; } snprintf(unknown_buf, sizeof(unknown_buf), "ERROR: SHT %ju NOT DEFINED", (uintmax_t)sht); @@ -338,14 +339,14 @@ sh_types(uint64_t machine, uint64_t sht) { } else if (sht < 0x70000000) { /* 0x60000000-0x6fffffff operating system-specific semantics */ switch (sht) { - case 0x6ffffff0: return "XXX:VERSYM"; - case 0x6ffffff4: return "SHT_SUNW_dof"; - case 0x6ffffff6: return "SHT_GNU_HASH"; - case 0x6ffffff7: return "SHT_GNU_LIBLIST"; - case 0x6ffffffc: return "XXX:VERDEF"; - case 0x6ffffffd: return "SHT_SUNW(GNU)_verdef"; - case 0x6ffffffe: return "SHT_SUNW(GNU)_verneed"; - case 0x6fffffff: return "SHT_SUNW(GNU)_versym"; + case 0x6ffffff0: return "XXX:VERSYM"; + case SHT_SUNW_dof: return "SHT_SUNW_dof"; + case SHT_GNU_HASH: return "SHT_GNU_HASH"; + case 0x6ffffff7: return "SHT_GNU_LIBLIST"; + case 0x6ffffffc: return "XXX:VERDEF"; + case SHT_SUNW_verdef: return "SHT_SUNW(GNU)_verdef"; + case SHT_SUNW_verneed: return "SHT_SUNW(GNU)_verneed"; + case SHT_SUNW_versym: return "SHT_SUNW(GNU)_versym"; } snprintf(unknown_buf, sizeof(unknown_buf), "ERROR: OS-SPECIFIC SHT 0x%jx NOT DEFINED", @@ -356,16 +357,13 @@ sh_types(uint64_t machine, uint64_t sht) { switch (machine) { case EM_ARM: switch (sht) { - case 0x70000001: return "SHT_ARM_EXIDX"; - case 0x70000002: return "SHT_ARM_PREEMPTMAP"; - case 0x70000003: return "SHT_ARM_ATTRIBUTES"; - case 0x70000004: return "SHT_ARM_DEBUGOVERLAY"; - case 0x70000005: return "SHT_ARM_OVERLAYSECTION"; - } - break; - case EM_MIPS: - switch (sht) { - case 0x7000000d: return "SHT_MIPS_OPTIONS"; + case SHT_ARM_EXIDX: return "SHT_ARM_EXIDX"; + case SHT_ARM_PREEMPTMAP:return "SHT_ARM_PREEMPTMAP"; + case SHT_ARM_ATTRIBUTES:return "SHT_ARM_ATTRIBUTES"; + case SHT_ARM_DEBUGOVERLAY: + return "SHT_ARM_DEBUGOVERLAY"; + case SHT_ARM_OVERLAYSECTION: + return "SHT_ARM_OVERLAYSECTION"; } break; case EM_IA_64: @@ -374,6 +372,11 @@ sh_types(uint64_t machine, uint64_t sht) { case 0x70000001: return "SHT_IA_64_UNWIND"; } break; + case EM_MIPS: + switch (sht) { + case SHT_MIPS_OPTIONS: return "SHT_MIPS_OPTIONS"; + } + break; } switch (sht) { case 0x7ffffffd: return "XXX:AUXILIARY"; diff --git a/usr.bin/find/function.c b/usr.bin/find/function.c index 511edf2..32be74d 100644 --- a/usr.bin/find/function.c +++ b/usr.bin/find/function.c @@ -1506,7 +1506,7 @@ c_size(OPTION *option, char ***argvp) scale = 0x40000000LL; break; case 'T': /* terabytes 1<<40 */ - scale = 0x1000000000LL; + scale = 0x10000000000LL; break; case 'P': /* petabytes 1<<50 */ scale = 0x4000000000000LL; diff --git a/usr.bin/ftp/Makefile b/usr.bin/ftp/Makefile index 2cd7f36..3d236d8 100644 --- a/usr.bin/ftp/Makefile +++ b/usr.bin/ftp/Makefile @@ -20,8 +20,8 @@ CFLAGS+= -DINET6 .endif CFLAGS+= -I${.CURDIR} -I${TNFTP} -LDADD= -ledit -ltermcapw -lutil -DPADD= ${LIBEDIT} ${LIBTERMCAPW} ${LIBUTIL} +LDADD= -ledit -ltermcapw +DPADD= ${LIBEDIT} ${LIBTERMCAPW} WARNS?= 2 diff --git a/usr.bin/gcore/elfcore.c b/usr.bin/gcore/elfcore.c index f857dcf..037854c 100644 --- a/usr.bin/gcore/elfcore.c +++ b/usr.bin/gcore/elfcore.c @@ -618,7 +618,7 @@ elf_note_thrmisc(void *arg, size_t *sizep) static void * procstat_sysctl(void *arg, int what, size_t structsz, size_t *sizep) { - size_t len, oldlen; + size_t len; pid_t pid; int name[4], structsize; void *buf, *p; diff --git a/usr.bin/grep/Makefile b/usr.bin/grep/Makefile index c0c24dc..32941fd 100644 --- a/usr.bin/grep/Makefile +++ b/usr.bin/grep/Makefile @@ -11,7 +11,7 @@ PROG= bsdgrep CLEANFILES+= bsdgrep.1 bsdgrep.1: grep.1 - cp ${.ALLSRC} ${.TARGET} + cp -f ${.ALLSRC} ${.TARGET} .endif SRCS= file.c grep.c queue.c util.c @@ -85,4 +85,8 @@ DPADD+= ${LIBGNUREGEX} CFLAGS+= -DWITHOUT_NLS .endif +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/grep/regex/tre-fastmatch.c b/usr.bin/grep/regex/tre-fastmatch.c index eddab26..0881c55 100644 --- a/usr.bin/grep/regex/tre-fastmatch.c +++ b/usr.bin/grep/regex/tre-fastmatch.c @@ -727,7 +727,7 @@ badpat: for (unsigned int i = 0; i < fg->len; i++) if (fg->pattern[i] == '\\') escaped = !escaped; - else if (fg->pattern[i] == '.' && escaped) + else if (fg->pattern[i] == '.' && fg->escmap && escaped) { fg->escmap[i] = true; escaped = false; diff --git a/usr.bin/grep/tests/Makefile b/usr.bin/grep/tests/Makefile new file mode 100644 index 0000000..59b948c --- /dev/null +++ b/usr.bin/grep/tests/Makefile @@ -0,0 +1,41 @@ +# $FreeBSD$ + +TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.bin/grep +.PATH: ${TESTSRC} + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/usr.bin/grep + +ATF_TESTS_SH= grep_test +ATF_TESTS_SH_SRC_grep_test= t_grep.sh + +FILESDIR= ${TESTSDIR} +FILES= d_basic.out +FILES+= d_begin_end_a.out +FILES+= d_begin_end_b.out +FILES+= d_binary.out +FILES+= d_context2_a.out +FILES+= d_context2_b.out +FILES+= d_context2_c.out +FILES+= d_context_a.in +FILES+= d_context_a.out +FILES+= d_context_b.in +FILES+= d_context_b.out +FILES+= d_context_c.out +FILES+= d_context_d.out +FILES+= d_egrep.out +FILES+= d_file_exp.in +FILES+= d_file_exp.out +FILES+= d_ignore_case.out +FILES+= d_input +FILES+= d_invert.in +FILES+= d_invert.out +FILES+= d_recurse.out +FILES+= d_recurse_symlink.err +FILES+= d_recurse_symlink.out +FILES+= d_whole_line.out +FILES+= d_word_regexps.out +FILES+= d_zgrep.out + +.include <bsd.test.mk> diff --git a/usr.bin/grep/util.c b/usr.bin/grep/util.c index 3ec12fa..f3cf05f 100644 --- a/usr.bin/grep/util.c +++ b/usr.bin/grep/util.c @@ -336,7 +336,7 @@ procline(struct str *l, int nottext) } /* One pass if we are not recording matches */ - if (!wflag && ((color == NULL && !oflag) || qflag || lflag)) + if (!wflag && ((color == NULL && !oflag) || qflag || lflag || Lflag)) break; if (st == (size_t)pmatch.rm_so) diff --git a/usr.bin/gzip/Makefile b/usr.bin/gzip/Makefile index 7372435..24e2506 100644 --- a/usr.bin/gzip/Makefile +++ b/usr.bin/gzip/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.16 2011/06/21 13:25:45 joerg Exp $ +# $NetBSD: Makefile,v 1.18 2013/11/13 11:12:24 pettai Exp $ # $FreeBSD$ .include <src.opts.mk> @@ -21,11 +21,16 @@ SCRIPTS= gzexe zdiff zforce zmore znew MLINKS+= gzip.1 gunzip.1 \ gzip.1 gzcat.1 \ gzip.1 zcat.1 \ - zdiff.1 zcmp.1 + zdiff.1 zcmp.1 \ + zmore.1 zless.1 LINKS+= ${BINDIR}/gzip ${BINDIR}/gunzip \ ${BINDIR}/gzip ${BINDIR}/gzcat \ ${BINDIR}/gzip ${BINDIR}/zcat \ ${BINDIR}/zdiff ${BINDIR}/zcmp +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/gzip/gzip.1 b/usr.bin/gzip/gzip.1 index ba78bd0..5abf1ae 100644 --- a/usr.bin/gzip/gzip.1 +++ b/usr.bin/gzip/gzip.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: gzip.1,v 1.21 2011/06/19 02:22:36 christos Exp $ +.\" $NetBSD: gzip.1,v 1.23 2014/03/18 18:20:45 riastradh Exp $ .\" .\" Copyright (c) 1997, 2003, 2004 Matthew R. Green .\" All rights reserved. diff --git a/usr.bin/gzip/gzip.c b/usr.bin/gzip/gzip.c index d7477dd..9f92b6a 100644 --- a/usr.bin/gzip/gzip.c +++ b/usr.bin/gzip/gzip.c @@ -1,4 +1,4 @@ -/* $NetBSD: gzip.c,v 1.105 2011/08/30 23:06:00 joerg Exp $ */ +/* $NetBSD: gzip.c,v 1.106 2014/10/18 08:33:30 snj Exp $ */ /*- * Copyright (c) 1997, 1998, 2003, 2004, 2006 Matthew R. Green @@ -158,7 +158,7 @@ static suffixes_t suffixes[] = { #define NUM_SUFFIXES (sizeof suffixes / sizeof suffixes[0]) #define SUFFIX_MAXLEN 30 -static const char gzip_version[] = "FreeBSD gzip 20111009"; +static const char gzip_version[] = "FreeBSD gzip 20141022"; #ifndef SMALL static const char gzip_copyright[] = \ @@ -1769,7 +1769,7 @@ handle_stdout(void) return; } #endif - /* If stdin is a file use it's mtime, otherwise use current time */ + /* If stdin is a file use its mtime, otherwise use current time */ ret = fstat(STDIN_FILENO, &sb); #ifndef SMALL @@ -2110,7 +2110,7 @@ static void display_license(void) { - fprintf(stderr, "%s (based on NetBSD gzip 20111009)\n", gzip_version); + fprintf(stderr, "%s (based on NetBSD gzip 20141018)\n", gzip_version); fprintf(stderr, "%s\n", gzip_copyright); exit(0); } diff --git a/usr.bin/gzip/tests/Makefile b/usr.bin/gzip/tests/Makefile new file mode 100644 index 0000000..155d739 --- /dev/null +++ b/usr.bin/gzip/tests/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.bin/gzip +.PATH: ${TESTSRC} + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/usr.bin/gzip +ATF_TESTS_SH= gzip_test +ATF_TESTS_SH_SRC_gzip_test= t_gzip.sh + +.include <bsd.test.mk> diff --git a/usr.bin/gzip/zmore b/usr.bin/gzip/zmore index 46a4eb4..f5be0f4 100644 --- a/usr.bin/gzip/zmore +++ b/usr.bin/gzip/zmore @@ -1,7 +1,8 @@ #!/bin/sh - # -# $NetBSD: zmore,v 1.3 2004/03/29 09:59:42 wiz Exp $ -# $OpenBSD: zmore,v 1.4 2003/07/29 07:42:45 otto Exp $ +# $NetBSD: zmore,v 1.5 2013/12/06 13:33:15 pettai Exp $ +# +# $OpenBSD: zmore,v 1.6 2008/08/20 09:22:02 mpf Exp $ # #- # Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com> @@ -42,15 +43,21 @@ while test $# -ne 0; do esac done +if [ `basename $0` = "zless" ] ; then + pager=${PAGER-less} +else + pager=${PAGER-more} +fi + # No files means read from stdin if [ $# -eq 0 ]; then - gzip -cdfq 2>&1 | ${PAGER-more} $flags + gzip -cdfq 2>&1 | $pager $flags exit 0 fi oterm=`stty -g 2>/dev/null` while test $# -ne 0; do - gzip -cdfq "$1" 2>&1 | ${PAGER-more} $flags + gzip -cdfq "$1" 2>&1 | $pager $flags prev="$1" shift if tty -s && test -n "$oterm" -a $# -gt 0; then diff --git a/usr.bin/gzip/zmore.1 b/usr.bin/gzip/zmore.1 index b1f389c..f8be1ac 100644 --- a/usr.bin/gzip/zmore.1 +++ b/usr.bin/gzip/zmore.1 @@ -1,5 +1,5 @@ -.\" $NetBSD: zmore.1,v 1.3 2003/12/28 12:47:52 wiz Exp $ -.\" $OpenBSD: zmore.1,v 1.3 2003/06/23 21:00:48 deraadt Exp $ +.\" $NetBSD: zmore.1,v 1.4 2013/11/12 21:58:37 pettai Exp $ +.\" $OpenBSD: zmore.1,v 1.10 2009/08/16 09:41:08 sobrado Exp $ .\" .\" Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com> .\" @@ -20,16 +20,20 @@ .\" Materiel Command, USAF, under agreement number F39502-99-1-0512. .\" .\" $FreeBSD$ -.Dd February 6, 2011 +.Dd October 22, 2014 .Dt ZMORE 1 .Os .Sh NAME -.Nm zmore +.Nm zmore , +.Nm zless .Nd view compressed files .Sh SYNOPSIS .Nm zmore .Op Ar flags -.Op Ar file ... +.Op Ar +.Nm zless +.Op Ar flags +.Op Ar .Sh DESCRIPTION .Nm is a filter that allows the viewing of files compressed with Lempel-Ziv @@ -51,6 +55,14 @@ that are specified are passed to the user's preferred .Pa /usr/bin/more by default). .Pp +.Nm zless +is equivalent to +.Nm zmore +but uses +.Xr less 1 +as a pager instead of +.Xr more 1 . +.Pp When multiple files are specified, .Nm will pause at the end of each file and present the following prompt to the user: @@ -86,7 +98,11 @@ style compression since there is no suffix on which to make a decision. Program used to display files. If unset, .Pa /usr/bin/more -is used. +is used +.Pq Nm zmore +or +.Pa /usr/bin/less +.Pq Nm zless . .El .Sh SEE ALSO .Xr compress 1 , diff --git a/usr.bin/hexdump/hexdump.1 b/usr.bin/hexdump/hexdump.1 index e1282d5..8eeb5e4 100644 --- a/usr.bin/hexdump/hexdump.1 +++ b/usr.bin/hexdump/hexdump.1 @@ -28,7 +28,7 @@ .\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd February 18, 2010 +.Dd October 29, 2014 .Dt HEXDUMP 1 .Os .Sh NAME @@ -41,7 +41,7 @@ .Op Fl f Ar format_file .Op Fl n Ar length .Bk -words -.Op Fl s Ar skip +.Op Fl s Ar offset .Ek .Ar .Nm hd @@ -50,7 +50,7 @@ .Op Fl f Ar format_file .Op Fl n Ar length .Bk -words -.Op Fl s Ar skip +.Op Fl s Ar offset .Ek .Ar .Sh DESCRIPTION diff --git a/usr.bin/host/Makefile b/usr.bin/host/Makefile index 5962454..cc1111f 100644 --- a/usr.bin/host/Makefile +++ b/usr.bin/host/Makefile @@ -8,6 +8,7 @@ LDNSHOSTDIR= ${.CURDIR}/../../contrib/ldns-host PROG= host SRCS= ldns-host.c MAN= host.1 +CLEANFILES+= host.1 host.1: ldns-host.1 sed -e 's/ldns-//gI' <${.ALLSRC} >${.TARGET} || \ @@ -15,7 +16,7 @@ host.1: ldns-host.1 CFLAGS+= -I${LDNSDIR} DPADD+= ${LIBLDNS} ${LIBCRYPTO} -LDADD+= -lldns -lcrypto +LDADD+= ${LDLDNS} -lcrypto USEPRIVATELIB= ldns .include <bsd.prog.mk> diff --git a/usr.bin/iconv/Makefile b/usr.bin/iconv/Makefile index deab092..b920eb1 100644 --- a/usr.bin/iconv/Makefile +++ b/usr.bin/iconv/Makefile @@ -7,7 +7,4 @@ PROG= iconv #SRCS= iconv.c MAN= iconv.1 -LDADD+= -lcrypt -DPADD+= ${LIBCRYPT} - .include <bsd.prog.mk> diff --git a/usr.bin/id/Makefile b/usr.bin/id/Makefile index d7e4049..07cabd0 100644 --- a/usr.bin/id/Makefile +++ b/usr.bin/id/Makefile @@ -10,8 +10,6 @@ MAN= id.1 groups.1 whoami.1 .if ${MK_AUDIT} != "no" CFLAGS+= -DUSE_BSM_AUDIT -DPADD+= ${LIBBSM} -LDADD+= -lbsm .endif .include <bsd.prog.mk> diff --git a/usr.bin/iscsictl/Makefile b/usr.bin/iscsictl/Makefile index 9331ca5..9351ed7 100644 --- a/usr.bin/iscsictl/Makefile +++ b/usr.bin/iscsictl/Makefile @@ -6,8 +6,8 @@ CFLAGS+= -I${.CURDIR} CFLAGS+= -I${.CURDIR}/../../sys/dev/iscsi MAN= iscsictl.8 -DPADD= ${LIBCAM} ${LIBUTIL} -LDADD= -lcam -lfl -lutil +DPADD= ${LIBCAM} ${LIBUTIL} +LDADD= -lcam -lutil YFLAGS+= -v LFLAGS+= -i diff --git a/usr.bin/iscsictl/iscsictl.8 b/usr.bin/iscsictl/iscsictl.8 index 845718b..93bf7ed 100644 --- a/usr.bin/iscsictl/iscsictl.8 +++ b/usr.bin/iscsictl/iscsictl.8 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 18, 2014 +.Dd September 12, 2014 .Dt ISCSICTL 8 .Os .Sh NAME @@ -171,6 +171,7 @@ Attach to target iqn.2012-06.com.example:target0, served by 192.168.1.1: Disconnect all iSCSI sessions: .Dl Nm Fl Ra .Sh SEE ALSO +.Xr iscsi 4 , .Xr iscsi.conf 5 , .Xr iscsid 8 .Sh HISTORY @@ -181,6 +182,6 @@ command appeared in .Sh AUTHORS The .Nm -was developed by +utility was developed by .An Edward Tomasz Napierala Aq Mt trasz@FreeBSD.org under sponsorship from the FreeBSD Foundation. diff --git a/usr.bin/iscsictl/iscsictl.c b/usr.bin/iscsictl/iscsictl.c index 75d329f..a27e32b 100644 --- a/usr.bin/iscsictl/iscsictl.c +++ b/usr.bin/iscsictl/iscsictl.c @@ -26,9 +26,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ */ +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + #include <sys/ioctl.h> #include <sys/param.h> #include <sys/linker.h> @@ -170,7 +172,7 @@ valid_iscsi_name(const char *name) for (i = strlen("iqn."); name[i] != '\0'; i++) { /* * XXX: We should verify UTF-8 normalisation, as defined - * by 3.2.6.2: iSCSI Name Encoding. + * by 3.2.6.2: iSCSI Name Encoding. */ if (isalnum(name[i])) continue; @@ -756,14 +758,9 @@ main(int argc, char **argv) errx(1, "-n and -p and mutually exclusive"); if (target != NULL) errx(1, "-n and -t and mutually exclusive"); - } else if (portal != NULL) { - if (target != NULL) - errx(1, "-p and -t and mutually exclusive"); - } else if (target != NULL) { - if (portal != NULL) - errx(1, "-t and -p and mutually exclusive"); - } else + } else if (target == NULL && portal == NULL) { errx(1, "must specify either -a, -n, -t, or -p"); + } if (session_id != -1) errx(1, "-i cannot be used with -R"); diff --git a/usr.bin/iscsictl/token.l b/usr.bin/iscsictl/token.l index 499ddb8..06af167 100644 --- a/usr.bin/iscsictl/token.l +++ b/usr.bin/iscsictl/token.l @@ -46,6 +46,7 @@ extern int yylex(void); %option noinput %option nounput +%option noyywrap %% HeaderDigest { return HEADER_DIGEST; } @@ -89,6 +90,7 @@ chapDigest { return IGNORED; } = { return EQUALS; } ; { return SEMICOLON; } #.*$ /* ignore comments */; +\r\n { lineno++; } \n { lineno++; } [ \t]+ /* ignore whitespace */; . { yylval.str = strdup(yytext); return STR; } diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index f6e1c79..e0a6079 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -57,6 +57,7 @@ extern int errno; #include <sys/socket.h> #include <sys/stat.h> #include <sys/sysent.h> +#include <sys/umtx.h> #include <sys/un.h> #include <sys/queue.h> #include <sys/wait.h> @@ -103,9 +104,9 @@ void ktrgenio(struct ktr_genio *, int); void ktrpsig(struct ktr_psig *); void ktrcsw(struct ktr_csw *); void ktrcsw_old(struct ktr_csw_old *); -void ktruser_malloc(unsigned char *); -void ktruser_rtld(int, unsigned char *); -void ktruser(int, unsigned char *); +void ktruser_malloc(void *); +void ktruser_rtld(int, void *); +void ktruser(int, void *); void ktrcaprights(cap_rights_t *); void ktrsockaddr(struct sockaddr *); void ktrstat(struct stat *); @@ -122,10 +123,13 @@ void ioctlname(unsigned long, int); #define TIMESTAMP_ELAPSED 0x2 #define TIMESTAMP_RELATIVE 0x4 -int timestamp, decimal, fancy = 1, suppressdata, tail, threads, maxdata, +extern const char *signames[], *syscallnames[]; +extern int nsyscalls; + +static int timestamp, decimal, fancy = 1, suppressdata, tail, threads, maxdata, resolv = 0, abiflag = 0, syscallno = 0; -const char *tracefile = DEF_TRACEFILE; -struct ktr_header ktr_header; +static const char *tracefile = DEF_TRACEFILE; +static struct ktr_header ktr_header; #define TIME_FORMAT "%b %e %T %Y" #define eqs(s1, s2) (strcmp((s1), (s2)) == 0) @@ -172,7 +176,7 @@ struct proc_info pid_t pid; }; -TAILQ_HEAD(trace_procs, proc_info) trace_procs; +static TAILQ_HEAD(trace_procs, proc_info) trace_procs; #ifdef HAVE_LIBCAPSICUM static cap_channel_t *cappwd, *capgrp; @@ -456,7 +460,7 @@ limitfd(int fd) unsigned long cmd; cap_rights_init(&rights, CAP_FSTAT); - cmd = -1; + cmd = 0; switch (fd) { case STDIN_FILENO: @@ -479,7 +483,7 @@ limitfd(int fd) if (cap_rights_limit(fd, &rights) < 0 && errno != ENOSYS) err(1, "unable to limit rights for descriptor %d", fd); - if (cmd != -1 && cap_ioctls_limit(fd, &cmd, 1) < 0 && errno != ENOSYS) + if (cmd != 0 && cap_ioctls_limit(fd, &cmd, 1) < 0 && errno != ENOSYS) err(1, "unable to limit ioctls for descriptor %d", fd); } @@ -1089,6 +1093,14 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags) ip++; narg--; break; + case SYS_shm_open: + print_number(ip, narg, c); + putchar(','); + flagsname(ip[0]); + printf(",0%o", (unsigned int)ip[1]); + ip += 3; + narg -= 3; + break; case SYS_minherit: print_number(ip, narg, c); print_number(ip, narg, c); @@ -1257,6 +1269,26 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags) ip++; narg--; break; + case SYS__umtx_op: + print_number(ip, narg, c); + putchar(','); + umtxopname(*ip); + switch (*ip) { + case UMTX_OP_CV_WAIT: + ip++; + narg--; + putchar(','); + umtxcvwaitflags(*ip); + break; + case UMTX_OP_RW_RDLOCK: + ip++; + narg--; + putchar(','); + umtxrwlockflags(*ip); + break; + } + ip++; + narg--; } } while (narg > 0) { @@ -1507,9 +1539,10 @@ struct utrace_rtld { }; void -ktruser_rtld(int len, unsigned char *p) +ktruser_rtld(int len, void *p) { - struct utrace_rtld *ut = (struct utrace_rtld *)p; + struct utrace_rtld *ut = p; + unsigned char *cp; void *parent; int mode; @@ -1574,14 +1607,15 @@ ktruser_rtld(int len, unsigned char *p) ut->name); break; default: - p += 4; + cp = p; + cp += 4; len -= 4; printf("RTLD: %d ", len); while (len--) if (decimal) - printf(" %d", *p++); + printf(" %d", *cp++); else - printf(" %02x", *p++); + printf(" %02x", *cp++); printf("\n"); } } @@ -1593,9 +1627,9 @@ struct utrace_malloc { }; void -ktruser_malloc(unsigned char *p) +ktruser_malloc(void *p) { - struct utrace_malloc *ut = (struct utrace_malloc *)p; + struct utrace_malloc *ut = p; if (ut->p == (void *)(intptr_t)(-1)) printf("malloc_init()\n"); @@ -1608,8 +1642,9 @@ ktruser_malloc(unsigned char *p) } void -ktruser(int len, unsigned char *p) +ktruser(int len, void *p) { + unsigned char *cp; if (len >= 8 && bcmp(p, "RTLD", 4) == 0) { ktruser_rtld(len, p); @@ -1622,11 +1657,12 @@ ktruser(int len, unsigned char *p) } printf("%d ", len); + cp = p; while (len--) if (decimal) - printf(" %d", *p++); + printf(" %d", *cp++); else - printf(" %02x", *p++); + printf(" %02x", *cp++); printf("\n"); } diff --git a/usr.bin/kdump/mksubr b/usr.bin/kdump/mksubr index d8d803f..aa001f8 100644 --- a/usr.bin/kdump/mksubr +++ b/usr.bin/kdump/mksubr @@ -185,6 +185,7 @@ cat <<_EOF_ #include <sys/ipc.h> #include <sys/rtprio.h> #include <sys/shm.h> +#include <sys/umtx.h> #include <nfsserver/nfs.h> #include <ufs/ufs/quota.h> #include <sys/capsicum.h> @@ -489,6 +490,7 @@ auto_if_type "sockipprotoname" "IPPROTO_[[:alnum:]]+[[:space:]]+" auto_switch_type "sockoptname" "SO_[A-Z]+[[:space:]]+0x[0-9]+" "sys/socket.h" auto_switch_type "socktypename" "SOCK_[A-Z]+[[:space:]]+[1-9]+[0-9]*" "sys/socket.h" auto_or_type "thrcreateflagsname" "THR_[A-Z]+[[:space:]]+0x[0-9]+" "sys/thr.h" +auto_switch_type "umtxopname" "UMTX_OP_[[:alnum:]_]+[[:space:]]+[0-9]+" "sys/umtx.h" auto_switch_type "vmresultname" "KERN_[A-Z]+[[:space:]]+[0-9]+" "vm/vm_param.h" auto_or_type "wait6optname" "W[A-Z]+[[:space:]]+[0-9]+" "sys/wait.h" auto_switch_type "whencename" "SEEK_[A-Z]+[[:space:]]+[0-9]+" "sys/unistd.h" @@ -677,6 +679,62 @@ cat <<_EOF_ } } +/* + * AUTO - Special + * + * Just print 0 as 0. + */ +void +umtxcvwaitflags(intmax_t arg) +{ + int or = 0; + if (arg == 0) { + printf("0"); + return; + } + printf("%#jx<", (uintmax_t)arg); +_EOF_ + egrep "^#[[:space:]]*define[[:space:]]+CVWAIT_[A-Z_]+[[:space:]]+0x[0-9]+[[:space:]]*" \ + $include_dir/sys/umtx.h | \ + awk '{ for (i = 1; i <= NF; i++) \ + if ($i ~ /define/) \ + break; \ + ++i; \ + printf "\tif (!((arg > 0) ^ ((%s) > 0)))\n\t\tif_print_or(arg, %s, or);\n", $i, $i }' +cat <<_EOF_ + printf(">"); + if (or == 0) + printf("<invalid>%jd", arg); +} + + +/* + * AUTO - Special + * + * Just print 0 as 0. + */ +void +umtxrwlockflags(intmax_t arg) +{ + int or = 0; + if (arg == 0) { + printf("0"); + return; + } + printf("%#jx<", (uintmax_t)arg); +_EOF_ + egrep "^#[[:space:]]*define[[:space:]]+URWLOCK_PREFER_READER[[:space:]]+0x[0-9]+[[:space:]]*" \ + $include_dir/sys/umtx.h | \ + awk '{ for (i = 1; i <= NF; i++) \ + if ($i ~ /define/) \ + break; \ + ++i; \ + printf "\tif (!((arg > 0) ^ ((%s) > 0)))\n\t\tif_print_or(arg, %s, or);\n", $i, $i }' +cat <<_EOF_ + printf(">"); + if (or == 0) + printf("<invalid>%jd", arg); +} _EOF_ egrep '#define[[:space:]]+CAP_[A-Z_]+[[:space:]]+CAPRIGHT\([0-9],[[:space:]]+0x[0-9]{16}ULL\)' \ $include_dir/sys/capsicum.h | \ diff --git a/usr.bin/ktrace/ktrace.1 b/usr.bin/ktrace/ktrace.1 index 1170ae8..a5e930a 100644 --- a/usr.bin/ktrace/ktrace.1 +++ b/usr.bin/ktrace/ktrace.1 @@ -28,7 +28,7 @@ .\" @(#)ktrace.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd May 31, 2012 +.Dd August 26, 2014 .Dt KTRACE 1 .Os .Sh NAME @@ -81,7 +81,7 @@ Append to the trace file instead of recreating it. Disable tracing on all user-owned processes, and, if executed by root, all processes in the system. .It Fl c -Clear the trace points associated with the specified file or processes. +Clear the specified trace points associated with the given file or processes. .It Fl d Descendants; perform the operation for all current children of the designated processes. @@ -102,8 +102,10 @@ Enable (disable) tracing on the indicated process id (only one .Fl p flag is permitted). .It Fl t Ar trstr -The string argument represents the kernel trace points, one per letter. -The following table equates the letters with the tracepoints: +Specify the list of trace points to enable or disable, one per letter. +If an explicit list is not specified, the default set of trace points is used. +.Pp +The following trace points are supported: .Pp .Bl -tag -width flag -compact .It Cm c diff --git a/usr.bin/lock/lock.1 b/usr.bin/lock/lock.1 index 75f2acc..9d7b0c6 100644 --- a/usr.bin/lock/lock.1 +++ b/usr.bin/lock/lock.1 @@ -69,11 +69,14 @@ option of and thus has the same restrictions. It is only available if the terminal in question is a .Xr syscons 4 +or +.Xr vt 4 virtual terminal. .El .Sh SEE ALSO .Xr vidcontrol 1 , -.Xr syscons 4 +.Xr syscons 4 , +.Xr vt 4 .Sh HISTORY The .Nm diff --git a/usr.bin/lock/lock.c b/usr.bin/lock/lock.c index acc0e29..8c12946 100644 --- a/usr.bin/lock/lock.c +++ b/usr.bin/lock/lock.c @@ -97,7 +97,7 @@ main(int argc, char **argv) char *ap, *cryptpw, *mypw, *ttynam, *tzn; char hostname[MAXHOSTNAMELEN], s[BUFSIZ], s1[BUFSIZ]; - openlog("lock", LOG_ODELAY, LOG_AUTH); + openlog("lock", 0, LOG_AUTH); sectimeout = TIMEOUT; pw = NULL; diff --git a/usr.bin/login/login.c b/usr.bin/login/login.c index 503002d..d1d9bbe 100644 --- a/usr.bin/login/login.c +++ b/usr.bin/login/login.c @@ -198,7 +198,7 @@ main(int argc, char *argv[]) (void)alarm(timeout); (void)setpriority(PRIO_PROCESS, 0, 0); - openlog("login", LOG_ODELAY, LOG_AUTH); + openlog("login", 0, LOG_AUTH); uid = getuid(); euid = geteuid(); diff --git a/usr.bin/m4/Makefile b/usr.bin/m4/Makefile index 7691b2e..9153e71 100644 --- a/usr.bin/m4/Makefile +++ b/usr.bin/m4/Makefile @@ -7,15 +7,15 @@ .include <src.opts.mk> PROG= m4 -CFLAGS+=-DEXTENDED -I${.CURDIR} -I${.CURDIR}/lib -DPADD= ${LIBY} ${LIBL} ${LIBM} -LDADD= -ly -ll -lm +CFLAGS+=-DEXTENDED -I${.CURDIR} -I${.CURDIR}/../../lib/libohash +DPADD= ${LIBY} ${LIBL} ${LIBM} ${LIBOHASH} +LDADD= -ly -ll -lm ${LDOHASH} NO_WMISSING_VARIABLE_DECLARATIONS= SRCS= eval.c expr.c look.c main.c misc.c gnum4.c trace.c parser.y tokenizer.l -.PATH: ${.CURDIR}/lib -SRCS+= ohash.c + +WARNS= 3 tokenizer.o: parser.h diff --git a/usr.bin/m4/lib/ohash.c b/usr.bin/m4/lib/ohash.c deleted file mode 100644 index 3a0f5dd..0000000 --- a/usr.bin/m4/lib/ohash.c +++ /dev/null @@ -1,330 +0,0 @@ -/* $OpenBSD: src/lib/libutil/ohash.c,v 1.1 2014/06/02 18:52:03 deraadt Exp $ */ - -/* Copyright (c) 1999, 2004 Marc Espie <espie@openbsd.org> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <stddef.h> -#include <stdint.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> -#include "ohash.h" - -struct _ohash_record { - uint32_t hv; - const char *p; -}; - -#define DELETED ((const char *)h) -#define NONE (h->size) - -/* Don't bother changing the hash table if the change is small enough. */ -#define MINSIZE (1UL << 4) -#define MINDELETED 4 - -static void ohash_resize(struct ohash *); - - -/* This handles the common case of variable length keys, where the - * key is stored at the end of the record. - */ -void * -ohash_create_entry(struct ohash_info *i, const char *start, const char **end) -{ - char *p; - - if (!*end) - *end = start + strlen(start); - p = (i->alloc)(i->key_offset + (*end - start) + 1, i->data); - if (p) { - memcpy(p+i->key_offset, start, *end-start); - p[i->key_offset + (*end - start)] = '\0'; - } - return (void *)p; -} - -/* hash_delete only frees the hash structure. Use hash_first/hash_next - * to free entries as well. */ -void -ohash_delete(struct ohash *h) -{ - (h->info.free)(h->t, h->info.data); -#ifndef NDEBUG - h->t = NULL; -#endif -} - -static void -ohash_resize(struct ohash *h) -{ - struct _ohash_record *n; - size_t ns; - unsigned int j; - unsigned int i, incr; - - if (4 * h->deleted < h->total) { - if (h->size >= (UINT_MAX >> 1U)) - ns = UINT_MAX; - else - ns = h->size << 1U; - } else if (3 * h->deleted > 2 * h->total) - ns = h->size >> 1U; - else - ns = h->size; - if (ns < MINSIZE) - ns = MINSIZE; -#ifdef STATS_HASH - STAT_HASH_EXPAND++; - STAT_HASH_SIZE += ns - h->size; -#endif - - n = (h->info.calloc)(ns, sizeof(struct _ohash_record), h->info.data); - if (!n) - return; - - for (j = 0; j < h->size; j++) { - if (h->t[j].p != NULL && h->t[j].p != DELETED) { - i = h->t[j].hv % ns; - incr = ((h->t[j].hv % (ns - 2)) & ~1) + 1; - while (n[i].p != NULL) { - i += incr; - if (i >= ns) - i -= ns; - } - n[i].hv = h->t[j].hv; - n[i].p = h->t[j].p; - } - } - (h->info.free)(h->t, h->info.data); - h->t = n; - h->size = ns; - h->total -= h->deleted; - h->deleted = 0; -} - -void * -ohash_remove(struct ohash *h, unsigned int i) -{ - void *result = (void *)h->t[i].p; - - if (result == NULL || result == DELETED) - return NULL; - -#ifdef STATS_HASH - STAT_HASH_ENTRIES--; -#endif - h->t[i].p = DELETED; - h->deleted++; - if (h->deleted >= MINDELETED && 4 * h->deleted > h->total) - ohash_resize(h); - return result; -} - -void * -ohash_find(struct ohash *h, unsigned int i) -{ - if (h->t[i].p == DELETED) - return NULL; - else - return (void *)h->t[i].p; -} - -void * -ohash_insert(struct ohash *h, unsigned int i, void *p) -{ -#ifdef STATS_HASH - STAT_HASH_ENTRIES++; -#endif - if (h->t[i].p == DELETED) { - h->deleted--; - h->t[i].p = p; - } else { - h->t[i].p = p; - /* Arbitrary resize boundary. Tweak if not efficient enough. */ - if (++h->total * 4 > h->size * 3) - ohash_resize(h); - } - return p; -} - -unsigned int -ohash_entries(struct ohash *h) -{ - return h->total - h->deleted; -} - -void * -ohash_first(struct ohash *h, unsigned int *pos) -{ - *pos = 0; - return ohash_next(h, pos); -} - -void * -ohash_next(struct ohash *h, unsigned int *pos) -{ - for (; *pos < h->size; (*pos)++) - if (h->t[*pos].p != DELETED && h->t[*pos].p != NULL) - return (void *)h->t[(*pos)++].p; - return NULL; -} - -void -ohash_init(struct ohash *h, unsigned int size, struct ohash_info *info) -{ - h->size = 1UL << size; - if (h->size < MINSIZE) - h->size = MINSIZE; -#ifdef STATS_HASH - STAT_HASH_CREATION++; - STAT_HASH_SIZE += h->size; -#endif - /* Copy info so that caller may free it. */ - h->info.key_offset = info->key_offset; - h->info.calloc = info->calloc; - h->info.free = info->free; - h->info.alloc = info->alloc; - h->info.data = info->data; - h->t = (h->info.calloc)(h->size, sizeof(struct _ohash_record), - h->info.data); - h->total = h->deleted = 0; -} - -uint32_t -ohash_interval(const char *s, const char **e) -{ - uint32_t k; - - if (!*e) - *e = s + strlen(s); - if (s == *e) - k = 0; - else - k = *s++; - while (s != *e) - k = ((k << 2) | (k >> 30)) ^ *s++; - return k; -} - -unsigned int -ohash_lookup_interval(struct ohash *h, const char *start, const char *end, - uint32_t hv) -{ - unsigned int i, incr; - unsigned int empty; - -#ifdef STATS_HASH - STAT_HASH_LOOKUP++; -#endif - empty = NONE; - i = hv % h->size; - incr = ((hv % (h->size-2)) & ~1) + 1; - while (h->t[i].p != NULL) { -#ifdef STATS_HASH - STAT_HASH_LENGTH++; -#endif - if (h->t[i].p == DELETED) { - if (empty == NONE) - empty = i; - } else if (h->t[i].hv == hv && - strncmp(h->t[i].p+h->info.key_offset, start, - end - start) == 0 && - (h->t[i].p+h->info.key_offset)[end-start] == '\0') { - if (empty != NONE) { - h->t[empty].hv = hv; - h->t[empty].p = h->t[i].p; - h->t[i].p = DELETED; - return empty; - } else { -#ifdef STATS_HASH - STAT_HASH_POSITIVE++; -#endif - return i; - } - } - i += incr; - if (i >= h->size) - i -= h->size; - } - - /* Found an empty position. */ - if (empty != NONE) - i = empty; - h->t[i].hv = hv; - return i; -} - -unsigned int -ohash_lookup_memory(struct ohash *h, const char *k, size_t size, uint32_t hv) -{ - unsigned int i, incr; - unsigned int empty; - -#ifdef STATS_HASH - STAT_HASH_LOOKUP++; -#endif - empty = NONE; - i = hv % h->size; - incr = ((hv % (h->size-2)) & ~1) + 1; - while (h->t[i].p != NULL) { -#ifdef STATS_HASH - STAT_HASH_LENGTH++; -#endif - if (h->t[i].p == DELETED) { - if (empty == NONE) - empty = i; - } else if (h->t[i].hv == hv && - memcmp(h->t[i].p+h->info.key_offset, k, size) == 0) { - if (empty != NONE) { - h->t[empty].hv = hv; - h->t[empty].p = h->t[i].p; - h->t[i].p = DELETED; - return empty; - } else { -#ifdef STATS_HASH - STAT_HASH_POSITIVE++; -#endif - } return i; - } - i += incr; - if (i >= h->size) - i -= h->size; - } - - /* Found an empty position. */ - if (empty != NONE) - i = empty; - h->t[i].hv = hv; - return i; -} - -unsigned int -ohash_qlookup(struct ohash *h, const char *s) -{ - const char *e = NULL; - return ohash_qlookupi(h, s, &e); -} - -unsigned int -ohash_qlookupi(struct ohash *h, const char *s, const char **e) -{ - uint32_t hv; - - hv = ohash_interval(s, e); - return ohash_lookup_interval(h, s, *e, hv); -} diff --git a/usr.bin/m4/lib/ohash.h b/usr.bin/m4/lib/ohash.h deleted file mode 100644 index 698f02e..0000000 --- a/usr.bin/m4/lib/ohash.h +++ /dev/null @@ -1,76 +0,0 @@ -/* $OpenBSD: src/lib/libutil/ohash.h,v 1.2 2014/06/02 18:52:03 deraadt Exp $ */ - -/* Copyright (c) 1999, 2004 Marc Espie <espie@openbsd.org> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * $FreeBSD$ - */ - -#ifndef OHASH_H -#define OHASH_H - -/* Open hashing support. - * Open hashing was chosen because it is much lighter than other hash - * techniques, and more efficient in most cases. - */ - -/* user-visible data structure */ -struct ohash_info { - ptrdiff_t key_offset; - void *data; /* user data */ - void *(*calloc)(size_t, size_t, void *); - void (*free)(void *, void *); - void *(*alloc)(size_t, void *); -}; - -struct _ohash_record; - -/* private structure. It's there just so you can do a sizeof */ -struct ohash { - struct _ohash_record *t; - struct ohash_info info; - unsigned int size; - unsigned int total; - unsigned int deleted; -}; - -/* For this to be tweakable, we use small primitives, and leave part of the - * logic to the client application. e.g., hashing is left to the client - * application. We also provide a simple table entry lookup that yields - * a hashing table index (opaque) to be used in find/insert/remove. - * The keys are stored at a known position in the client data. - */ -__BEGIN_DECLS -void ohash_init(struct ohash *, unsigned, struct ohash_info *); -void ohash_delete(struct ohash *); - -unsigned int ohash_lookup_interval(struct ohash *, const char *, - const char *, uint32_t); -unsigned int ohash_lookup_memory(struct ohash *, const char *, - size_t, uint32_t) - __attribute__ ((__bounded__(__string__,2,3))); -void *ohash_find(struct ohash *, unsigned int); -void *ohash_remove(struct ohash *, unsigned int); -void *ohash_insert(struct ohash *, unsigned int, void *); -void *ohash_first(struct ohash *, unsigned int *); -void *ohash_next(struct ohash *, unsigned int *); -unsigned int ohash_entries(struct ohash *); - -void *ohash_create_entry(struct ohash_info *, const char *, const char **); -uint32_t ohash_interval(const char *, const char **); - -unsigned int ohash_qlookupi(struct ohash *, const char *, const char **); -unsigned int ohash_qlookup(struct ohash *, const char *); -__END_DECLS -#endif diff --git a/usr.bin/m4/lib/ohash_init.3 b/usr.bin/m4/lib/ohash_init.3 deleted file mode 100644 index 56ece40..0000000 --- a/usr.bin/m4/lib/ohash_init.3 +++ /dev/null @@ -1,273 +0,0 @@ -.\" $OpenBSD: ohash_init.3,v 1.2 2014/05/13 14:01:41 jmc Exp $ -.\" Copyright (c) 1999 Marc Espie <espie@openbsd.org> -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.\" $FreeBSD$ -.\" -.Dd May 12 2014 -.Dt OHASH_INIT 3 -.Os -.Sh NAME -.Nm ohash_init , -.Nm ohash_delete , -.Nm ohash_lookup_interval , -.Nm ohash_lookup_memory , -.Nm ohash_find , -.Nm ohash_remove , -.Nm ohash_insert , -.Nm ohash_first , -.Nm ohash_next , -.Nm ohash_entries -.Nd light-weight open hashing -.Sh SYNOPSIS -.In stdint.h -.In stddef.h -.In ohash.h -.Ft void -.Fn ohash_init "struct ohash *h" "unsigned int size" "struct ohash_info *info" -.Ft void -.Fn ohash_delete "struct ohash *h" -.Ft "unsigned int" -.Fn ohash_lookup_interval "struct ohash *h" "const char *start" "const char *end" "uint32_t hv" -.Ft "unsigned int" -.Fn ohash_lookup_memory "struct ohash *h" "const char *k" "size_t s" "uint32_t hv" -.Ft void * -.Fn ohash_find "struct ohash *h" "unsigned int i" -.Ft void * -.Fn ohash_remove "struct ohash *h" "unsigned int i" -.Ft void * -.Fn ohash_insert "struct ohash *h" "unsigned int i" "void *p" -.Ft void * -.Fn ohash_first "struct ohash *h" "unsigned int *i" -.Ft void * -.Fn ohash_next "struct ohash *h" "unsigned int *i" -.Ft "unsigned int" -.Fn ohash_entries "struct ohash *h" -.Sh DESCRIPTION -These functions have been designed as a fast, extensible alternative to -the usual hash table functions. -They provide storage and retrieval of records indexed by keys, -where a key is a contiguous sequence of bytes at a fixed position in -each record. -Keys can either be NUL-terminated strings or fixed-size memory areas. -All functions take a pointer to an ohash structure as the -.Fa h -function argument. -Storage for this structure should be provided by user code. -.Pp -.Fn ohash_init -initializes the table to store roughly 2 to the power -.Fa size -elements. -.Fa info -is a pointer to a -.Fa struct ohash_info . -.Bd -literal -offset indent -struct ohash_info { - ptrdiff_t key_offset; - void *data; /* user data */ - void *(*calloc)(size_t, size_t, void *); - void (*free)(void *, void *); - void *(*alloc)(size_t, void *); -}; -.Ed -.Pp -The -.Va offset -field holds the position of the key in each record; -the -.Va calloc -and -.Va free -fields are pointers to -.Xr calloc 3 -and -.Xr free 3 Ns -like -functions, used for managing the table internal storage; -the -.Va alloc -field is only used by the utility function -.Xr ohash_create_entry 3 . -.Pp -Each of these functions are called similarly to their standard counterpart, -but with an extra -.Ft void * -parameter corresponding to the content of the field -.Fa data , -which can be used to communicate specific information to the functions. -.Pp -.Fn ohash_init -stores a copy of those fields internally, so -.Fa info -can be reclaimed after initialization. -.Pp -.Fn ohash_delete -frees storage internal to -.Fa h . -Elements themselves should be freed by the user first, using for instance -.Fn ohash_first -and -.Fn ohash_next . -.Pp -.Fn ohash_lookup_interval -and -.Fn ohash_lookup_memory -are the basic look-up element functions. -The hashing function result is provided by the user as -.Fa hv . -These return a -.Qq slot -in the ohash table -.Fa h , -to be used with -.Fn ohash_find , -.Fn ohash_insert , -or -.Fn ohash_remove . -This slot is only valid up to the next call to -.Fn ohash_insert -or -.Fn ohash_remove . -.Pp -.Fn ohash_lookup_interval -handles string-like keys. -.Fn ohash_lookup_interval -assumes the key is the interval between -.Fa start -and -.Fa end , -exclusive, -though the actual elements stored in the table should only contain -NUL-terminated keys. -.Pp -.Fn ohash_lookup_memory -assumes the key is the memory area starting at -.Fa k -of size -.Fa s . -All bytes are significant in key comparison. -.Pp -.Fn ohash_find -retrieves an element from a slot -.Fa i -returned by the -.Fn ohash_lookup* -functions. -It returns -.Dv NULL -if the slot is empty. -.Pp -.Fn ohash_insert -inserts a new element -.Fa p -at slot -.Fa i . -Slot -.Fa i -must be empty and element -.Fa p -must have a key corresponding to the -.Fn ohash_lookup* -call. -.Pp -.Fn ohash_remove -removes the element at slot -.Fa i . -It returns the removed element, for user code to dispose of, or -.Dv NULL -if the slot was empty. -.Pp -.Fn ohash_first -and -.Fn ohash_next -can be used to access all elements in an ohash table, like this: -.Bd -literal -offset indent -for (n = ohash_first(h, &i); n != NULL; n = ohash_next(h, &i)) - do_something_with(n); -.Ed -.Pp -.Fa i -points to an auxiliary unsigned integer used to record the current position -in the ohash table. -Those functions are safe to use even while entries are added to/removed -from the table, but in such a case they don't guarantee that new entries -will be returned. -As a special case, they can safely be used to free elements in the table. -.Pp -.Fn ohash_entries -returns the number of elements in the hash table. -.Sh STORAGE HANDLING -Only -.Fn ohash_init , -.Fn ohash_insert , -.Fn ohash_remove -and -.Fn ohash_delete -may call the user-supplied memory functions: -.Bd -literal -offset indent -p = (*info->calloc)(n, sizeof_record, info->data); -/* copy data from old to p */ -(*info->free)(old, info->data); -.Ed -.Pp -It is the responsibility of the user memory allocation code to verify -that those calls did not fail. -.Pp -If memory allocation fails, -.Fn ohash_init -returns a useless hash table. -.Fn ohash_insert -and -.Fn ohash_remove -still perform the requested operation, but the returned table should be -considered read-only. -It can still be accessed by -.Fn ohash_lookup* , -.Fn ohash_find , -.Fn ohash_first -and -.Fn ohash_next -to dump relevant information to disk before aborting. -.Sh THREAD SAFETY -The open hashing functions are not thread-safe by design. -In particular, in a threaded environment, there is no guarantee that a -.Qq slot -will not move between a -.Fn ohash_lookup* -and a -.Fn ohash_find , -.Fn ohash_insert -or -.Fn ohash_remove -call. -.Pp -Multi-threaded applications should explicitly protect ohash table access. -.Sh SEE ALSO -.Xr hcreate 3 , -.Xr ohash_interval 3 -.Rs -.%A Donald E. Knuth -.%B The Art of Computer Programming -.%V Vol. 3 -.%P pp 506-550 -.%D 1973 -.Re -.Sh STANDARDS -Those functions are completely non-standard and should be avoided in -portable programs. -.Sh HISTORY -Those functions were designed and written for -.Ox -.Xr make 1 -by Marc Espie in 1999. diff --git a/usr.bin/m4/lib/ohash_interval.3 b/usr.bin/m4/lib/ohash_interval.3 deleted file mode 100644 index 3a930f5..0000000 --- a/usr.bin/m4/lib/ohash_interval.3 +++ /dev/null @@ -1,95 +0,0 @@ -.\" $OpenBSD: ohash_interval.3,v 1.1 2014/05/12 19:09:00 espie Exp $ -.\" Copyright (c) 2001 Marc Espie <espie@openbsd.org> -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.\" $FreeBSD$ -.\" -.Dd June 5 2013 -.Dt OHASH_INTERVAL 3 -.Os -.Sh NAME -.Nm ohash_interval , -.Nm ohash_create_entry , -.Nm ohash_qlookup , -.Nm ohash_qlookupi -.Nd helper functions for open hashing -.Sh SYNOPSIS -.In stdint.h -.In stddef.h -.In ohash.h -.Ft uint32_t -.Fn ohash_interval "const char *start" "const char **pend" -.Ft "void *" -.Fn ohash_create_entry "struct ohash_info *info" "const char *start" "const char **pend" -.Ft "unsigned int" -.Fn ohash_qlookupi "struct ohash *h" "const char *start" "const char **pend" -.Ft "unsigned int" -.Fn ohash_qlookup "struct ohash *h" "const char *start" -.Sh DESCRIPTION -These functions are commonly used to simplify open hashing usage, and use -similar conventions. -They operate indifferently on NUL-terminated strings -.Po -by setting -.Fa *pend -= -.Dv NULL -.Pc -or memory ranges -.Po -delimited by -.Fa start -and -.Fa *pend -.Pc . -For NUL-terminated strings, as a side effect, those functions -set -.Fa *pend -to the terminating NUL byte. -.Pp -.Fn ohash_interval -is a simple hashing function that yields good results on common data sets. -.Pp -.Fn ohash_create_entry -can be used to create a new record with a given key. -In that case, -the alloc field of -.Fa info -should point to a -.Xr malloc 3 Ns -like -function to allocate the storage: -.Bd -literal -offset indent -p = (*info->alloc)(sz, info->data); -.Ed -.Pp -.Fn ohash_qlookupi -is a wrapper function that simply calls -.Fn ohash_interval -and -.Fn ohash_lookup_interval . -.Pp -.Fn ohash_qlookup -is a variation on -.Fn ohash_qlookupi -designed for NUL-terminated strings. -.Sh SEE ALSO -.Xr ohash_init 3 -.Sh STANDARDS -Those functions are completely non-standard and should be avoided in -portable programs. -.Sh HISTORY -Those functions were designed and written for -.Ox -.Xr make 1 -by Marc Espie in 1999. diff --git a/usr.bin/m4/m4.1 b/usr.bin/m4/m4.1 index c72ffac..0e1d83a 100644 --- a/usr.bin/m4/m4.1 +++ b/usr.bin/m4/m4.1 @@ -33,7 +33,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 12 2014 $ +.Dd January 12, 2014 .Dt M4 1 .Os .Sh NAME diff --git a/usr.bin/m4/misc.c b/usr.bin/m4/misc.c index ebf0198..1959448 100644 --- a/usr.bin/m4/misc.c +++ b/usr.bin/m4/misc.c @@ -265,7 +265,7 @@ killdiv(void) extern char *__progname; void -m4errx(int eval, const char *fmt, ...) +m4errx(int exitstatus, const char *fmt, ...) { fprintf(stderr, "%s: ", __progname); fprintf(stderr, "%s at line %lu: ", CURRENT_NAME, CURRENT_LINE); @@ -277,7 +277,7 @@ m4errx(int eval, const char *fmt, ...) va_end(ap); } fprintf(stderr, "\n"); - exit(eval); + exit(exitstatus); } /* diff --git a/usr.bin/mail/edit.c b/usr.bin/mail/edit.c index ad8aa53..f9e974d 100644 --- a/usr.bin/mail/edit.c +++ b/usr.bin/mail/edit.c @@ -81,7 +81,7 @@ edit1(int *msgvec, int type) /* * Deal with each message to be edited . . . */ - for (i = 0; msgvec[i] && i < msgCount; i++) { + for (i = 0; i < msgCount && msgvec[i]; i++) { sig_t sigint; if (i > 0) { diff --git a/usr.bin/man/man.1 b/usr.bin/man/man.1 index 4763cc6..7517a64 100644 --- a/usr.bin/man/man.1 +++ b/usr.bin/man/man.1 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 3, 2011 +.Dd September 26, 2014 .Dt MAN 1 .Os .Sh NAME @@ -58,6 +58,28 @@ is provided, .Nm restricts the search to the specific section of the manual. .Pp +The sections of the manual are: +.Bl -enum -offset indent -compact +.It +.Fx General Commands Manual +.It +.Fx System Calls Manual +.It +.Fx Library Functions Manual +.It +.Fx Kernel Interfaces Manual +.It +.Fx File Formats Manual +.It +.Fx Games Manual +.It +.Fx Miscellaneous Information Manual +.It +.Fx System Manager's Manual +.It +.Fx Kernel Developer's Manual +.El +.Pp Options that .Nm understands: @@ -318,6 +340,14 @@ Local configuration files. .Sh SEE ALSO .Xr apropos 1 , .Xr intro 1 , +.Xr intro 2 , +.Xr intro 3 , +.Xr intro 4 , +.Xr intro 5 , +.Xr intro 6 , +.Xr intro 7 , +.Xr intro 8 , +.Xr intro 9 , .Xr locale 1 , .Xr manpath 1 , .Xr nroff 1 , diff --git a/usr.bin/mandoc/Makefile b/usr.bin/mandoc/Makefile index eb50978..ed88f4e 100644 --- a/usr.bin/mandoc/Makefile +++ b/usr.bin/mandoc/Makefile @@ -19,6 +19,4 @@ CFLAGS+= -DHAVE_CONFIG_H DPADD= ${LIBMANDOC} LDADD= ${LIBMANDOC} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/mkimg/Makefile b/usr.bin/mkimg/Makefile index b802799..28aac7d 100644 --- a/usr.bin/mkimg/Makefile +++ b/usr.bin/mkimg/Makefile @@ -1,13 +1,20 @@ # $FreeBSD$ +.include <src.opts.mk> + PROG= mkimg SRCS= format.c image.c mkimg.c scheme.c MAN= mkimg.1 +MKIMG_VERSION=20141003 +mkimg.o: Makefile + +CFLAGS+=-DMKIMG_VERSION=${MKIMG_VERSION} CFLAGS+=-DSPARSE_WRITE # List of formats to support SRCS+= \ + qcow.c \ raw.c \ vhd.c \ vmdk.c @@ -29,4 +36,8 @@ LDADD= -lutil WARNS?= 6 +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/mkimg/apm.c b/usr.bin/mkimg/apm.c index 12add8e..de92cc0 100644 --- a/usr.bin/mkimg/apm.c +++ b/usr.bin/mkimg/apm.c @@ -57,13 +57,12 @@ static struct mkimg_alias apm_aliases[] = { { ALIAS_NONE, 0 } }; -static u_int -apm_metadata(u_int where) +static lba_t +apm_metadata(u_int where, lba_t blk) { - u_int secs; - secs = (where == SCHEME_META_IMG_START) ? nparts + 2 : 0; - return (secs); + blk += (where == SCHEME_META_IMG_START) ? nparts + 2 : 0; + return (round_block(blk)); } static int diff --git a/usr.bin/mkimg/bsd.c b/usr.bin/mkimg/bsd.c index 03af5cd..75e554f 100644 --- a/usr.bin/mkimg/bsd.c +++ b/usr.bin/mkimg/bsd.c @@ -52,13 +52,17 @@ static struct mkimg_alias bsd_aliases[] = { { ALIAS_NONE, 0 } }; -static u_int -bsd_metadata(u_int where) +static lba_t +bsd_metadata(u_int where, lba_t blk) { - u_int secs; - secs = BBSIZE / secsz; - return ((where == SCHEME_META_IMG_START) ? secs : 0); + if (where == SCHEME_META_IMG_START) + blk += BBSIZE / secsz; + else if (where == SCHEME_META_IMG_END) + blk = round_cylinder(blk); + else + blk = round_block(blk); + return (blk); } static int @@ -68,7 +72,7 @@ bsd_write(lba_t imgsz, void *bootcode) struct disklabel *d; struct partition *dp; struct part *part; - int error, n; + int bsdparts, error, n; uint16_t checksum; buf = malloc(BBSIZE); @@ -76,16 +80,13 @@ bsd_write(lba_t imgsz, void *bootcode) return (ENOMEM); if (bootcode != NULL) { memcpy(buf, bootcode, BBSIZE); - memset(buf + secsz, 0, secsz); + memset(buf + secsz, 0, sizeof(struct disklabel)); } else memset(buf, 0, BBSIZE); - imgsz = (lba_t)ncyls * nheads * nsecs; - error = image_set_size(imgsz); - if (error) { - free(buf); - return (error); - } + bsdparts = nparts + 1; /* Account for c partition */ + if (bsdparts < MAXPARTITIONS) + bsdparts = MAXPARTITIONS; d = (void *)(buf + secsz); le32enc(&d->d_magic, DISKMAGIC); @@ -97,7 +98,7 @@ bsd_write(lba_t imgsz, void *bootcode) le32enc(&d->d_secperunit, imgsz); le16enc(&d->d_rpm, 3600); le32enc(&d->d_magic2, DISKMAGIC); - le16enc(&d->d_npartitions, (8 > nparts + 1) ? 8 : nparts + 1); + le16enc(&d->d_npartitions, bsdparts); le32enc(&d->d_bbsize, BBSIZE); dp = &d->d_partitions[RAW_PART]; @@ -107,12 +108,15 @@ bsd_write(lba_t imgsz, void *bootcode) dp = &d->d_partitions[n]; le32enc(&dp->p_size, part->size); le32enc(&dp->p_offset, part->block); + le32enc(&dp->p_fsize, 0); dp->p_fstype = ALIAS_TYPE2INT(part->type); + dp->p_frag = 0; + le16enc(&dp->p_cpg, 0); } - dp = &d->d_partitions[nparts + 1]; + dp = &d->d_partitions[bsdparts]; checksum = 0; - for (p = buf; p < (u_char *)dp; p += 2) + for (p = (void *)d; p < (u_char *)dp; p += 2) checksum ^= le16dec(p); le16enc(&d->d_checksum, checksum); diff --git a/usr.bin/mkimg/ebr.c b/usr.bin/mkimg/ebr.c index 77204d7..28931ea 100644 --- a/usr.bin/mkimg/ebr.c +++ b/usr.bin/mkimg/ebr.c @@ -49,22 +49,23 @@ static struct mkimg_alias ebr_aliases[] = { { ALIAS_NONE, 0 } }; -static u_int -ebr_metadata(u_int where) +static lba_t +ebr_metadata(u_int where, lba_t blk) { - u_int secs; - secs = (where == SCHEME_META_PART_BEFORE) ? nsecs : 0; - return (secs); + blk += (where == SCHEME_META_PART_BEFORE) ? 1 : 0; + return (round_track(blk)); } static void -ebr_chs(u_char *cyl, u_char *hd, u_char *sec, uint32_t lba __unused) +ebr_chs(u_char *cylp, u_char *hdp, u_char *secp, lba_t lba) { + u_int cyl, hd, sec; - *cyl = 0xff; /* XXX */ - *hd = 0xff; /* XXX */ - *sec = 0xff; /* XXX */ + mkimg_chs(lba, 1023, &cyl, &hd, &sec); + *cylp = cyl; + *hdp = hd; + *secp = (sec & 0x3f) | ((cyl >> 2) & 0xc0); } static int @@ -73,7 +74,7 @@ ebr_write(lba_t imgsz __unused, void *bootcode __unused) u_char *ebr; struct dos_partition *dp; struct part *part, *next; - lba_t block; + lba_t block, size; int error; ebr = malloc(secsz); @@ -85,24 +86,26 @@ ebr_write(lba_t imgsz __unused, void *bootcode __unused) error = 0; STAILQ_FOREACH_SAFE(part, &partlist, link, next) { block = part->block - nsecs; + size = round_track(part->size); dp = (void *)(ebr + DOSPARTOFF); ebr_chs(&dp->dp_scyl, &dp->dp_shd, &dp->dp_ssect, nsecs); dp->dp_typ = ALIAS_TYPE2INT(part->type); ebr_chs(&dp->dp_ecyl, &dp->dp_ehd, &dp->dp_esect, - part->block + part->size - 1); + part->block + size - 1); le32enc(&dp->dp_start, nsecs); - le32enc(&dp->dp_size, part->size); + le32enc(&dp->dp_size, size); /* Add link entry */ if (next != NULL) { + size = round_track(next->size); dp++; ebr_chs(&dp->dp_scyl, &dp->dp_shd, &dp->dp_ssect, next->block - nsecs); dp->dp_typ = DOSPTYP_EXT; ebr_chs(&dp->dp_ecyl, &dp->dp_ehd, &dp->dp_esect, - next->block + next->size - 1); + next->block + size - 1); le32enc(&dp->dp_start, next->block - nsecs); - le32enc(&dp->dp_size, next->size + nsecs); + le32enc(&dp->dp_size, size + nsecs); } error = image_write(block, ebr, 1); diff --git a/usr.bin/mkimg/gpt.c b/usr.bin/mkimg/gpt.c index 959deb3..5773a6a 100644 --- a/usr.bin/mkimg/gpt.c +++ b/usr.bin/mkimg/gpt.c @@ -153,17 +153,15 @@ gpt_tblsz(void) return ((nparts + ents - 1) / ents); } -static u_int -gpt_metadata(u_int where) +static lba_t +gpt_metadata(u_int where, lba_t blk) { - u_int secs; - - if (where != SCHEME_META_IMG_START && where != SCHEME_META_IMG_END) - return (0); - secs = gpt_tblsz(); - secs += (where == SCHEME_META_IMG_START) ? 2 : 1; - return (secs); + if (where == SCHEME_META_IMG_START || where == SCHEME_META_IMG_END) { + blk += gpt_tblsz(); + blk += (where == SCHEME_META_IMG_START) ? 2 : 1; + } + return (round_block(blk)); } static int diff --git a/usr.bin/mkimg/image.c b/usr.bin/mkimg/image.c index f448d98..be1c2e9 100644 --- a/usr.bin/mkimg/image.c +++ b/usr.bin/mkimg/image.c @@ -27,71 +27,464 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); +#include <sys/mman.h> +#include <sys/queue.h> +#include <sys/stat.h> #include <sys/types.h> #include <assert.h> #include <errno.h> #include <limits.h> #include <paths.h> +#include <stdint.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <unistd.h> #include "image.h" #include "mkimg.h" -#define BUFFER_SIZE (1024*1024) +struct chunk { + STAILQ_ENTRY(chunk) ch_list; + size_t ch_size; /* Size of chunk in bytes. */ + lba_t ch_block; /* Block address in image. */ + union { + struct { + off_t ofs; /* Offset in backing file. */ + int fd; /* FD of backing file. */ + } file; + struct { + void *ptr; /* Pointer to data in memory */ + } mem; + } ch_u; + u_int ch_type; +#define CH_TYPE_ZEROES 0 /* Chunk is a gap (no data). */ +#define CH_TYPE_FILE 1 /* File-backed chunk. */ +#define CH_TYPE_MEMORY 2 /* Memory-backed chunk */ +}; + +static STAILQ_HEAD(chunk_head, chunk) image_chunks; +static u_int image_nchunks; + +static char image_swap_file[PATH_MAX]; +static int image_swap_fd = -1; +static u_int image_swap_pgsz; +static off_t image_swap_size; -static char image_tmpfile[PATH_MAX]; -static int image_fd = -1; static lba_t image_size; -static void -cleanup(void) +static int +is_empty_sector(void *buf) { + uint64_t *p = buf; + size_t n, max; + + assert(((uintptr_t)p & 3) == 0); - if (image_fd != -1) - close(image_fd); - unlink(image_tmpfile); + max = secsz / sizeof(uint64_t); + for (n = 0; n < max; n++) { + if (p[n] != 0UL) + return (0); + } + return (1); } -int -image_copyin(lba_t blk, int fd, uint64_t *sizep) +/* + * Swap file handlng. + */ + +static off_t +image_swap_alloc(size_t size) +{ + off_t ofs; + size_t unit; + + unit = (secsz > image_swap_pgsz) ? secsz : image_swap_pgsz; + assert((unit & (unit - 1)) == 0); + + size = (size + unit - 1) & ~(unit - 1); + + ofs = image_swap_size; + image_swap_size += size; + if (ftruncate(image_swap_fd, image_swap_size) == -1) { + image_swap_size = ofs; + ofs = -1LL; + } + return (ofs); +} + +/* + * Image chunk handling. + */ + +static struct chunk * +image_chunk_find(lba_t blk) +{ + static struct chunk *last = NULL; + struct chunk *ch; + + ch = (last != NULL && last->ch_block <= blk) + ? last : STAILQ_FIRST(&image_chunks); + while (ch != NULL) { + if (ch->ch_block <= blk && + (lba_t)(ch->ch_block + (ch->ch_size / secsz)) > blk) { + last = ch; + break; + } + ch = STAILQ_NEXT(ch, ch_list); + } + return (ch); +} + +static size_t +image_chunk_grow(struct chunk *ch, size_t sz) +{ + size_t dsz, newsz; + + newsz = ch->ch_size + sz; + if (newsz > ch->ch_size) { + ch->ch_size = newsz; + return (0); + } + /* We would overflow -- create new chunk for remainder. */ + dsz = SIZE_MAX - ch->ch_size; + assert(dsz < sz); + ch->ch_size = SIZE_MAX; + return (sz - dsz); +} + +static struct chunk * +image_chunk_memory(struct chunk *ch, lba_t blk) +{ + struct chunk *new; + void *ptr; + + ptr = calloc(1, secsz); + if (ptr == NULL) + return (NULL); + + if (ch->ch_block < blk) { + new = malloc(sizeof(*new)); + if (new == NULL) { + free(ptr); + return (NULL); + } + memcpy(new, ch, sizeof(*new)); + ch->ch_size = (blk - ch->ch_block) * secsz; + new->ch_block = blk; + new->ch_size -= ch->ch_size; + STAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list); + image_nchunks++; + ch = new; + } + + if (ch->ch_size > secsz) { + new = malloc(sizeof(*new)); + if (new == NULL) { + free(ptr); + return (NULL); + } + memcpy(new, ch, sizeof(*new)); + ch->ch_size = secsz; + new->ch_block++; + new->ch_size -= secsz; + STAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list); + image_nchunks++; + } + + ch->ch_type = CH_TYPE_MEMORY; + ch->ch_u.mem.ptr = ptr; + return (ch); +} + +static int +image_chunk_skipto(lba_t to) +{ + struct chunk *ch; + lba_t from; + size_t sz; + + ch = STAILQ_LAST(&image_chunks, chunk, ch_list); + from = (ch != NULL) ? ch->ch_block + (ch->ch_size / secsz) : 0LL; + + assert(from <= to); + + /* Nothing to do? */ + if (from == to) + return (0); + /* Avoid bugs due to overflows. */ + if ((uintmax_t)(to - from) > (uintmax_t)(SIZE_MAX / secsz)) + return (EFBIG); + sz = (to - from) * secsz; + if (ch != NULL && ch->ch_type == CH_TYPE_ZEROES) { + sz = image_chunk_grow(ch, sz); + if (sz == 0) + return (0); + from = ch->ch_block + (ch->ch_size / secsz); + } + ch = malloc(sizeof(*ch)); + if (ch == NULL) + return (ENOMEM); + memset(ch, 0, sizeof(*ch)); + ch->ch_block = from; + ch->ch_size = sz; + ch->ch_type = CH_TYPE_ZEROES; + STAILQ_INSERT_TAIL(&image_chunks, ch, ch_list); + image_nchunks++; + return (0); +} + +static int +image_chunk_append(lba_t blk, size_t sz, off_t ofs, int fd) +{ + struct chunk *ch; + + ch = STAILQ_LAST(&image_chunks, chunk, ch_list); + if (ch != NULL && ch->ch_type == CH_TYPE_FILE) { + if (fd == ch->ch_u.file.fd && + blk == (lba_t)(ch->ch_block + (ch->ch_size / secsz)) && + ofs == (off_t)(ch->ch_u.file.ofs + ch->ch_size)) { + sz = image_chunk_grow(ch, sz); + if (sz == 0) + return (0); + blk = ch->ch_block + (ch->ch_size / secsz); + ofs = ch->ch_u.file.ofs + ch->ch_size; + } + } + ch = malloc(sizeof(*ch)); + if (ch == NULL) + return (ENOMEM); + memset(ch, 0, sizeof(*ch)); + ch->ch_block = blk; + ch->ch_size = sz; + ch->ch_type = CH_TYPE_FILE; + ch->ch_u.file.ofs = ofs; + ch->ch_u.file.fd = fd; + STAILQ_INSERT_TAIL(&image_chunks, ch, ch_list); + image_nchunks++; + return (0); +} + +static int +image_chunk_copyin(lba_t blk, void *buf, size_t sz, off_t ofs, int fd) +{ + uint8_t *p = buf; + int error; + + error = 0; + sz = (sz + secsz - 1) & ~(secsz - 1); + while (!error && sz > 0) { + if (is_empty_sector(p)) + error = image_chunk_skipto(blk + 1); + else + error = image_chunk_append(blk, secsz, ofs, fd); + blk++; + p += secsz; + sz -= secsz; + ofs += secsz; + } + return (error); +} + +/* + * File mapping support. + */ + +static void * +image_file_map(int fd, off_t ofs, size_t sz) +{ + void *ptr; + size_t unit; + int flags, prot; + + unit = (secsz > image_swap_pgsz) ? secsz : image_swap_pgsz; + assert((unit & (unit - 1)) == 0); + + flags = MAP_NOCORE | MAP_NOSYNC | MAP_SHARED; + /* Allow writing to our swap file only. */ + prot = PROT_READ | ((fd == image_swap_fd) ? PROT_WRITE : 0); + sz = (sz + unit - 1) & ~(unit - 1); + ptr = mmap(NULL, sz, prot, flags, fd, ofs); + return ((ptr == MAP_FAILED) ? NULL : ptr); +} + +static int +image_file_unmap(void *buffer, size_t sz) +{ + size_t unit; + + unit = (secsz > image_swap_pgsz) ? secsz : image_swap_pgsz; + sz = (sz + unit - 1) & ~(unit - 1); + munmap(buffer, sz); + return (0); +} + +/* + * Input/source file handling. + */ + +static int +image_copyin_stream(lba_t blk, int fd, uint64_t *sizep) { char *buffer; uint64_t bytesize; - ssize_t bcnt, rdsz; - int error, partial; + off_t swofs; + size_t iosz; + ssize_t rdsz; + int error; - assert(BUFFER_SIZE % secsz == 0); + /* + * This makes sure we're doing I/O in multiples of the page + * size as well as of the sector size. 2MB is the minimum + * by virtue of secsz at least 512 bytes and the page size + * at least 4K bytes. + */ + iosz = secsz * image_swap_pgsz; - buffer = malloc(BUFFER_SIZE); - if (buffer == NULL) - return (ENOMEM); bytesize = 0; - partial = 0; - while (1) { - rdsz = read(fd, buffer, BUFFER_SIZE); - if (rdsz <= 0) { - error = (rdsz < 0) ? errno : 0; - break; - } - if (partial) - abort(); - bytesize += rdsz; - bcnt = (rdsz + secsz - 1) / secsz; - error = image_write(blk, buffer, bcnt); + do { + swofs = image_swap_alloc(iosz); + if (swofs == -1LL) + return (errno); + buffer = image_file_map(image_swap_fd, swofs, iosz); + if (buffer == NULL) + return (errno); + rdsz = read(fd, buffer, iosz); + if (rdsz > 0) + error = image_chunk_copyin(blk, buffer, rdsz, swofs, + image_swap_fd); + else if (rdsz < 0) + error = errno; + else + error = 0; + image_file_unmap(buffer, iosz); + /* XXX should we relinguish unused swap space? */ if (error) + return (error); + + bytesize += rdsz; + blk += (rdsz + secsz - 1) / secsz; + } while (rdsz > 0); + + if (sizep != NULL) + *sizep = bytesize; + return (0); +} + +static int +image_copyin_mapped(lba_t blk, int fd, uint64_t *sizep) +{ + off_t cur, data, end, hole, pos; + void *buf; + uint64_t bytesize; + size_t iosz, sz; + int error; + + /* + * We'd like to know the size of the file and we must + * be able to seek in order to mmap(2). If this isn't + * possible, then treat the file as a stream/pipe. + */ + end = lseek(fd, 0L, SEEK_END); + if (end == -1L) + return (image_copyin_stream(blk, fd, sizep)); + + /* + * We need the file opened for the duration and our + * caller is going to close the file. Make a dup(2) + * so that control the faith of the descriptor. + */ + fd = dup(fd); + if (fd == -1) + return (errno); + + iosz = secsz * image_swap_pgsz; + + bytesize = 0; + cur = pos = 0; + error = 0; + while (!error && cur < end) { + hole = lseek(fd, cur, SEEK_HOLE); + if (hole == -1) + hole = end; + data = lseek(fd, cur, SEEK_DATA); + if (data == -1) + data = end; + + /* + * Treat the entire file as data if sparse files + * are not supported by the underlying file system. + */ + if (hole == end && data == end) + data = cur; + + if (cur == hole && data > hole) { + hole = pos; + pos = data & ~((uint64_t)secsz - 1); + + blk += (pos - hole) / secsz; + error = image_chunk_skipto(blk); + + bytesize += pos - hole; + cur = data; + } else if (cur == data && hole > data) { + data = pos; + pos = (hole + secsz - 1) & ~((uint64_t)secsz - 1); + + while (data < pos) { + sz = (pos - data > (off_t)iosz) + ? iosz : (size_t)(pos - data); + + buf = image_file_map(fd, data, sz); + if (buf != NULL) { + error = image_chunk_copyin(blk, buf, + sz, data, fd); + image_file_unmap(buf, sz); + } else + error = errno; + + blk += sz / secsz; + bytesize += sz; + data += sz; + } + cur = hole; + } else { + /* + * I don't know what this means or whether it + * can happen at all... + */ + error = EDOOFUS; break; - blk += bcnt; - partial = ((ssize_t)(bcnt * secsz) != rdsz) ? 1 : 0; + } } - free(buffer); - if (sizep != NULL) + if (error) + close(fd); + if (!error && sizep != NULL) *sizep = bytesize; return (error); } int +image_copyin(lba_t blk, int fd, uint64_t *sizep) +{ + struct stat sb; + int error; + + error = image_chunk_skipto(blk); + if (!error) { + if (fstat(fd, &sb) == -1 || !S_ISREG(sb.st_mode)) + error = image_copyin_stream(blk, fd, sizep); + else + error = image_copyin_mapped(blk, fd, sizep); + } + return (error); +} + +/* + * Output/sink file handling. + */ + +int image_copyout(int fd) { int error; @@ -115,71 +508,124 @@ image_copyout_done(int fd) return (error); } -int -image_copyout_region(int fd, lba_t blk, lba_t size) +static int +image_copyout_memory(int fd, size_t size, void *ptr) { - char *buffer; - off_t ofs; + + if (write(fd, ptr, size) == -1) + return (errno); + return (0); +} + +static int +image_copyout_zeroes(int fd, size_t size) +{ + static uint8_t *zeroes = NULL; size_t sz; - ssize_t rdsz, wrsz; int error; - ofs = lseek(fd, 0L, SEEK_CUR); + if (lseek(fd, (off_t)size, SEEK_CUR) != -1) + return (0); + + /* + * If we can't seek, we must write. + */ + + if (zeroes == NULL) { + zeroes = calloc(1, secsz); + if (zeroes == NULL) + return (ENOMEM); + } + + while (size > 0) { + sz = (size > secsz) ? secsz : size; + error = image_copyout_memory(fd, sz, zeroes); + if (error) + return (error); + size -= sz; + } + return (0); +} + +static int +image_copyout_file(int fd, size_t size, int ifd, off_t iofs) +{ + void *buf; + size_t iosz, sz; + int error; + + iosz = secsz * image_swap_pgsz; + + while (size > 0) { + sz = (size > iosz) ? iosz : size; + buf = image_file_map(ifd, iofs, sz); + if (buf == NULL) + return (errno); + error = image_copyout_memory(fd, sz, buf); + image_file_unmap(buf, sz); + if (error) + return (error); + size -= sz; + iofs += sz; + } + return (0); +} + +int +image_copyout_region(int fd, lba_t blk, lba_t size) +{ + struct chunk *ch; + size_t ofs, sz; + int error; - blk *= secsz; - if (lseek(image_fd, blk, SEEK_SET) != blk) - return (errno); - buffer = malloc(BUFFER_SIZE); - if (buffer == NULL) - return (errno); - error = 0; size *= secsz; + while (size > 0) { - sz = (BUFFER_SIZE < size) ? BUFFER_SIZE : size; - rdsz = read(image_fd, buffer, sz); - if (rdsz <= 0) { - error = (rdsz < 0) ? errno : 0; + ch = image_chunk_find(blk); + if (ch == NULL) + return (EINVAL); + ofs = (blk - ch->ch_block) * secsz; + sz = ch->ch_size - ofs; + sz = ((lba_t)sz < size) ? sz : (size_t)size; + switch (ch->ch_type) { + case CH_TYPE_ZEROES: + error = image_copyout_zeroes(fd, sz); break; - } - wrsz = (ofs == -1) ? - write(fd, buffer, rdsz) : - sparse_write(fd, buffer, rdsz); - if (wrsz < 0) { - error = errno; + case CH_TYPE_FILE: + error = image_copyout_file(fd, sz, ch->ch_u.file.fd, + ch->ch_u.file.ofs + ofs); + break; + case CH_TYPE_MEMORY: + error = image_copyout_memory(fd, sz, ch->ch_u.mem.ptr); break; + default: + return (EDOOFUS); } - assert(wrsz == rdsz); - size -= rdsz; + size -= sz; + blk += sz / secsz; } - free(buffer); - return (error); + return (0); } int image_data(lba_t blk, lba_t size) { - char *buffer, *p; - - blk *= secsz; - if (lseek(image_fd, blk, SEEK_SET) != blk) - return (1); - - size *= secsz; - buffer = malloc(size); - if (buffer == NULL) - return (1); + struct chunk *ch; + lba_t lim; - if (read(image_fd, buffer, size) != (ssize_t)size) { - free(buffer); - return (1); + while (1) { + ch = image_chunk_find(blk); + if (ch == NULL) + return (0); + if (ch->ch_type != CH_TYPE_ZEROES) + return (1); + lim = ch->ch_block + (ch->ch_size / secsz); + if (lim >= blk + size) + return (0); + size -= lim - blk; + blk = lim; } - - p = buffer; - while (size > 0 && *p == '\0') - size--, p++; - - free(buffer); - return ((size == 0) ? 0 : 1); + /*NOTREACHED*/ } lba_t @@ -192,39 +638,87 @@ image_get_size(void) int image_set_size(lba_t blk) { + int error; - image_size = blk; - if (ftruncate(image_fd, blk * secsz) == -1) - return (errno); - return (0); + error = image_chunk_skipto(blk); + if (!error) + image_size = blk; + return (error); } int image_write(lba_t blk, void *buf, ssize_t len) { + struct chunk *ch; - blk *= secsz; - if (lseek(image_fd, blk, SEEK_SET) != blk) - return (errno); - len *= secsz; - if (sparse_write(image_fd, buf, len) != len) - return (errno); + while (len > 0) { + if (!is_empty_sector(buf)) { + ch = image_chunk_find(blk); + if (ch == NULL) + return (ENXIO); + /* We may not be able to write to files. */ + if (ch->ch_type == CH_TYPE_FILE) + return (EINVAL); + if (ch->ch_type == CH_TYPE_ZEROES) { + ch = image_chunk_memory(ch, blk); + if (ch == NULL) + return (ENOMEM); + } + assert(ch->ch_type == CH_TYPE_MEMORY); + memcpy(ch->ch_u.mem.ptr, buf, secsz); + } + blk++; + buf = (char *)buf + secsz; + len--; + } return (0); } +static void +image_cleanup(void) +{ + struct chunk *ch; + + while ((ch = STAILQ_FIRST(&image_chunks)) != NULL) { + switch (ch->ch_type) { + case CH_TYPE_FILE: + /* We may be closing the same file multiple times. */ + if (ch->ch_u.file.fd != -1) + close(ch->ch_u.file.fd); + break; + case CH_TYPE_MEMORY: + free(ch->ch_u.mem.ptr); + break; + default: + break; + } + STAILQ_REMOVE_HEAD(&image_chunks, ch_list); + free(ch); + } + if (image_swap_fd != -1) + close(image_swap_fd); + unlink(image_swap_file); +} + int image_init(void) { const char *tmpdir; - if (atexit(cleanup) == -1) + STAILQ_INIT(&image_chunks); + image_nchunks = 0; + + image_swap_size = 0; + image_swap_pgsz = getpagesize(); + + if (atexit(image_cleanup) == -1) return (errno); if ((tmpdir = getenv("TMPDIR")) == NULL || *tmpdir == '\0') tmpdir = _PATH_TMP; - snprintf(image_tmpfile, sizeof(image_tmpfile), "%s/mkimg-XXXXXX", + snprintf(image_swap_file, sizeof(image_swap_file), "%s/mkimg-XXXXXX", tmpdir); - image_fd = mkstemp(image_tmpfile); - if (image_fd == -1) + image_swap_fd = mkstemp(image_swap_file); + if (image_swap_fd == -1) return (errno); return (0); } diff --git a/usr.bin/mkimg/mbr.c b/usr.bin/mkimg/mbr.c index 4b0f242..c1b7822 100644 --- a/usr.bin/mkimg/mbr.c +++ b/usr.bin/mkimg/mbr.c @@ -50,22 +50,23 @@ static struct mkimg_alias mbr_aliases[] = { { ALIAS_NONE, 0 } /* Keep last! */ }; -static u_int -mbr_metadata(u_int where) +static lba_t +mbr_metadata(u_int where, lba_t blk) { - u_int secs; - secs = (where == SCHEME_META_IMG_START) ? nsecs : 0; - return (secs); + blk += (where == SCHEME_META_IMG_START) ? 1 : 0; + return (round_track(blk)); } static void -mbr_chs(u_char *cyl, u_char *hd, u_char *sec, uint32_t lba __unused) +mbr_chs(u_char *cylp, u_char *hdp, u_char *secp, lba_t lba) { + u_int cyl, hd, sec; - *cyl = 0xff; /* XXX */ - *hd = 0xff; /* XXX */ - *sec = 0xff; /* XXX */ + mkimg_chs(lba, 1023, &cyl, &hd, &sec); + *cylp = cyl; + *hdp = hd; + *secp = (sec & 0x3f) | ((cyl >> 2) & 0xc0); } static int @@ -74,6 +75,7 @@ mbr_write(lba_t imgsz __unused, void *bootcode) u_char *mbr; struct dos_partition *dpbase, *dp; struct part *part; + lba_t size; int error; mbr = malloc(secsz); @@ -87,15 +89,16 @@ mbr_write(lba_t imgsz __unused, void *bootcode) le16enc(mbr + DOSMAGICOFFSET, DOSMAGIC); dpbase = (void *)(mbr + DOSPARTOFF); STAILQ_FOREACH(part, &partlist, link) { + size = round_track(part->size); dp = dpbase + part->index; dp->dp_flag = (part->index == 0 && bootcode != NULL) ? 0x80 : 0; mbr_chs(&dp->dp_scyl, &dp->dp_shd, &dp->dp_ssect, part->block); dp->dp_typ = ALIAS_TYPE2INT(part->type); mbr_chs(&dp->dp_ecyl, &dp->dp_ehd, &dp->dp_esect, - part->block + part->size - 1); + part->block + size - 1); le32enc(&dp->dp_start, part->block); - le32enc(&dp->dp_size, part->size); + le32enc(&dp->dp_size, size); } error = image_write(0, mbr, 1); free(mbr); diff --git a/usr.bin/mkimg/mkimg.1 b/usr.bin/mkimg/mkimg.1 index ed14cc8..56cd605 100644 --- a/usr.bin/mkimg/mkimg.1 +++ b/usr.bin/mkimg/mkimg.1 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 4, 2014 +.Dd September 27, 2014 .Dt MKIMG 1 .Os .Sh NAME @@ -44,6 +44,8 @@ .Fl s Ar scheme .Fl p Ar partition .Op Fl p Ar partition ... +.Nm +.Ar --formats | --schemes | --version .Sh DESCRIPTION The .Nm @@ -122,10 +124,32 @@ utility will generate predictable values for Universally Unique Identifiers .Nm utility will create images that are identical. .Pp -For a complete list of supported partitioning schemes or supported output -format, or for a detailed description of how to specify partitions, run the +A set of long options exist to query about the +.Nm +utilty itself. +Options in this set should be given by themselves because the +.Nm +utility exits immediately after providing the requested information. +The version of the +.Nm +utility is printed when the +.Ar --version +option is given. +The list of supported output formats is printed when the +.Ar --formats +option is given and the list of supported partitioning schemes is printed +when the +.Ar --schemes +option is given. +Both the format and scheme lists a space-separated lists for easy handling +in scripts. +.Pp +For a more descriptive list of supported partitioning schemes or supported +output format, or for a detailed description of how to specify partitions, +run the .Nm utility without any arguments. +This will print a usage message with all the necessary details. .Sh ENVIRONMENT .Bl -tag -width "TMPDIR" -compact .It Ev TMPDIR @@ -171,15 +195,34 @@ utility as follows: .Dl % mkimg -s mbr -b /boot/mbr -p freebsd:-'mkimg -s bsd -b /boot/boot \ -p freebsd-ufs:=root-file-system.ufs -p freebsd-swap::1G' -o mbr-bsd.img .Pp +To accomodate the need to have partitions named or numbered in a certain +way, the +.Nm +utility allows for the specification of empty partitions. +For example, to create an image that is compatible with partition layouts +found in +.Pa /etc/disktab , +the 'd' partition often needs to be skipped. +This is accomplished by inserting an unused partition after the first 2 +partition specifications. +It is worth noting at this time that the BSD scheme will automatically +skip the 'c' partition by virtue of it referring to the entire disk. +To create an image that is compatible with the qp120at disk, use the +.Nm +utility as follows: +.Dl % mkimg -s bsd -b /boot/boot -p freebsd-ufs:=root-file-system.ufs \ +-p freebsd-swap::20M -p- -p- -p- -p- -p freebsd-ufs:=usr-file-system.ufs \ +-o bsd.img +.Pp For partitioning schemes that feature partition labels, the .Nm utility supports assigning labels to the partitions specified. In the following example the file system partition is labeled as 'backup': .Dl % mkimg -s gpt -p freebsd-ufs/backup:=file-system.ufs -o gpt.img .Sh SEE ALSO -.Xr gpart 8 -.Xr makefs 8 -.Xr mdconfig 8 +.Xr gpart 8 , +.Xr makefs 8 , +.Xr mdconfig 8 , .Xr newfs 8 .Sh HISTORY The diff --git a/usr.bin/mkimg/mkimg.c b/usr.bin/mkimg/mkimg.c index 4513e66..b55ee7e 100644 --- a/usr.bin/mkimg/mkimg.c +++ b/usr.bin/mkimg/mkimg.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include <errno.h> #include <err.h> #include <fcntl.h> +#include <getopt.h> #include <libutil.h> #include <limits.h> #include <stdio.h> @@ -48,6 +49,17 @@ __FBSDID("$FreeBSD$"); #include "mkimg.h" #include "scheme.h" +#define LONGOPT_FORMATS 0x01000001 +#define LONGOPT_SCHEMES 0x01000002 +#define LONGOPT_VERSION 0x01000003 + +static struct option longopts[] = { + { "formats", no_argument, NULL, LONGOPT_FORMATS }, + { "schemes", no_argument, NULL, LONGOPT_SCHEMES }, + { "version", no_argument, NULL, LONGOPT_VERSION }, + { NULL, 0, NULL, 0 } +}; + struct partlisthead partlist = STAILQ_HEAD_INITIALIZER(partlist); u_int nparts = 0; @@ -61,15 +73,79 @@ u_int secsz = 512; u_int blksz = 0; static void -usage(const char *why) +print_formats(int usage) { struct mkimg_format *f, **f_iter; + const char *sep; + + if (usage) { + fprintf(stderr, " formats:\n"); + SET_FOREACH(f_iter, formats) { + f = *f_iter; + fprintf(stderr, "\t%s\t- %s\n", f->name, + f->description); + } + } else { + sep = ""; + SET_FOREACH(f_iter, formats) { + f = *f_iter; + printf("%s%s", sep, f->name); + sep = " "; + } + putchar('\n'); + } +} + +static void +print_schemes(int usage) +{ struct mkimg_scheme *s, **s_iter; + const char *sep; + + if (usage) { + fprintf(stderr, " schemes:\n"); + SET_FOREACH(s_iter, schemes) { + s = *s_iter; + fprintf(stderr, "\t%s\t- %s\n", s->name, + s->description); + } + } else { + sep = ""; + SET_FOREACH(s_iter, schemes) { + s = *s_iter; + printf("%s%s", sep, s->name); + sep = " "; + } + putchar('\n'); + } +} + +static void +print_version(void) +{ + u_int width; + +#ifdef __LP64__ + width = 64; +#else + width = 32; +#endif + printf("mkimg %u (%u-bit)\n", MKIMG_VERSION, width); +} + +static void +usage(const char *why) +{ warnx("error: %s", why); - fprintf(stderr, "\nusage: %s <options>\n", getprogname()); + fputc('\n', stderr); + fprintf(stderr, "usage: %s <options>\n", getprogname()); fprintf(stderr, " options:\n"); + fprintf(stderr, "\t--formats\t- list image formats\n"); + fprintf(stderr, "\t--schemes\t- list partition schemes\n"); + fprintf(stderr, "\t--version\t- show version information\n"); + fputc('\n', stderr); fprintf(stderr, "\t-b <file>\t- file containing boot code\n"); fprintf(stderr, "\t-f <format>\n"); fprintf(stderr, "\t-o <file>\t- file to write image into\n"); @@ -81,26 +157,19 @@ usage(const char *why) fprintf(stderr, "\t-P <num>\t- physical sector size\n"); fprintf(stderr, "\t-S <num>\t- logical sector size\n"); fprintf(stderr, "\t-T <num>\t- number of tracks to simulate\n"); - - fprintf(stderr, "\n formats:\n"); - SET_FOREACH(f_iter, formats) { - f = *f_iter; - fprintf(stderr, "\t%s\t- %s\n", f->name, f->description); - } - - fprintf(stderr, "\n schemes:\n"); - SET_FOREACH(s_iter, schemes) { - s = *s_iter; - fprintf(stderr, "\t%s\t- %s\n", s->name, s->description); - } - - fprintf(stderr, "\n partition specification:\n"); + fputc('\n', stderr); + print_formats(1); + fputc('\n', stderr); + print_schemes(1); + fputc('\n', stderr); + fprintf(stderr, " partition specification:\n"); fprintf(stderr, "\t<t>[/<l>]::<size>\t- empty partition of given " "size\n"); fprintf(stderr, "\t<t>[/<l>]:=<file>\t- partition content and size " "are determined\n\t\t\t\t by the named file\n"); fprintf(stderr, "\t<t>[/<l>]:-<cmd>\t- partition content and size " "are taken from\n\t\t\t\t the output of the command to run\n"); + fprintf(stderr, "\t-\t\t\t- unused partition entry\n"); fprintf(stderr, "\t where:\n"); fprintf(stderr, "\t\t<t>\t- scheme neutral partition type\n"); fprintf(stderr, "\t\t<l>\t- optional scheme-dependent partition " @@ -140,6 +209,9 @@ pwr_of_two(u_int nr) * '-' contents holds a command to run; the output of * which is the contents of the partition. * contents the specification of a partition's contents + * + * A specification that is a single dash indicates an unused partition + * entry. */ static int parse_part(const char *spec) @@ -149,6 +221,11 @@ parse_part(const char *spec) size_t len; int error; + if (strcmp(spec, "-") == 0) { + nparts++; + return (0); + } + part = calloc(1, sizeof(struct part)); if (part == NULL) return (ENOMEM); @@ -263,6 +340,27 @@ sparse_write(int fd, const void *ptr, size_t sz) #endif /* SPARSE_WRITE */ void +mkimg_chs(lba_t lba, u_int maxcyl, u_int *cylp, u_int *hdp, u_int *secp) +{ + u_int hd, sec; + + *cylp = *hdp = *secp = ~0U; + if (nsecs == 1 || nheads == 1) + return; + + sec = lba % nsecs + 1; + lba /= nsecs; + hd = lba % nheads; + lba /= nheads; + if (lba > maxcyl) + return; + + *cylp = lba; + *hdp = hd; + *secp = sec; +} + +void mkimg_uuid(struct uuid *uuid) { static uint8_t gen[sizeof(struct uuid)]; @@ -357,7 +455,8 @@ main(int argc, char *argv[]) bcfd = -1; outfd = 1; /* Write to stdout by default */ - while ((c = getopt(argc, argv, "b:f:o:p:s:vyH:P:S:T:")) != -1) { + while ((c = getopt_long(argc, argv, "b:f:o:p:s:vyH:P:S:T:", + longopts, NULL)) != -1) { switch (c) { case 'b': /* BOOT CODE */ if (bcfd != -1) @@ -423,6 +522,18 @@ main(int argc, char *argv[]) if (error) errc(EX_DATAERR, error, "track size"); break; + case LONGOPT_FORMATS: + print_formats(0); + exit(EX_OK); + /*NOTREACHED*/ + case LONGOPT_SCHEMES: + print_schemes(0); + exit(EX_OK); + /*NOTREACHED*/ + case LONGOPT_VERSION: + print_version(); + exit(EX_OK); + /*NOTREACHED*/ default: usage("unknown option"); } diff --git a/usr.bin/mkimg/mkimg.h b/usr.bin/mkimg/mkimg.h index 9558b86..281beeb 100644 --- a/usr.bin/mkimg/mkimg.h +++ b/usr.bin/mkimg/mkimg.h @@ -66,12 +66,29 @@ round_block(lba_t n) return ((n + b - 1) & ~(b - 1)); } +static inline lba_t +round_cylinder(lba_t n) +{ + u_int cyl = nsecs * nheads; + u_int r = n % cyl; + return ((r == 0) ? n : n + cyl - r); +} + +static inline lba_t +round_track(lba_t n) +{ + u_int r = n % nsecs; + return ((r == 0) ? n : n + nsecs - r); +} + #if !defined(SPARSE_WRITE) #define sparse_write write #else ssize_t sparse_write(int, const void *, size_t); #endif +void mkimg_chs(lba_t, u_int, u_int *, u_int *, u_int *); + struct uuid; void mkimg_uuid(struct uuid *); diff --git a/usr.bin/mkimg/pc98.c b/usr.bin/mkimg/pc98.c index 24b9156..2db0394 100644 --- a/usr.bin/mkimg/pc98.c +++ b/usr.bin/mkimg/pc98.c @@ -59,22 +59,23 @@ static struct mkimg_alias pc98_aliases[] = { { ALIAS_NONE, 0 } }; -static u_int -pc98_metadata(u_int where) +static lba_t +pc98_metadata(u_int where, lba_t blk) { - u_int secs; - - secs = PC98_BOOTCODESZ / secsz; - return ((where == SCHEME_META_IMG_START) ? secs : 0); + if (where == SCHEME_META_IMG_START) + blk += PC98_BOOTCODESZ / secsz; + return (round_track(blk)); } static void -pc98_chs(u_short *cyl, u_char *hd, u_char *sec, uint32_t lba __unused) +pc98_chs(u_short *cylp, u_char *hdp, u_char *secp, lba_t lba) { + u_int cyl, hd, sec; - *cyl = 0xffff; /* XXX */ - *hd = 0xff; /* XXX */ - *sec = 0xff; /* XXX */ + mkimg_chs(lba, 0xffff, &cyl, &hd, &sec); + le16enc(cylp, cyl); + *hdp = hd; + *secp = sec; } static int @@ -83,6 +84,7 @@ pc98_write(lba_t imgsz __unused, void *bootcode) struct part *part; struct pc98_partition *dpbase, *dp; u_char *buf; + lba_t size; int error, ptyp; buf = malloc(PC98_BOOTCODESZ); @@ -96,6 +98,7 @@ pc98_write(lba_t imgsz __unused, void *bootcode) le16enc(buf + PC98_MAGICOFS, PC98_MAGIC); dpbase = (void *)(buf + secsz); STAILQ_FOREACH(part, &partlist, link) { + size = round_track(part->size); dp = dpbase + part->index; ptyp = ALIAS_TYPE2INT(part->type); dp->dp_mid = ptyp; @@ -103,7 +106,7 @@ pc98_write(lba_t imgsz __unused, void *bootcode) pc98_chs(&dp->dp_scyl, &dp->dp_shd, &dp->dp_ssect, part->block); pc98_chs(&dp->dp_scyl, &dp->dp_shd, &dp->dp_ssect, - part->block + part->size - 1); + part->block + size - 1); if (part->label != NULL) memcpy(dp->dp_name, part->label, strlen(part->label)); } diff --git a/usr.bin/mkimg/qcow.c b/usr.bin/mkimg/qcow.c new file mode 100644 index 0000000..5033286 --- /dev/null +++ b/usr.bin/mkimg/qcow.c @@ -0,0 +1,369 @@ +/*- + * Copyright (c) 2014 Marcel Moolenaar + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#include <sys/types.h> +#include <sys/endian.h> +#include <sys/errno.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "image.h" +#include "format.h" +#include "mkimg.h" + +/* Default cluster sizes. */ +#define QCOW1_CLSTR_LOG2SZ 12 /* 4KB */ +#define QCOW2_CLSTR_LOG2SZ 16 /* 64KB */ + +/* Flag bits in cluster offsets */ +#define QCOW_CLSTR_COMPRESSED (1ULL << 62) +#define QCOW_CLSTR_COPIED (1ULL << 63) + +struct qcow_header { + uint32_t magic; +#define QCOW_MAGIC 0x514649fb + uint32_t version; +#define QCOW_VERSION_1 1 +#define QCOW_VERSION_2 2 + uint64_t path_offset; + uint32_t path_length; + uint32_t clstr_log2sz; /* v2 only */ + uint64_t disk_size; + union { + struct { + uint8_t clstr_log2sz; + uint8_t l2_log2sz; + uint16_t _pad; + uint32_t encryption; + uint64_t l1_offset; + } v1; + struct { + uint32_t encryption; + uint32_t l1_entries; + uint64_t l1_offset; + uint64_t refcnt_offset; + uint32_t refcnt_entries; + uint32_t snapshot_count; + uint64_t snapshot_offset; + } v2; + } u; +}; + +static u_int clstr_log2sz; + +static uint64_t +round_clstr(uint64_t ofs) +{ + uint64_t clstrsz; + + clstrsz = 1UL << clstr_log2sz; + return ((ofs + clstrsz - 1) & ~(clstrsz - 1)); +} + +static int +qcow_resize(lba_t imgsz, u_int version) +{ + uint64_t imagesz; + + switch (version) { + case QCOW_VERSION_1: + clstr_log2sz = QCOW1_CLSTR_LOG2SZ; + break; + case QCOW_VERSION_2: + clstr_log2sz = QCOW2_CLSTR_LOG2SZ; + break; + default: + return (EDOOFUS); + } + + imagesz = round_clstr(imgsz * secsz); + + if (verbose) + fprintf(stderr, "QCOW: image size = %ju, cluster size = %u\n", + (uintmax_t)imagesz, (u_int)(1U << clstr_log2sz)); + + return (image_set_size(imagesz / secsz)); +} + +static int +qcow1_resize(lba_t imgsz) +{ + + return (qcow_resize(imgsz, QCOW_VERSION_1)); +} + +static int +qcow2_resize(lba_t imgsz) +{ + + return (qcow_resize(imgsz, QCOW_VERSION_2)); +} + +static int +qcow_write(int fd, u_int version) +{ + struct qcow_header *hdr; + uint64_t *l1tbl, *l2tbl, *rctbl; + uint16_t *rcblk; + uint64_t clstr_imgsz, clstr_l2tbls, clstr_l1tblsz; + uint64_t clstr_rcblks, clstr_rctblsz; + uint64_t n, imagesz, nclstrs, ofs, ofsflags; + lba_t blk, blkofs, blk_imgsz; + u_int l1clno, l2clno, rcclno; + u_int blk_clstrsz; + u_int clstrsz, l1idx, l2idx; + int error; + + if (clstr_log2sz == 0) + return (EDOOFUS); + + clstrsz = 1U << clstr_log2sz; + blk_clstrsz = clstrsz / secsz; + blk_imgsz = image_get_size(); + imagesz = blk_imgsz * secsz; + clstr_imgsz = imagesz >> clstr_log2sz; + clstr_l2tbls = round_clstr(clstr_imgsz * 8) >> clstr_log2sz; + clstr_l1tblsz = round_clstr(clstr_l2tbls * 8) >> clstr_log2sz; + nclstrs = clstr_imgsz + clstr_l2tbls + clstr_l1tblsz + 1; + clstr_rcblks = clstr_rctblsz = 0; + do { + n = clstr_rcblks + clstr_rctblsz; + clstr_rcblks = round_clstr((nclstrs + n) * 2) >> clstr_log2sz; + clstr_rctblsz = round_clstr(clstr_rcblks * 8) >> clstr_log2sz; + } while (n < (clstr_rcblks + clstr_rctblsz)); + + /* + * We got all the sizes in clusters. Start the layout. + * 0 - header + * 1 - L1 table + * 2 - RC table (v2 only) + * 3 - L2 tables + * 4 - RC block (v2 only) + * 5 - data + */ + + l1clno = 1; + rcclno = 0; + rctbl = l2tbl = l1tbl = NULL; + rcblk = NULL; + + hdr = calloc(1, clstrsz); + if (hdr == NULL) + return (errno); + + be32enc(&hdr->magic, QCOW_MAGIC); + be32enc(&hdr->version, version); + be64enc(&hdr->disk_size, imagesz); + switch (version) { + case QCOW_VERSION_1: + ofsflags = 0; + l2clno = l1clno + clstr_l1tblsz; + hdr->u.v1.clstr_log2sz = clstr_log2sz; + hdr->u.v1.l2_log2sz = clstr_log2sz - 3; + be64enc(&hdr->u.v1.l1_offset, clstrsz * l1clno); + break; + case QCOW_VERSION_2: + ofsflags = QCOW_CLSTR_COPIED; + rcclno = l1clno + clstr_l1tblsz; + l2clno = rcclno + clstr_rctblsz; + be32enc(&hdr->clstr_log2sz, clstr_log2sz); + be32enc(&hdr->u.v2.l1_entries, clstr_l2tbls); + be64enc(&hdr->u.v2.l1_offset, clstrsz * l1clno); + be64enc(&hdr->u.v2.refcnt_offset, clstrsz * rcclno); + be32enc(&hdr->u.v2.refcnt_entries, clstr_rcblks); + break; + default: + return (EDOOFUS); + } + + if (sparse_write(fd, hdr, clstrsz) < 0) { + error = errno; + goto out; + } + + free(hdr); + hdr = NULL; + + ofs = clstrsz * l2clno; + nclstrs = 1 + clstr_l1tblsz + clstr_rctblsz; + + l1tbl = calloc(1, clstrsz * clstr_l1tblsz); + if (l1tbl == NULL) { + error = ENOMEM; + goto out; + } + + for (n = 0; n < clstr_imgsz; n++) { + blk = n * blk_clstrsz; + if (image_data(blk, blk_clstrsz)) { + nclstrs++; + l1idx = n >> (clstr_log2sz - 3); + if (l1tbl[l1idx] == 0) { + be64enc(l1tbl + l1idx, ofs + ofsflags); + ofs += clstrsz; + nclstrs++; + } + } + } + + if (sparse_write(fd, l1tbl, clstrsz * clstr_l1tblsz) < 0) { + error = errno; + goto out; + } + + clstr_rcblks = 0; + do { + n = clstr_rcblks; + clstr_rcblks = round_clstr((nclstrs + n) * 2) >> clstr_log2sz; + } while (n < clstr_rcblks); + + if (rcclno > 0) { + rctbl = calloc(1, clstrsz * clstr_rctblsz); + if (rctbl == NULL) { + error = ENOMEM; + goto out; + } + for (n = 0; n < clstr_rcblks; n++) { + be64enc(rctbl + n, ofs); + ofs += clstrsz; + nclstrs++; + } + if (sparse_write(fd, rctbl, clstrsz * clstr_rctblsz) < 0) { + error = errno; + goto out; + } + free(rctbl); + rctbl = NULL; + } + + l2tbl = malloc(clstrsz); + if (l2tbl == NULL) { + error = ENOMEM; + goto out; + } + + for (l1idx = 0; l1idx < clstr_l2tbls; l1idx++) { + if (l1tbl[l1idx] == 0) + continue; + memset(l2tbl, 0, clstrsz); + blkofs = (lba_t)l1idx * blk_clstrsz * (clstrsz >> 3); + for (l2idx = 0; l2idx < (clstrsz >> 3); l2idx++) { + blk = blkofs + (lba_t)l2idx * blk_clstrsz; + if (blk >= blk_imgsz) + break; + if (image_data(blk, blk_clstrsz)) { + be64enc(l2tbl + l2idx, ofs + ofsflags); + ofs += clstrsz; + } + } + if (sparse_write(fd, l2tbl, clstrsz) < 0) { + error = errno; + goto out; + } + } + + free(l2tbl); + l2tbl = NULL; + free(l1tbl); + l1tbl = NULL; + + if (rcclno > 0) { + rcblk = calloc(1, clstrsz * clstr_rcblks); + if (rcblk == NULL) { + error = ENOMEM; + goto out; + } + for (n = 0; n < nclstrs; n++) + be16enc(rcblk + n, 1); + if (sparse_write(fd, rcblk, clstrsz * clstr_rcblks) < 0) { + error = errno; + goto out; + } + free(rcblk); + rcblk = NULL; + } + + error = 0; + for (n = 0; n < clstr_imgsz; n++) { + blk = n * blk_clstrsz; + if (image_data(blk, blk_clstrsz)) { + error = image_copyout_region(fd, blk, blk_clstrsz); + if (error) + break; + } + } + if (!error) + error = image_copyout_done(fd); + + out: + if (rcblk != NULL) + free(rcblk); + if (l2tbl != NULL) + free(l2tbl); + if (rctbl != NULL) + free(rctbl); + if (l1tbl != NULL) + free(l1tbl); + if (hdr != NULL) + free(hdr); + return (error); +} + +static int +qcow1_write(int fd) +{ + + return (qcow_write(fd, QCOW_VERSION_1)); +} + +static int +qcow2_write(int fd) +{ + + return (qcow_write(fd, QCOW_VERSION_2)); +} + +static struct mkimg_format qcow1_format = { + .name = "qcow", + .description = "QEMU Copy-On-Write, version 1", + .resize = qcow1_resize, + .write = qcow1_write, +}; +FORMAT_DEFINE(qcow1_format); + +static struct mkimg_format qcow2_format = { + .name = "qcow2", + .description = "QEMU Copy-On-Write, version 2", + .resize = qcow2_resize, + .write = qcow2_write, +}; +FORMAT_DEFINE(qcow2_format); diff --git a/usr.bin/mkimg/scheme.c b/usr.bin/mkimg/scheme.c index 7546ae2..ff5e201 100644 --- a/usr.bin/mkimg/scheme.c +++ b/usr.bin/mkimg/scheme.c @@ -171,10 +171,8 @@ scheme_max_secsz(void) lba_t scheme_metadata(u_int where, lba_t start) { - lba_t secs; - secs = scheme->metadata(where); - return (round_block(start + secs)); + return (scheme->metadata(where, start)); } int diff --git a/usr.bin/mkimg/scheme.h b/usr.bin/mkimg/scheme.h index 8224930..d594a19 100644 --- a/usr.bin/mkimg/scheme.h +++ b/usr.bin/mkimg/scheme.h @@ -62,7 +62,7 @@ struct mkimg_scheme { const char *name; const char *description; struct mkimg_alias *aliases; - u_int (*metadata)(u_int); + lba_t (*metadata)(u_int, lba_t); #define SCHEME_META_IMG_START 1 #define SCHEME_META_IMG_END 2 #define SCHEME_META_PART_BEFORE 3 diff --git a/usr.bin/mkimg/tests/Makefile b/usr.bin/mkimg/tests/Makefile new file mode 100644 index 0000000..144b4fc --- /dev/null +++ b/usr.bin/mkimg/tests/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/mkimg + +ATF_TESTS_SH= mkimg + +SOURCES!= cd ${.CURDIR}; echo *.uu +FILES= ${SOURCES:S,.gz.uu,,g} +FILESDIR= ${TESTSDIR} + +${FILES}: + uudecode -p ${.CURDIR}/${.TARGET}.gz.uu | gunzip -c > ${.TARGET} + +CLEANFILES+= ${FILES} + +rebase: + (cd ${.CURDIR}; atf-sh mkimg.sh rebase) + +.include <bsd.test.mk> diff --git a/usr.bin/mkimg/tests/img-1x1-4096-apm.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-apm.qcow.gz.uu new file mode 100644 index 0000000..0f8ec4e --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-apm.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-apm.qcow.gz +M'XL("*DS(E0``VEM9RTQ>#$M-#`Y-BUA<&TN<6-O=RYO=70`K9W9CAW9<47? +M^RLN9[(XW8C(D;,$N0$_&&A;T+.4(R!`MA.R`+_PXUW%.D-5W+T9E+NI0H-$ +M(3>R3BTN":W%P_/Y]L?IU,JIZ4[->-KGT_6OTX><[OSB_L?IZ[___*]O[O[X +M^M/MF)R_\Y3[=:,G27/WMGY?Y_3FJ>5T'G]@[OH#SMUY._LGWN[.%WLY=_73 +M[1>+GU,V:/<&3VGNG-Y/R.DU/_9^7]R7*[>G]]M]N4J^W)8-=O<&?TES?TGO +MI^3+[=G<<&_N<%^NDB]W9'/3=V%1`LO,YI9@KH%/K6QN"^9:^-2.Y^0[W]O; +MN0X^)6Q.X=RIS/7P*6-SS;VY\YL,=)X;X%.$.PFY&^%3A#L)N9O@4X0[";F; +MX5.$.PFY6^!3A#L)N5OA4X0[#;G;X%.$.PVYV^%3A#N-N!/\%.%.(^X$^4X9 +M=QIQ)\AWRKC3B#M!OE/&G4;<"?*=,NXTXDZ0[Y1Q9Q%W@GQGC#N+N!/D.V/< +M6<@=\ITQ[BSD#OG.&'<6<H=\9XP["[E#OC/&G87<(=\9X\Y"[I#OC''7A-PA +MWS6,NR;D#OFN8=PU$7>*GR+<-1%WBGS7,.Z:B#M%OFL8=TW$G2+?-8R[)N). +MD>\:QET3<:?(=PWCKHVX4^2[EG'71MPI\EW+N&M#[I#O6L9=&W*'?-<R[MJ0 +M.^2[EG'7AMPAW[6,NS;D#OFN9=RU(7?(=RWCK@NY0[[K&'==R!WR7<>XZR+N +M##]%N.LB[@SYKF/<=1%WAGS7,>ZZB#M#ONL8=UW$G2'?=8R[+N+.D.\ZQET? +M<6?(=SWCKH^X,^2[GG'7A]PAW_6,NS[D#OFN9]SU(7?(=SWCK@^Y0[[K&7=] +MR!WR7<^XZT/ND.]ZQMT0<H=\-S#NAI`[Y+N!<3=$W#7X*<+=$''7(-\-C+LA +MXJY!OAL8=T/$78-\-S#NAHB[!OEN8-P-$7<-\MW`N,O_^IO/(=^-C+LQXJY! +MOAL9=V/('?+=R+@;0^Z0[T;&W1ARAWPW,N[&D#ODNY%Q-X;<(=^-C+LQY`[Y +M;F3<32%WR'<3XVX*N4.^FQAW4\1=BY\BW$T1=RWRW<2XFR+N6N2[B7$W1=RU +MR'<3XVZ*N&N1[R;&W11QUR+?38R[_']#\CGDNYEQ-T?<M<AW,^-N#KE#OIL9 +M=W/('?+=S+B;0^Z0[V;&W1QRAWPW,^[FD#ODNYEQ-X?<(=_-C+LEY`[Y;F'< +M+2%WR'<+XVZ)N.OP4X2[)>*N0[Y;&'=+Q%V'?+<P[I:(NP[Y;F'<+1%W'?+= +MPKA;(NXZY+N%<;=&W'7(=ROC;HVXZY#O5L;=&G*'?+<R[M:0.^2[E7&WAMPA +MWZV,NS7D#OEN9=RM(7?(=ROC;@VY0[Y;&7=;R!WRW<:XVT+ND.\VQMT6<=?C +MIPAW6\1=CWRW,>ZVB+L>^6YCW&T1=SWRW<:XVR+N>N2[C7&W1=SUR'<;XVZ/ +MN.N1[W;&W1YQUR/?[8R[/>0.^6YGW.TA=\AW.^-N#[E#OML9=WO('?+=SKC; +M0^Z0[W;&W1YRAWRW$^XD_X3/`=_)F7`GYY`[X#LY$^[D''$WX*<P=Q+V=P/P +MG;#^3L+^;@"^$];?2=C?#<!WPOH["?N[`?A.6'\G87\W`-\)Z^\D[.\&X#MA +M_9V$_=T`?">LOY.POQN`[X3U=Q+V=P/PG;#^3L+^;@"^$];?2=C?#<!WPOH[ +M"?N[`?A.6'\G87\W`-\)Z^\D[.\&Y#O6WTG8WPW(=ZR_D["_&_%3A+NPOQN1 +M[UA_)V%_-R+?L?Y.POYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D +M[.]&Y#O6WTG8WXW(=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\ +MQ_H["?N[$?F.]7<2]G<C\AWK[R3L[T;D.];?2=C?3?@IPEW8WTW(=ZR_D["_ +MFY#O6'\G87\W(=^Q_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK +M[R3L[R;D.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W= +MA'S'^CL)^[L)^8[U=Q+V=Q/R'>OO).SO9OP4X2[L[V;D.];?2=C?S<AWK+^3 +ML+^;D>]8?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R +M'>OO).SO9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYN1KYC_9V$ +M_=V,?,?Z.PG[NQGYCO5W$O9W"WZ*<!?V=POR'>OO).SO%N0[UM])V-\MR'>L +MOY.POUN0[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W +M"_(=Z^\D[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W(-^Q_D["_FY!OF/] +MG83]W8)\Q_H["?N[%3]%N`O[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6WTG8WZW( +M=ZR_D["_6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2 +M]G<K\AWK[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A?[<BW['^3L+^;D6^ +M8_V=A/W=AI\BW(7]W89\Q_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C? +M;<AWK+^3L+_;D.]8?R=A?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U +M=Q+V=QOR'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_)V%_MR'?L?Y.POYN +MQT\1[L+^;D>^8_V=A/W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM]) +MV-_MR'>LOY.PO]N1[UA_)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.PG[NQWY +MCO5W$O9W._(=Z^\D[.]VY#O6WVG^B9L[U3G@N^NG,'?J^KM\G]ZI<@=\IZR_ +M4]??G1)WI\R=G?%3F#MU_=TI<7?Z2YD#OE/6WZGK[TZ'.SM#]]\IZ^_4]7?E +M[.H<\)VR_DY=?P?F@.^4]7?J^CLP!WRGK+]3U]_EN0=U#OA.67^GKK][D.=. +M90[X3EE_IZZ_>Y"X>U"Y`[Y3UM^IZ^\>).X>5.Z`[Y3U=^KZNP?'Q=D!WRGK +M[]3U=^7LZASPG;+^3EU_!^:`[Y3U=^KZ.S`'?*>LOU/7W^6YAW4.^8[U=^KZ +MNX=YKG*'?,?Z.W7]W</$W</"';K_3EE_IZZ_>YBX>UBX0_??*>OOU/5W#P]_ +M=NC^.V7]G;K^KIQ=G4.^8_V=NOX.S"'?L?Y.77\'YI#O6'^GKK_+<X_J'/(= +MZ^_4]7>/\ESA#MU_IZR_4]??/4K</:K<(=^Q_DY=?_<H<?>H<H=\Q_H[=?W= +MH^/B[)#O6'^GKK\K9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+<XSJ' +M?,?Z.W7]W>,\5[E#OF/]G;K^[G'B[G'A#MU_IZR_4]??/4[</2[<H?OOE/5W +MZOJ[QX<_.W3_G;+^3EU_5\ZNSB'?L?Y.77\'YI#O6'^GKK\#<\AWK+]3U]_E +MN2=U#OF.]7?J^KLG>:YPA^Z_4];?J>OOGB3NGE3ND.]8?Z>NOWN2N'M2N4.^ +M8_V=NO[NR7%Q=LAWK+]3U]^5LZMSR'>LOU/7WX$YY#O6WZGK[\`<\AWK[]3U +M=WGN:9U#OF/]G;K^[FF>J]PAW['^3EU_]S1Q][1PA^Z_4];?J>OOGB;NGA;N +MT/UWROH[=?W=T\.?';K_3EE_IZZ_*V=7YY#O6'^GKK\#<\AWK+]3U]^!.>0[ +MUM^IZ^_RW+,ZAWS'^CMU_=VS/%>X0_??*>OOU/5WSQ)WSRIWR'>LOU/7WSU+ +MW#VKW"'?L?Y.77_W[+@X.^0[UM^IZ^_*V=4YY#O6WZGK[\`<\AWK[]3U=V`. +M^8[U=^KZNSSWO,XAW['^3EU_]SS/5>Z0[UA_IZZ_>YZX>UZX0_??*>OOU/5W +MSQ-WSPMWZ/X[9?V=NO[N^>'/#MU_IZR_4]??E;.K<\AWK+]3U]^!.>0[UM^I +MZ^_`'/(=Z^_4]7=Y[D6=0[YC_9VZ_NY%GBO<H?OOE/5WZOJ[%XF[%Y4[Y#O6 +MWZGK[UXD[EY4[I#O6'^GKK][<5R<'?(=Z^_4]7?E[.H<\AWK[]3U=V`.^8[U +M=^KZ.S"'?,?Z.W7]79Z[JG/(=ZR_4]??7>6YRAWR'>OOU/5W5XF[J\(=NO]. +M67^GKK^[2MQ=%>[0_7?*^CMU_=W5X<\.W7^GK+]3U]^5LZMSR'>LOU/7WX$Y +MY#O6WZGK[\`<\AWK[]3U=WGN99U#OF/]G;K^[F6>*]RA^^^4]7?J^KN7B;N7 +ME3OD.];?J>OO7B;N7E;ND.]8?Z>NOWMY7)P=\AWK[]3U=^7LZASR'>OOU/5W +M8`[YCO5WZOH[,(=\Q_H[=?U=GGM5YY#O6'^GKK][E><J=\AWK+]3U]^]2MR] +M*MRA^^^4]7?J^KM7B;M7A3MT_YVR_DY=?_?J\&>'[K]3UM^IZ^_*V=4YY#O6 +MWZGK[\`<\AWK[]3U=V`.^8[U=^KZNSSWNLXAW['^3EU_]SK/%>[0_7?*^CMU +M_=WKQ-WKRAWR'>OOU/5WKQ-WKRMWR'>LOU/7W[T^+LX.^8[U=^KZNW)V=0[Y +MCO5WZOH[,(=\Q_H[=?T=F$.^8_V=NOXNS[VI<\AWK+_3J+\S=/^=LOY.H_[. +MT/UWROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.XWZ +M.T/WWRGK[Y3T=V_K'/(=Z^_4]7=O\USA#MU_IZR_4]??O4W<O:W<(=^Q_DY= +M?_<V<?>V<H=\Q_H[=?W=V^/B[)#O6'^GKK\K9U?GD.]8?Z>NOP-SR'>LOU/7 +MWX$YY#O6WUG^B9L[USG@.V/]W?4G[G&7_72NW`'?&>OOS/5WY[1W+MRA^^^, +M]7?F^KMSXNY<N$/WWQGK[\SU=^?#GQVZ_\Y8?V>NORMG5^>`[XSU=^;Z.S`' +M?&>LOS/7WX$YX#MC_9VY_B[/29T#OC/6WYGK[R3/%>[0_7?&^CMS_9VDUY/* +M'?"=L?[.7'\GB3NIW`'?&>OOS/5W<ER<'?"=L?[.7']7SJ[.`=\9Z^_,]7=@ +M#OC.6']GKK\#<\!WQOH[<_U=GM,ZAWS'^CMS_9WFN<H=\AWK[\SU=YJXT\(= +MNO_.6']GKK_3Q)T6[M#]=\;Z.W/]G1[^[-#]=\;Z.W/]73F[.H=\Q_H[<_T= +MF$.^8_V=N?X.S"'?L?[.7'^7YZS.(=^Q_LY<?V=YKG"'[K\SUM^9Z^\L<6>5 +M.^0[UM^9Z^\L<6>5.^0[UM^9Z^_LN#@[Y#O6WYGK[\K9U3GD.];?F>OOP!SR +M'>OOS/5W8`[YCO5WYOJ[/-?4.>0[UM^9Z^^:/%>Y0[YC_9VY_JY)W#6%.W3_ +MG;'^SEQ_UR3NFL(=NO_.6']GKK]K#G]VZ/X[8_V=N?ZNG%V=0[YC_9VY_@[, +M(=^Q_LY<?P?FD.]8?V>NO\MS;9U#OF/]G;G^KLUSA3MT_YVQ_LY<?]<F[MK* +M'?(=Z^_,]7=MXJZMW"'?L?[.7'_7'A=GAWS'^CMS_5TYNSJ'?,?Z.W/]'9A# +MOF/]G;G^#LPAW['^SEQ_E^>Z.H=\Q_H[<_U=E^<J=\AWK+\SU]]UB;NN<(?N +MOS/6WYGK[[K$75>X0_??&>OOS/5WW>'/#MU_9ZR_,]??E;.K<\AWK+\SU]^! +M.>0[UM^9Z^_`'/(=Z^_,]7=YKJ]SR'>LOS/7W_5YKG"'[K\SUM^9Z^_ZQ%U? +MN4.^8_V=N?ZN3]SUE3OD.];?F>OO^N/B[)#O6']GKK\K9U?GD.]8?V>NOP-S +MR'>LOS/7WX$YY#O6WYGK[_+<4.>0[UA_9ZZ_&_)<Y0[YCO5WYOJ[(7$W%.[0 +M_7?&^CMS_=V0N!L*=^C^.V/]G;G^;CC\V:'[[XSU=^;ZNW)V=0[YCO5WYOH[ +M,(=\Q_H[<_T=F$.^8_V=N?XNSXUU#OF.]7?F^KLQSQ7NT/UWQOH[<_W=F+@; +M*W?(=ZR_,]??C8F[L7*'?,?Z.W/]W7A<G!WR'>OOS/5WY>SJ'/(=Z^_,]7=@ +M#OF.]7?F^CLPAWS'^CMS_5V>>U?GD.]8?V>NOWN7YRIWR'>LOS/7W[U+W+TK +MW*'[[XSU=^;ZNW>)NW>%.W3_G;'^SEQ_]^[P9X?NOS/6WYGK[\K9U3GD.];? +MF>OOP!SR'>OOS/5W8`[YCO5WYOJ[//>^SB'?L?[.7'_W/L\5[M#]=\;Z.W/] +MW?O$W?O*'?(=Z^_,]7?O$W?O*W?(=ZR_,]??O3\NS@[YCO5WYOJ[<G9U#OF. +M]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:ASR'>LOS/7WWW(<Y4[Y#O6WYGK +M[SXD[CX4[M#]=\;Z.W/]W8?$W8?"';K_SEA_9ZZ_^W#XLT/WWQGK[\SU=^7L +MZASR'>OOS/5W8`[YCO5WYOH[,(=\Q_H[<_U=GOM8YY#O6']GKK_[F.<*=^C^ +M.V/]G;G^[F/B[F/E#OF.]7?F^KN/B;N/E3OD.];?F>OO/AX79X=\Q_H[<_U= +M.;LZAWS'^CMS_1V80[YC_9VY_@[,(=^Q_LY<?Y?G/M4YY#O6WYGK[S[EN<H= +M\AWK[\SU=Y\2=Y\*=^C^.V/]G;G^[E/B[E/A#MU_9ZR_,]???3K\V:'[[XSU +M=^;ZNW)V=0[YCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSWVN<\AWK+\SU]]] +MSG.%.W3_G;'^SEQ_]SEQ][ERAWS'^CMS_=WGQ-WGRAWR'>OOS/5WGX^+LT.^ +M8_V=N?ZNG%V=0[YC_9VY_@[,(=^Q_LY<?P?FD.]8?]?DG[BY+W4.^*YA_5WC +M^KLO>:YR!WQW_13FKG']W9?$W9?,77/&3Y&_]]A]L5]R;_RFS*&_;[L\%<S= +M^?'UIZMO@^VW]VO:4ZNGL]8G;JY_&[XW^"__<3/SP+U?^YN_W[?[9:Y/JUDO +MGK.[@W+_$U]_^3<_>#MW\W[-MW#L^J.[_M_3[0^]W^^.XV\;F$-_7_G_Z\N] +MG;/+MVN_6:63TZG74]^<NC']L[N6U';SZ?1V?SZFO__CK__XZW__UY_SW,U_ +M7W3KS</]/_-V_SD=\.W0WU?^:[ZWS0]^;_._PL^_<^]_;_/OW!;]V?)?]W[? +MOAW=S<%??R.N/QH]M79JFIL_'G%JVYO/M78Y^//?M^WW?_S#ZS_]_,>[YX?^ +M./BO>K_N!\Y/[YS?[6^2N^=WNOM^Z,]N_;KW^^[Y]7;J>\!F/;__^=];$//[ +C_<;GUYW3^9TG\$_^B:^_O+G_G]O!YMO@3_\'*;=.DB.F```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-apm.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-apm.qcow2.gz.uu new file mode 100644 index 0000000..0caab8b --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-apm.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-apm.qcow2.gz +M'XL(")T[(U0``VEM9RTQ>#$M-#`Y-BUA<&TN<6-O=S(N;W5T`*V826_;,!!& +M[_D53/>F32K.D)35/9N!'@JD#7H.O,A`@"Y&&J`7__A2ULB4J1DQ-N0(1@SB +M>Q@/GT>FLZQ^*&6U,DZ90BVFRK^F"U3KQ?:E5M_&7T[:C]5!#=.9D&(6#&YP +M6ZSS@`,)E^GN@N9QK>J0P4&3ZH)2."-6U[?`X(X.UJU;;\8H2N`^P!HG;L9> +M]4%=7YPP>]8'0]>'?/]LDXL77']]6-<7IW()-TKB@$D5$FZ2Q"&3FDJX61)G +MF-1<PI5)G&52"P&G$ZIXG&-26L)!$I<S*91P)HD;,2G).YWVKF!2DG<Z[=V$ +M24G>Z;1W4R8E>:?3WLV8E.2=3GLW9U*2=R!XIP*N9%*2=Q!Y=TBX1P&W8%*2 +M=Q!Y]YAP3S8XS:4D[R#R[BGAG@4<,^]`\@XB[YX3[D7`,?,.).\@\NXEX8X" +MCIEW('D'D7>O"/<ZX)AY!Y)W$'EWW/%.,_,.).\P\NX-L;*`8^8=2MYAY)TF +M'`0<,^]0\@XC[Y!P)N"8>8>2=QAY9PGG`HZ9=RAYAY%W.>%&`<?,.Y2\P\B[ +M@G!O`XZ9=RAYAY%W[PCW/N"8>8>2=QAY]X%P'P..F7<H>6<B[SX1[G/`,?/. +M2-Z9R+M3PIT%'#/OC.2=B;P[)]S%!@=<:N-=EO$7X2X[GUD8]ONG"=^/-?,L +M+_0`1[L`^RJL<<6@;]C6;]CO@(5PCLK6=\A1+_#R>X4YW*[/#GT@L+4P?C*; +M>2>'TH'/+ZRNOC+]L[4P_N/@IZF_W$PY^Z#Z3I?+GR6#DT^WNQ^G/`Z[U=G% +M^G\O2PXJ-\H5].P6RI75,E5WLYS<W=_>W_[Y?=/@JANDFU?A?)?J?DV6;'5V +MX+TU#]S;YGX!!-S>6]749X9VSZRWPU6-]QOA+S\N+593SG_-4-96:Q:[P/%= +M69Y=7QS_&%^W^V>&_;'!^A-5NG_0ZE_](6GW3[7K<T/WS_7V+T>5YXR;H7]_ +J_]4B-O4-W#^=4?_\2;W[+"^LKDZV_VJ@(>!@%1I73>>#_Z4*H1'E$P`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-apm.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-apm.raw.gz.uu new file mode 100644 index 0000000..3f148c0 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-apm.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-apm.raw.gz +M'XL(".W%'50``VEM9RTQ>#$M-#`Y-BUA<&TN<F%W+F]U=`"MD\UJPS`0A.]^ +MBNFU4"/)*RD]MK2Y%4)#S\'4#@3:Q*2!7O3PE2*)R#\)+FB]"(ME/\:S:\9\ +M`"0A!9A-%E)PL`4N]T'"O+Z7-N[*&*;P,,YN=%W'E8,PQ;T'"E>6#-2,^JH4 +MR/L%LWH;`CW.Z2,.S5RJ3R@Y2]]3UWVU$SB1ZW,]KAJKD]OS.P>T@":HQW"J +M+53KRD'=IJN/I]UI=]AO(HXL3C6N6?]'W7?=3:J3F6=+,V>[B$L9@/W9(NJC +MW+M'YW$H9[P=A$T2D!6((!HK7+J:O8^`RV/;/J]?'CZ6Z]0_HLSZU`S_1.*? +M_TE2_Y#J4[G]4S?]TQ6TGMC-BW\_OWX1H[[,_G$6_&/UQ'F]8%9E__%`"L!L +."DDX8/$'F8$ZXZ<%```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-apm.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-apm.vhd.gz.uu new file mode 100644 index 0000000..3245790 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-apm.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-apm.vhd.gz +M'XL(".W%'50``VEM9RTQ>#$M-#`Y-BUA<&TN=FAD+F]U=`"M5EUOVR`4?<^O +MN-+>*BT"#+A[7-7F;5*U:L\M<W`5:6VC)M+ZD!\_+A\!V^`F&0Y!6/@>#N=^ +M`"'N`9`-R!ZD!BEPW'*0WZ"]!C"3OC';4_\*A^[M57?[S<?2/X>%`Z,DM1J: +MHSUK@)M%6F`*%Y%K',,AP"R_W#U?;5Z>`QSS<&%A+H$S$`:$3]:1Y,@.D58W +M#[<6\BFR:Z;LHI7Y_^9`.%":?-$$=D]'CD<X;JSZWK86E+(T0QN\#";B9D=P +M@HRL$IHY49/-YN#DG-4Y<%<+[PL7*B8P6M,;Z2BT#,<F;((.DV9"Y6.W5>\[ +M/>+'"J$BC_SH9*XI;Y?Y4&'A8\^`8SC/;1<LRGX,EPF5_U)/#NVX'Q@1B`@3 +MS&Y_J%Z$@I2?I&1&\[(SBOP4\C.I*5A(=MN:SS9\]Q-AR-@=JN#=B_7K<-ID +M"%_GHB*^C'/W_D<V7#KDQRF&,49RAS%\"K_OV^T?G8%CM;;KX)HI.]'[G+-) +MYTJT[5WI%GU@]VBR;;_9;]Y>'P,<%BHLM1;Q='8O:IME)RK[5I_HV^LD3\C$ +MMQ#XZ=JQIZT[)`J/)Z2(9Q!;&^("Y\S[!'#UKK4YA;[^6CVD^FE>EQ\E)^C' +M$OU<DJ3ZI;6%E@[QR_G-ZH>'29N)S:C?[J\+Q,"OMG[*ZT=4IB]/'.Z7PY\# +M9+Z85JO.+%:_.@RY!ZS&D,<<KL60ZEEGGNMEZ1E6NNK*<I6YY*J+<!6ONM*7 +CK*(5.>NJ*WW)JG351;B*5UV$JWK5E;:@+OX!7ZN]MA\-```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-apm.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-apm.vhdf.gz.uu new file mode 100644 index 0000000..3e83de7 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-apm.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-apm.vhdf.gz +M'XL(".W%'50``VEM9RTQ>#$M-#`Y-BUA<&TN=FAD9BYO=70`K571:L(P%'WW +M*R[L35A)DYM;][@Q?1O(9,]:;2N%J<4)VT,_?DF3V-16<2/I)23<YO3DG.26 +M,=,`4(+DP%0P&Z+IV_E%0#U]CU1CD6OUR(#%MU9=AXLN6CT:&T"NTY(!9KUU +MP@>,NXEZ_G8):.`T/XPA83IH`R3OXO=<59_Y`!P/M5T#)_KL9-&,8X"$0X)` +M3[:G`BC7:<MN6:7'4WDJ#_NE@T,%1YE>G/R%W2ZM!MG)P-[BG=Y.[(!;P*ZW +MX/AAZ+.'C1VDA5=&J$`.4@`B\$P1ESJGYCW`V3'/7Q:OCQ^SA:\?8F!^=(=^ +MW-//7!)?/_#Y46C]Z*9^B8`D&3B;K7Y?W^8@.GZ!]8N9U8^E`_WU1#V/NH\! +M1`L8C"'9ZDS"WG4MHG`U8.(#\M;>!G!SV.>;4_GCWV"RU;DHAD.OYT+_"R@! +MGC8E)M-CC]_#=#LN=UL'YZJ?^[#R^FSQY2ZIN]V9,KB!7+7L1%\D\M5;(S"$ +M..YLW+);^>H9.#QO-B]@+1N:+CJ33F*P-FNXIOKY+__76P-'@8^*^E&.?@&@ +'6R\`T@<````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-apm.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-apm.vmdk.gz.uu new file mode 100644 index 0000000..4b6923a --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-apm.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-apm.vmdk.gz +M'XL(".[%'50``VEM9RTQ>#$M-#`Y-BUA<&TN=FUD:RYO=70`K9Q;;]S($87? +M_2L([\LB0`2>X?W!0-:1#03!`L9ZDSQN>(V%V)8@"4D,S(\/F^S3.I1$-[$J +M[V@YY:FJZ:X>E>2O#IBFZY\DR;LDSY-\2(HR29',?[4^DC1[,.;'J>8+Y[]> +M_OSW"_[Y\>+B_&I-!A<E(4@UG1B;]SE?//K#=*?O16U>F!^G:+K,175/`GVZ +MT\X+N^GR^<73<R%<7;N\/+@GDBX)B9)-NN*9/>UN]GNK^\,K7SRWOLRM83[> +MLDFJ+"D[;R9EL=A94IV6U]*DFIVF.>$/R>75W;^3R_&NO[VZN;_VZSNYLYV= +M\]+YE[W+,&^L*MT3]X)+U[@4Y9AD0Y+!O9R<;]]??1XO_C/>WEU=?WT#;O?D +MSC;/DKQQRW'^Z<-C8[@W29,2[CV2\Y__<OG&?W+3BYOVENE<U+R0^;WG?6C> +MLDS<U]/'LKKQZ[W+./D_877N;'UQBN6]<_>DR).J29;E%"[W:7YY\%M>:M?? +MCNW]^.NWF_'-ZR_77T/MW-FZDC5+HGHI5)84F4OEM^;*5[B,[F.SG%IR_GQU +M_^FJ_SAO\VY\??%#PG2EJ]U\@+5?U[KK.:3</=EYV>=W_[N?]YL,_F2OF&Y9 +MQ+*)^;V+4U)4+M=\@,M1G)(L=\_FOYH7/.\DAW-*SM=?+W[YQ_PM[HKU\<-/ +MOS!=/4?-GO,"YY!Y0YL]%>O^B\<?R^3\\5WRVFWRUT_C\@EDNF;]-G/.ZSE@ +M,4_NB:_:FMXUL=R]L)QL<MG>M\G;]FZ\^.'R\FTXV=9M-E\>\])&EZ5<4[O/ +M]U+.N7#K2:\'O1S%,'07[=#>W(^W[GC#472N1(/?J3O6_.$8M^]3+2<UN4], +M<GZ3O+X:YC-U:?\U7G]ANG[]&,_K<!^)9@G,W)/YT[.D'_T[K)\8=TPNW7A_ +M^^VB__;YZNLP?Z,E;YAN6&LW+V<]S8?#G`]P7N&S"YQK]WHYU;`\IAO=ZH8G +M"US.TQ<R+"J\;7+^LBSOT]@.\]+FW$PWN=6=GE^'K]2CMYJS)^>'JBUY[WRZ +M+/4M(/.M;%.BL)SU#:6!COW]]>VZL-?2C[/'/\M>VH_S)S]2J]^9<$UGO;XR +M??3S+-.X7(QBD]#]%$OGKS_-7Q\>UE>Z]97B66E4+4:S2??/.<7-T^V6[KNP +M%<].HWHQAB/5*UUK&\5S>EP]_JH!>;Z?CK\+T#/3J%R,8I-NKW:%KQT]*XVJ +MQ6@VZ?9J5_K:T;/3J%Z,X=!F*U\[>DX:Y2[\50KI@5_+RMK7CIZ91N5B%)MT +M>[5K?.WH66E4+4:S2;=7N];7CIZ=1O5B#(<VV_G:T7/2*'=A@X`\WT_7^]K1 +M,].H7(QBDVZO=H.O'3TKC:K%:#;I]FHW^MK1L].H7HSAT&8G7SMZ3AKE+KG4 +M+H^EJU)?.WIF&I6+46S2[=2N8K^C9Z51M1C-)MU.[2KV.WIV&M6+,1S:+/L= +M/2>-<I=":E=$T['?T3/3J%R,8I-NKW;L=_2L-*H6H]FDVZL=^QT].XWJQ1@. +M;9;]CIZ31KE+*;4KH^G8[^B9:50N1K%)MU<[]CMZ5AI5B]%LTNW5COV.GIU& +M]6(,AS;+?D?/2:/<A;\$09[OIV._HV>F4;D8Q2;=7NW8[^A9:50M1K-)MU<[ +M]CMZ=AK5BS$<VBS['3TGC7(7`AG(\]UT=>IK1\],HW(QBDVZG=K5['?TK#2J +M%J/9I-NI7<U^1\].HWHQAD.;9;^CYZ11[M)([9IH.O8[>F8:E8M1;-+MU8[] +MCIZ51M5B-)MT>[5COZ-GIU&]&,.AS;+?T7/2*'?AOY\@S_?3L=_1,].H7(QB +MDVZO=NQW]*PTJA:CV:3;JQW['3T[C>K%&`YMEOV.GI-&N0OY(^3Y?CKV.WIF +M&I6+46S2[=6._8Z>E4;58C2;='NU8[^C9Z=1O1C#H<VRW]%STBAWZ:5V?2Q= +MD_K:T3/3J%R,8I-NIW8-^QT]*XVJQ6@VZ79JU[#?T;/3J%Z,X=!FV>_H.6F4 +MNPQ2NR&:COV.GIE&Y6(4FW1[M6._HV>E4;48S2;=7NW8[^C9:50OQG!HL^QW +M])PTREU&J=T83<=^1\],HW(QBDVZO=JQW]&STJA:C&:3;J]V['?T[#2J%V,X +MM%GV.WI.&N4ND]1NBJ9COZ-GIE&Y&,4FW5[MV._H66E4+4:S2;=7._8[>G8: +MU8LQ'-HL^QT])XU*97H&>;Z;KDW7V@7/3*-R,8I-NIW:M;[?!<]*HVHQFDVZ +MG=JUOM\%STZC>C&&0YOU_2YX3AKE2B;\#E&DU?I^!^%W4'X'X7>(\KO6]SL( +MOX/R.PB_0Y3?M;[?0?@=E-]!^-V!S?I^!^%W4'X'X7>((JW6]SL(OX/R.PB_ +M0Y3?M;[?0?@=E-]!^!VB_*[U_0["[Z#\#L+O#FS6]SL(OX/R.PB_0Q1IM;[? +M0?@=E-]!^!VB_*[U_0["[Z#\#L+O$.5WK>]W$'X'Y7<0?G=@L[[?0?@=E-]! +M^!VB2*M+?>V$WT'Y'83?(<KO.O8[X7=0?@?A=XCRNX[]3O@=E-]!^-V!S;+? +M";^#\CL(OT,4:77L=\+OH/P.PN\0Y7<=^YWP.RB_@_`[1/E=QWXG_`[*[R#\ +M[L!FV>^$WT'Y'83?(8JT.O8[X7=0?@?A=XCRNX[]3O@=E-]!^!VB_*YCOQ-^ +M!^5W$'YW8+/L=\+OH/P.PN\015H=^YWP.RB_@_`[1/E=QWXG_`[*[R#\#E%^ +MU['?";^#\CL(OSNP6?8[X7=0?@?A=X@BK3[UM1-^!^5W$'Z'*+_KV>^$WT'Y +M'83?(<KO>O8[X7=0?@?A=P<VRWXG_`[*[R#\#E&DU;/?";^#\CL(OT.4W_7L +M=\+OH/P.PN\0Y7<]^YWP.RB_@_"[`YMEOQ-^!^5W$'Z'*-+JV>^$WT'Y'83? +M(<KO>O8[X7=0?@?A=XCRNY[]3O@=E-]!^-V!S;+?";^#\CL(OT,4:?7L=\+O +MH/P.PN\0Y7<]^YWP.RB_@_`[1/E=SWXG_`[*[R#\[L!FV>^$WT'Y'83?(8JT +MAM373O@=E-]!^!VB_&Y@OQ-^!^5W$'Z'*+\;V.^$WT'Y'83?'=@L^YWP.RB_ +M@_`[1)'6P'XG_`[*[R#\#E%^-[#?";^#\CL(OT.4WPWL=\+OH/P.PN\.;);] +M3O@=E-]!^!VB2&M@OQ-^!^5W$'Z'*+\;V.^$WT'Y'83?(<KO!O8[X7=0?@?A +M=P<VRWXG_`[*[R#\#E&D-;#?";^#\CL(OT.4WPWL=\+OH/P.PN\0Y7<#^YWP +M.RB_@_"[`YMEOQ-^!^5W04P'>2[IDO7+IQO3M7;/2LJ?^:M0N^39U8W&^D`L +M^L`P4UAW]?L2KNFLUQ?FVWR\2+^(,-_FXT7Z183Y-A\OTB\BS+?Y>)%^$6&^ +M;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%A +MOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X1 +M8;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^ +M$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X1G&_;Z!?!^;:-?A&<;]OH%\'YMHU^ +M$9QOV^@7P?FVC7X1G&_;Z!?!^;:-?A&<;]OH%\'YMHU^$9QOV^@7P?FVC7X1 +MG&_;Z!?!^;:-?A&<;]OH%\'YMHU^$9QOV^@7P?FVC7X1G&_;Z!?!^;:-?A&< +M;]OH%\'YMHU^$9QOV^@7P?FVC7X1G&_;Z!?!^;:-?A&<;]OH%\'YMHU^$9QO +MV^@7P?FVC7X1G&_;Z!?!^;:-?A%AODW/%^D7$>;;]'R1?A%AODW/%^D7$>;; +M]'R1?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI% +MA/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z +M183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF +M^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$9QOV^@7,9KJ%S&:ZA<Q +MFNH7,9KJ%S&:ZA<QFNH7,9KJ%S&:ZA<QFNH7,9KJ%S&:ZA<QFNH7,9KJ%S&: +MZA<QFNH7,:6IH7X1DZE^$9.I?A&3J7X1DZE^$9.I?A&3J7X1DZE^$9.I?A&3 +MJ7X1DZE^$9.I?A&3J7X1DZE^$9.I?A&3J7[QE*:IH7[Q].1>P@?3/=WLJ@_, +ME_7EA;MWJ=[K=[VK\7<2OOO%I?GQT?IR\_4M]^MUMU<=GL1EFA#;%\X??GZN +M?OERO]Y\N:VINXWI>K_>`^O[Z>;F\_A,NB?W8OZ]VUW394]75TS^1K_+G3MS +MWBV7]Q0N)J[NMYOV]O[J_NKZZV],M]RO=_"W<3V^NB_MS;.K,[X7<YX?/%O^ +M"^'D$V[/-N'ZK._]F>?+<92\WW'A[J);+'?4/0WSP@OW6I$]3?C^=AS??KS\ +MX]_>?]3ZY;GQ^LH#]5-IR/I-HO5+='W6VN.\_&[]JBRIJF<^FP_UN_OO^D'D +J^HSK5Z2^?N[^SD_^O__"^</%]K\U8>X3FJTP=S>?35_]'S/@3HZ37@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-bsd.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-bsd.qcow.gz.uu new file mode 100644 index 0000000..e9033f4 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-bsd.qcow.gz.uu @@ -0,0 +1,125 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-bsd.qcow.gz +M'XL("*LS(E0``VEM9RTQ>#$M-#`Y-BUB<V0N<6-O=RYO=70`K9W+CAM)DD7W +M]174^RW1S()DA-YHH`>87<]F9EM\KOD!^OA1*2/<E<9S96ITJ01!0BHN2,^C +M4RC5@>=Z??=MM=K8:MBNAFEU.:R^_WK^;JN??G'_^^K;__S7?[_]^=NW/^[& +M;/V+I]*O!U_Y/'=OZQ^K-N=_/75<K:??F/O^W6CNIU<7_\:K^^G-WLZ]_./N +MS?)SK@;CWN!JGEO/K\_$Z0V_]_J^IK=K=Z?W][U=%V]WHP:W]P;_-<_].;\^ +M%V]WI^;&>W/7]'9=O-U)S>U_"8L+6`YJ[EC,#?C42<V=B[D-/G7A.?O%Y_9N +M;HM/F9K#/[=O5VUNAT^%FAONS:W?+D`O<R,^);BSDKL)GQ+<6<G='I\2W%G) +MW0&?$MQ9R=T1GQ+<6<G="9\2W'G)W1F?$MR)?U_\Q-T%GQ+<><6=\5.".Z^X +M,_*=*^Z\XL[(=ZZX\XH[(]^YXLXK[HQ\YXH[K[@S\ITK[J+BSLAWH;B+BCLC +MWX7B+DKNR'>AN(N2._)=*.ZBY(Y\%XJ[*+DCWX7B+DKNR'>AN(N2._)=*.Z& +MDCORW:"X&TKNR'>#XFZHN'-^2G`W5-PY^6Y0W`T5=TZ^&Q1W0\6=D^\&Q=U0 +M<>?DNT%Q-U3<.?EN4-QM*NZ<?+=1W&TJ[IQ\MU'<;4KNR'<;Q=VFY(Y\MU'< +M;4KNR'<;Q=VFY(Y\MU'<;4KNR'<;Q=VFY(Y\MU'<;4ONR'=;Q=VVY(Y\MU7< +M;2ON@I\2W&TK[H)\MU7<;2ON@GRW5=QM*^Z"?+=5W&TK[H)\MU7<;2ON@GRW +M5=SM*NZ"?+=3W.TJ[H)\MU/<[4KNR'<[Q=VNY(Y\MU/<[4KNR'<[Q=VNY(Y\ +MMU/<[4KNR'<[Q=VNY(Y\MU/<C25WY+M1<3>6W)'O1L7=6'$W\%."N['B;B#? +MC8J[L>)N(-^-BKNQXFX@WXV*N['B;B#?C8J[L>)N(-^-BKOEK[_U'/EN4MQ- +M%7<#^6Y2W$TE=^2[27$WE=R1[R;%W51R1[Z;%'=3R1WY;E+<325WY+M)<3>5 +MW)'O)L7=ON2.?+=7W.U+[LAW>\7=ON)NPT\)[O85=QORW5YQMZ^XVY#O]HJ[ +M?<7=AGRW5]SM*^XVY+N]XFY?<;<AW^T5=\O_AM1SY+N#XNY0<;<AWQT4=X>2 +M._+=07%W*+DCWQT4=X>2._+=07%W*+DCWQT4=X>2._+=07%W*+DCWQT4=\>2 +M._+=47%W++DCWQT5=\>*NRT_);@[5MQMR7='Q=VQXFY+OCLJ[HX5=UORW5%Q +M=ZRXVY+OCHJ[8\7=EGQW5-R=*NZVY+N3XNY4<;<EWYT4=Z>2._+=27%W*KDC +MWYT4=Z>2._+=27%W*KDCWYT4=Z>2._+=27%W*KDCWYT4=^>2._+=67%W+KDC +MWYT5=^>*NQT_);@[5]SMR'=GQ=VYXFY'OCLK[LX5=SORW5EQ=ZZXVY'OSHJ[ +M<\7=CGQW5MQ=*NYVY+N+XNY2<;<CWUT4=Y>2._+=17%W*;DCWUT4=Y>2._+= +M17%W*;DCWUT4=Y>2._+=17%W*;DCWUT$=[;\1,^![VPMN+-UR1WXSM:".UM7 +MW(W\%'-G97\W@N],]7=6]G<C^,Y4?V=E?S>"[TSU=U;V=R/XSE1_9V5_-X+O +M3/5W5O9W(_C.5']G97\W@N],]7=6]G<C^,Y4?V=E?S>"[TSU=U;V=R/XSE1_ +M9V5_-X+O3/5W5O9W(_C.5']G97\W@N],]7=6]G<C^4[U=U;V=R/Y3O5W5O9W +M$S\EN"O[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK +M^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG +M^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NST_);@K^[L] +M^4[U=U;V=WORG>KOK.SO]N0[U=]9V=_MR7>JO[.RO]N3[U1_9V5_MR??J?[. +MROYN3[Y3_9V5_=V>?*?Z.RO[NSWY3O5W5O9W>_*=ZN^L[._VY#O5WUG9W^W) +M=ZJ_L[*_VY/O5']G97^W)]^I_L[*_FY/OE/]G97]W8&?$MR5_=V!?*?Z.RO[ +MNP/Y3O5W5O9W!_*=ZN^L[.\.Y#O5WUG9WQW(=ZJ_L[*_.Y#O5']G97]W(-^I +M_L[*_NY`OE/]G97]W8%\I_H[*_N[`_E.]7=6]G<'\IWJ[ZSL[P[D.]7?6=G? +M'<AWJK^SLK\[D.]4?V=E?W<@WZG^SLK^[LA/">[*_NY(OE/]G97]W9%\I_H[ +M*_N[(_E.]7=6]G='\IWJ[ZSL[X[D.]7?6=G?'<EWJK^SLK\[DN]4?V=E?W<D +MWZG^SLK^[DB^4_V=E?W=D7RG^CLK^[LC^4[U=U;V=T?RG>KOK.SOCN0[U=]9 +MV=\=R7>JO[.ROSN2[U1_9V5_=^*G!'=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG +M^CLK^[L3^4[U=U;V=R?RG>KOK.SO3N0[U=]9V=^=R'>JO[.ROSN1[U1_9V5_ +M=R+?J?[.RO[N1+Y3_9V5_=V)?*?Z.RO[NQ/Y3O5W5O9W)_*=ZN^L[.].Y#O5 +MWUG9WYW(=ZJ_L[*_._-3@KNROSN3[U1_9V5_=R;?J?[.RO[N3+Y3_9V5_=V9 +M?*?Z.RO[NS/Y3O5W5O9W9_*=ZN^L[._.Y#O5WUG9WYW)=ZJ_L[*_.Y/O5']G +M97]W)M^I_L[*_NY,OE/]G97]W9E\I_H[*_N[,_E.]7=6]G=G\IWJ[ZSL[\[D +M.]7?6=G?7?@IP5W9WUW(=ZJ_L[*_NY#O5']G97]W(=^I_L[*_NY"OE/]G97] +MW85\I_H[*_N["_E.]7=6]G<7\IWJ[ZSL[R[D.]7?6=G?7<AWJK^SLK^[D.]4 +M?V=E?W<AWZG^SLK^[D*^4_V=E?W=A7RG^CM??I+F5GT.?/?]*>;.4W^WW*>W +MZMR![USU=Y[ZN]7,W6KA+M;\%'/GJ;];S=RM_FQSX#M7_9VG_FYU36<7=/^= +MJ_[.4W_7SJ[/@>]<]7>>^CN8`]^YZN\\]7<P![YSU=]YZN^6N0=]#GSGJK_S +MU-\]6.96;0Y\YZJ_\]3?/9BY>]"Y`]^YZN\\]7</9NX>=.[`=Z[Z.T_]W8/K +MS=F![USU=Y[ZNW9V?0Y\YZJ_\]3?P1SXSE5_YZF_@SGPG:O^SE-_M\P]['/D +M.]7?>>KO'BYSG3ORG>KO//5W#V?N'C;NZ/X[5_V=I_[NX<S=P\8=W7_GJK_S +MU-\]O.:SH_OO7/5WGOJ[=G9]CGRG^CM/_1W,D>]4?^>IOX,Y\IWJ[SSU=\O< +MHSY'OE/]G:?^[M$RU[BC^^]<]7>>^KM',W>/.G?D.]7?>>KO'LW</>K<D>]4 +M?^>IOWMTO3D[\IWJ[SSU=^WL^ASY3O5WGOH[F"/?J?[.4W\'<^0[U=]YZN^6 +MN<=]CGRG^CM/_=WC9:YS1[Y3_9VG_N[QS-WCQAW=?^>JO_/4WSV>N7O<N*/[ +M[USU=Y[ZN\?7?'9T_YVK_LY3?]?.KL^1[U1_YZF_@SGRG>KO//5W,$>^4_V= +MI_YNF7O2Y\AWJK_SU-\]6>8:=W3_G:O^SE-_]V3F[DGGCGRG^CM/_=V3F;LG +MG3ORG>KO//5W3ZXW9T>^4_V=I_ZNG5V?(]^I_LY3?P=SY#O5WWGJ[V".?*?Z +M.T_]W3+WM,^1[U1_YZF_>[K,=>[(=ZJ_\]3?/9VY>]JXH_OO7/5WGOJ[IS-W +M3QMW=/^=J_[.4W_W])K/CNZ_<]7?>>KOVMGU.?*=ZN\\]7<P1[Y3_9VG_@[F +MR'>JO_/4WRUSS_H<^4[U=Y[ZNV?+7...[K]SU=]YZN^>S=P]Z]R1[U1_YZF_ +M>S9S]ZQS1[Y3_9VG_N[9]>;LR'>JO_/4W[6SZW/D.]7?>>KO8(Y\I_H[3_T= +MS)'O5'_GJ;];YI[W.?*=ZN\\]7?/E[G.'?E.]7>>^KOG,W?/&W=T_YVK_LY3 +M?_=\YNYYXX[NOW/5WWGJ[YY?\]G1_7>N^CM/_5T[NSY'OE/]G:?^#N;(=ZJ_ +M\]3?P1SY3O5WGOJ[9>Y%GR/?J?[.4W_W8IEKW-']=Z[Z.T_]W8N9NQ>=._*= +MZN\\]7<O9NY>=.[(=ZJ_\]3?O;C>G!WY3O5WGOJ[=G9]CGRG^CM/_1W,D>]4 +M?^>IOX,Y\IWJ[SSU=\O<RSY'OE/]G:?^[N4RU[DCWZG^SE-_]W+F[F7CCNZ_ +M<]7?>>KO7L[<O6S<T?UWKOH[3_W=RVL^.[K_SE5_YZF_:V?7Y\AWJK_SU-_! +M'/E.]7>>^CN8(]^I_LY3?[?,O>ISY#O5WWGJ[UXM<XT[NO_.57_GJ;][-7/W +MJG-'OE/]G:?^[M7,W:O.'?E.]7>>^KM7UYNS(]^I_LY3?]?.KL^1[U1_YZF_ +M@SGRG>KO//5W,$>^4_V=I_YNF7O=Y\AWJK_SU-^]7N8Z=^0[U=]YZN]>S]R] +M;MS1_7>N^CM/_=WKF;O7C3NZ_\Y5?^>IOWM]S6=']]^YZN\\]7?M[/H<^4[U +M=Y[Z.Y@CWZG^SE-_!W/D.]7?>>KOEKDW?8Y\I_H[3_W=FV6N<4?WW[GJ[SSU +M=V]F[MYT[LAWJK_SU-^]F;E[T[DCWZG^SE-_]^9Z<W;D.]7?>>KOVMGU.?*= +MZN\\]7<P1[Y3_9VG_@[FR'>JO_/4WRUS;_L<^4[U=U[U=T'WW[GJ[[SJ[X+N +MOW/5WWG5WP7=?^>JO_.JOPNZ_\Y5?^=5?Q=T_YVK_LZK_B[H_CM7_9U7_5W0 +M_7>N^CL7_=V[/D>^4_V=I_[NW3+7N*/[[USU=Y[ZNW<S=^\Z=^0[U=]YZN_> +MS=R]Z]R1[U1_YZF_>W>].3ORG>KO//5W[>SZ'/E.]7>>^CN8(]^I_LY3?P=S +MY#O5W\7RDS2W[G/@NU#]W?</W.-N\=.Z<P>^"]7?1>KOUO/>NG%']]^%ZN\B +M]7?KF;MUXX[NOPO5WT7J[];7?'9T_UVH_BY2?]?.KL^![T+U=Y'Z.Y@#WX7J +M[R+U=S`'O@O5WT7J[Y8YZW/@NU#]7:3^SI:YQAW=?Q>JOXO4W]G\\JQS![X+ +MU=]%ZN]LYLXZ=^"[4/U=I/[.KC=G![X+U=]%ZN_:V?4Y\%VH_BY2?P=SX+M0 +M_5VD_@[FP'>A^KM(_=TRYWV.?*?ZNTC]G2]SG3ORG>KO(O5W/G/GC3NZ_RY4 +M?Q>IO_.9.V_<T?UWH?J[2/V=7_/9T?UWH?J[2/U=.[L^1[Y3_5VD_@[FR'>J +MOXO4W\$<^4[U=Y'ZNV4N^ASY3O5WD?J[6.8:=W3_7:C^+E)_%S-WT;DCWZG^ +M+E)_%S-WT;DCWZG^+E)_%]>;LR/?J?XN4G_7SJ[/D>]4?Q>IOX,Y\IWJ[R+U +M=S!'OE/]7:3^;ID;^ASY3O5WD?J[89GKW)'O5'\7J;\;9NZ&QAW=?Q>JOXO4 +MWPTS=T/CCNZ_"]7?1>KOAFL^.[K_+E1_%ZF_:V?7Y\AWJK^+U-_!'/E.]7>1 +M^CN8(]^I_BY2?[?,;?H<^4[U=Y'ZN\TRU[BC^^]"]7>1^KO-S-VF<T>^4_U= +MI/YN,W.WZ=R1[U1_%ZF_VUQOSHY\I_J[2/U=.[L^1[Y3_5VD_@[FR'>JOXO4 +MW\$<^4[U=Y'ZNV5NV^?(=ZJ_B]3?;9>YSAWY3O5WD?J[[<S=MG%']]^%ZN\B +M]7?;F;MMXX[NOPO5WT7J[[;7?'9T_UVH_BY2?]?.KL^1[U1_%ZF_@SGRG>KO +M(O5W,$>^4_U=I/YNF=OU.?*=ZN\B]7>[9:YQ1_??A>KO(O5WNYF[7>>.?*?Z +MNTC]W6[F;M>Y(]^I_BY2?[>[WIP=^4[U=Y'ZNW9V?8Y\I_J[2/T=S)'O5'\7 +MJ;^#.?*=ZN\B]7?+W-CGR'>JOXO4WXW+7.>.?*?ZNTC]W3AS-S;NZ/Z[4/U= +MI/YNG+D;&W=T_UVH_BY2?S=>\]G1_7>A^KM(_5T[NSY'OE/]7:3^#N;(=ZJ_ +MB]3?P1SY3O5WD?J[96[J<^0[U=]%ZN^F9:YQ1_??A>KO(O5WT\S=U+DCWZG^ +M+E)_-\W<39T[\IWJ[R+U=]/UYNS(=ZJ_B]3?M;/K<^0[U=]%ZN]@CGRG^KM( +M_1W,D>]4?Q>IOUOFWO<Y\IWJ[R+U=^^7N<X=^4[U=Y'ZN_<S=^\;=W3_7:C^ +M+E)_]W[F[GWCCNZ_"]7?1>KOWE_SV=']=Z'ZNTC]73N[/D>^4_U=I/X.YLAW +MJK^+U-_!'/E.]7>1^KME[D.?(]^I_BY2?_=AF6O<T?UWH?J[2/W=AYF[#YT[ +M\IWJ[R+U=Q]F[CYT[LAWJK^+U-]]N-Z<'?E.]7>1^KMV=GV.?*?ZNTC]'<R1 +M[U1_%ZF_@SGRG>KO(O5WR]S'/D>^4_U=I/[NXS+7N2/?J?XN4G_W<>;N8^.. +M[K\+U=]%ZN\^SMQ];-S1_7>A^KM(_=W':SX[NO\N5'\7J;]K9]?GR'>JOXO4 +MW\$<^4[U=Y'Z.Y@CWZG^+E)_M\Q]ZG/D.]7?1>KO/BUSC3NZ_RY4?Q>IO_LT +M<_>I<T>^4_U=I/[NT\S=I\X=^4[U=Y'ZNT_7F[,CWZG^+E)_U\ZNSY'O5'\7 +MJ;^#.?*=ZN\B]7<P1[Y3_5VD_FZ9^]SGR'>JOXO4WWU>YCIWY#O5WT7J[S[/ +MW'UNW-']=Z'ZNTC]W>>9N\^-.[K_+E1_%ZF_^WS-9T?WWX7J[R+U=^WL^ASY +M3O5WD?H[F"/?J?XN4G\'<^0[U=]%ZN^6N2]]CGRG^KM(_=V79:YQ1_??A>KO +M(O5W7V;NOG3NR'>JOXO4WWV9N?O2N2/?J?XN4G_WY7IS=N0[U=]%ZN_:V?4Y +M\IWJ[R+U=S!'OE/]7:3^#N;(=ZJ_&Y:?I+FO?0Y\-ZC^;DC]W==EKG,'OOO^ +M%',WI/[NZ\S=UX6[8<U/,7=#ZN^^SMQ]_;/-T=?;;D<D/_#M;?KV[8^7/P8W +M/U[?X*OU'G[4'_CVC[?W_VF#/RZ$V>Q6PV:UV:Y&_]U7^'___-_T"N_F_K8W +M?#='7V#\WEQ[P?8[<S\$_]/O_.OK&[=R3W[@;N[FIK0-70C37\1?1)_I`_+5 +MT1<8_T]@N;ETY>?/\X\O4?[]O\:6OW!/-U>VS^^JOSZ*F.^]W5^\OM7MV_TA +MT=W]WV\_S7GQ=E?WYPZ__-S^^M4]N'UU]$6\_Y-/QLW5(;_Y)_>OD?M_<N_F +D_.\5P>Z'6?[RW!Y^U!_X]J^W]_^Y&QQ^#/[Q_[+N5S>!I0`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-bsd.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-bsd.qcow2.gz.uu new file mode 100644 index 0000000..34b715e6 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-bsd.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-bsd.qcow2.gz +M'XL(")X[(U0``VEM9RTQ>#$M-#`Y-BUB<V0N<6-O=S(N;W5T`*V8VY+20!"& +M[WF*6<^NBIGN24@\K+KK6N6=WN@UL/`4/+P;ILDDG?XS2`52J:*&_ZN>S)=F +M0E'$EW.E=Z%RH7'[C7O\+`>YWH?AX0Z_?_Q<]E^'183Y`J2,@<`=;L"Z2SA" +MN,*/![R-ZU7'!HY.J3$HAPNPNJD!`W>].%ZZXV+4*L&7`",.+L9%]5&L3R?" +MA?71W/6Q??W*4TX/5-/U<:Q/IU8(5V=Q9*0:A%MG<6RD-@BWS>*"D7I`N%T6 +M5QJI/<#YC"J/N,I(>82C+&YEI!CA0A97&RGDG<][UQ@IY)W/>[<V4L@[G_=N +M8Z20=S[OW=9((>]\WKL'(X6\(^"=2[B=D4+>D?+N2G!/$FYOI)!WI+Q[*KAG +M'<Y;*>0=*>^>"^Y%PAG]CI!WI+Q[*;A7"6?T.T+>D?+NM>"N$\[H=X2\(^7= +M&\&]33BCWQ'RCI1W[T;>>:/?$?*.E7?OA54DG-'O&'G'RCLO.$HXH]\Q\HZ5 +M=RRXD'!&OV/D'2OO2L%5"6?T.T;>L?)N);@ZX8Q^Q\@[5MXU@ON0<$:_8^0= +M*^\^"NY3PAG]CI%WK+S[++B;A#/Z'2/O@O+NB^"^)IS1[P+R+BCOO@GN-N&, +M?A>0=T%Y=R>X[QV.K%3G75'8A^#N1_<LS;O_#&E_[(TS'I@`UO\#G*HPXII9 +M)US&";<:K(TS'CC<+H?O#GA<X7+5KFI9N9K.K?#O_9_QA,L95SCB\..H#'0% +M^W-PQ\?1WC?K_N8"#@PW%U<)-_DXVNZQ=]8`K*Z<61:J5:Z_SJ[9'Q]23MU= +M;<VZ]76I/D-F&DQWHCXWGF[[J]$]W:E5;'&4F:X;XC:3:SM=W=6XNNW,B\'Z +MSCCSSFTAPSLWXFC>1D#Q?ZFB_=;XC`<.OY;#=P0&`<YV!4/5]K[%/SE0:JE# +#$P`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-bsd.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-bsd.raw.gz.uu new file mode 100644 index 0000000..d48f343 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-bsd.raw.gz.uu @@ -0,0 +1,10 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-bsd.raw.gz +M'XL(".[%'50``VEM9RTQ>#$M-#`Y-BUB<V0N<F%W+F]U=`"ME,$.@R`,AN\^ +M1;WN0$J%Z:Y+=M]I.SNS/04//U!4*@-=0C$DI.V7O]2".!F`(L#^QYYVF*O@ +MRU2G:J21`^H6E`9]ALZ&X_JQ`W.8Y^TA0C,>)W-9:9S8V(RC/=PB6![!-2XK +MB+1J22ZXE&/"U9Y5KSB54V<1^/ZK6%WJ[N;>=IN\L,^`'\`!L/,^XL"EO[#J +MN\0RB)6;T0=QN;W#M3Q>!CC:*1<X[I7M;5Y=':L;"C>CV4[&P<EU$#ZY$X[* +C/@0TOBSV#[11\9YVF+O@:P(J#RQV@XH<L/H"TT^@ZP4%```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhd.gz.uu new file mode 100644 index 0000000..1c0e8d7 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhd.gz.uu @@ -0,0 +1,17 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-bsd.vhd.gz +M'XL(".[%'50``VEM9RTQ>#$M-#`Y-BUB<V0N=FAD+F]U=`"MESUOPR`0AO?\ +MBI.Z98C@C+&[1DWG2I7:-8YC1QGZH29#!O_X<C;88(R3M-@$8<$]O'<<B##6 +M/0`R`5F#K$"FU,X$R$?(<@#5J0NV-=>?T)1?GU5Y/EY6^FD6'8PSV\HU)WM, +M0*A),L"")I%[:D-C,*N'S6%Y_#@8'&J<F5A($`BI@@AO'LEZ=41Z7K\^M<CM +MH"[QU0U6ZK<3P`1P;HU(C+IMK[''"655UVW)H"A:F:8X'T['X.P(E[*1E25S +M*JB6LU,X.6=U#VZYT&O1I8I*C$S5*G0<,J2V2AL3!Z^H5+F<OHN?4S72AX%4 +MD;T^[O4E87=1IPJ:P5J!H'2><Q=:RGF,FTB5?T5/NG9"-U006&HZL'7?C=Z` +M`EN?Y&PFYN'%".HK2)_:6ZR8J,,=S7KEOCVP)&":T79/)>1X:P3?-V]3ZUL& +MTN6/NZ/$:[A>,+\%E^B]:U&2`1?JZ'!,L]B`$W/J*&>JNYQ-(R=SF8_L['4& +M7@/?`\NMK+:`_?K"H._1EX&.NS/ZP'>W(%SFCN<6#J^X"RYN-[NV\^J8KZZ, +MO!C[\<ZX<><2Q-VY'0[C'@38GBPJ`]4HOPYW-"\K]^V`J(^J:&<?FJ,JED*A +M@=$4*F`562%6L\EV;Q9*K3#219)P$2^2A(MXD21<Q(LDX2)>)`D7\2))N*@7 +02:G^(C"V^`74/'YQ?0P````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhdf.gz.uu new file mode 100644 index 0000000..6660765 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhdf.gz.uu @@ -0,0 +1,13 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-bsd.vhdf.gz +M'XL("._%'50``VEM9RTQ>#$M-#`Y-BUB<V0N=FAD9BYO=70`K91-;X,P#(;O +M_`I+N_6`DI`8>JW6G2=-VJX%"E4/W2X[[)`?OQ@"Q'RUFPA1!'+\\-I.+$0[ +M`+0"D<^LRP9[B/ECHUW4T!0!30K:@$'(W'8Q3/;!#/;C^!Z'PWJ<7/-:QL6C +MT>'4/5PO6#Z"2\A+,DHRX)8,+4YXEAAP>DV=RX2H_A2LV2IW76VSD5]89Y`U +MR#.(S-L4!_;UA4'??BI#L7!7],$TW)QP*=\O`YRZ$RYP7+%:VW5U8JJNW+@8 +MR?AF/'AS"<)O;HM3VS8"U706=P+=KNFZ;+"O,7]:H/;`S3*(OO=A`E@#5H"& +MWE,-N(<T"X&*GR1;?GU6Y??U)ZPPX:@@=3T_R5\E=%LP!9733_!,[X&^I^-E +M=[U=.ES7JKH?:Z2D&P?1DW"1A_MR>'MND*=!73)-$H;9*S0(#5*RP+VZ$S_. +IA--]L%4-A6ED=I-],,-LJR*<$2.O_]:VQ>'&1\4=ON@7D=A:0S`'```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-bsd.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-bsd.vmdk.gz.uu new file mode 100644 index 0000000..ac4864b --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-bsd.vmdk.gz.uu @@ -0,0 +1,81 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-bsd.vmdk.gz +M'XL("._%'50``VEM9RTQ>#$M-#`Y-BUB<V0N=FUD:RYO=70`K9S=;]O*$<7? +M\U<0SDO0!X%'_'X(T*9.@:(H$-Q<W/M:\:LQFL2!;10-H#^^7'+/^M`RO<3U +M.'+$C69&.[/2V/G-@=)T^4J2O$WR/,G[I"B3%,GT3\LM2;/'Q70[UGS@_(_K +M?_YVX->[P^'\9@D&YR4N2#6<+%;/<SX\^6*XXTM>JP>FVS$:+G->[86C#W?< +M>&`S7#X]>'S.A;L[S0_W[D+")2%0L@I7/)/39K(O[>Y/;WSQW/XRMX?I>,LF +MJ;*D;/TR*8MYG275<7XL3:K):)P"ODVN;^[_DUP/]]W=S8^'6[^_HSO;R3@O +MG7W9N0A38E7I+MP#+ESC0I1#DO5)!O=P<K[[V\W7X?#?X>[^YO;[>S#=HSO; +M/$ORQFW'V:>/M]7"/4F:E'#/D9S_^O?K]_Z5FQY^G.X8SGE-&YF>>\I#XY9E +MXKXO;_/NAN\/+N+HO\+NW-GZXA3S<^?NHLB3JDGF[10N]G%ZN/<IS[7K[H;3 +MP_#KSQ_#^ZMOM]]#[=S9NI(U<Z!Z+E26%)D+Y5-SY2M<1/>RF4\M.7^]>?AR +MTWV>TKP?K@YO$X8K7>VF`ZS]OI:L)Y=R\V2G;9\__N]ARC?I_<G>,-R\B3F) +MZ;F+8U)4+M9T@/-1'),L=U?3/TT;GC+)X8R2\^WWPR^_3V]Q5ZS/G_[R"\/5 +MD]=D.6UP<ID26N54+/D73U^6R?GSQ^3*)?GKEV%^!3)<L[S-G/%R#IB71W?A +MJ[:$=TTL=P_,)YM<GQY.R8?3_7!X>WW](9SLR26;S[=I:X.+4BZAW>M[+N=4 +MN.6DEX.>CZ+OV\.I/_UX&.[<\8:C:%V)>I^I.];\\1C7SU/-)S6Z5TQR?I]< +MW?33F;JP_QYNOS%<M[R,IWVXET0S.V;N8GKUS.$'_PS+*\8=DPLW/-S]/'0_ +MO]Y\[Z<W6O*>X?JE=M-VEM-\/,SI`*<=/KO!J797\ZF&[3'<X';77VQP/D]? +MR+"I\+3)^=N\O2_#J9^V-L5FN-'M[OC\/GREGCS5%#TY/U9MCGOOPV6I;P&9 +M;V6K$H7M+$\H#73H'F[OEHU=23_.GOXL>VT_SB]^I%9_,.`2SGI_9?KDYUFF +M?KDLBE5`]U,LG;[_/'U_>MQ?Z?97BF6E7K4LFE6X?TTA?ERF6[IWX4DL6_7J +M9-'OJ5[I6ML@EN/3ZO%7#<CU=CC^+D#+3+UR612K<%NU*WSM:%FI5RV+9A5N +MJW:EKQTM6_7J9-'O2K;RM:/EJ%[NCK]*(=WQ:UE9^]K1,E.O7!;%*MQ6[1I? +M.UI6ZE7+HEF%VZK=R=>.EJUZ=;+H=R7;^MK1<E0O=\<&`;G>#M?YVM$R4Z]< +M%L4JW%;M>E\[6E;J5<NB687;JMW@:T?+5KTZ6?2[DAU][6@YJI>[RZ5V>2Q< +ME?K:T3)3KUP6Q2K<1NTJ]CM:5NI5RZ)9A=NH7<5^1\M6O3I9]+N29;^CY:A> +M[JZ0VA71<.QWM,S4*Y=%L0JW53OV.UI6ZE7+HEF%VZH=^QTM6_7J9-'O2I;] +MCI:C>KF[4FI71L.QW]$R4Z]<%L4JW%;MV.]H6:E7+8MF%6ZK=NQWM&S5JY-% +MORM9]CM:CNKE[OA+$.1Z.QS['2TS]<IE4:S";=6._8Z6E7K5LFA6X;9JQWY' +MRU:].EGTNY)EOZ/EJ%[NCD`&<KT9KDY][6B9J5<NBV(5;J-V-?L=+2OUJF71 +MK,)MU*YFOZ-EJUZ=+/I=R;+?T7)4+W?72.V::#CV.UIFZI7+HEB%VZH=^QTM +M*_6J9=&LPFW5COV.EJUZ=;+H=R7+?D?+4;W<'?__!+G>#L=^1\M,O7)9%*MP +M6[5COZ-EI5ZU+)I5N*W:L=_1LE6O3A;]KF39[V@YJI>[(W^$7&^'8[^C9:9> +MN2R*5;BMVK'?T;)2KUH6S2K<5NW8[VC9JE<GBWY7LNQWM!S5R]UU4KLN%JY) +M?>UHF:E7+HMB%6ZC=@W['2TK]:IET:S";=2N8;^C9:M>G2SZ7<FRW]%R5"]W +MUTOM^F@X]CM:9NJ5RZ)8A=NJ'?L=+2OUJF71K,)MU8[]CI:M>G6RZ'<ERWY' +MRU&]W-T@M1NBX=CO:)FI5RZ+8A5NJW;L=[2LU*N61;,*MU4[]CM:MNK5R:+? +ME2S['2U']7)WH]1NC(9COZ-EIEZY+(I5N*W:L=_1LE*O6A;-*MQ6[=CO:-FJ +M5R>+?E>R['>T'-4KE>D9Y'HSW"E=:A<L,_7*95&LPFW4[N3[7;"LU*N61;,* +MMU&[D^]WP;)5KTX6_:YD?;\+EJ-ZN9()OT,4:9U\OX/P.RB_@_`[1/G=R?<[ +M"+^#\CL(OT.4WYU\OX/P.RB_@_"['<GZ?@?A=U!^!^%WB"*MD^]W$'X'Y7<0 +M?H<HOSOY?@?A=U!^!^%WB/*[D^]W$'X'Y7<0?K<C6=_O(/P.RN\@_`Y1I'7R +M_0["[Z#\#L+O$.5W)]_O(/P.RN\@_`Y1?G?R_0["[Z#\#L+O=B3K^QV$WT'Y +M'83?(8JTVM373O@=E-]!^!VB_*YEOQ-^!^5W$'Z'*+]KV>^$WT'Y'83?[4B6 +M_4[X'93?0?@=HDBK9;\3?@?E=Q!^ARB_:]GOA-]!^1V$WR'*[UKV.^%W4'X' +MX7<[DF6_$WX'Y7<0?H<HTFK9[X3?0?D=A-\ARN]:]COA=U!^!^%WB/*[EOU. +M^!V4WT'XW8YDV>^$WT'Y'83?(8JT6O8[X7=0?@?A=XCRNY;]3O@=E-]!^!VB +M_*YEOQ-^!^5W$'ZW(UGV.^%W4'X'X7>((JTN];43?@?E=Q!^ARB_Z]COA-]! +M^1V$WR'*[SKV.^%W4'X'X7<[DF6_$WX'Y7<0?H<HTNK8[X3?0?D=A-\ARN\Z +M]COA=U!^!^%WB/*[COU.^!V4WT'XW8YDV>^$WT'Y'83?(8JT.O8[X7=0?@?A +M=XCRNX[]3O@=E-]!^!VB_*YCOQ-^!^5W$'ZW(UGV.^%W4'X'X7>((JV._4[X +M'93?0?@=HORN8[\3?@?E=Q!^ARB_Z]COA-]!^1V$W^U(EOU.^!V4WT'X':)( +MJT]][83?0?D=A-\ARN]Z]COA=U!^!^%WB/*[GOU.^!V4WT'XW8YDV>^$WT'Y +M'83?(8JT>O8[X7=0?@?A=XCRNY[]3O@=E-]!^!VB_*YGOQ-^!^5W$'ZW(UGV +M.^%W4'X'X7>((JV>_4[X'93?0?@=HORN9[\3?@?E=Q!^ARB_Z]GOA-]!^1V$ +MW^U(EOU.^!V4WT'X':)(JV>_$WX'Y7<0?H<HO^O9[X3?0?D=A-\ARN]Z]COA +M=U!^!^%W.Y)EOQ-^!^5W04P'N99PR?+MPPWI4KMG)>7/_%.H7?+L[@9C?2!F +M?6"8*2Q9_;&`2SCK_87Y-F^OTB\BS+=Y>Y5^$6&^S=NK](L(\VW>7J5?1)AO +MF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28 +M;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$ +MF&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)? +M1)AOF^@7$>;;)OI%A/FVB7X18;YMHE\$Y]LV^D5POFVC7P3GVS;Z17"^;:-? +M!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$ +MY]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3G +MVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?; +M-OI%<+YMHU\$Y]LV^D5POFVC7T28;]/R5?I%A/DV+5^E7T28;]/R5?I%A/DV +M+5^E7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X1 +M8;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^ +M$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:) +M?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?!.?;-OI%#*;Z10RF^D4, +MIOI%#*;Z10RF^D4,IOI%#*;Z10RF^D4,IOI%#*;Z10RF^D4,IOI%#*;Z10RF +M^D4,IOI%C&EJJ%_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ7\1H +MJE_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ7\1HJE\\IFEJJ%\\7GR6\,YPE\DN^L!\ +MWM_RZ:"7?V\_</YP6/\)`></V"TJ]T&G19G4Q[T[_/WC;\\DG!_-$E["77QX +M\M-P8<,[/HLYGS]@5RU3_4#HS0>6<.]\K'>/X?*7=J=SBGW)&G]X<CY_B*W: +MZCG/[Y+B<1[_Y+T1SC=YW%]SN8WC*MT7]I=<INN:J'Y\J)[BZMVZD6ZR#M>^ +M>+8O[^[=Y>XZX\.X^"C6G>]<%V3]SEW"'6T;03EWEF7X?_GW]@/G3X?UGR5@ +-/@=\\W^I>^KAH%T````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-ebr.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-ebr.qcow.gz.uu new file mode 100644 index 0000000..0dfdc6c --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-ebr.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-ebr.qcow.gz +M'XL("*TS(E0``VEM9RTQ>#$M-#`Y-BUE8G(N<6-O=RYO=70`K9W9CAS7<D7? +M]17%>28K(K*J,CGC`C;@M^L'VZ^WQN?Z`'Z\.62>TQVU-D.V1#4$$F1N5)U> +M6H2DQ=/K]:]OJ]7&5L-V-4RKRV'U_<?SAZWN_.#^Q^K;?_[[?[R]^^W;'[_& +M;/V;I]*/!U_%/'=OZQ_K-N<_GCJNUM.?F/O^831WY]7%_^'5W7FSMW,O__CU +M9ODY5X/WW^YJGEO>KHG3&_[<Z_N:WJ[].KV_[^VZ>+L;-;B]-_C/>>Y?\^MS +M\79W:FZ\-W=-;]?%VYW4W/ZWL+B`Y:#FCL7<@$^=U-RYF-O@4Q>>L]]\;G_- +M;?$I4W..<ZLVM\.G0LT-]^;6;Q>@E[D1GQ+<6<G=A$\)[JSD;H]/">ZLY.Z` +M3PGNK.3NB$\)[JSD[H1/">Z\Y.Z,3PGNO.3N@D\)[KSBSO@IP9U7W!GYSA5W +M7G%GY#M7W'G%G9'O7''G%7=&OG/%G5?<&?G.%7=1<6?DNU#<1<6=D>]"<1<E +M=^2[4-Q%R1WY+A1W47)'O@O%793<D>]"<1<E=^2[4-Q%R1WY+A1W0\D=^6Y0 +MW`TE=^2[07$W5-PY/R6X&RKNG'PW*.Z&BCLGWPV*NZ'BSLEW@^)NJ+AS\MV@ +MN!LJ[IQ\-RCN-A5W3K[;*.XV%7=.OMLH[C8E=^2[C>)N4W)'OMLH[C8E=^2[ +MC>)N4W)'OMLH[C8E=^2[C>)N4W)'OMLH[K8E=^2[K>)N6W)'OMLJ[K85=\%/ +M">ZV%7=!OMLJ[K85=T&^VRKNMA5W0;[;*NZV%7=!OMLJ[K85=T&^VRKN=A5W +M0;[;*>YV%7=!OMLI[G8E=^2[G>)N5W)'OMLI[G8E=^2[G>)N5W)'OMLI[G8E +M=^2[G>)N5W)'OMLI[L:2._+=J+@;2^[(=Z/B;JRX&_@IP=U8<3>0[T;%W5AQ +M-Y#O1L7=6'$WD.]&Q=U8<3>0[T;%W5AQ-Y#O1L7=\I^_]1SY;E+<315W`_EN +M4MQ-)7?DNTEQ-Y7<D>\FQ=U4<D>^FQ1W4\D=^6Y2W$TE=^2[27$WE=R1[R;% +MW;[DCGRW5]SM2^[(=WO%W;[B;L-/">[V%7<;\MU><;>ON-N0[_:*NWW%W89\ +MMU?<[2ON-N2[O>)N7W&W(=_M%7?+_X;4<^2[@^+N4'&W(=\=%'>'DCORW4%Q +M=RBY(]\=%'>'DCORW4%Q=RBY(]\=%'>'DCORW4%Q=RBY(]\=%'?'DCORW5%Q +M=RRY(]\=%7?'BKLM/R6X.U;<;<EW1\7=L>)N2[X[*NZ.%7=;\MU1<7>LN-N2 +M[XZ*NV/%W99\=U3<G2KNMN2[D^+N5'&W)=^=%'>GDCORW4EQ=RJY(]^=%'>G +MDCORW4EQ=RJY(]^=%'>GDCORW4EQ=RJY(]^=%'?GDCORW5EQ=RZY(]^=%7?G +MBKL=/R6X.U?<[<AW9\7=N>)N1[X[*^[.%7<[\MU9<7>NN-N1[\Z*NW/%W8Y\ +M=U;<72KN=N2[B^+N4G&W(]]=%'>7DCORW45Q=RFY(]]=%'>7DCORW45Q=RFY +M(]]=%'>7DCORW45Q=RFY(]]=!'>V?$?/@>]L+;BS=<D=^,[6@CM;5]R-_!1S +M9V5_-X+O3/5W5O9W(_C.5']G97\W@N],]7=6]G<C^,Y4?V=E?S>"[TSU=U;V +M=R/XSE1_9V5_-X+O3/5W5O9W(_C.5']G97\W@N],]7=6]G<C^,Y4?V=E?S>" +M[TSU=U;V=R/XSE1_9V5_-X+O3/5W5O9W(_E.]7=6]G<C^4[U=U;V=Q,_);@K +M^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG +M^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[ +MB7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[L]/R6X*_N[/?E.]7=6 +M]G=[\IWJ[ZSL[_;D.]7?6=G?[<EWJK^SLK_;D^]4?V=E?[<GWZG^SLK^;D^^ +M4_V=E?W=GGRG^CLK^[L]^4[U=U;V=WORG>KOK.SO]N0[U=]9V=_MR7>JO[.R +MO]N3[U1_9V5_MR??J?[.ROYN3[Y3_9V5_=V!GQ+<E?W=@7RG^CLK^[L#^4[U +M=U;V=P?RG>KOK.SO#N0[U=]9V=\=R'>JO[.ROSN0[U1_9V5_=R#?J?[.RO[N +M0+Y3_9V5_=V!?*?Z.RO[NP/Y3O5W5O9W!_*=ZN^L[.\.Y#O5WUG9WQW(=ZJ_ +ML[*_.Y#O5']G97]W(-^I_L[*_N[(3PGNRO[N2+Y3_9V5_=V1?*?Z.RO[NR/Y +M3O5W5O9W1_*=ZN^L[.^.Y#O5WUG9WQW)=ZJ_L[*_.Y+O5']G97]W)-^I_L[* +M_NY(OE/]G97]W9%\I_H[*_N[(_E.]7=6]G='\IWJ[ZSL[X[D.]7?6=G?'<EW +MJK^SLK\[DN]4?V=E?W?BIP1W97]W(M^I_L[*_NY$OE/]G97]W8E\I_H[*_N[ +M$_E.]7=6]G<G\IWJ[ZSL[T[D.]7?6=G?G<AWJK^SLK\[D>]4?V=E?W<BWZG^ +MSLK^[D2^4_V=E?W=B7RG^CLK^[L3^4[U=U;V=R?RG>KOK.SO3N0[U=]9V=^= +MR'>JO[.ROSOS4X*[LK\[D^]4?V=E?W<FWZG^SLK^[DR^4_V=E?W=F7RG^CLK +M^[LS^4[U=U;V=V?RG>KOK.SOSN0[U=]9V=^=R7>JO[.ROSN3[U1_9V5_=R;? +MJ?[.RO[N3+Y3_9V5_=V9?*?Z.RO[NS/Y3O5W5O9W9_*=ZN^L[._.Y#O5WUG9 +MWUWX*<%=V=]=R'>JO[.RO[N0[U1_9V5_=R'?J?[.RO[N0KY3_9V5_=V%?*?Z +M.RO[NPOY3O5W5O9W%_*=ZN^L[.\NY#O5WUG9WUW(=ZJ_L[*_NY#O5']G97]W +M(=^I_L[*_NY"OE/]G97]W85\I_H[7[Z3YE9]#GSW_2GFSE-_M]RGM^K<@>]< +M]7>>^KO5S-UJX2[6_!1SYZF_6\W<K?[5YL!WKOH[3_W=ZIK.+NC^.U?]G:?^ +MKIU=GP/?N>KO//5W,`>^<]7?>>KO8`Y\YZJ_\]3?+7,/^ASXSE5_YZF_>[#, +MK=H<^,Y5?^>IOWLP<_>@<P>^<]7?>>KO'LS</>C<@>]<]7>>^KL'UYNS`]^Y +MZN\\]7?M[/H<^,Y5?^>IOX,Y\)VK_LY3?P=SX#M7_9VG_FZ9>]CGR'>JO_/4 +MWSU<YCIWY#O5WWGJ[Q[.W#ULW-']=Z[Z.T_]W<.9NX>-.[K_SE5_YZF_>WC- +M9T?WW[GJ[SSU=^WL^ASY3O5WGOH[F"/?J?[.4W\'<^0[U=]YZN^6N4=]CGRG +M^CM/_=VC9:YQ1_??N>KO//5WCV;N'G7NR'>JO_/4WSV:N7O4N2/?J?[.4W_W +MZ'IS=N0[U=]YZN_:V?4Y\IWJ[SSU=S!'OE/]G:?^#N;(=ZJ_\]3?+7./^QSY +M3O5WGOJ[Q\M<YXY\I_H[3_W=XYF[QXT[NO_.57_GJ;][/'/WN'%']]^YZN\\ +M]7>/K_GLZ/X[5_V=I_ZNG5V?(]^I_LY3?P=SY#O5WWGJ[V".?*?Z.T_]W3+W +MI,^1[U1_YZF_>[+,->[H_CM7_9VG_N[)S-V3SAWY3O5WGOJ[)S-W3SIWY#O5 +MWWGJ[YY<;\Z.?*?Z.T_]73N[/D>^4_V=I_X.YLAWJK_SU-_!'/E.]7>>^KME +M[FF?(]^I_LY3?_=TF>O<D>]4?^>IOWLZ<_>T<4?WW[GJ[SSU=T]G[IXV[NC^ +M.U?]G:?^[NDUGQW=?^>JO_/4W[6SZW/D.]7?>>KO8(Y\I_H[3_T=S)'O5'_G +MJ;];YI[U.?*=ZN\\]7?/EKG&'=U_YZJ_\]3?/9NY>]:Y(]^I_LY3?_=LYNY9 +MYXY\I_H[3_W=L^O-V9'O5'_GJ;]K9]?GR'>JO_/4W\$<^4[U=Y[Z.Y@CWZG^ +MSE-_M\P][W/D.]7?>>KOGB]SG3ORG>KO//5WSV?NGC?NZ/X[5_V=I_[N^<S= +M\\8=W7_GJK_SU-\]O^:SH_OO7/5WGOJ[=G9]CGRG^CM/_1W,D>]4?^>IOX,Y +M\IWJ[SSU=\O<BSY'OE/]G:?^[L4RU[BC^^]<]7>>^KL7,W<O.G?D.]7?>>KO +M7LS<O>C<D>]4?^>IOWMQO3D[\IWJ[SSU=^WL^ASY3O5WGOH[F"/?J?[.4W\' +M<^0[U=]YZN^6N9=]CGRG^CM/_=W+9:YS1[Y3_9VG_N[ES-W+QAW=?^>JO_/4 +MW[V<N7O9N*/[[USU=Y[ZNY?7?'9T_YVK_LY3?]?.KL^1[U1_YZF_@SGRG>KO +M//5W,$>^4_V=I_YNF7O5Y\AWJK_SU-^]6N8:=W3_G:O^SE-_]VKF[E7GCGRG +M^CM/_=VKF;M7G3ORG>KO//5WKZXW9T>^4_V=I_ZNG5V?(]^I_LY3?P=SY#O5 +MWWGJ[V".?*?Z.T_]W3+WNL^1[U1_YZF_>[W,=>[(=ZJ_\]3?O9ZY>]VXH_OO +M7/5WGOJ[US-WKQMW=/^=J_[.4W_W^IK/CNZ_<]7?>>KOVMGU.?*=ZN\\]7<P +M1[Y3_9VG_@[FR'>JO_/4WRUS;_H<^4[U=Y[ZNS?+7...[K]SU=]YZN_>S-R] +MZ=R1[U1_YZF_>S-S]Z9S1[Y3_9VG_N[-]>;LR'>JO_/4W[6SZW/D.]7?>>KO +M8(Y\I_H[3_T=S)'O5'_GJ;];YM[V.?*=ZN^\ZN^"[K]SU=]YU=\%W7_GJK_S +MJK\+NO_.57_G57\7=/^=J_[.J_XNZ/X[5_V=5_U=T/UWKOH[K_J[H/OO7/5W +M+OJ[=WV.?*?Z.T_]W;MEKG%']]^YZN\\]7?O9N[>=>[(=ZJ_\]3?O9NY>]>Y +M(]^I_LY3?_?N>G-VY#O5WWGJ[]K9]3GRG>KO//5W,$>^4_V=I_X.YLAWJK^+ +MY3MI;MWGP'>A^KOO/W&/N\5/Z\X=^"Y4?Q>IOUO/>^O&'=U_%ZJ_B]3?K6?N +MUHT[NO\N5'\7J;];7_/9T?UWH?J[2/U=.[L^![X+U=]%ZN]@#GP7JK^+U-_! +M'/@N5'\7J;];YJS/@>]"]7>1^CM;YAIW=/]=J/XN4G]G\\NSSAWX+E1_%ZF_ +MLYD[Z]R![T+U=Y'Z.[O>G!WX+E1_%ZF_:V?7Y\!WH?J[2/T=S('O0O5WD?H[ +MF`/?A>KO(O5WRYSW.?*=ZN\B]7>^S'7NR'>JOXO4W_G,G3?NZ/Z[4/U=I/[. +M9^Z\<4?WWX7J[R+U=W[-9T?WWX7J[R+U=^WL^ASY3O5WD?H[F"/?J?XN4G\' +M<^0[U=]%ZN^6N>ASY#O5WT7J[V*9:]S1_7>A^KM(_5W,W$7GCGRG^KM(_5W, +MW$7GCGRG^KM(_5U<;\Z.?*?ZNTC]73N[/D>^4_U=I/X.YLAWJK^+U-_!'/E. +M]7>1^KME;NASY#O5WT7J[X9EKG-'OE/]7:3^;IBY&QIW=/]=J/XN4G\WS-P- +MC3NZ_RY4?Q>IOQNN^>SH_KM0_5VD_JZ=79\CWZG^+E)_!W/D.]7?1>KO8(Y\ +MI_J[2/W=,K?I<^0[U=]%ZN\VRUSCCNZ_"]7?1>KO-C-WF\X=^4[U=Y'ZN\W, +MW:9S1[Y3_5VD_FYSO3D[\IWJ[R+U=^WL^ASY3O5WD?H[F"/?J?XN4G\'<^0[ +MU=]%ZN^6N6V?(]^I_BY2?[==YCIWY#O5WT7J[[8S=]O&'=U_%ZJ_B]3?;6?N +MMHT[NO\N5'\7J;_;7O/9T?UWH?J[2/U=.[L^1[Y3_5VD_@[FR'>JOXO4W\$< +M^4[U=Y'ZNV5NU^?(=ZJ_B]3?[9:YQAW=?Q>JOXO4W^UF[G:=._*=ZN\B]7>[ +MF;M=YXY\I_J[2/W=[GIS=N0[U=]%ZN_:V?4Y\IWJ[R+U=S!'OE/]7:3^#N;( +M=ZJ_B]3?+7-CGR/?J?XN4G\W+G.=._*=ZN\B]7?CS-W8N*/[[T+U=Y'ZNW'F +M;FS<T?UWH?J[2/W=>,UG1_??A>KO(O5W[>SZ'/E.]7>1^CN8(]^I_BY2?P=S +MY#O5WT7J[Y:YJ<^1[U1_%ZF_FY:YQAW=?Q>JOXO4WTTS=U/GCGRG^KM(_=TT +M<S=U[LAWJK^+U-]-UYNS(]^I_BY2?]?.KL^1[U1_%ZF_@SGRG>KO(O5W,$>^ +M4_U=I/YNF7O?Y\AWJK^+U-^]7^8Z=^0[U=]%ZN_>S]R];]S1_7>A^KM(_=W[ +MF;OWC3NZ_RY4?Q>IOWM_S6=']]^%ZN\B]7?M[/H<^4[U=Y'Z.Y@CWZG^+E)_ +M!W/D.]7?1>KOEKD/?8Y\I_J[2/W=AV6N<4?WWX7J[R+U=Q]F[CYT[LAWJK^+ +MU-]]F+G[T+DCWZG^+E)_]^%Z<W;D.]7?1>KOVMGU.?*=ZN\B]7<P1[Y3_5VD +M_@[FR'>JOXO4WRUS'_L<^4[U=Y'ZNX_+7.>.?*?ZNTC]W<>9NX^-.[K_+E1_ +M%ZF_^SAS][%Q1_??A>KO(O5W'Z_Y[.C^NU#]7:3^KIU=GR/?J?XN4G\'<^0[ +MU=]%ZN]@CGRG^KM(_=TR]ZG/D>]4?Q>IO_NTS#7NZ/Z[4/U=I/[NT\S=I\X= +M^4[U=Y'ZNT\S=Y\Z=^0[U=]%ZN\^76_.CGRG^KM(_5T[NSY'OE/]7:3^#N;( +M=ZJ_B]3?P1SY3O5WD?J[9>YSGR/?J?XN4G_W>9GKW)'O5'\7J;_[/'/WN7%' +M]]^%ZN\B]7>?9^X^-^[H_KM0_5VD_N[S-9\=W7\7JK^+U-^UL^MSY#O5WT7J +M[V".?*?ZNTC]'<R1[U1_%ZF_6^:^]#GRG>KO(O5W7Y:YQAW=?Q>JOXO4WWV9 +MN?O2N2/?J?XN4G_W9>;N2^>.?*?ZNTC]W9?KS=F1[U1_%ZF_:V?7Y\AWJK^+ +MU-_!'/E.]7>1^CN8(]^I_FY8OI/FOO8Y\-V@^KLA]7=?E[G.'?CN^U/,W9#Z +MNZ\S=U\7[H8U/\7<#:F_^SIS]_5?;0Y\-ZC^KGTL<[DW'NC^N_Y4,7?GV[<_ +M7OX<W-#-/,7@Y8*#O^9^D/?]%WS_V&_F[WS_6-N=N1]?4MCTZWMP=XZ^\O%? +M>KOTQ=E_,[C9K/;[F\'_6E[?S\MT!E^M]_!W_1/?_O'V_E_M]?W\T]N;W6K8 +MK#;;U>A_]@W_S[_]-WTZZ$]O___.[]=<25][P?9GYG[^;GOG5]XE0__$MX[) +MVSO7UFWH3V_W%_%#+V?Z"?GJZ*N]_Q7V;OZ$]-W/\\^O%__]7XV7__N1KA%M +MG]]5?WU4E-][N[]Y?:O;M_OS=[3=_5]O=^:\>+NK^W.'WWYN?__J'MR^.OJ* +MZG_EDW'SYWS_Y#^Y/T;N_Y/[:\[_7A'L?IKEQV\Z>_B[_HEO_WQ[_Z]?@\,\ +4^+>=X+`>O[_*/_X7*6^YQ%^G```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-ebr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-ebr.qcow2.gz.uu new file mode 100644 index 0000000..426de83 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-ebr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-ebr.qcow2.gz +M'XL("*`[(U0``VEM9RTQ>#$M-#`Y-BUE8G(N<6-O=S(N;W5T`*V76[/2,!#' +MW_D4P<M1CXK-;E**EZ.>BS.^Z8/Z7"[]%'QXVV9IVNUN`TRAP\"$_V\VY)>E +MR;+P,,9;XW+C-J;:FOHS76!Z'X:7.?[^\7/5?QP7`68S)24,..QP`]9#Q(&& +MR^QXP,JX7G4HX."4&H-2.*=6-S4@X&X7[4_7+D;!$G@-,.#4Q;BJ/@CU\82[ +MLCZ8NSZ4?S]_RO&!?+H^#/7QU%K#%4D<"*F-ABN3.!126PVW2^*<D-IKN$,2 +MYX54I>!L0I4:EPLIJ^$@B5L+*=1P+HDKA)3FG4U[MQ%2FG<V[5TII#3O;-J[ +MK9#2O+-I[W9"2O/.IKW;"RG-.U"\,Q%W$%*:=\"\6Q+N6<150DKS#IAWSPGW +MHL-9*:5Y!\R[EX2[B3BAWX'F'3#O7A'N=<0)_0XT[X!Y]X9PMQ$G]#O0O`/F +MW5O"O8LXH=^!YATP[]Z/O+-"OP/-.V3>?2!6%G%"OT/-.V3>6<)!Q`G]#C7O +MD'F'A',1)_0[U+Q#YITG7!YQ0K]#S3MDWJT)5T2<T.]0\PZ9=QO"?8PXH=^A +MYATR[SX1[G/$"?T.->^0>?>%<'<1)_0[U+QSS+NOA/L6<4*_<YIWCGGWG7#W +M$2?T.Z=YYYAW#X1[['`@I3KOLDR^"/<TVK,P[_VGB_?'5GC5!R:`Q27`J0H# +M;C/KA'W8&Y<!JTJKSX>]47^AODI/;^HK3(_RMO<'+-2W[./V<T^WN@SHO2G+ +M$?#/J;Y6YV83E<*K/G"\7PV?77VN`?IULR=\;@HX=\+_GOY*R^%FVQ\!IQ_F +M::`KV)Z#:P_SO6_VS=`'AK=FRXB;/,PW)Y2#-*!6YV=VSQ4LUU_G]FBUBV=0 +M=F/;K:^)]0FM``;3G:C/C*?;_.=V9V.VBNT")*9KAKCMY-I.5[<<5[>;>3$\ +MWQEG[MP&,MRY`0?S-@)H.TMM8/VM\:L^</RU&CX#T!%PME_0Y<U?Y>(_(V[D +%[($4```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-ebr.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-ebr.raw.gz.uu new file mode 100644 index 0000000..bbf6836 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-ebr.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-ebr.raw.gz +M'XL("._%'50``VEM9RTQ>#$M-#`Y-BUE8G(N<F%W+F]U=`"ME,T.@R`,Q^\^ +M17?=P4`'TUV7[+[+MC.Z^10\_(KX`2*H"8!H4OK+O[:%,3L`Z%E=<8,N%T,7 +MYZ*G\>8PL.M6@1;7DA<=H*7D\$&+<0?'&2"/ZSNYN&_N<+MC0"E!J0#X&O6A +M\1((3*WL<8.^E_Z<]`D#E!4("?(*->X-^/-XKZ5#\%S_S^)P"S<)YGMP%^/E +MG'0K(V[0<YG8]X@3*76$8+]#P<K,M2?JA9^;9V#4)2VP>K"A#YSR"[.^6R@# +MO7`3^B`,5QE<Y9_G#@XWP@4?UR1SFU9W"M6UF9,AEYVQLW,-Q.]<B\.\%P'V +?-PM5()T*][A!/TM_6J`8@-G^H$`#+/YC5JB9E`8````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhd.gz.uu new file mode 100644 index 0000000..6eb54df --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-ebr.vhd.gz +M'XL("._%'50``VEM9RTQ>#$M-#`Y-BUE8G(N=FAD+F]U=`"METU3PR`0AN_] +M%>MX\]"!#6S:JZ.>G7'4JVE,'`]^C'KPD!\O!$@@"=@H34J3@7WR[K)L*&/F +M`T`%4`O4`$E]70J@/90[`-5I3^Q;;F^AJ]]>F_KK^7MK/]W&P#CSK4)S;8\% +M"/60$K#2#Z%'?0V=PVQ/+Y_.GE^>'`XMSCU8$`@$J2!B]AQB@SI-NCJ_N>B1 +M#Z.Z8JYNM%+?@P`F@'-O1.'4/0P:!YQ05FW;GR5452_3G<%-T#$Z.\%)-K'R +M9"X%U7-V"4<IJS6XLXV="Y,J*C%*U:K0<2A17ZNT<7&8G2I5OC_?JX_/9J(/ +M(ZE"@SX^ZROB[J)-%72#K0*ATSGE+O24KREN(57^%3T*[82]4$%@TG5@[WX8 +MO1$%OC[B+!'S^&1$]55)O_[@\.&P&AA1:'#UX'`E1X],DHS!1![7=^+C'G.[ +MVZX#2JDKQA1XZ_35VDJ5.E8MM/&.[GP;'H.^1@-EJ:NO)-CAL0[?7]XM34<3 +M6;WKXV=P^!MN$,R/P16VE+J1?F;$.[HQ3<ROPXF4.KV$FU7.RLRYU^PF=OX\ +M`U.KI`:VLWT8`H?YA5'??BX#`W<3^F#N;J5Q93B>>SC\Q5T(<8?DW*;5G<S5 +MU9DGHYVNC"-7KH:$*]?@,&\AP+ZRJ`Q4H^9MO*.[WH:'`:)]<V1[%:&M?=D4 +M"@O,IE"X8II/8<&2R;8V"\DJS+2OIWBY_\N^GKQRGV%?3Z[<QZS8JGT]V7*? +<:5]/KMSGV==K7-9]/:E_;(QM?@!J8S.+#`X````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhdf.gz.uu new file mode 100644 index 0000000..f298a70 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-ebr.vhdf.gz +M'XL("/#%'50``VEM9RTQ>#$M-#`Y-BUE8G(N=FAD9BYO=70`K96Q;H,P$(;W +M/,5%W3)$MK$/LD9-YTI5VS5`(,J0=NG0@8>OC3'Q82"D,A@P.M_'?[ZS8<P> +M`/H:;=.&9CLXFM5FU=)X\3"PKD>!%E=J+SU`MUQU'=T8]W"<@>#3^M8^[A0[ +MW/HQH%*0YP'PW>D3QDL*8/G(?=K0[+?T[/5)`U0I2`4*(1-+`_X\?(RE0_)8 +M\V=QXAZN%\R7X!+CY8WT*V/:T-S*Q#X=3LZITPA6/12LBEQ[,AOX^7D&IE=) +M"2SK;(("^_S"3=\NE"%(N#/Z(`PW-[B4CN<>3MP)%RBNF,WMO+IUJ*Z,G`PU +M7!D+5ZZ!T)5K<2+N1B#:G457H!X5WJ<-S>N6GA8H.V"T&<3N5X0)8`U8`2K3 +M3R7@#M+,!PI:24WY_565/Y=?/\,&Q_L_1]B,OTC,:L$41&X^@B?3]_0]'<Z; +MR_7L<&ZK<A^6:"9=:8@,PD4:[LO^[;E%'F_JDG"2T)^]0@*3P#D)O%-WI.6, +I[3[O@JUJ*%0KTS7R0@RC6Y7!*3;P^F]N+0XCEXJNO=4?V8%!.+\(```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-ebr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-ebr.vmdk.gz.uu new file mode 100644 index 0000000..4db541f --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-ebr.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-ebr.vmdk.gz +M'XL("/#%'50``VEM9RTQ>#$M-#`Y-BUE8G(N=FUD:RYO=70`K5Q=C]S&$7SW +MKZ"EER`/"]:27)(/`A+G'"`(`AB68[^&G]$AMB2<#D$,[(\/AYR:*]YJ-+2O +M3SR1+7;W3O=PZT[5A<WS[2O+RCXKRZP<L^J2Y<B6?]J.+"^>C.4X-[QQ_?O= +M/WX\\>L/I]/UJRT97)2$(-=T8NQ>YWIZ]L5TYR]%[6XLQSF9KG!1_4V@3W>. +MW(BF*Y>;Y\^%<'7=>GMT%Y(N"XFR7;KJ,S5%B_W2ZO[XE6^>6U_AUK!L[Z7- +MZB*[]-[,+M5J%UE]7N_E6;TXS4O"U]G=_:?_9'?3I^'A_N/C![^^L]O;Q;F\ +M./_+X#(LA=47=^%NN'2M2W&9LF+,"KC;V?7AK_<_3Z?_3@^?[C^\?P.6>W9[ +M6Q99V;KE./_\Z=@9[D7R[`+W&MGU+W^[>^.?W/STL7M@.A>U+&1Y[:4.S7NY +M9.[[]EA7-[U_=!EG_Q56Y_;6-Z=:7[MT%U69U6VV+J=RN<_+[=&7O/9N>)BZ +MQ^F'7S].;U[]\N%]Z)W;6]>R=DW4K(TJLJIPJ7QIKGV5R^@>FW77LNO/]X_O +M[H>W2YF?IE>GUQG375SOE@UL_+JVJI>02W1GEV5?O_W?XU)O-OJ=O6>Z=1%K +M$<MK5^>LJEVN90/7K3AG1>FNEG]:%KQ44L(Y9=</[T_?_[2\Q5VSWG[WY^^9 +MKEFB%L]E@4O(4M"NIFJKOWK^6&;7M]]FKUR1/[R;UB>0Z=KM;>:<MWW`:I[= +MA>_:EMZ!6.ENK#N;W76/7?9-]VDZO;Z[^R;L;.>*+==C6=KDLERVU.[Y7MNY +M-&[;Z6VCUZT8Q_[4C=W'Q^G!;6_8BMZU:/25NFTMG[9Q_SKUNE.S>V*RZYOL +MU?VX[*E+^^_IPR],-VR/\;(.]TBT:V#A+I:G9TT_^5?8GABW32[=]/CPZVGX +M]>?[]^/R1LO>,-VX]6Y9SK:;3YNY;."RPL\N<.G=JW57P_*8;G*K&V\6N.ZG +M;V185'C9[/K+NKQW4S<N2UMR,]WL5G?^_#I\IYZ]U)(]NSYU;<W[R:<K<@\! +MA8>R78O"<K87%`"=AL</#]O"7@D>%\]_EKT4C\N;'ZGU[TRXI;->WR5_]O.L +MT+A2C&J7T/T4RY?O/RW?WSVM[^+6=Q'/6J,:,=I=NG\M*3[>EGMQ[\)./'N- +M&L08CW3OXJ!M$L_Y>??XJP;D.IZ.OPO0L]"H4HQJER[6N\KWCIZU1C5BM+MT +ML=Y=?._HV6O4(,9XJ-C:]XZ>LT:Y$W^50G[@U[)+XWM'ST*C2C&J7;I8[UK? +M.WK6&M6(T>[2Q7K7^=[1L]>H08SQ4+&][QT]9XUR)P($Y#J>;O"]HV>A4:48 +MU2Y=K'>C[QT]:XUJQ&AWZ6*]FWSOZ-EKU"#&>*C8V?>.GK-&N5,IO2M3Z>K< +M]XZ>A4:58E2[=)'>U<0[>M8:U8C1[M)%>E<3[^C9:]0@QGBH6.(=/6>-<J=* +M>E<ETQ'OZ%EH5"E&M4L7ZQWQCIZU1C5BM+MTL=X1[^C9:]0@QGBH6.(=/6>- +M<J>+].Z23$>\HV>A4:48U2Y=K'?$.WK6&M6(T>[2Q7I'O*-GKU&#&..A8HEW +M])PURIWX2Q#D.IZ.>$?/0J-*,:I=NECOB'?TK#6J$:/=I8OUCGA'SUZC!C'& +M0\42[^@Y:Y0[D9"!7$?3-;GO'3T+C2K%J';I(KUKB'?TK#6J$:/=I8OTKB'> +MT;/7J$&,\5"QQ#MZSAKE3JWTKDVF(][1L]"H4HQJER[6.^(=/6N-:L1H=^EB +MO2/>T;/7J$&,\5"QQ#MZSAKE3OS_$^0ZGHYX1\]"HTHQJEVZ6.^(=_2L-:H1 +MH]VEB_6.>$?/7J,&,<9#Q1+OZ#EKE#N1?X1<Q],1[^A9:%0I1K5+%^L=\8Z> +MM48U8K2[=+'>$>_HV6O4(,9XJ%CB'3UGC7*G07HWI-*UN>\=/0N-*L6H=NDB +MO6N)=_2L-:H1H]VEB_2N)=[1L]>H08SQ4+'$.WK.&N5.H_1N3*8CWM&ST*A2 +MC&J7+M8[XAT]:XUJQ&AWZ6*](][1L]>H08SQ4+'$.WK.&N5.D_1N2J8CWM&S +MT*A2C&J7+M8[XAT]:XUJQ&AWZ6*](][1L]>H08SQ4+'$.WK.&N5.L_1N3J8C +MWM&ST*A2C&J7+M8[XAT]:XUJQ&AWZ6*](][1L]>H08SQ4+'$.WK.&I7+]`QR +M'4W7Y5OO@F>A4:48U2Y=I'>=Q[O@66M4(T:[2Q?I7>?Q+GCV&C6(,1XJUN-= +M\)PURK5,^#LD*:W.XQV$OX/R=Q#^#DG^KO-X!^'OH/P=A+]#DK_K/-Y!^#LH +M?P?A[PX4Z_$.PM]!^3L(?X<DI=5YO(/P=U#^#L+?(<G?=1[O(/P=E+^#\'=( +M\G>=QSL(?P?E[R#\W8%B/=Y!^#LH?P?A[Y"DM#J/=Q#^#LK?0?@[)/F[SN,= +MA+^#\G<0_@Y)_J[S>`?A[Z#\'82_.U"LQSL(?P?E[R#\'9*45I_[W@E_!^7O +M(/P=DOQ=3[P3_@[*WT'X.R3YNYYX)_P=E+^#\'<'BB7>"7\'Y>\@_!V2E%9/ +MO!/^#LK?0?@[)/F[GG@G_!V4OX/P=TCR=SWQ3O@[*'\'X>\.%$N\$_X.RM]! +M^#LD*:V>>"?\'92_@_!W2/)W/?%.^#LH?P?A[Y#D[WKBG?!W4/X.PM\=*)9X +M)_P=E+^#\'=(4EH]\4[X.RA_!^'OD.3O>N*=\'=0_@["WR')W_7$.^'OH/P= +MA+\[4"SQ3O@[*'\'X>^0I+2&W/=.^#LH?P?A[Y#D[P;BG?!W4/X.PM\AR=\- +MQ#OA[Z#\'82_.U`L\4[X.RA_!^'OD*2T!N*=\'=0_@["WR')WPW$.^'OH/P= +MA+]#DK\;B'?"WT'Y.PA_=Z!8XIWP=U#^#L+?(4EI#<0[X>^@_!V$OT.2OQN( +M=\+?0?D["'^')'\W$.^$OX/R=Q#^[D"QQ#OA[Z#\'82_0Y+2&HAWPM]!^3L( +M?X<D?S<0[X2_@_)W$/X.2?YN(-X)?P?E[R#\W8%BB7?"WT'Y.PA_AR2E->:^ +M=\+?0?D["'^')'\W$N^$OX/R=Q#^#DG^;B3>"7\'Y>\@_-V!8HEWPM]!^3L( +M?X<DI342[X2_@_)W$/X.2?YN)-X)?P?E[R#\'9+\W4B\$_X.RM]!^+L#Q1+O +MA+^#\G<0_@Y)2FLDW@E_!^7O(/P=DOS=2+P3_@[*WT'X.R3YNY%X)_P=E+^# +M\'<'BB7>"7\'Y>\@_!V2E-9(O!/^#LK?0?@[)/F[D7@G_!V4OX/P=TCR=R/Q +M3O@[*'\'X>\.%$N\$_X.RM\%,1WD6M)EV[=/-^5;[X)GH5%Y_OECZ=V2(L]N +M5C<9ZP.QZ@/#3&&KZO<EW-)9KR_,MZ5_3W&_5;^(,-_F\2+](L)\F\>+](L( +M\VT>+](O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$ +MOX@PWS;1+R+,MTWTBPCS;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M$_TBPGS; +M1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$OX@PWS;1+R+,MTWTBPCS;1/](L)\ +MVT2_B##?-M$O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2^"\VT;_2(XW[;1+X+S +M;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O](CC?MM$O@O-M +M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT; +M_2(XW[;1+X+S;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O] +M(CC?MM$O@O-M&_TB.-^VT2^"\VT;_2(XW[;1+R+,M^GY(OTBPGR;GB_2+R+, +MM^GY(OTBPGR;GB_2+R+,MTWTBPCS;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M +M$_TBPGS;1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$OX@PWS;1+R+,MTWTBPCS +M;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2\BS+=-](L( +M\VT3_2+"?-M$OX@PWS;1+R+,MTWTBPCS;1/](L)\VT2_B##?-M$O@O-M&_TB +M)E/](B93_2(F4_TB)E/](B93_2(F4_TB)E/](B93_2(F4_TB)E/](B93_2(F +M4_TB)E/](B93_2(F4_TBYCPWU"]B-M4O8C;5+V(VU2]B-M4O8C;5+V(VU2]B +M-M4O8C;5+V(VU2]B-M4O8C;5+V(VU2]B-M4O8C;5+V(VU2^>\SPWU"^>;SY+ +M>!<53W=;[*8/+-'_YH3S'.U>"?>H+`[+T57^8CDV(9GT#?'U?:WI1NMRY]^6 +ML*JRKKM)^$^N;_TTX>VS56__CM^X?G/:_PGK6S\.LZK=Q\16EZPY'RWXIV]_ +M?%;PEL[L<=G2W7ST]/-T8<$'/LFZ+->/GA9/?3+B-ZY/C\EV9KKR2ZO3*<^Q +M8HT_>KHLFV=QNL_KC&!X4C,\0Y:PO]G3^MK;99QWY7YA?3?(4I;N1Y!^^*KN +MX@[K(N5F^W3]%_?VRZO[^G9U@_%F5,_?&0??N2[)_IV[I3O;`L%E199-.G'[ +>=_S&];O3_L^6L/0)S3I8N@].R[_Z/_V4$^TO7P`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu new file mode 100644 index 0000000..a67e3eb --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu @@ -0,0 +1,132 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-gpt.qcow.gz +M'XL("*XS(E0``VEM9RTQ>#$M-#`Y-BUG<'0N<6-O=RYO=70`K9W;;AS7M47? +M_16ENT1)5*^UJJJK=$^`!,B;$YSS=@Z0NCX&G7=]?-CDOI"KY]2*(=J$(4.H +MB>ZMP4'9'MX\'.[^:)I.FK9OVK'9Y^;F[].'-/?^YN%'\^/O?_W;]?T_?OQV +M-R:'GSSE_K[51M/<@ZT_-V5.ST\MS6'\+^9N/@3-W7MU]@=>W;TW>SEW]=O= +MF\7/*1NT!X--FCNDUR?D]-K_[O5]=V]7[D[O\=ZNDK?;L<'^P>#O:>Z?Z?4I +M>;M'-C<\F#NYMZOD[8YL;OHI+$I@F=G<$LRU\*F5S6W!7`>?VO&<_.37]FZN +MAT\)FX.?M]=-F3O"IXS-M0_F#M<9Z#PWP*<(=Q)R-\*G"'<2<C?!IPAW$G(W +MPZ<(=Q)RM\"G"'<2<K?"IPAW&G*WP:<(=^3KQ3WN=O@4X4XC[@0_1;C3B#M! +MOE/&G4;<"?*=,NXTXDZ0[Y1QIQ%W@GRGC#N-N!/D.V7<6<2=(-\9X\XB[@3Y +MSAAW%G*'?&>,.PNY0[XSQIV%W"'?&>/.0NZ0[XQQ9R%WR'?&N+.0.^0[8]RU +M(7?(=RWCK@VY0[YK&7=MQ)WBIPAW;<2=(M^UC+LVXDZ1[UK&71MQI\AW+>.N +MC;A3Y+N6<==&W"GR7<NXZR+N%/FN8]QU$7>*?-<Q[KJ0.^2[CG'7A=PAWW6, +MNR[D#OFN8]QU(7?(=QWCK@NY0[[K&'==R!WR7<>XZT/ND.]ZQET?<H=\US/N +M^H@[PT\1[OJ(.T.^ZQEW?<2=(=_UC+L^XLZ0[WK&71]Q9\AW/>.NC[@SY+N> +M<7>,N#/DNR/C[AAQ9\AW1\;=,>0.^>[(N#N&W"'?'1EWQY`[Y+LCX^X8<H=\ +M=V3<'4/ND.^.C+MCR!WRW9%Q-X3<(=\-C+LAY`[Y;F#<#1%W+7Z*<#=$W+7( +M=P/C;HBX:Y'O!L;=$''7(M\-C+LAXJY%OAL8=T/$78M\-S#N\K_^YG/(=R/C +M;HRX:Y'O1L;=&'*'?#<R[L:0.^2[D7$WAMPAWXV,NS'D#OEN9-R-(7?(=R/C +M;@RY0[X;&7=3R!WRW<2XFT+ND.\FQMT4<=?AIPAW4\1=AWPW,>ZFB+L.^6YB +MW$T1=QWRW<2XFR+N.N2[B7$W1=QUR'<3XR[_9T@^AWPW,^[FB+L.^6YFW,TA +M=\AW,^-N#KE#OIL9=W/('?+=S+B;0^Z0[V;&W1QRAWPW,^[FD#ODNYEQMX3< +M(=\MC+LEY`[Y;F'<+1%W/7Z*<+=$W/7(=POC;HFXZY'O%L;=$G'7(]\MC+LE +MXJY'OEL8=TO$78]\MS#NUHB['OEN9=RM$7<]\MW*N%M#[I#O5L;=&G*'?+<R +M[M:0.^2[E7&WAMPAWZV,NS7D#OEN9=RM(7?(=ROC;@NY0[[;&'=;R!WRW<:X +MVR+NCO@IPMT6<7=$OML8=UO$W1'Y;F/<;1%W1^2[C7&W1=P=D>\VQMT6<7=$ +MOML8=WO$W1'Y;F?<[1%W1^2[G7&WA]PAW^V,NSWD#OEN9]SM(7?(=SOC;@^Y +M0[[;&7=[R!WRW<ZXVT/ND.]VPIWD'_`YX#LY$.[D$'('?"<'PIT<(NX&_!3F +M3L+^;@"^$];?2=C?#<!WPOH["?N[`?A.6'\G87\W`-\)Z^\D[.\&X#MA_9V$ +M_=T`?">LOY.POQN`[X3U=Q+V=P/PG;#^3L+^;@"^$];?2=C?#<!WPOH["?N[ +M`?A.6'\G87\W`-\)Z^\D[.\&X#MA_9V$_=V`?,?Z.PG[NP'YCO5W$O9W(WZ* +M<!?V=R/R'>OO).SO1N0[UM])V-^-R'>LOY.POQN1[UA_)V%_-R+?L?Y.POYN +M1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6WTG8WXW(=ZR_ +MD["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N["3]%N`O[NPGY +MCO5W$O9W$_(=Z^\D[.\FY#O6WTG8WTW(=ZR_D["_FY#O6'\G87\W(=^Q_D[" +M_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK[R3L[R;D.];?2=C?3<AW +MK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=C)\BW(7]W8Q\Q_H["?N[ +M&?F.]7<2]G<S\AWK[R3L[V;D.];?2=C?S<AWK+^3L+^;D>]8?R=A?S<CW['^ +M3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R'>OO).SO9N0[UM])V-_- +MR'>LOY.POYN1[UA_)V%_-R/?L?Y.POYNP4\1[L+^;D&^8_V=A/W=@GS'^CL) +M^[L%^8[U=Q+V=POR'>OO).SO%N0[UM])V-\MR'>LOY.POUN0[UA_)V%_MR#? +ML?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D[.\6Y#O6WTG8 +MWRW(=ZR_D["_6Y#O6'\G87^WXJ<(=V%_MR+?L?Y.POYN1;YC_9V$_=V*?,?Z +M.PG[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O6'\G87^W +M(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2]G<K\AWK[R3L[U;D.];? +M2=C?K<AWK+^3L+_;\%.$N["_VY#O6'\G87^W(=^Q_D["_FY#OF/]G83]W89\ +MQ_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C?;<AWK+^3L+_;D.]8?R=A +M?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR'>OO).SO-N0[ +MUM])V-_M^"G"7=C?[<AWK+^3L+_;D>]8?R=A?[<CW['^3L+^;D>^8_V=A/W= +MCGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM])V-_MR'>LOY.PO]N1[UA_ +M)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.\T_<'--G0.^NWD*<Z>NO\OWZ365 +M.^`[9?V=NOZN2=PUF3L[X*<P=^KZNR9QU_RSS`'?*>OOU/5WS<F=G:'[[Y3U +M=^KZNW)V=0[X3EE_IZZ_`W/`=\KZ.W7]'9@#OE/6WZGK[_+<DSH'?*>LOU/7 +MWSW)<TV9`[Y3UM^IZ^^>).Z>5.Z`[Y3U=^KZNR>)NR>5.^`[9?V=NO[NR>GB +M[(#OE/5WZOJ[<G9U#OA.67^GKK\#<\!WROH[=?T=F`.^4];?J>OO\MS3.H=\ +MQ_H[=?W=TSQ7N4.^8_V=NO[N:>+N:>$.W7^GK+]3U]\]3=P]+=RA^^^4]7?J +M^KNG)W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8?Z>NO\MS +MS^H<\AWK[]3U=\_R7.$.W7^GK+]3U]\]2]P]J]PAW['^3EU_]RQQ]ZQRAWS' +M^CMU_=VST\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_4]?? +MY;GG=0[YCO5WZOJ[YWFN<H=\Q_H[=?W=\\3=\\(=NO].67^GKK][GKA[7KA# +M]]\IZ^_4]7?/3_[LT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC_9VZ_@[,(=^Q +M_DY=?Y?G7M0YY#O6WZGK[U[DN<(=NO].67^GKK][D;A[4;E#OF/]G;K^[D7B +M[D7E#OF.]7?J^KL7IXNS0[YC_9VZ_JZ<79U#OF/]G;K^#LPAW['^3EU_!^:0 +M[UA_IZZ_RW,OZQSR'>OOU/5W+_-<Y0[YCO5WZOJ[EXF[EX4[=/^=LOY.77_W +M,G'WLG"'[K]3UM^IZ^]>GOS9H?OOE/5WZOJ[<G9U#OF.]7?J^CLPAWS'^CMU +M_1V80[YC_9VZ_B[/O:ISR'>LOU/7W[W*<X4[=/^=LOY.77_W*G'WJG*'?,?Z +M.W7]W:O$W:O*'?(=Z^_4]7>O3A=GAWS'^CMU_5TYNSJ'?,?Z.W7]'9A#OF/] +MG;K^#LPAW['^3EU_E^=>USGD.];?J>OO7N>YRAWR'>OOU/5WKQ-WKPMWZ/X[ +M9?V=NO[N=>+N=>$.W7^GK+]3U]^]/OFS0_??*>OOU/5WY>SJ'/(=Z^_4]7=@ +M#OF.]7?J^CLPAWS'^CMU_5V>>U/GD.]8?Z>NOWN3YPIWZ/X[9?V=NO[N3>+N +M3>4.^8[U=^KZNS>)NS>5.^0[UM^IZ^_>G"[.#OF.]7?J^KMR=G4.^8[U=^KZ +M.S"'?,?Z.W7]'9A#OF/]G;K^+L]=U3GD.];?J>OOKO)<Y0[YCO5WZOJ[J\3= +M5>$.W7^GK+]3U]]=)>ZN"G?H_CME_9VZ_N[JY,\.W7^GK+]3U]^5LZMSR'>L +MOU/7WX$YY#O6WZGK[\`<\AWK[]3U=WGN;9U#OF/]G;K^[FV>*]RA^^^4]7?J +M^KNWB;NWE3OD.];?J>OOWB;NWE;ND.]8?Z>NOWM[NC@[Y#O6WZGK[\K9U3GD +M.];?J>OOP!SR'>OOU/5W8`[YCO5WZOJ[//>NSB'?L?Y.77_W+L]5[I#O6'^G +MKK][E[A[5[A#]]\IZ^_4]7?O$G?O"G?H_CME_9VZ_N[=R9\=NO].67^GKK\K +M9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+<^SJ'?,?Z.W7]W?L\5[A# +M]]\IZ^_4]7?O$W?O*W?(=ZR_4]??O4_<O:_<(=^Q_DY=?_?^='%VR'>LOU/7 +MWY6SJW/(=ZR_4]??@3GD.];?J>OOP!SR'>OOU/5W>>ZZSB'?L?Y.H_[.T/UW +MROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.XWZ.T/W +MWRGK[S3J[PS=?Z>LOU/2WWVH<\AWK+]3U]]]R'.%.W3_G;+^3EU_]R%Q]Z%R +MAWS'^CMU_=V'Q-V'RAWR'>OOU/5W'TX79X=\Q_H[=?U=.;LZAWS'^CMU_1V8 +M0[YC_9VZ_@[,(=^Q_L[R#]S<H<X!WQGK[VY^X@%WV4^'RAWPG;'^SEQ_=TA[ +MA\(=NO_.6']GKK\[).X.A3MT_YVQ_LY<?W<X^;-#]]\9Z^_,]7?E[.H<\)VQ +M_LY<?P?F@.^,]7?F^CLP!WQGK+\SU]_E.:ESP'?&^CMS_9WDN<(=NO_.6']G +MKK^3]/*D<@=\9ZR_,]??2>).*G?`=\;Z.W/]G9PNS@[XSEA_9ZZ_*V=7YX#O +MC/5WYOH[,`=\9ZR_,]??@3G@.V/]G;G^+L]IG4.^8_V=N?Y.\USE#OF.]7?F +M^CM-W&GA#MU_9ZR_,]??:>)."W?H_CMC_9VY_DY/_NS0_7?&^CMS_5TYNSJ' +M?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>LSB'?L?[.7']G>:YPA^Z_,];? +MF>OO+'%GE3OD.];?F>OO+'%GE3OD.];?F>OO['1Q=LAWK+\SU]^5LZMSR'>L +MOS/7WX$YY#O6WYGK[\`<\AWK[\SU=WFNK7/(=ZR_,]??M7FN<H=\Q_H[<_U= +MF[AK"W?H_CMC_9VY_JY-W+6%.W3_G;'^SEQ_UY[\V:'[[XSU=^;ZNW)V=0[Y +MCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSW5U#OF.]7?F^KLNSQ7NT/UWQOH[ +M<_U=E[CK*G?(=ZR_,]??=8F[KG*'?,?Z.W/]77>Z.#OD.];?F>OORMG5.>0[ +MUM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\U]<YY#O6WYGK[_H\5[E#OF/]G;G^ +MKD_<]84[=/^=L?[.7'_7)^[ZPAVZ_\Y8?V>NO^M/_NS0_7?&^CMS_5TYNSJ' +M?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>.=0[YCO5WYOJ[8YXKW*'[[XSU +M=^;ZNV/B[EBY0[YC_9VY_NZ8N#M6[I#O6']GKK\[GB[.#OF.]7?F^KMR=G4. +M^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L\-=0[YCO5WYOJ[(<]5[I#O6']G +MKK\;$G=#X0[=?V>LOS/7WPV)NZ%PA^Z_,];?F>OOAI,_.W3_G;'^SEQ_5\ZN +MSB'?L?[.7'\'YI#O6']GKK\#<\AWK+\SU]_EN;'.(=^Q_LY<?S?FN<(=NO_. +M6']GKK\;$W=CY0[YCO5WYOJ[,7$W5NZ0[UA_9ZZ_&T\79X=\Q_H[<_U=.;LZ +MAWS'^CMS_1V80[YC_9VY_@[,(=^Q_LY<?Y?G/M8YY#O6WYGK[S[FN<H=\AWK +M[\SU=Q\3=Q\+=^C^.V/]G;G^[F/B[F/A#MU_9ZR_,]???3SYLT/WWQGK[\SU +M=^7LZASR'>OOS/5W8`[YCO5WYOH[,(=\Q_H[<_U=GOM4YY#O6']GKK_[E.<* +M=^C^.V/]G;G^[E/B[E/E#OF.]7?F^KM/B;M/E3OD.];?F>OO/ITNS@[YCO5W +MYOJ[<G9U#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:YSR'>LOS/7WWW. +M<Y4[Y#O6WYGK[SXG[CX7[M#]=\;Z.W/]W>?$W>?"';K_SEA_9ZZ_^WSR9X?N +MOS/6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[//>ESB'?L?[. +M7'_W)<\5[M#]=\;Z.W/]W9?$W9?*'?(=Z^_,]7=?$G=?*G?(=ZR_,]???3E= +MG!WR'>OOS/5WY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^UKGD.]8 +M?V>NO_N:YRIWR'>LOS/7WWU-W'TMW*'[[XSU=^;ZNZ^)NZ^%.W3_G;'^SEQ_ +M]_7DSP[=?V>LOS/7WY6SJW/(=ZR_,]??@3GD.];?F>OOP!SR'>OOS/5W>>Y; +MG4.^8_V=N?[N6YXKW*'[[XSU=^;ZNV^)NV^5.^0[UM^9Z^^^)>Z^5>Z0[UA_ +M9ZZ_^W:Z.#OD.];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7=M_H&; +M^U[G@.]:UM^UKK_[GN<J=\!W-T]A[EK7WWU/W'W/W+4'_!3YOL?NS7[/O?%U +MF4/?;[L\%<S=^^/';U=W@^B^*CK8^N^/FT\O?UZTZ+ZJ7WE]W>WYM=H<)O!7 +M_A,__GS]\,\R>'MWT!\8S*_PX5S^!>GN[@ZZC::V&W?NZ>,@]][P^9L>"W_# +M3Z[OS:'OS?PKYX>N^_G98-<UTW0Q^+_Y]=U>]]-V3=LW[9@N<FREZ;3IVC)W +M^UZ[Y?[K^\M?_];\_J=__,]Y[/_JV[V][F>^>?[FMW#6;.Z0#D+?[O_[MWLW +M=_OE>_>GG>>,SCW!<[=?OM>?S*$//M?^[*F#TE=W\6M[-]<='CXUW'_J_-L, +M:_:IF58R]]7-H6\?_RODW=X<,/?-\>8?6F]^@R?-LI]_L/;G;[[;##>?)G?_ +M:49O_U^FL3G*^?^RNQG\\:^_7__K;NS]];_?IM=W=W.`X`_^$^ST[FX.&-C; +MS?]YD;_=YN$<^)W>KYW>^?<K<_=HIS<F6-`'_PEZ>M/=Z>%#.I\>_)3Y<?\: +MT?MSX/<KOW)Z_>U7C?/7V`G\E?_$C]^O'_YY-]BFP4=[A3>#RR-^=ISG'O&S +MXSSWB)\=Y[E'_>PX#S[B9\=Y[A$_.\YSC_C9<9Y[U,^.F\';?^?X2%_$SW-R +M]V5R7YM!F\W<ZV-?CNOK>_AV[_Z=(_O2_Y,OXO@78WO$+^+GN9]_$=_^Z)M] +8Q"_BY[E'_2+>'HXWWOOM/_VP*B?UK``` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu new file mode 100644 index 0000000..c9d99d1 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu @@ -0,0 +1,26 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-gpt.qcow2.gz +M'XL("*([(U0``VEM9RTQ>#$M-#`Y-BUG<'0N<6-O=S(N;W5T`*V92V_4,!"` +M[_T5+F]:6.)7DN51:$LK]=8BN'')\UB)*PK\=N+8B9/)3-PNWK6BKJSY9#O? +MC)TT2>R',<V92IG:L[9D_6_7!)O]6#;6W5W?[.:?[LC">$)$(1U*3K@%Z]+C +M!(5+^+J#X[C9Z"2"$V/4&A3"*7)T6QT([N1H6+KA9N0@0AX"M#CR9APT/F'' +M!R/4@>,3L<<G\?738QSL2+?')^WX8%1&X?(@3B!1>PI7!'$2B2HI7!7$*22J +MIG!-$*>1J);`\8`J/2Y%HCB%$T%<AD1)"J>"N!R)HKSC8>_V2!3E'0][5R!1 +ME'<\[%V)1%'>\;!W%1)%><?#WM5(%.6=(+QC'M<@491W`GAW['!//*Y%HBCO +M!/#NJ<,]FW`<BZ*\$\"[YP[WPN.0>B<H[P3P[J7#O?(XI-X)RCL!O'OM<"<> +MA]0[07DG@'>G#O?&XY!Z)RCO!/#N[<H[CM0[07DG@7?O'"OQ.*3>2<H[";SC +M#B<\#JEWDO).`N^DPRF/0^J=I+R3P#OM<*G'(?5.4MY)X%WF<+G'(?5.4MY) +MX-W>X=Y['%+O).6=!-Y]<+B/'H?4.TEY)X%WGQSNS..0>B<I[Q3P[K/#??$X +MI-XIRCL%O#MWN`N/0^J=HKQ3P+M+A_LZX006-7F7)'ASN*M5S@JDWJGT@;CK +M-8Y^6#GD.*O\<9LC5[IC`Y@_'DCNM<J>4^)-6-L)&ZL*Y$IW=!>[Y7<"#KG[ +M".`XPB7.35C;W+4/C$W#VM8UNU(N.)\=$)`)'^]FN#KR^@WI]@B@UJPH5L`? +MX_B&=.OSR[X;Z.W60S'0@FDUX8:YZFH^OJOK&W9[_NV[@?WTTQW2+2M8Q5F1 +MLP*.CE/3_8W9IVVZ92U<[1$G*=QT+`,X<[S(Z@T<UECWA\"IK:CII<,#[JW% +MZ609-2];9ILH)6L+5M0$[@S@TLCF*=-=IBRK6-J8]TE5:_ZH4_.4QO(^3>RV +M+88SUIYEW)S=>F!W?[>[M["WNU^G;GR*.R.P1G=0JZ>&RIQ3T\W\@P`Q7;;$ +M8:^1_FOU3%TN=;35VSM9L$9WD*M7V-7#%\FL'IHRW;AJ8\*-N#+NZG'["C,Q +M]7M]I3NZV]WR:X'*`:.-4*5M%3$[#"YB=AA<Q.PPN*C988`1L\/@(F:'P47, +M#H.+FAT]L$GB;>(&9]PK,E8+\YRX^'_!UG;<#8^/Z^DV8FOKW]C$\9O11-S$ +B#6YS$\\:>K+V\Q=,-N(F;G!1-W&5F>/WT3\!FKQU%1H````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu new file mode 100644 index 0000000..c8adeb3 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-gpt.raw.gz +M'XL("/#%'50``VEM9RTQ>#$M-#`Y-BUG<'0N<F%W+F]U=`"MEC]O@S`0Q?=\ +MBI>U52W;V`262JW42MW2JMW:@3]FC-2=#U\?A@2(C1KIP$)(Q_UR]_#C(F4X +M`*,AJ\@U'>B?Q?+L=W>[@:;JVX#^]ZF$%5!X8,`U/B@U/>,<NFY<4@U9(5E) +M:#7>3SAQ.?9BAFO/6=<K'9CC1,!-[7:W`:U%55T!OZ;Z]/`Z+$P.4T+[YR6, +M@M6PYHP;>K7-O+Z7US<<GSX^"?9]:5=[:5#[_!95!K<22:IDNS_K=@-.4U:W +M5GO"94G</H[+**O=P,56&F>VLL(>^M^[#3@KEUG%/"MSJ#-T%:HV@7M<X7+F +MG6<H7.<X-,@=K$+3T4V;0RF@\#8I!HB&]B66."CHFH#]Z5V<`NQ!_-Z/]1DU +M[HC82@=2ZIEAJQ2I=@^TMS?;Q1*7<:M7D'J63;URW"RQE0XDU:N">G&12+VH +M9?I)M<DA$Z[F54\-4\/[PW^_KZ_I0'\4RS,`S0ADJ]!H/S;XW$$X1G<0CM$= +MA&-U!P$9W4$X1G<0CM$=A&-UAP<ZR3?$":?"F.Q:%!HN6]67&L>7^I;M.KTU +F^C>&>/QE.,8A3KCM(>YN;99QB!..=8@;_W]*RMT?5F[7A(@+```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu new file mode 100644 index 0000000..6936b13 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-gpt.vhd.gz +M'XL("/'%'50``VEM9RTQ>#$M-#`Y-BUG<'0N=FAD+F]U=`"MF$MOVS`,Q^_Y +M%!QVZS#7DB79N0Q8L1;8K7O==JCER$4/RQ[IH1C\X2?*\D.VY"$M$]5(H/#G +M/RF*8IWG_0M`%:!:4`:4Q,^E`+6'L@*PDWYP=V7^*W3-SZ-I'A^>,O_J=CV, +MY7.KT!SM>0'"WJ0$7N--U`$_0S=@LM?7]Q<//^X''/>XX<9"@>`@+42L[J/R +M41V2;JZ^?'#(NTE=L58W6=D_+2`7P-CL%\6@[F[4..*$M6I;-THH:[0=1_`E +MF$#<WRQ;XV2^L)K)C`5UYFP,I[:LSL%=[/Q:]*EB$Z.T5QLZ!B7'SS9MACBL +MADV5I].O^L_)+/3Q1*JH41];S15I=[E/%3[\V"L0F,Y;[H*C/"YQD51Y4?14 +M:#>LK@U"+H<)[MP/HS>A8*Y/L7PCYNG%2.JK49_=6WD=N:8GNJLL?(]`K<\# +M#A$,<:/#NL'XN3IBS.11GR138(N-!<EG\=,'XO75[7E`*:&N5\!O@[[&+8=T +M!6^/B6&+@V`@;?&;TMGY+INYONN;CW#[_O-7A'V?W&TP70X<J@::/;1ZH6Z] +MT[9K2\/[[.-MU-DBB;N,XW"SM8<-7&RD<6++RA]E9S@K\]"JFEL5!G0!;0WU +M(8%[M\!1UV6#TUI!V>`1+ADT[BP_*#S(H++;I'(0#MQ*M`>[/84U`KOCI^S8 +MP]YFO]]X?8;YC(B-]$0J>L;5Y2KE;CD5[(2[$.*HZ[*I,'J2+'I[GRRQD9Y( +M1J_NHQ</$D8OMG7'4RW+7H4X31L]YDX-NS]L_5Y?TQ/=;1:^>R#WQQ#9N<9] +M(253*#R03*'P^Y=0(3.;BWGN*BN_*$05!G&$%09QA!4&<:05!H&$%09QA!4& +M<805!G&D%4;1-D+*-T)%!8;A/RXZS)IT2]-5V:D7=AFXZQJA9/NTT0C%%X.R +M$5+_:X1:DW)VY"R<)6R$%'4CI'PA)7J6H89&:*WA.<\RU-`(S6[\@F<9*MX( +>/?=9!N((GV4@CO!9!N*(4X79WF7W#]HOQ!D`$P`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu new file mode 100644 index 0000000..0c18ed8 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu @@ -0,0 +1,19 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-gpt.vhdf.gz +M'XL("/'%'50``VEM9RTQ>#$M-#`Y-BUG<'0N=FAD9BYO=70`K9<[;]PP#(#W +M^Q4LNJ6HH_?IE@`-F@#=TD>V#O%#"C+DBJ(=.OC'5Y3LL^23C%XAFS!TH/F9 +MI$G11T@X``0#TF:N9<5XVZ3GN+O:>1KM+@.ZYZ,+*V#C@`'7.R5A>(\Q8.TD +MA'JK8.R$DV7M<<URD";"#;'52LJ*&-<$W!RNO0PH);3M&?!Q]H_YUR%!*!`' +M8.Y^`H*"9"#%">=CEWWLW]W])WCX\.4;PKXOX3+JE`,#W4-_`-NMO*/_'F[` +M.8<P^\QF@^5%W'4>QQ$W;.!R4L:)+:M00Y<$*TEJI6,K;J#C8%MHAP+N9H53 +ME2M/H+I3L.]!&9`4>HN+00&E`-JUB?80!LRY>(`]!=8A<#Q^;HX!]K[Y^6[R +M3]"I(G)25I2R)[!4B"Z%N\?:W@P74AROG3V-V9/5LG>8BB4G944Q>VW(7CY) +MF+U<ZSK<E+7F38KKZF:/^JGA^L/MW^?7LF)\:-(S`,4$K.:AM+:OV!V(J]@= +MB*O8'8BKVAT(K-@=B*O8'8BKV!V(J]H=#FA(O2&..*P]KL%0V'/HTJHIC^-1 +M-[^"8]=)N(9MC?Z-(9Y_&:;B$$?<YA"WIA3LB;,*MN(01US5(:ZFSV_%0?G^ +M4A+7>P'*M92.@6RI&0_L?QQ-__OE3YP]Y7=F6#Z25X+VC&-A*M<B+3Y$#;B. +M_'M[]WSU\OH\X]@4U?Q@K&A7Q0XBSL)5:;CWMU\_>N33XEUFFU)Q]CH!1.`6 +M$P<^>?>4EHKR7T!SL,:"EFA[DN1'HL@6,N)\J<0W_^^[#;C:I>+^&NS^`N3M +&#A:S#0`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu new file mode 100644 index 0000000..782cb6c --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu @@ -0,0 +1,87 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-gpt.vmdk.gz +M'XL("/'%'50``VEM9RTQ>#$M-#`Y-BUG<'0N=FUD:RYO=70`K5Q=C]S&$7SW +MKYC(#S829,%:DLOE@X+8D1T800!%=I*7/(2?\2&VI)P.A@WLCP^'G)HKWNT< +M*5^?]K3;8G?M=,^RN:HN,,N6'^>*UA6%*WI7GEP&-_W3\G!9?F],C^.9!RY_ +M>?77?QSX\_GA</ED`8./DA!D"B?&ZGTNAP<_A#L^%;4Z,#V.FW"YCVH?!0:X +M8^)`$JZ8#AZOA7!US7RX]R\$SD4@MX(KK^243/:IU?WVDU`\O[[<KV':WE/M +MJMR=VF"Z4SG;N:N.\[',59/3.`%^ZE[=?/BO>S5\Z&YOWM^]"^L[^KV=G(N3 +M]S]U'F%*K#KY%_Z`AZL]Q&EP>>]R^,/N<OOUS0_#X:?A]L/-N[<OP72/?F^+ +MW!6U7X[WS^X?*\._2>9.\._A+G_ZYM7+\,G-#N^;6\+YJ&DATWM/>2CNZ>3\ +M[^/'O+KA[9U'',-/7)W?VU"<<G[OPK\H"U?5;EY.Z;&/T^$^I#S7KKL=FKOA +MNU_>#R]?_/CN;:R=WUM?LGH&.L^%REV9>ZB0FB]?Z1']QV;>-7?YX>;N^YON +MVRG-#\.+PZ>.<"=?NVD#SV%=2]93R"FYL].R+U_]?#?EZ_JPLS>$FQ<Q)S&] +M=WET9>6QI@V<M^+H\L*_FOYI6O"420'OY"[OWA[>_',ZQ7VQOGW]Q1O"G:>H +MR7-:X!0R);3*J5SR+Q]^+-WEVZ_<"Y_D=]\/\R>0</5RFGGG91\PFT?_(E1M +M@?=-K/`'YIUUKYJ[QGW9?!@.G[YZ]67<V<8G6\R/:6F#1SDMT/[S/9=S*MRR +MT\M&SUO1]^VAZ9OW=\.MW]ZX%:TO41\R]=M:W&_C^GVJ>:=&_XEQEY?NQ4T_ +M[:F'_<_P[D?"=<O'>%J'_TC4<V#N7TR?GAE^".^P?&+\-GFXX>[VET/WRP\W +M;_OI1',O"=<OM9N6L^SF_69.&SBM\.H"I]J]F'<U+H]P@U]=_VB!\WZ&0L9% +MQ;=UEQ_GY7T_-/VTM`F;<*-?W?'Z.D*E'KS5A.XN]U6;<3\$N#P++2`/K6Q5 +MHKB<Y0VE@0[=W;O;96$OI!_G#Z]ES^W'Q:-+:O4K`1<XZ_6=L@?7LUSC"C'* +M%:"_BF73[Q^GW]?WZSOY]9W$L]*HLQCU"N[?$\3[Q^F>_%G8B&>K49T8_9[J +MG7QK&\1S?%@]?M6`O$[#\;L`/7.-*L0H5W"IVI6A=O2L-.HL1KV"2]7N%&I' +MSU:C.C'Z7<E6H7;T'#7*/_&K%+(=7\M.YU`[>N8:58A1KN!2M:M#[>A9:=19 +MC'H%EZI=$VI'SU:C.C'Z7<FVH7;T'#7*/[%!0%ZGX;I0.WKF&E6(4:[@4K7K +M0^WH66G468QZ!9>JW1!J1\]6HSHQ^EW)CJ%V]!PURC\54KMB"Z[*0NWHF6M4 +M(4:Y@DO4KF*_HV>E46<QZA5<HG85^QT]6XWJQ.AW)<M^1\]1H_Q3*;4K-^'8 +M[^B9:U0A1KF"2]6._8Z>E4:=Q:A7<*G:L=_1L]6H3HQ^5[+L=_0<-<H_G:1V +MITTX]CMZYAI5B%&NX%*U8[^C9Z519S'J%5RJ=NQW]&PUJA.CWY4L^QT]1XWR +M3_P2!'F=AF._HV>N4848Y0HN53OV.WI6&G46HU[!I6K'?D?/5J,Z,?I=R;+? +MT7/4*/]$0@;R.@EWSD+MZ)EK5"%&N8)+U.[,?D?/2J/.8M0KN$3MSNQW]&PU +MJA.CWY4L^QT]1XWR3[74KMZ$8[^C9ZY1A1CE"BY5._8[>E8:=1:C7L&E:L=^ +M1\]6HSHQ^EW)LM_1<]0H_\3_/T%>I^'8[^B9:U0A1KF"2]6._8Z>E4:=Q:A7 +M<*G:L=_1L]6H3HQ^5[+L=_0<-<H_D7^$O$[#L=_1,]>H0HQR!9>J'?L=/2N- +M.HM1K^!2M6._HV>K49T8_:YDV>_H.6J4?^JD=MT67)V%VM$SUZA"C'(%EZA= +MS7Y'STJCSF+4*[A$[6KV.WJV&M6)T>]*EOV.GJ-&^:=>:M=OPK'?T3/7J$*, +M<@67JAW['3TKC3J+4:_@4K5COZ-GJU&=&/VN9-GOZ#EJE'\:I';#)AS['3US +MC2K$*%=PJ=JQW]&STJBS&/4*+E4[]CMZMAK5B='O2I;]CIZC1OFG46HW;L*Q +MW]$SUZA"C'(%EZH=^QT]*XTZBU&OX%*U8[^C9ZM1G1C]KF39[^@Y:E0FTS/( +MZR1<DRVUBYZY1A5BE"NX1.V:T.^B9Z519S'J%5RB=DWH=]&SU:A.C'Y7LJ'? +M1<]1HWS)A+_#)J75A'X'X>^@_!V$O\,F?]>$?@?A[Z#\'82_PR9_UX1^!^'O +MH/P=A+_;D6SH=Q#^#LK?0?@[;%):3>AW$/X.RM]!^#ML\G=-Z'<0_@[*WT'X +M.VSR=TWH=Q#^#LK?0?B['<F&?@?A[Z#\'82_PR:EU81^!^'OH/P=A+_#)G_7 +MA'X'X>^@_!V$O\,F?]>$?@?A[Z#\'82_VY%LZ'<0_@[*WT'X.VQ26FT6:B?\ +M'92_@_!WV.3O6O8[X>^@_!V$O\,F?]>RWPE_!^7O(/S=CF39[X2_@_)W$/X. +MFY16RWXG_!V4OX/P=]CD[UKV.^'OH/P=A+_#)G_7LM\)?P?E[R#\W8YDV>^$ +MOX/R=Q#^#IN45LM^)_P=E+^#\'?8Y.]:]COA[Z#\'82_PR9_U[+?"7\'Y>\@ +M_-V.9-GOA+^#\G<0_@Z;E%;+?B?\'92_@_!WV.3O6O8[X>^@_!V$O\,F?]>R +MWPE_!^7O(/S=CF39[X2_@_)W$/X.FY16EX7:"7\'Y>\@_!TV^;N._4[X.RA_ +M!^'OL,G?=>QWPM]!^3L(?[<C6?8[X>^@_!V$O\,FI=6QWPE_!^7O(/P=-OF[ +MCOU.^#LH?P?A[[#)WW7L=\+?0?D["'^W(UGV.^'OH/P=A+_#)J75L=\)?P?E +M[R#\'3;YNX[]3O@[*'\'X>^PR=]U['?"WT'Y.PA_MR-9]COA[Z#\'82_PR:E +MU;'?"7\'Y>\@_!TV^;N._4[X.RA_!^'OL,G?=>QWPM]!^3L(?[<C6?8[X>^@ +M_!V$O\,FI=5GH7;"WT'Y.PA_ATW^KF>_$_X.RM]!^#ML\G<]^YWP=U#^#L+? +M[4B6_4[X.RA_!^'OL$EI]>QWPM]!^3L(?X=-_JYGOQ/^#LK?0?@[;/)W/?N= +M\'=0_@["W^U(EOU.^#LH?P?A[[!):?7L=\+?0?D["'^'3?ZN9[\3_@[*WT'X +M.VSR=SW[G?!W4/X.PM_M2);]3O@[*'\'X>^P26GU['?"WT'Y.PA_ATW^KF>_ +M$_X.RM]!^#ML\G<]^YWP=U#^#L+?[4B6_4[X.RA_%\5TD-<"YY;?`#=D2^VN +M2LJO_%.LG;NZNL%:'SB.>P'SZ^GZ/8[I(GMR&1^_/LSZQ3CS6*K^ZP`7../Z +M(<[?I4SW<1^KKT2<O_/Q+'TEXOR=CV?I*Q'G[WP\2U^).'\WT5<BSM]-])6( +M\W<3?27B_-U$7XDX?S?15R+.WTWTE8CS=Q-])>+\W41?B3A_-]%7(L[?3?25 +MB/-W$WTEXOS=1%^).'\WT5<BSM]-])6(\W<3?27B_-U$7XDX?S?15R+.WTWT +ME8CS=Q-])>+\W41?B3A_-]%7(L[?3?25B/-W$WTEXOS=1%^).'\WT5<BSM]- +M])6(\W<3?27B_-U$7PG.WVWTE>#\W49?"<[?;?25X/S=1E\)SM]M])7@_-U& +M7PG.WVWTE>#\W49?"<[?;?25X/S=1E\)SM]M])7@_-U&7PG.WVWTE>#\W49? +M"<[?;?25X/S=1E\)SM]M])7@_-U&7PG.WVWTE>#\W49?"<[?;?25X/S=1E\) +MSM]M])7@_-U&7PG.WVWTE>#\W49?"<[?;?25X/S=1E\)SM]M])7@_-U&7PG. +MWVWTE>#\W49?B3A_I^>S])6(\W=Z/DM?B3A_I^>S])6(\W=Z/DM?B3A_-]%7 +M(L[?3?25B/-W$WTEXOS=1%^).'\WT5<BSM]-])6(\W<3?27B_-U$7XDX?S?1 +M5R+.WTWTE8CS=Q-])>+\W41?B3A_-]%7(L[?3?25B/-W$WTEXOS=1%^).'\W +MT5<BSM]-])6(\W<3?27B_-U$7XDX?S?15R+.WTWTE8CS=Q-])>+\W41?B3A_ +M-]%7(L[?3?25B/-W$WTEXOS=1%\)SM]M])483/65&$SUE1A,]9483/65&$SU +ME1A,]9483/65&$SUE1A,]9483/65&$SUE1A,]9483/65&$SUE1A,]948L\Q0 +M7XG15%^)T51?B=%47XG15%^)T51?B=%47XG15%^)T51?B=%47XG15%^)T51? +MB=%47XG15%^)T51?B=%47WG,LLQ07WE\=*_CG7"/DUWT@4>8ZBN/QR>7\?'K +M*^;Z+7=7??QW^L#ER\/Z3P1$^W&`7.$:C@D7\.?&HO4:!C>.X;$HY^XSC'>Q +MOI+PYP>!ZXWKMW]_ET=9NJ9Y!/AWKF_>WZ+T]V,NZOGFO+PS;UE$N#GWLM/U +M??7U-^[U%V^^\V#_ND]WOKUSEWNRK:@\RGIU2*?[YS>/SXYBOKWS5/UC=379 +M/`GWV;63K9AO[SSV3\!=>Z3ABJ>B/O9.X,5\>V>-4O6MRP?7YFYL7-,GX/[P +M`.YD_,F;[SS;GES5^?L'EW#=?+/G_N1I:7>>3I/EG#BZ8^^5"!7<T=^1^7!Y +M^[?#VP7L]X?__2ZL;[GS+*X_T@=2U2OFN[R?4^E6B8:];O,"EUM7SW]?:4NS +MZM7APW+MD3Z0K%ZS5"]Q59NJ=^W4G>!X5?O-&JZUK5XY7S46X<GCO],'+J\/ +MZS\+8!$`S598^%L*VIT='L[P[/!PAF>'AS,].SR@X=GAX0S/#@]G>'9X.-.S +MH_`WC+2[B'LX+-^8JY,;*_\%8K6,Y.7X<OAI^E[A?SY;I3MSCLE+_Q,7\>N; +G,1A>Q#W<DQ?Q<4@FRY\'R1I>Q#V<Z46\\'?OS#[Y/TT579ZT90`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-mbr.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-mbr.qcow.gz.uu new file mode 100644 index 0000000..40c4fb3 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-mbr.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-mbr.qcow.gz +M'XL("+`S(E0``VEM9RTQ>#$M-#`Y-BUM8G(N<6-O=RYO=70`K9W+CAM)DD7W +M]174^RW1S()DA-YH8`:87<]B9K;%YYH?H(\?E13AGFD\5U;=5:I$08(4%Z3G +MT1&ZZ\ASO?[Y;;7:V&K8KH9I=3FLOO]X_K#5G1_<_UA]^^___*^W=[]]^^WG +MF*U_\53Z\>"KF.?N;?UCW>;\CZ>.J_7T)^:^?QC-W7EU\2^\NCMO]G;NY6\_ +MWRP_YVKP_MM=S7/+VS5Q>L.?>WU?T]NUGZ?W][U=%V]WHP:W]P;_.<_]/K\^ +M%V]WI^;&>W/7]'9=O-U)S>U_"8L+6`YJ[EC,#?C42<V=B[D-/G7A.?O%Y_;G +MW!:?,C7G.+=J<SM\*M3<<&]N_78!>ID;\2G!G97<3?B4X,Y*[O;XE.#.2NX. +M^)3@SDKNCOB4X,Y*[D[XE.#.2^[.^)3@SDON+OB4X,XK[HR?$MQYQ9V1[UQQ +MYQ5W1KYSQ9U7W!GYSA5W7G%GY#M7W'G%G9'O7'$7%7=&O@O%753<&?DN%'=1 +M<D>^"\5=E-R1[T)Q%R5WY+M0W$7)'?DN%'=1<D>^"\5=E-R1[T)Q-Y3<D>\& +MQ=U0<D>^&Q1W0\6=\U."NZ'BSLEW@^)NJ+AS\MV@N!LJ[IQ\-RCNAHH[)]\- +MBKNAXL[)=X/B;E-QY^2[C>)N4W'GY+N-XFY3<D>^VRCN-B5WY+N-XFY3<D>^ +MVRCN-B5WY+N-XFY3<D>^VRCN-B5WY+N-XFY;<D>^VRKNMB5WY+NMXFY;<1?\ +ME.!N6W$7Y+NMXFY;<1?DNZWB;EMQ%^2[K>)N6W$7Y+NMXFY;<1?DNZWB;E=Q +M%^2[G>)N5W$7Y+N=XFY7<D>^VRGN=B5WY+N=XFY7<D>^VRGN=B5WY+N=XFY7 +M<D>^VRGN=B5WY+N=XFXLN2/?C8J[L>2.?#<J[L:*NX&?$MR-%7<#^6Y4W(T5 +M=P/Y;E3<C15W`_EN5-R-%7<#^6Y4W(T5=P/Y;E3<+?_WMYXCWTV*NZGB;B#? +M38J[J>2.?#<I[J:2._+=I+B;2N[(=Y/B;BJY(]]-BKNIY(Y\-RGNII([\MVD +MN-N7W)'O]HJ[?<D=^6ZON-M7W&WX*<'=ON)N0[[;*^[V%7<;\MU><;>ON-N0 +M[_:*NWW%W89\MU?<[2ON-N2[O>)N^<^0>HY\=U#<'2KN-N2[@^+N4')'OCLH +M[@XE=^2[@^+N4')'OCLH[@XE=^2[@^+N4')'OCLH[@XE=^2[@^+N6')'OCLJ +M[HXE=^2[H^+N6'&WY:<$=\>*NRWY[JBX.U;<;<EW1\7=L>)N2[X[*NZ.%7=; +M\MU1<7>LN-N2[XZ*NU/%W99\=U+<G2KNMN2[D^+N5')'OCLI[DXE=^2[D^+N +M5')'OCLI[DXE=^2[D^+N5')'OCLI[DXE=^2[D^+N7')'OCLK[LXE=^2[L^+N +M7'&WXZ<$=^>*NQWY[JRX.U?<[<AW9\7=N>)N1[X[*^[.%7<[\MU9<7>NN-N1 +M[\Z*NTO%W8Y\=U'<72KN=N2[B^+N4G)'OKLH[BXE=^2[B^+N4G)'OKLH[BXE +M=^2[B^+N4G)'OKLH[BXE=^2[B^#.EN_H.?"=K05WMBZY`]_96G!GZXJ[D9]B +M[JSL[T;PG:G^SLK^;@3?F>KOK.SO1O"=J?[.ROYN!-^9ZN^L[.]&\)VI_L[* +M_FX$WYGJ[ZSL[T;PG:G^SLK^;@3?F>KOK.SO1O"=J?[.ROYN!-^9ZN^L[.]& +M\)VI_L[*_FX$WYGJ[ZSL[T;PG:G^SLK^;B3?J?[.ROYN)-^I_L[*_F[BIP1W +M97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O +M5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_ +M-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97^WYZ<$=V5_MR??J?[. +MROYN3[Y3_9V5_=V>?*?Z.RO[NSWY3O5W5O9W>_*=ZN^L[._VY#O5WUG9W^W) +M=ZJ_L[*_VY/O5']G97^W)]^I_L[*_FY/OE/]G97]W9Y\I_H[*_N[/?E.]7=6 +M]G=[\IWJ[ZSL[_;D.]7?6=G?[<EWJK^SLK\[\%."N[*_.Y#O5']G97]W(-^I +M_L[*_NY`OE/]G97]W8%\I_H[*_N[`_E.]7=6]G<'\IWJ[ZSL[P[D.]7?6=G? +M'<AWJK^SLK\[D.]4?V=E?W<@WZG^SLK^[D"^4_V=E?W=@7RG^CLK^[L#^4[U +M=U;V=P?RG>KOK.SO#N0[U=]9V=\=^2G!7=G?'<EWJK^SLK\[DN]4?V=E?W<D +MWZG^SLK^[DB^4_V=E?W=D7RG^CLK^[LC^4[U=U;V=T?RG>KOK.SOCN0[U=]9 +MV=\=R7>JO[.ROSN2[U1_9V5_=R3?J?[.RO[N2+Y3_9V5_=V1?*?Z.RO[NR/Y +M3O5W5O9W1_*=ZN^L[.]._)3@KNSO3N0[U=]9V=^=R'>JO[.ROSN1[U1_9V5_ +M=R+?J?[.RO[N1+Y3_9V5_=V)?*?Z.RO[NQ/Y3O5W5O9W)_*=ZN^L[.].Y#O5 +MWUG9WYW(=ZJ_L[*_.Y'O5']G97]W(M^I_L[*_NY$OE/]G97]W8E\I_H[*_N[ +M$_E.]7=6]G=G?DIP5_9W9_*=ZN^L[._.Y#O5WUG9WYW)=ZJ_L[*_.Y/O5']G +M97]W)M^I_L[*_NY,OE/]G97]W9E\I_H[*_N[,_E.]7=6]G=G\IWJ[ZSL[\[D +M.]7?6=G?G<EWJK^SLK\[D^]4?V=E?W<FWZG^SLK^[DR^4_V=E?W=F7RG^CLK +M^[L+/R6X*_N["_E.]7=6]G<7\IWJ[ZSL[R[D.]7?6=G?7<AWJK^SLK^[D.]4 +M?V=E?W<AWZG^SLK^[D*^4_V=E?W=A7RG^CLK^[L+^4[U=U;V=Q?RG>KOK.SO +M+N0[U=]9V=]=R'>JO[.RO[N0[U1_Y\MWTMRJSX'OOC_%W'GJ[Y;[]%:=._"= +MJ_[.4W^WFKE;+=S%FI]B[CSU=ZN9N]7O;0Y\YZJ_\]3?K:[I[(+NOW/5WWGJ +M[]K9]3GPG:O^SE-_!W/@.U?]G:?^#N;`=Z[Z.T_]W3+WH,^![USU=Y[ZNP?+ +MW*K-@>]<]7>>^KL',W</.G?@.U?]G:?^[L',W8/.'?C.57_GJ;][<+TY._"= +MJ_[.4W_7SJ[/@>]<]7>>^CN8`]^YZN\\]7<P![YSU=]YZN^6N8=]CGRG^CM/ +M_=W#9:YS1[Y3_9VG_N[AS-W#QAW=?^>JO_/4WSV<N7O8N*/[[USU=Y[ZNX?7 +M?'9T_YVK_LY3?]?.KL^1[U1_YZF_@SGRG>KO//5W,$>^4_V=I_YNF7O4Y\AW +MJK_SU-\]6N8:=W3_G:O^SE-_]VCF[E'GCGRG^CM/_=VCF;M'G3ORG>KO//5W +MCZXW9T>^4_V=I_ZNG5V?(]^I_LY3?P=SY#O5WWGJ[V".?*?Z.T_]W3+WN,^1 +M[U1_YZF_>[S,=>[(=ZJ_\]3?/9ZY>]RXH_OO7/5WGOJ[QS-WCQMW=/^=J_[. +M4W_W^)K/CNZ_<]7?>>KOVMGU.?*=ZN\\]7<P1[Y3_9VG_@[FR'>JO_/4WRUS +M3_H<^4[U=Y[ZNR?+7...[K]SU=]YZN^>S-P]Z=R1[U1_YZF_>S)S]Z1S1[Y3 +M_9VG_N[)]>;LR'>JO_/4W[6SZW/D.]7?>>KO8(Y\I_H[3_T=S)'O5'_GJ;]; +MYI[V.?*=ZN\\]7=/E[G.'?E.]7>>^KNG,W=/&W=T_YVK_LY3?_=TYNYIXX[N +MOW/5WWGJ[YY>\]G1_7>N^CM/_5T[NSY'OE/]G:?^#N;(=ZJ_\]3?P1SY3O5W +MGOJ[9>Y9GR/?J?[.4W_W;)EKW-']=Z[Z.T_]W;.9NV>=._*=ZN\\]7?/9NZ> +M=>[(=ZJ_\]3?/;O>G!WY3O5WGOJ[=G9]CGRG^CM/_1W,D>]4?^>IOX,Y\IWJ +M[SSU=\O<\SY'OE/]G:?^[ODRU[DCWZG^SE-_]WSF[GGCCNZ_<]7?>>KOGL_< +M/6_<T?UWKOH[3_W=\VL^.[K_SE5_YZF_:V?7Y\AWJK_SU-_!'/E.]7>>^CN8 +M(]^I_LY3?[?,O>ASY#O5WWGJ[UXL<XT[NO_.57_GJ;][,7/WHG-'OE/]G:?^ +M[L7,W8O.'?E.]7>>^KL7UYNS(]^I_LY3?]?.KL^1[U1_YZF_@SGRG>KO//5W +M,$>^4_V=I_YNF7O9Y\AWJK_SU-^]7.8Z=^0[U=]YZN]>SMR];-S1_7>N^CM/ +M_=W+F;N7C3NZ_\Y5?^>IOWMYS6=']]^YZN\\]7?M[/H<^4[U=Y[Z.Y@CWZG^ +MSE-_!W/D.]7?>>KOEKE7?8Y\I_H[3_W=JV6N<4?WW[GJ[SSU=Z]F[EYU[LAW +MJK_SU-^]FKE[U;DCWZG^SE-_]^IZ<W;D.]7?>>KOVMGU.?*=ZN\\]7<P1[Y3 +M_9VG_@[FR'>JO_/4WRUSK_L<^4[U=Y[ZN]?+7.>.?*?Z.T_]W>N9N]>-.[K_ +MSE5_YZF_>SUS][IQ1_??N>KO//5WKZ_Y[.C^.U?]G:?^KIU=GR/?J?[.4W\' +M<^0[U=]YZN]@CGRG^CM/_=TR]Z;/D>]4?^>IOWNSS#7NZ/X[5_V=I_[NS<S= +MF\X=^4[U=Y[ZNS<S=V\Z=^0[U=]YZN_>7&_.CGRG^CM/_5T[NSY'OE/]G:?^ +M#N;(=ZJ_\]3?P1SY3O5WGOJ[9>YMGR/?J?[.J_XNZ/X[5_V=5_U=T/UWKOH[ +MK_J[H/OO7/5W7O5W0???N>KOO.KO@NZ_<]7?>=7?!=U_YZJ_\ZJ_"[K_SE5_ +MYZ*_>]?GR'>JO_/4W[U;YAIW=/^=J_[.4W_W;N;N7>>.?*?Z.T_]W;N9NW>= +M._*=ZN\\]7?OKC=G1[Y3_9VG_JZ=79\CWZG^SE-_!W/D.]7?>>KO8(Y\I_J[ +M6+Z3YM9]#GP7JK_[_A/WN%O\M.[<@>]"]7>1^KOUO+=NW-']=Z'ZNTC]W7KF +M;MVXH_OO0O5WD?J[]36?'=U_%ZJ_B]3?M;/K<^"[4/U=I/X.YL!WH?J[2/T= +MS('O0O5WD?J[9<[Z'/@N5'\7J;^S9:YQ1_??A>KO(O5W-K\\Z]R![T+U=Y'Z +M.YNYL\X=^"Y4?Q>IO[/KS=F![T+U=Y'ZNW9V?0Y\%ZJ_B]3?P1SX+E1_%ZF_ +M@SGP7:C^+E)_M\QYGR/?J?XN4G_GRUSGCGRG^KM(_9W/W'GCCNZ_"]7?1>KO +M?.;.&W=T_UVH_BY2?^?7?'9T_UVH_BY2?]?.KL^1[U1_%ZF_@SGRG>KO(O5W +M,$>^4_U=I/YNF8L^1[Y3_5VD_BZ6N<8=W7\7JK^+U-_%S%UT[LAWJK^+U-_% +MS%UT[LAWJK^+U-_%]>;LR'>JOXO4W[6SZW/D.]7?1>KO8(Y\I_J[2/T=S)'O +M5'\7J;];YH8^1[Y3_5VD_FY8YCIWY#O5WT7J[X:9NZ%Q1_??A>KO(O5WP\S= +MT+BC^^]"]7>1^KOAFL^.[K\+U=]%ZN_:V?4Y\IWJ[R+U=S!'OE/]7:3^#N;( +M=ZJ_B]3?+7.;/D>^4_U=I/YNL\PU[NC^NU#]7:3^;C-SM^G<D>]4?Q>IO]O, +MW&TZ=^0[U=]%ZN\VUYNS(]^I_BY2?]?.KL^1[U1_%ZF_@SGRG>KO(O5W,$>^ +M4_U=I/YNF=OV.?*=ZN\B]7?;9:YS1[Y3_5VD_FX[<[=MW-']=Z'ZNTC]W7;F +M;MNXH_OO0O5WD?J[[36?'=U_%ZJ_B]3?M;/K<^0[U=]%ZN]@CGRG^KM(_1W, +MD>]4?Q>IOUOF=GV.?*?ZNTC]W6Z9:]S1_7>A^KM(_=UNYF[7N2/?J?XN4G^W +MF[G;=>[(=ZJ_B]3?[:XW9T>^4_U=I/ZNG5V?(]^I_BY2?P=SY#O5WT7J[V". +M?*?ZNTC]W3(W]CGRG>KO(O5WXS+7N2/?J?XN4G\WSMR-C3NZ_RY4?Q>IOQMG +M[L;&'=U_%ZJ_B]3?C==\=G3_7:C^+E)_U\ZNSY'O5'\7J;^#.?*=ZN\B]7<P +M1[Y3_5VD_FZ9F_H<^4[U=Y'ZNVF9:]S1_7>A^KM(_=TT<S=U[LAWJK^+U-]- +M,W=3YXY\I_J[2/W==+TY._*=ZN\B]7?M[/H<^4[U=Y'Z.Y@CWZG^+E)_!W/D +M.]7?1>KOEKGW?8Y\I_J[2/W=^V6N<T>^4_U=I/[N_<S=^\8=W7\7JK^+U-^] +MG[E[W[BC^^]"]7>1^KOWUWQV=/]=J/XN4G_7SJ[/D>]4?Q>IOX,Y\IWJ[R+U +M=S!'OE/]7:3^;IG[T.?(=ZJ_B]3??5CF&G=T_UVH_BY2?_=AYNY#YXY\I_J[ +M2/W=AYF[#YT[\IWJ[R+U=Q^N-V='OE/]7:3^KIU=GR/?J?XN4G\'<^0[U=]% +MZN]@CGRG^KM(_=TR]['/D>]4?Q>IO_NXS'7NR'>JOXO4WWV<N?O8N*/[[T+U +M=Y'ZNX\S=Q\;=W3_7:C^+E)_]_&:SX[NOPO5WT7J[]K9]3GRG>KO(O5W,$>^ +M4_U=I/X.YLAWJK^+U-\M<Y_Z'/E.]7>1^KM/RUSCCNZ_"]7?1>KO/LW<?>K< +MD>]4?Q>IO_LT<_>I<T>^4_U=I/[NT_7F[,AWJK^+U-^UL^MSY#O5WT7J[V". +M?*?ZNTC]'<R1[U1_%ZF_6^8^]SGRG>KO(O5WGY>YSAWY3O5WD?J[SS-WGQMW +M=/]=J/XN4G_W>>;N<^..[K\+U=]%ZN\^7_/9T?UWH?J[2/U=.[L^1[Y3_5VD +M_@[FR'>JOXO4W\$<^4[U=Y'ZNV7N2Y\CWZG^+E)_]V69:]S1_7>A^KM(_=V7 +MF;LOG3ORG>KO(O5W7V;NOG3NR'>JOXO4WWVYWIP=^4[U=Y'ZNW9V?8Y\I_J[ +M2/T=S)'O5'\7J;^#.?*=ZN^&Y3MI[FN?`]\-JK\;4G_W=9GKW('OOC_%W`VI +MO_LZ<_=UX6Y8\U/,W9#ZNZ\S=U]_;W/@NT'U=^UCF<N]\4#WW_6GBKD[W[[] +M]O+'X.;'VQU\M=[#O_5/?/O'V_O_M,$?5_W\"X/??Z-=+C>#RQO>_+CJY_LO +M^/ZQW\S?^?ZQMCMO^(^O46SZ#3]X>V>.OI3R7SD_NIWG5X.;S6J_OQG\G^7U +M^=_]Z?CQU\$WN]6P66VVJ]'_[!O^O__XW_2&?\[1EX__M\[OYUR)<WO!]F?F +M?OSQ?>=7WB5#_\2WCLG;._?@;>BO@_<7\8>OSO03\M71EX__*^S=_)7KNY_G +M'U^`_OO_UE[^<TJZE[1]?E?]]5&B?N_M_N+UK6[?[H\_(G?W?[W=F?/B[:[N +MSQU^^;G]]:M[</OJZ$NT_Y5/QLU?'/Z3OW/_&+G_._?GG/^](MC],,L??XKM +BX=_Z)[[]\^W]?WX.#O/@WW:"PWK\_BI_^W]F=\)"L*<````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-mbr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-mbr.qcow2.gz.uu new file mode 100644 index 0000000..09fa383 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-mbr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-mbr.qcow2.gz +M'XL("*0[(U0``VEM9RTQ>#$M-#`Y-BUM8G(N<6-O=S(N;W5T`*V8V;+3,`Q` +MW_L5+LL%+E!BR4Y3E@O<A1G>X`%X3I=\13^>)%;C1)'BMI/6DVG'T1G9/E:6 +M+`L?8[PU+C=N8ZJMJ?]3`]/[,VSF^/O'SU7_<UP$F,V4**'#88<;L!XB#C1< +M9L<=5L;ULD,!!Z>H,2B%<VIV4QT"[G;13EV[&`6+P&N``:<NQE7Y0<B/1[@K +M\X.Y\T-Y_OPICG?DT_EAR(]'K35<D<2!$+71<&42AT+45L/MDC@G1.TUW"&) +M\T)4I>!L0I4:EPM15L-!$K<6HE##N22N$*(T[VS:NXT0I7EGT]Z50I3FG4U[ +MMQ6B-.]LVKN=$*5Y9]/>[84HS3M0O#,1=Q"B-.^`>;<DW+.(JX0HS3M@WCTG +MW(L.9Z4HS3M@WKTDW$W$"?4.-.^`>?>*<*\C3JAWH'D'S+LWA+N-.*'>@>8= +M,._>$NY=Q`GU#C3O@'GW?N2=%>H=:-XA\^X#L;*($^H=:MXA\\X2#B).J'>H +M>8?,.R2<BSBAWJ'F'3+O/.'RB!/J'6K>(?-N3;@BXH1ZAYIWR+S;$.YCQ`GU +M#C7OD'GWB7"?(TZH=ZAYA\R[+X2[BSBAWJ'FG6/>?27<MX@3ZIW3O'/,N^^$ +MNX\XH=XYS3O'O'L@W&.'`RFJ\R[+Y$:XI]&>A7GO/UV\/[;"4>^8`!:7`*<R +M#+C-K`/V8<"-!J5PU#N.]ZOAMP.VF^T"8#T_534"TH!]V&SU"74K/?VH6Y@O +M&I[M7=&%`2]7/=Q^YOEK]\<%0.]-68Z`?T[YP=S+X1J@7S>;S.>F@','_._I +M[]B_&C?;A@LX_>T`=70)VW-P[=N!WIE],_2.X;W>,N(FWPXTCSP'J4/-SL_L +MGBM87'^=VV>U77RH97?*W?J:F)]06V`PW(G\S'BXS46\>]AFJ]@N0&*X9HC; +M3J[M=';+<7:[F1?#\YUQYLYM(,.=&W`P;R&`MK+4!M9GC8]ZQ_'7:O@-0$?` +1V6;0Y<VE:/$?-R^$K](4```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-mbr.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-mbr.raw.gz.uu new file mode 100644 index 0000000..f256873 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-mbr.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-mbr.raw.gz +M'XL("/+%'50``VEM9RTQ>#$M-#`Y-BUM8G(N<F%W+F]U=`"ME,NRPB`,AO=] +MBKAUP80(Q[IUQKT;=8WU]"EX>(/I!8JM[0R04F8"W_PA!$1I`(8`W9=QWN'/ +M*NV^VE<?FGYN`]8(;9L!%0,%US".%[`YVTW84$,0SA^;1B#=S<7`J['M5(1[ +M#;MRFW?$."6X/MQV&]!:<"X#WGI]5#H=)@#M$8P%^P<UK0WX<;E/`A:<+G5^ +M@J-?N$&P7H,[A%W1ROAFS#O\>$WDW^/,DCI&X/^F8&WANV?JR;XXSX!<)0U@ +MW?DH!0[YA5'?*9=!2;@+^B`/UP7<,5VO(QS]"!=2W',QM\OJ=KFZIG`R[+0R +L5E9N@*25*S@J^Q#0YV7A&\BK\G'>X:\J[0(T';#8"1H*P.H-:WH%_)0&```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhd.gz.uu new file mode 100644 index 0000000..92039f8 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-mbr.vhd.gz +M'XL("/+%'50``VEM9RTQ>#$M-#`Y-BUM8G(N=FAD+F]U=`"METU3@S`0AN_] +M%>MX\]!)EF2A5T<].^.H5P'!\>#'J`</_'@32$("!(NFI10FV8=W/[)-&1M> +M`)0!M4`-D-37N0`Z0%X`J$%S8'_FYA:Z^NVUJ;^>O_?FU>T&&&>^56BN[3$# +MH1Z2`Y;Z(?2HKZ&SF/WIY=/9\\N3Q:'!V0<+`H$@%43,GD/,J=.DJ_.;BQ[Y +M,*K+YNI&*_6I!#`!G'LS,JONP6ET.*&LVK8_<BC+7J8]@IM@8'1V@I-L8N7) +M7`JJY^P2CM:LMN#.=B870ZFHPLC5686.0X[Z6I6-C</L4*7R_?E>?GPV$WT8 +M*15R^OAL+(N[BZ94T$XV"H0NYS5WH:=\37$+I?*OZ%%H)\R%"@*3=@![]\/H +MC2CP]1%G*S&/)R.JK]3ZU-IBY<(Y/M"=[\.W`U;5-F#!!H4ASCE<U<[A4HX> +M#44R!A-Y/"$G7ORJQ\3YK=IM0"EUQY@";ZV^.G4Z&@V4N>Z^DJ#`8QV^O[Q; +M6FY-9/7^L5DU^!O.">;'X#+32NU,OS+B`]U8)L.WQ8DU=7H)-YN<E8EKKRDF +M=GZ>@:E54@,KO";C`5U^8=1WF,O`P-T5?3!WM]2X/)S//1S^XBZ$N&HUM^OJ +M3N;JZL3):*<KX\B5JR'ARAUPF+818-]95`6J6?-S?*"[WH?O`8CFER/93Q&: +MWI=,H3#`9`J%;:;I%&9LM=BV5B$9A8GV]11O]W_9UY/7[A/LZ\FV^Y@5V[2O +?)]/N$^WKR;;[-/MZC4NZKR?UCXVQW0]_N`=E#`X````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhdf.gz.uu new file mode 100644 index 0000000..171e991 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-mbr.vhdf.gz +M'XL("/+%'50``VEM9RTQ>#$M-#`Y-BUM8G(N=FAD9BYO=70`K96Q;H,P$(;W +M/,5%W3(@^[`/LD9-YTI5VS5`(,J0=NG0@8>OC3'8.)"D,AQ@=/;'?[ZS8<P< +M``*!%5?N\XYVE_AGN]JL.AHO'P/F#)HF`"8*:'"5PJD.R@K9-Y0Q#EJXNI1Q +M!LC[MC%HD_%8)P[N.(P*;=[AXA*#L^$VCP&EA*((@.]6'\9.A]!`F8&0(`ER +MO#?@S_W')&"#X['FS^#P%FX0S._!I7J4T].MC'E'.Y:)>5J<6%*G$*Q^*%@9 +MN?9$/AGGYAF86B45L+SWH0\<\@NCOFTH`[UP%_1!&&ZA<9G?GSLXO!$N^+AR +M,;?+ZM:ANBIR,N1T9=RY<C7$7[D&AW$W`NQV%E6!JE=XGW>TKXE_&J#H@=%F +MD/I?$:5`#5`-)'4[$T!;R'(7B'XEM=7W5UW]G'_=#&L<'_X<H>GQF.K50AE@ +MH3]"1]UV]#WM3YOSY61Q=JNR'Q:D)UTJB`C")3_<E]W;<X<\C.K2<)+(G;U2 +M`!/`N1=XK^[@ES-U^[P-MFZ@E)U,:]Z+Y[BZ56F<9)-1_\VMP5'D4E&UM_H# +(GF2M3+\(```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-mbr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-mbr.vmdk.gz.uu new file mode 100644 index 0000000..bcbad1e --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-mbr.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-mbr.vmdk.gz +M'XL("//%'50``VEM9RTQ>#$M-#`Y-BUM8G(N=FUD:RYO=70`K5Q=C]S&$7SW +MKZ"EER`/"]:27)(/`A+G'"`(`AB68[^&G]$AMB2<#D$,[(_/##DU5[P5-;2O +MY3V1H^VNG>[9JSM7%S;/US]95O9966;EF%67+$?F_FE]9'GQM'"/<\,GKG^_ +M^\>/)_[YP^ET_6H%@\^2%.0*)XO-ZUQ/S_X0[OREK,T3[G%.PA4^J[])#'#G +MG2=VX4KWY/ES*=Q=MSP]^AN!RR)0MH&K/E/3;K%?VMT?OPK-\_LK_![<\5[: +MK"ZR2Q^6V:5:UD56GY?G\JQV0;,#?)W=W7_Z3W8W?1H>[C\^?@C[._NS=<'E +MQ<=?!H_@"JLO_L8_X>%:#W&9LF+,"OBGL^O#7^]_GD[_G1X^W7]X_P8L]^S/ +MMBRRLO7;\?'YTV.S\"^29Q?XU\BN?_G;W9OPSLU/'[L'PODLMQ'WVJX.Q;U< +M,O]U^UAV-[U_](AS^!-WY\\V-*=:7KOT-U69U6VV;*?RV&?W]!A*7GHW/$S= +MX_3#KQ^G-Z]^^?`^]LZ?K6]9NP`U2Z.*K"H\5"C-MZ_RB/YMLYQ:=OWY_O'= +M_?#6E?EI>G5ZG1'NXGOG#K`)^UJK=BF7W9-UV[Y^^[]'5V\VAI.])]RRB:4( +M]]K5.:MJC^4.<#F*<U:4_L[]D]NPJZ2$#\JN']Z?OO_)?8O[9KW][L_?$ZYQ +M62[2;="EN((V-55K_=7SMV5V??MM]LH7^<.[:7D'$JY=O\U\\'H.6)9G?Q.Z +MML)[$BO]$\O)9G?=8Y=]TWV:3J_O[KZ))]OY8LOEX;8V>93+"NW?WTL[7>/6 +MDUX/>CF*<>Q/W=A]?)P>_/'&H^A]B\90J3_6\ND8MZ]3+R<U^W=,=GV3O;H? +MW9EZV']/'WXAW+"^C=T^_%NB71(+?^/>/0O\%%YA?<?X8_)PT^/#KZ?AUY_O +MWX_N&RU[0[AQ[9W;SGJ:3X?I#M#M\+,;=+U[M9QJW![A)K^[\6:#RWF&1L9- +MQ9?-KK\LVWLW=:/;FL,FW.QW=_[\/D*GGKV40\^N3UU;<#\%N"(/%%`$*MNT +M*&YG?4$AT&EX_/"P;NR5\''Q_&?92_FXO/F16O].P!7.>G^7_-G/LT+S2EE4 +M&T#_4RQW7W]R7]\][>_B]W>1R%JS&EFT&[A_.8B/M^5>_'=A)Y&]9@VR&(]T +M[^*I;9+(^7GW^*L&Y'X?CK\+,++0K%(6U09NKW=5Z!TC:\UJ9-%NX/9Z=PF] +M8V2O68,LQD/%UJ%WC)PURU_XJQ3R`[^679K0.T86FE7*HMK`[?6N#;UC9*U9 +MC2S:#=Q>[[K0.T;VFC7(8CQ4;!]ZQ\A9L_R%!`&YWX<;0N\866A6*8MJ`[?7 +MNS'TCI&U9C6R:#=P>[V;0N\8V6O6((OQ4+%SZ!TC9\WREU)Z5Z;@ZCSTCI&% +M9I6RJ#9P.[VKR7>,K#6KD46[@=OI74V^8V2O68,LQD/%DN\8.6N6OU32NRH) +M1[YC9*%9I2RJ#=Q>[\AWC*PUJY%%NX';ZQWYCI&]9@VR&`\52[YCY*Q9_G*1 +MWEV2<.0[1A::5<JBVL#M]8Y\Q\A:LQI9M!NXO=Z1[QC9:]8@B_%0L>0[1LZ: +MY2_\)0AROP]'OF-DH5FE+*H-W%[OR'>,K#6KD46[@=OK'?F.D;UF#;(8#Q5+ +MOF/DK%G^0D$&<K\+U^2A=XPL-*N41;6!V^E=0[YC9*U9C2S:#=Q.[QKR'2-[ +MS1ID,1XJEGS'R%FS_*65WK5)./(=(PO-*F51;>#V>D>^8V2M68TLV@W<7N_( +M=XSL-6N0Q7BH6/(=(V?-\A?^_Q/D?A^.?,?(0K-*650;N+W>D>\866M6(XMV +M`[?7._(=(WO-&F0Q'BJ6?,?(6;/\A?HCY'X?CGS'R$*S2EE4&[B]WI'O&%EK +M5B.+=@.WUSOR'2-[S1ID,1XJEGS'R%FS_&60W@TIN#8/O6-DH5FE+*H-W$[O +M6O(=(VO-:F31;N!V>M>2[QC9:]8@B_%0L>0[1LZ:Y2^C]&Y,PI'O&%EH5BF+ +M:@.WUSOR'2-KS6IDT6[@]GI'OF-DKUF#+,9#Q9+O&#EKEK],TKLI"4>^8V2A +M6:4LJ@W<7N_(=XRL-:N11;N!V^L=^8Z1O68-LA@/%4N^8^2L6?XR2^_F)!SY +MCI&%9I6RJ#9P>[TCWS&RUJQ&%NT&;J]WY#M&]IHUR&(\5"SYCI&S9N4R/8/< +M[\)U^=J[&%EH5BF+:@.WT[LN\%V,K#6KD46[@=OI71?X+D;VFC7(8CQ4;."[ +M&#EKEF^9Z'=(2EI=X#N(?@?5[R#Z'9+Z71?X#J+?0?4[B'Z'I'[7!;Z#Z'=0 +M_0ZBWQTH-O`=1+^#ZG<0_0Y)2:L+?`?1[Z#Z'42_0U*_ZP+?0?0[J'X'T>^0 +MU.^ZP'<0_0ZJWT'TNP/%!KZ#Z'=0_0ZBWR$I:76![R#Z'52_@^AW2.IW7>`[ +MB'X'U>\@^AV2^ET7^`ZBWT'U.XA^=Z#8P'<0_0ZJWT'T.R0EK3X/O1/]#JK? +M0?0[)/6[GGPG^AU4OX/H=TCJ=SWY3O0[J'X'T>\.%$N^$_T.JM]!]#LD):V> +M?"?Z'52_@^AW2.IW/?E.]#NH?@?1[Y#4[WKRG>AW4/T.HM\=*)9\)_H=5+^# +MZ'=(2EH]^4[T.ZA^!]'OD-3O>O*=Z'=0_0ZBWR&IW_7D.]'OH/H=1+\[4"SY +M3O0[J'X'T>^0E+1Z\IWH=U#]#J+?(:G?]>0[T>^@^AU$OT-2O^O)=Z+?0?4[ +MB'YWH%CRG>AW4/T.HM\A*6D->>B=Z'=0_0ZBWR&IWPWD.]'OH/H=1+]#4K\; +MR'>BWT'U.XA^=Z!8\IWH=U#]#J+?(2EI#>0[T>^@^AU$OT-2OQO(=Z+?0?4[ +MB'Z'I'XWD.]$OX/J=Q#][D"QY#O1[Z#Z'42_0U+2&LAWHM]!]3N(?H>D?C>0 +M[T2_@^IW$/T.2?UN(-^)?@?5[R#ZW8%BR7>BWT'U.XA^AZ2D-9#O1+^#ZG<0 +M_0Y)_6X@WXE^!]7O(/H=DOK=0+X3_0ZJWT'TNP/%DN]$OX/J=Q#]#DE):\Q# +M[T2_@^IW$/T.2?UN)-^)?@?5[R#Z'9+ZW4B^$_T.JM]!]+L#Q9+O1+^#ZG<0 +M_0Y)26LDWXE^!]7O(/H=DOK=2+X3_0ZJWT'T.R3UNY%\)_H=5+^#Z'<'BB7? +MB7X'U>\@^AV2DM9(OA/]#JK?0?0[)/6[D7PG^AU4OX/H=TCJ=R/Y3O0[J'X' +MT>\.%$N^$_T.JM]!]#LD):V1?"?Z'52_@^AW2.IW(_E.]#NH?@?1[Y#4[T;R +MG>AW4/T.HM\=*)9\)_H=5+^+9CK(O<!EZU>`F_*U=S&RT*P\__S#]<Y!Y-G- +M[B9C?R`6?V"<*:Q5_3[`%<YZ?W&^+?U[RONM_D7$^38?+_(O(LZW^7B1?Q%Q +MOLW'B_R+B/-M$_\BXGS;Q+^(.-\V\2\BSK=-_(N(\VT3_R+B?-O$OX@XWS;Q +M+R+.MTW\BXCS;1/_(N)\V\2_B#C?-O$O(LZW3?R+B/-M$_\BXGS;Q+^(.-\V +M\2\BSK=-_(N(\VT3_R+B?-O$OX@XWS;Q+R+.MTW\BXCS;1/_(N)\V\2_B#C? +M-O$O(LZW3?R+B/-M$_\BXGS;Q+^(.-\V\2\BSK=-_(O@?-O&OPC.MVW\B^!\ +MV\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S; +MQK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O& +MOPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_ +M",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\BXCS;4:^R+^(.-]FY(O\BXCS +M;4:^R+^(.-]FY(O\BXCS;1/_(N)\V\2_B#C?-O$O(LZW3?R+B/-M$_\BXGS; +MQ+^(.-\V\2\BSK=-_(N(\VT3_R+B?-O$OX@XWS;Q+R+.MTW\BXCS;1/_(N)\ +MV\2_B#C?-O$O(LZW3?R+B/-M$_\BXGS;Q+^(.-\V\2\BSK=-_(N(\VT3_R+B +M?-O$OX@XWS;Q+R+.MTW\BXCS;1/_(N)\V\2_B#C?-O$O(LZW3?R+X'S;QK^( +MR=2_B,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_B,G4OXC) +MU+^(R=2_B,G4OXC)U+^(.<\-_8N83?V+F$W]BYA-_8N83?V+F$W]BYA-_8N8 +M3?V+F$W]BYA-_8N83?V+F$W]BYA-_8N83?V+F$W]BYA-_8OG/,\-_8OGF\\2 +MWF3MP]T6N_H#RV5_ZZ>#WOZ]_\3UF]/VOPB(_K<!NO.>YQM`%ES"O_=<@'MT +M5;AQC]69)@>!_8*_/@G<:-P_S+\-L*JRKKL!_"?W=[8^CN7S-:O:?^YL=<F: +M\]&"?_KVQV<%KW!F[[\5[N:SK)_#Q0T?^&CLLEP^RUHB]9VQ_\3UZ6VR7@E7 +M?FEW.C8Z5JSQ9UF79?,L3\]Y&3H,3_:(9U05SS=[VE][NXWSIMPO[.^&JLK2 +M_TS33W/54]R0YTZYV1:N_^+9?GEW7]_N;C`^C.KY=\;![UP/LOW.7>'.MD1P +E69AE]6+<_KW_Q/6[T_:_%;`,@&8=+/TGL>5?_1_0^/1A@%\````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-pc98.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-pc98.qcow.gz.uu new file mode 100644 index 0000000..efca490 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-pc98.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-pc98.qcow.gz +M'XL("+(S(E0``VEM9RTQ>#$M-#`Y-BUP8SDX+G%C;W<N;W5T`*V=RXX<1Y)% +M]_J*Y/M-EIE%9D;PC0:Z@=GU+&9FJWRN\P/X\4-61;BS+,^EL2%1!8%$*2XR +MO0X/(>G`Z^;F[L=JM;;5L%D-T^J\7WW_]?QAJY]^<?]C]>V___5?;W_^\>V/ +MNS&[^<53Z=>#KX9Y[M[6/[ZV.?_QU&%U,_W&W/</H[F?7EW\!Z_NIS=[/??R +MC[LWR\^Y&HQ[@ZMY[F9^?29.;_B]U_<UO5V[.[V_[^VZ>+MK-;BY-_CO>>[/ +M^?6Y>+M;-3?>F[NDM^OB[4YJ;O=+6%S`LE=SAV)NP*>.:NY4S*WQJ3//V2^^ +MMG=S&WS*U)SCW*K-;?&I4'/W-7#S=@%ZF1OQ*<&=E=Q-^)3@SDKN=OB4X,Y* +M[O;XE.#.2NX.^)3@SDKNCOB4X,Y+[D[XE.#.2^[.^)3@+O_Q<\6=\5.".Z^X +M,_*=*^Z\XL[(=ZZX\XH[(]^YXLXK[HQ\YXH[K[@S\ITK[J+BSLAWH;B+BCLC +MWX7B+DKNR'>AN(N2._)=*.ZBY(Y\%XJ[*+DCWX7B+DKNR'>AN(N2._)=*.Z& +MDCORW:"X&TKNR'>#XFZHN'-^2G`W5-PY^6Y0W`T5=TZ^&Q1W0\6=D^\&Q=U0 +M<>?DNT%Q-U3<.?EN4-RM*^Z<?+=6W*TK[IQ\MU;<K4ONR'=KQ=VZY(Y\MU;< +MK4ONR'=KQ=VZY(Y\MU;<K4ONR'=KQ=VZY(Y\MU;<;4KNR'<;Q=VFY(Y\MU'< +M;2KN@I\2W&TJ[H)\MU'<;2KN@GRW4=QM*NZ"?+=1W&TJ[H)\MU'<;2KN@GRW +M4=QM*^Z"?+=5W&TK[H)\MU7<;4ONR'=;Q=VVY(Y\MU7<;4ONR'=;Q=VVY(Y\ +MMU7<;4ONR'=;Q=VVY(Y\MU7<C25WY+M1<3>6W)'O1L7=6'$W\%."N['B;B#? +MC8J[L>)N(-^-BKNQXFX@WXV*N['B;B#?C8J[L>)N(-^-BKOE/W_K.?+=I+B; +M*NX&\MVDN)M*[LAWD^)N*KDCWTV*NZGDCGPW*>ZFDCORW:2XFTKNR'>3XFXJ +MN2/?38J[7<D=^6ZGN-N5W)'O=HJ[7<7=FI\2W.TJ[M;DNYWB;E=QMR;?[11W +MNXJ[-?ENI[C;5=RMR7<[Q=VNXFY-OMLI[I;_#:GGR'=[Q=V^XFY-OMLK[O8E +M=^2[O>)N7W)'OMLK[O8E=^2[O>)N7W)'OMLK[O8E=^2[O>)N7W)'OMLK[@XE +M=^2[@^+N4')'OCLH[@X5=QM^2G!WJ+C;D.\.BKM#Q=V&?'=0W!TJ[C;DNX/B +M[E!QMR'?'11WAXJ[#?GNH+@[5MQMR'='Q=VQXFY#OCLJ[HXE=^2[H^+N6')' +MOCLJ[HXE=^2[H^+N6')'OCLJ[HXE=^2[H^+N6')'OCLJ[DXE=^2[D^+N5')' +MOCLI[DX5=UM^2G!WJKC;DN].BKM3Q=V6?'=2W)TJ[K;DNY/B[E1QMR7?G11W +MIXJ[+?GNI+@[5]QMR7=GQ=VYXFY+OCLK[LXE=^2[L^+N7')'OCLK[LXE=^2[ +ML^+N7')'OCLK[LXE=^2[L^+N7')'OCL+[FSYB9X#W]F-X,YN2N[`=W8CN+.; +MBKN1GV+NK.SO1O"=J?[.ROYN!-^9ZN^L[.]&\)VI_L[*_FX$WYGJ[ZSL[T;P +MG:G^SLK^;@3?F>KOK.SO1O"=J?[.ROYN!-^9ZN^L[.]&\)VI_L[*_FX$WYGJ +M[ZSL[T;PG:G^SLK^;@3?F>KOK.SO1O"=J?[.ROYN)-^I_L[*_FXDWZG^SLK^ +M;N*G!'=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G +M97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O +M5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?[?CIP1W97^W +M(]^I_L[*_FY'OE/]G97]W8Y\I_H[*_N['?E.]7=6]G<[\IWJ[ZSL[W;D.]7? +M6=G?[<AWJK^SLK_;D>]4?V=E?[<CWZG^SLK^;D>^4_V=E?W=CGRG^CLK^[L= +M^4[U=U;V=SORG>KOK.SO=N0[U=]9V=_MR'>JO[.RO]OS4X*[LK_;D^]4?V=E +M?[<GWZG^SLK^;D^^4_V=E?W=GGRG^CLK^[L]^4[U=U;V=WORG>KOK.SO]N0[ +MU=]9V=_MR7>JO[.RO]N3[U1_9V5_MR??J?[.ROYN3[Y3_9V5_=V>?*?Z.RO[ +MNSWY3O5W5O9W>_*=ZN^L[._VY#O5WUG9WQWX*<%=V=\=R'>JO[.ROSN0[U1_ +M9V5_=R#?J?[.RO[N0+Y3_9V5_=V!?*?Z.RO[NP/Y3O5W5O9W!_*=ZN^L[.\. +MY#O5WUG9WQW(=ZJ_L[*_.Y#O5']G97]W(-^I_L[*_NY`OE/]G97]W8%\I_H[ +M*_N[`_E.]7=6]G<'\IWJ[ZSL[X[\E."N[.^.Y#O5WUG9WQW)=ZJ_L[*_.Y+O +M5']G97]W)-^I_L[*_NY(OE/]G97]W9%\I_H[*_N[(_E.]7=6]G='\IWJ[ZSL +M[X[D.]7?6=G?'<EWJK^SLK\[DN]4?V=E?W<DWZG^SLK^[DB^4_V=E?W=D7RG +M^CLK^[LC^4[U=U;V=R=^2G!7]G<G\IWJ[ZSL[T[D.]7?6=G?G<AWJK^SLK\[ +MD>]4?V=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG^CLK^[L3^4[U=U;V=R?RG>KO +MK.SO3N0[U=]9V=^=R'>JO[.ROSN1[U1_9V5_=R+?J?[.RO[N1+Y3_9V5_=V) +M?*?Z.RO[NS,_);@K^[LS^4[U=U;V=V?RG>KOK.SOSN0[U=]9V=^=R7>JO[.R +MOSN3[U1_9V5_=R;?J?[.RO[N3+Y3_9V5_=V9?*?Z.RO[NS/Y3O5W5O9W9_*= +MZN^L[._.Y#O5WUG9WYW)=ZJ_L[*_.Y/O5'_GRT_2W*K/@>^^/\7<>>KOEOOT +M5IT[\)VK_LY3?[>:N5LMW,4-/\7<>>KO5C-WJS_;'/C.57_GJ;];7=+9!=U_ +MYZJ_\]3?M;/K<^`[5_V=I_X.YL!WKOH[3_T=S('O7/5WGOJ[9>Y!GP/?N>KO +M//5W#Y:Y59L#W[GJ[SSU=P]F[AYT[L!WKOH[3_W=@YF[!YT[\)VK_LY3?_?@ +M<G5VX#M7_9VG_JZ=79\#W[GJ[SSU=S`'OG/5WWGJ[V`.?.>JO_/4WRUS#_L< +M^4[U=Y[ZNX?+7.>.?*?Z.T_]W<.9NX>-.[K_SE5_YZF_>SAS][!Q1_??N>KO +M//5W#R_Y[.C^.U?]G:?^KIU=GR/?J?[.4W\'<^0[U=]YZN]@CGRG^CM/_=TR +M]ZC/D>]4?^>IOWNTS#7NZ/X[5_V=I_[NT<S=H\X=^4[U=Y[ZNT<S=X\Z=^0[ +MU=]YZN\>7:[.CGRG^CM/_5T[NSY'OE/]G:?^#N;(=ZJ_\]3?P1SY3O5WGOJ[ +M9>YQGR/?J?[.4W_W>)GKW)'O5'_GJ;][/'/WN'%']]^YZN\\]7>/9^X>-^[H +M_CM7_9VG_N[Q)9\=W7_GJK_SU-^UL^MSY#O5WWGJ[V".?*?Z.T_]'<R1[U1_ +MYZF_6^:>]#GRG>KO//5W3Y:YQAW=?^>JO_/4WSV9N7O2N2/?J?[.4W_W9.;N +M2>>.?*?Z.T_]W9/+U=F1[U1_YZF_:V?7Y\AWJK_SU-_!'/E.]7>>^CN8(]^I +M_LY3?[?,/>USY#O5WWGJ[YXN<YT[\IWJ[SSU=T]G[IXV[NC^.U?]G:?^[NG, +MW=/&'=U_YZJ_\]3?/;WDLZ/[[USU=Y[ZNW9V?8Y\I_H[3_T=S)'O5'_GJ;^# +M.?*=ZN\\]7?+W+,^1[Y3_9VG_N[9,M>XH_OO7/5WGOJ[9S-WSSIWY#O5WWGJ +M[Y[-W#WKW)'O5'_GJ;][=KDZ._*=ZN\\]7?M[/H<^4[U=Y[Z.Y@CWZG^SE-_ +M!W/D.]7?>>KOEKGG?8Y\I_H[3_W=\V6N<T>^4_V=I_[N^<S=\\8=W7_GJK_S +MU-\]G[E[WKBC^^]<]7>>^KOGEWQV=/^=J_[.4W_7SJ[/D>]4?^>IOX,Y\IWJ +M[SSU=S!'OE/]G:?^;IE[T>?(=ZJ_\]3?O5CF&G=T_YVK_LY3?_=BYNY%YXY\ +MI_H[3_W=BYF[%YT[\IWJ[SSU=R\N5V='OE/]G:?^KIU=GR/?J?[.4W\'<^0[ +MU=]YZN]@CGRG^CM/_=TR][+/D>]4?^>IOWNYS'7NR'>JO_/4W[V<N7O9N*/[ +M[USU=Y[ZNY<S=R\;=W3_G:O^SE-_]_*2SX[NOW/5WWGJ[]K9]3GRG>KO//5W +M,$>^4_V=I_X.YLAWJK_SU-\M<Z_Z'/E.]7>>^KM7RUSCCNZ_<]7?>>KO7LW< +MO>K<D>]4?^>IOWLU<_>J<T>^4_V=I_[NU>7J[,AWJK_SU-^UL^MSY#O5WWGJ +M[V".?*?Z.T_]'<R1[U1_YZF_6^9>]SGRG>KO//5WKY>YSAWY3O5WGOJ[US-W +MKQMW=/^=J_[.4W_W>N;N=>..[K]SU=]YZN]>7_+9T?UWKOH[3_U=.[L^1[Y3 +M_9VG_@[FR'>JO_/4W\$<^4[U=Y[ZNV7N39\CWZG^SE-_]V:9:]S1_7>N^CM/ +M_=V;F;LWG3ORG>KO//5W;V;NWG3NR'>JO_/4W[VY7)T=^4[U=Y[ZNW9V?8Y\ +MI_H[3_T=S)'O5'_GJ;^#.?*=ZN\\]7?+W-L^1[Y3_9U7_5W0_7>N^CNO^KN@ +M^^]<]7=>]7=!]]^YZN^\ZN^"[K]SU=]YU=\%W7_GJK_SJK\+NO_.57_G57\7 +M=/^=J_[.17_WKL^1[U1_YZF_>[?,->[H_CM7_9VG_N[=S-V[SAWY3O5WGOJ[ +M=S-W[SIWY#O5WWGJ[]Y=KLZ.?*?Z.T_]73N[/D>^4_V=I_X.YLAWJK_SU-_! +M'/E.]7>Q_"3-W?0Y\%VH_N[[)^YQM_CIIG,'O@O5WT7J[V[FO9O&'=U_%ZJ_ +MB]3?W<S<W33NZ/Z[4/U=I/[NYI+/CNZ_"]7?1>KOVMGU.?!=J/XN4G\'<^"[ +M4/U=I/X.YL!WH?J[2/W=,F=]#GP7JK^+U-_9,M>XH_OO0O5WD?H[FU^>=>[` +M=Z'ZNTC]G<W<6><.?!>JOXO4W]GEZNS`=Z'ZNTC]73N[/@>^"]7?1>KO8`Y\ +M%ZJ_B]3?P1SX+E1_%ZF_6^:\SY'O5'\7J;_S9:YS1[Y3_5VD_LYG[KQQ1_?? +MA>KO(O5W/G/GC3NZ_RY4?Q>IO_-+/CNZ_RY4?Q>IOVMGU^?(=ZJ_B]3?P1SY +M3O5WD?H[F"/?J?XN4G^WS$6?(]^I_BY2?Q?+7...[K\+U=]%ZN]BYBXZ=^0[ +MU=]%ZN]BYBXZ=^0[U=]%ZN_B<G5VY#O5WT7J[]K9]3GRG>KO(O5W,$>^4_U= +MI/X.YLAWJK^+U-\M<T.?(]^I_BY2?S<L<YT[\IWJ[R+U=\/,W="XH_OO0O5W +MD?J[8>9N:-S1_7>A^KM(_=UPR6=']]^%ZN\B]7?M[/H<^4[U=Y'Z.Y@CWZG^ +M+E)_!W/D.]7?1>KOEKEUGR/?J?XN4G^W7N8:=W3_7:C^+E)_MYZY6W?NR'>J +MOXO4WZUG[M:=._*=ZN\B]7?KR]79D>]4?Q>IOVMGU^?(=ZJ_B]3?P1SY3O5W +MD?H[F"/?J?XN4G^WS&WZ'/E.]7>1^KO-,M>Y(]^I_BY2?[>9N=LT[NC^NU#] +M7:3^;C-SMVG<T?UWH?J[2/W=YI+/CNZ_"]7?1>KOVMGU.?*=ZN\B]7<P1[Y3 +M_5VD_@[FR'>JOXO4WRUSVSY'OE/]7:3^;KO,->[H_KM0_5VD_FX[<[?MW)'O +M5'\7J;_;SMQM.W?D.]7?1>KOMI>KLR/?J?XN4G_7SJ[/D>]4?Q>IOX,Y\IWJ +M[R+U=S!'OE/]7:3^;ID;^QSY3O5WD?J[<9GKW)'O5'\7J;\;9^[&QAW=?Q>J +MOXO4WXTS=V/CCNZ_"]7?1>KOQDL^.[K_+E1_%ZF_:V?7Y\AWJK^+U-_!'/E. +M]7>1^CN8(]^I_BY2?[?,37V.?*?ZNTC]W;3,->[H_KM0_5VD_FZ:N9LZ=^0[ +MU=]%ZN^FF;NI<T>^4_U=I/YNNER='?E.]7>1^KMV=GV.?*?ZNTC]'<R1[U1_ +M%ZF_@SGRG>KO(O5WR]S[/D>^4_U=I/[N_3+7N2/?J?XN4G_W?N;N?>..[K\+ +MU=]%ZN_>S]R];]S1_7>A^KM(_=W[2SX[NO\N5'\7J;]K9]?GR'>JOXO4W\$< +M^4[U=Y'Z.Y@CWZG^+E)_M\Q]Z'/D.]7?1>KO/BQSC3NZ_RY4?Q>IO_LP<_>A +M<T>^4_U=I/[NP\S=A\X=^4[U=Y'ZNP^7J[,CWZG^+E)_U\ZNSY'O5'\7J;^# +M.?*=ZN\B]7<P1[Y3_5VD_FZ9^]CGR'>JOXO4WWU<YCIWY#O5WT7J[S[.W'UL +MW-']=Z'ZNTC]W<>9NX^-.[K_+E1_%ZF_^WC)9T?WWX7J[R+U=^WL^ASY3O5W +MD?H[F"/?J?XN4G\'<^0[U=]%ZN^6N4]]CGRG^KM(_=VG9:YQ1_??A>KO(O5W +MGV;N/G7NR'>JOXO4WWV:N?O4N2/?J?XN4G_WZ7)U=N0[U=]%ZN_:V?4Y\IWJ +M[R+U=S!'OE/]7:3^#N;(=ZJ_B]3?+7.?^QSY3O5WD?J[S\M<YXY\I_J[2/W= +MYYF[SXT[NO\N5'\7J;_[/'/WN7%']]^%ZN\B]7>?+_GLZ/Z[4/U=I/ZNG5V? +M(]^I_BY2?P=SY#O5WT7J[V".?*?ZNTC]W3+WI<^1[U1_%ZF_^[+,->[H_KM0 +M_5VD_N[+S-V7SAWY3O5WD?J[+S-W7SIWY#O5WT7J[[Y<KLZ.?*?ZNTC]73N[ +M/D>^4_U=I/X.YLAWJK^+U-_!'/E.]7?#\I,T][7/@>\&U=\-J;_[NLQU[L!W +MWY]B[H;4WWV=N?NZ<#?<\%/,W9#ZNZ\S=U__;'/@NT'U=T/J[[Y>TMD-=/]= +M^]"?^/8V_?CVQ\O;P?7MVQU\=;.#O^M/?/O'V_M_M<';ZVK^@\'U>K6['OR? +M^0VO;Z^KF8;58:#W=3[WC^H-W\W1MS__*^<W_,WGM[U]P^OM:EBOUIO5Z+_[ +M"O_OG_\+;WC[][WAN[F2O_:"[7?F;O^\_>F?_/'MIEM(*3]Q-W=U<=V6[N?I +M+^*'8$[T"?GJZ/N]_P58ME=WX/S\=;[]CO'?_^5X^?\?Z2+1]O5=]=='3?F] +MM_N+U[>Z?KNW?Z9M[__S]M.<%V]W=7]N_\NO[:]?W8/K5T??4_VO?#&N;G+Y +MS=^Y/T;N_\Z]F_._5P33K9E__+&S@[_K3WS[]]O[?]T-#K>#?_P_?B!?31"G +"```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-pc98.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-pc98.qcow2.gz.uu new file mode 100644 index 0000000..afb67c9 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-pc98.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-pc98.qcow2.gz +M'XL("*8[(U0``VEM9RTQ>#$M-#`Y-BUP8SDX+G%C;W<R+F]U=`"MF-N2TS`, +MAN_[%"Z'!18HL62G"8<%]L`,=W`!7+?=]BGZ\&QB;90H4MSMI,UDIN/^W\CQ +M%S5N4:27<]&[4+I0N\/6/7RF`USOP_!PQ]\_?J[ZK^,BP7QAI)2!@!UNP+IA +M'%BXPH\'O([K58<*#AY38U`.%\SJI@84W.6BO73M8E0B@><`$\Y<C+/J@U2? +M3(0SZX.YZT/]^L7'G!PHI^O#5)],K2U<E<6!DJHMW":+0R6UM7"[+"XHJ7L+ +MM\_BHI(Z&#B?4>4!5RHI;^$@BULK*;1P(8NKE)3EG<][5RLIRSN?]VZCI"SO +M?-Z[K9*RO/-Y[W9*RO+.Y[V[5U*6=V!XYQBW5U*6=R"\6Q+N&>,.2LKR#H1W +MSPGWHL-Y+65Y!\*[EX2[8)S2[\#R#H1WKPCWFG%*OP/+.Q#>O2'<)>.4?@>6 +M=R"\>TNX=XQ3^AU8WH'P[OW(.Z_T.["\0^'=!V(5C%/Z'5K>H?#.$PX8I_0[ +MM+Q#X1T2+C!.Z7=H>8?"NTBXDG%*OT/+.Q3>K0E7,4[I=VAYA\*[FG`?&:?T +M.[2\0^'=)\)]9IS2[]#R#H5W7PAWQ3BEWZ'E71#>?27<-\8I_2Y8W@7AW7?" +M73-.Z7?!\BX([VX(=]OA0$MUWA6%?A#N;G3/PKS/GX&?C[URM@<F@-53@%,5 +M)EP]ZX1CFG"CP48YVP/'Z]7PW0%;89X`C-%MQL`_:<(Q"5,'MPO:O`X'/DZX +M?G%N86*S)+->/V@G'-?-71%+5\&I%?Z[^ZM,&.:;<,+9VWD:Z`KVI^#:[7SO +MF[[_<&8.#!_.EHR;W,XW>Y2]-F!6%^>5!:`2N?XZMYNK'>]"Q:-MM[Z.ZU.: +M`0RF.U&?&T^W^=7M=L=B%=L%R$S7#7';R;6=KFXYKFXW\V*@O#-.O',;R/#. +I33B8MQ&$]+]>T?;(T=D>./Y:#=\)&`@XVQ4,9?/;L?@/'U:4T(,4```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-pc98.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-pc98.raw.gz.uu new file mode 100644 index 0000000..5398eae --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-pc98.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-pc98.raw.gz +M'XL("//%'50``VEM9RTQ>#$M-#`Y-BUP8SDX+G)A=RYO=70`K91!#H,@$$7W +MGF+<=F%@'*INFW3?3=NU-?44'+X@5`4$-0$,,?GP\C\#,&8:`"&P?F.,"_)6 +MN5T6EV*B\?$<4`CH0^!3`2<<:G\=P4"@_KP/QG'Y'$%67OOCN!)#D%T5%39P +M-BYEWC^<`HL&2("X0HM'';[OKXW`F"^PP>$>;C;,C^!JO6HU4[E%/N-B@L&5 +MEE4N.$JY4PCV/156Y#TLB*VW;EUG8.H,#\!:JZ$+G.L+B[\NM(%.W(0_"./V +M&M>X\_D*ASMQP<5]DK5-NRM#=T/F8M3^S3AX<S7$O;D&AWD?`II>9G4"]1L9 +9C'%!/BJW&R!98+8=)-3`X@?$\J!S108````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhd.gz.uu new file mode 100644 index 0000000..8df641e --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-pc98.vhd.gz +M'XL("//%'50``VEM9RTQ>#$M-#`Y-BUP8SDX+G9H9"YO=70`K9=-;X,P#(;O +M_16N=NNA2HP3VNNT[CQIVG8M9;3:81]:>^B!'[\8$DCX6KL%*`H*?O+:<4PJ +M1'T`Z`3T'G0!6G$[)=!K2%<`IM->6-VE?80R__PH\M/;>6F/<E;#I/"M0G.V +MQP3(#)("9CR(?N4VE`ZSO-D<%F_O!X=#BW,#DP9"4`9"O7&T:-0QZ?[V\:Y" +M;EMU25]=:V5^.P)!(*7W1N+4;1N-#8Z,U7Y?72ED62737<%#T-$ZV\$IT;'R +M9`X%U7-V"*>GK*[!+69V+NI4,8F1FKL)G804N6W2QL6A=YE4.1^_LN]CT=&' +M(ZFB&WVRUY>,NXLV5="];!40I_.4NU!13EW<0*K\*WHZM"/;,$$0RG5@Y7X8 +MO18%OCXMQ43,QR=C5%_&^LS:$MG`?;RCO%V&9P/<[:\#*L5+J`M\<@[GK&]- +MD--0W'TG+UH=^4CV_7E^B\CQP\IAE7*Y5!I6>*G"E\WS@,,8S^$:A[_A&L'R +M$EQB:Y][TZC%YFLSVE'CYI8U;W$TI8[77'&5LRINLF"^ZMCY\PS"Y'`.8N55 +M!0_8S"^T^M9]&1BX.Z$/^NYFC$O#]Z6'PU_<A1"WFYS;:77SOKH\\F2\=E?& +MA2N7(>'*K7$8MQ!059E-!G*-[-W'.\J'97C60+2E/MJW`VUMCJ:0+#":0K+5 +M.:)"*B:3[=HLU%9AI(TXXR)NQ!D7<2/.N(@;<<9%W(@S+N)&G'%1-^+:_,42 ++8O8#/[LV_KT-```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhdf.gz.uu new file mode 100644 index 0000000..49a64aa --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-pc98.vhdf.gz +M'XL("//%'50``VEM9RTQ>#$M-#`Y-BUP8SDX+G9H9&8N;W5T`*V5L6Z#,!"& +M]SS%1=TR1/BP#UBCIG.EJNT:0B'*T';IT(&'KVU,\&$@266PD-'AC__WV><D +MZ2X`B9"4$\_Y0+O;\KM=;5:6)IK[@$I!&0)?-=#BT.@K)%02=&_4H&F&Q@+M +M=G3U.*&#(<B-F@U,X)Q=&7G^T!I6&4@%BB#'6Q6^[]\F#&,\PQT.K^$N@L4M +MN-2,\K[4:E%<<'.!#K=VK/6`DTOJ-"*I[S*KXBX6Q'PTSL\S)'H-5Y#D+H8< +M>,DO#/J*4`8RNPOZ(+1;&ES&OQ<>#J_8!8X[+N9V6=TZ5%=%3D8ZWADW[EP# +MX3NWPV'<0B!M9=8KT-3(X#D?:)^W_.Z`T@&CS2"YLX-2H`:H!E*FGTF@`K+< +M!R)?26WU_557/^=?/\,&)T85W6]F/*9FMU`&6)J?T(?I>_H>]J?-^?/4X_I2 +MU?]8DIETI2$RL$O<[M/NY=$B#X.Z-)PD\F?OJ$\H"4(PXT[=@2]GLOGMS=8- +D')65V3?VP@*3I<K@5#(:]=_<=CB*O%3TJ;;Z`TU!^3)P"``` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-pc98.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-pc98.vmdk.gz.uu new file mode 100644 index 0000000..f76b425 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-pc98.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-pc98.vmdk.gz +M'XL("/3%'50``VEM9RTQ>#$M-#`Y-BUP8SDX+G9M9&LN;W5T`*U<76_<R!%\ +M]Z^@?2]!'A:LY?>#@>0B!PB"`,;Y<O<:?N:$G#\@"T$,[(\/AYP:%;6BAG=J +M>>7E>+MKIWMV2W)U8=-T_4J2O$OR/,F'I"B3%,G\3^LM2;.'Q7P[UWS@\O>; +M?_QTXM<?3J?+JQ4,+DM2D"J<+#;/<SD]^B+<^;FLS0/S[1R%RUQ6=Y7HX<X[ +M#^S"Y?.#YZ=2N+MV>7AP%P*7!*!D`U<\4=-NL<_M[H^O?//<_C*WA_EXRR:I +MLJ3L_#(IBV6=)=5Y>2Q-JCEHF@&_2VYNO_XGN1F_]G>W7^X_^_V=W=G.P7GI +MXLO>(<R%5:6[<`\XN,9!E&.2#4D&]W!RN?OK[:_CZ;_CW=?;SY_>@N6>W=GF +M69(W;CLN/GVX;1;N2=*DA'N.Y/*7O]V\]:_<]/2EO2.<RYHW,C_W7(?BEF7B +MOJ]OR^[&3_<.<?)?87?N;'USBN6Y<W=1Y$G5),MV"H=]GA\>?,E+[_J[L;T? +M?_SV97S[YN/G3Z%W[FQ=RYH%J%X:E25%YJ!\::Y]A4-T+YOEU)++K[?WO]SV +M'^8ROXYO3M\EA"M=[^8#K/V^UJKGE'+W9.=M7][][WZN-QG\R=X2;MG$4L3\ +MW,4Y*2J'-1_@<A3G),O=U?Q/\X;G2G*XH.3R^=/IAY_GM[AKUH?W?_Z!</6< +M-4?.&YQ3YH(V-15K_<7CEV5R^?`N>>.*_/&7<7D%$JY9WV8N>#T'+,NSN_!= +M6^$=B>7N@>5DDYOVODV^;[^.I^]N;KX/)]NZ8O/E-F]M="CE"NU>WTL[Y\:M +M)[T>]'(4P]"=VJ']<C_>N>,-1]&Y%@V^4G>L^<,Q;I^G6DYJ<J^8Y/(V>7,[ +MS&?J8/\]?OY(N'Y]&<_[<"^)9DG,W,7\ZEG@1_\,ZRO&'9.#&^_OOIWZ;[_> +M?AKF-UKREG##VKMY.^MI/ASF?(#S#I_<X-R[-\NIANT1;G2[&ZXVN)RG;V38 +M5'C:Y/)QV=XO8SO,6YNQ"3>YW9V?WH?OU*.GFM&3RT/7%MRO'BY+/05DGLHV +M+0K;69]0"'3L[S_?K1M[(WR</?Y9]E(^SJ]^I%:_$W"%L]Y?F3[Z>99I7BZ+ +M8@/H?HJE\_>?YN_W#_LKW?Y*B:PTJY9%LX'[UPSQY;K<TKT+6XGL-*N7Q7"D +M>Z6CME$BI\?=XZ\:D.M]./XNP,A,LW)9%!NXO=X5OG>,K#2KED6S@=OK7>E[ +MQ\A.LWI9#(>*K7SO&#EIEKOCKU)(#_Q:5M:^=XS,-"N71;&!V^M=XWO'R$JS +M:EDT&[B]WK6^=XSL-*N7Q7"HV,[WCI&39KD[$@3D>A^N][UC9*99N2R*#=Q> +M[P;?.T96FE7+HMG`[?5N]+UC9*=9O2R&0\5.OG>,G#3+W>72NSP&5Z6^=XS, +M-"N71;&!V^E=1;YC9*59M2R:#=Q.[RKR'2,[S>IE,1PJEGS'R$FSW%TAO2NB +M<.0[1F::E<NBV,#M]8Y\Q\A*LVI9-!NXO=Z1[QC9:58OB^%0L>0[1DZ:Y>Y* +MZ5T9A2/?,3+3K%P6Q09NKW?D.T96FE7+HMG`[?6.?,?(3K-Z60R'BB7?,7+2 +M+'?'7X(@U_MPY#M&9IJ5RZ+8P.WUCGS'R$JS:EDT&[B]WI'O&-EI5B^+X5"Q +MY#M&3IKE[BC(0*YWX>K4]XZ1F6;ELB@V<#N]J\EWC*PTJY9%LX';Z5U-OF-D +MIUF]+(9#Q9+O&#EIEKMKI'=-%(Y\Q\A,LW)9%!NXO=Z1[QA9:58MBV8#M]<[ +M\ATC.\WJ93$<*I9\Q\A)L]P=__\$N=Z'(]\Q,M.L7!;%!FZO=^0[1E::5<NB +MV<#M]8Y\Q\A.LWI9#(>*)=\Q<M(L=T?]$7*]#T>^8V2F6;DLB@W<7N_(=XRL +M-*N61;.!V^L=^8Z1G6;ULA@.%4N^8^2D6>ZNE][U,;@F];UC9*99N2R*#=Q. +M[QKR'2,KS:IET6S@=GK7D.\8V6E6+XOA4+'D.T9.FN7N!NG=$(4CWS$RTZQ< +M%L4&;J]WY#M&5II5RZ+9P.WUCGS'R$ZS>ED,AXHEWS%RTBQW-TKOQB@<^8Z1 +MF6;ELB@V<'N](]\QLM*L6A;-!FZO=^0[1G::U<MB.%0L^8Z1DV:YNTEZ-T7A +MR'>,S#0KET6Q@=OK'?F.D95FU;)H-G![O2/?,;+3K%X6PZ%BR7>,G#0KE>D9 +MY'H7KDW7WH7(3+-R610;N)W>M9[O0F2E6;4LF@W<3N]:SW<ALM.L7A;#H6(] +MWX7(2;-<RT2_0U32:CW?0?0[J'X'T>\0U>]:SW<0_0ZJWT'T.T3UN];S'42_ +M@^IW$/WN0+&>[R#Z'52_@^AWB$I:K><[B'X'U>\@^AVB^EWK^0ZBWT'U.XA^ +MAZA^UWJ^@^AW4/T.HM\=*-;S'42_@^IW$/T.44FK]7P'T>^@^AU$OT-4OVL] +MWT'T.ZA^!]'O$-7O6L]W$/T.JM]!]+L#Q7J^@^AW4/T.HM\A*FEUJ>^=Z'=0 +M_0ZBWR&JWW7D.]'OH/H=1+]#5+_KR'>BWT'U.XA^=Z!8\IWH=U#]#J+?(2II +M=>0[T>^@^AU$OT-4O^O(=Z+?0?4[B'Z'J'[7D>]$OX/J=Q#][D"QY#O1[Z#Z +M'42_0U32ZLAWHM]!]3N(?H>H?M>1[T2_@^IW$/T.4?VN(]^)?@?5[R#ZW8%B +MR7>BWT'U.XA^AZBDU9'O1+^#ZG<0_0Y1_:XCWXE^!]7O(/H=HOI=1[X3_0ZJ +MWT'TNP/%DN]$OX/J=Q#]#E%)JT]][T2_@^IW$/T.4?VN)]^)?@?5[R#Z':+Z +M74^^$_T.JM]!]+L#Q9+O1+^#ZG<0_0Y12:LGWXE^!]7O(/H=HOI=3[X3_0ZJ +MWT'T.T3UNYY\)_H=5+^#Z'<'BB7?B7X'U>\@^AVBDE9/OA/]#JK?0?0[1/6[ +MGGPG^AU4OX/H=XCJ=SWY3O0[J'X'T>\.%$N^$_T.JM]!]#M$):V>?"?Z'52_ +M@^AWB.IW/?E.]#NH?@?1[Q#5[WKRG>AW4/T.HM\=*)9\)_H=5+^#Z'>(2EI# +MZGLG^AU4OX/H=XCJ=P/Y3O0[J'X'T>\0U>\&\IWH=U#]#J+?'2B6?"?Z'52_ +M@^AWB$I:`_E.]#NH?@?1[Q#5[P;RG>AW4/T.HM\AJM\-Y#O1[Z#Z'42_.U`L +M^4[T.ZA^!]'O$)6T!O*=Z'=0_0ZBWR&JWPWD.]'OH/H=1+]#5+\;R'>BWT'U +M.XA^=Z!8\IWH=U#]#J+?(2II#>0[T>^@^AU$OT-4OQO(=Z+?0?4[B'Z'J'XW +MD.]$OX/J=Q#][D"QY#O1[Z#Z73#30:X%+EF_/=R8KKT+D9EFI>G3M[EW,T2: +M7.UN-/8'8O$'AIG"6M7O`USAK/<7YMO2OX>\W^I?1)AO\_8B_R+"?)NW%_D7 +M$>;;O+W(OX@PWS;Q+R+,MTW\BPCS;1/_(L)\V\2_B##?-O$O(LRW3?R+"/-M +M$_\BPGS;Q+^(,-\V\2\BS+=-_(L(\VT3_R+"?-O$OX@PWS;Q+R+,MTW\BPCS +M;1/_(L)\V\2_B##?-O$O(LRW3?R+"/-M$_\BPGS;Q+^(,-\V\2\BS+=-_(L( +M\VT3_R+"?-O$OX@PWS;Q+R+,MTW\BPCS;1/_(L)\V\2_",ZW;?R+X'S;QK\( +MSK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC. +MMVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW +M;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M +M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK^(,-]FY(O\BPCS;4:^R+^( +M,-]FY(O\BPCS;4:^R+^(,-\V\2\BS+=-_(L(\VT3_R+"?-O$OX@PWS;Q+R+, +MMTW\BPCS;1/_(L)\V\2_B##?-O$O(LRW3?R+"/-M$_\BPGS;Q+^(,-\V\2\B +MS+=-_(L(\VT3_R+"?-O$OX@PWS;Q+R+,MTW\BPCS;1/_(L)\V\2_B##?-O$O +M(LRW3?R+"/-M$_\BPGS;Q+^(,-\V\2\BS+=-_(L(\VT3_R+"?-O$OPC.MVW\ +MBQA-_8L83?V+&$W]BQA-_8L83?V+&$W]BQA-_8L83?V+&$W]BQA-_8L83?V+ +M&$W]BQA-_8L83?V+&$W]BYC2U-"_B,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_ +MB,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_>$[3U-"_>+[Z +M+.%-UC[<=;&K/S!?]K=^.NCUW_L/7+X_;?\$0$R_#;`HDO8:\)^^X'SYO-XF +M3_K\J;JFZ>$6*WB%L^Y?;MR_<BFXJ-P'Q19E4I^/[O#G=S\]47!I5_`*=_7A +MTX_APH8/?)9UN7Q`L4:Z]]2#:+GWP`KWVF.]?H#+G]N=SGF.%6O\X=/E\B'` +M&JOGO$P)^@<_PR-N">>;/.RON=[&>5/N,_N[XI9R^1!@_?A5/<4-V^V4FVSA +MNF?/]OG=O;[>76]\&%<?97OPG>M`MN_<%>YL2P3UPLRK>>+Z[_T'+N]/VS\K +.8+X`OOH_SBV/UN!>```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.qcow.gz.uu new file mode 100644 index 0000000..ddcfe73 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.qcow.gz.uu @@ -0,0 +1,125 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-vtoc8.qcow.gz +M'XL("+,S(E0``VEM9RTQ>#$M-#`Y-BUV=&]C."YQ8V]W+F]U=`"MG=NN&\>2 +M!=_]%=3]+C$SFV2W[C@8'&`>!CB#^0'S^DS,LSY^).WN*NUD+.49V+)@2!!J +M@;L4#AAVH+1>WWU;K3:V&K:K85I=#JOO/Y^_V^J7G]S_OOKVW__\S[>_?OOV +MQ]V8K7]S*OU\\)7-<_>V_M'G_,>IXVH]_1MSW[_CW"^?+OX?G^Z7+_9V[N4? +M=U\LGW,U&/<&5_/<>OY\)FYO^/<^W]?TY=K=[?U]7ZZ++W>C!K?W!O\US_TY +M?SX77^Y.S8WWYJ[IRW7QY4YJ;O];6%S`<E!SQV)NP%,G-7<NYC9XZL)S]IO? +MV[NY+9XR-><XMVIS.SP5:FZX-[=^NP"]S(UX2G!G)7<3GA+<6<G='D\)[JSD +M[H"G!'=6<G?$4X([*[D[X2G!G9?<G?&4X,Y+[BYX2G#G%7?&IP1W7G%GY#M7 +MW'G%G9'O7''G%7=&OG/%G5?<&?G.%7=><6?D.U?<1<6=D>]"<1<5=T:^"\5= +ME-R1[T)Q%R5WY+M0W$7)'?DN%'=1<D>^"\5=E-R1[T)Q%R5WY+M0W`TE=^2[ +M07$WE-R1[P;%W5!QYWQ*<#=4W#GY;E#<#15W3KX;%'=#Q9V3[P;%W5!QY^2[ +M07$W5-PY^6Y0W&TJ[IQ\MU'<;2KNG'RW4=QM2N[(=QO%W:;DCGRW4=QM2N[( +M=QO%W:;DCGRW4=QM2N[(=QO%W:;DCGRW4=QM2^[(=UO%W;;DCGRW5=QM*^Z" +M3PGNMA5W0;[;*NZV%7=!OMLJ[K85=T&^VRKNMA5W0;[;*NZV%7=!OMLJ[G85 +M=T&^VRGN=A5W0;[;*>YV)7?DNYWB;E=R1[[;*>YV)7?DNYWB;E=R1[[;*>YV +M)7?DNYWB;E=R1[[;*>[&DCORW:BX&TONR'>CXFZLN!OXE.!NK+@;R'>CXFZL +MN!O(=Z/B;JRX&\AWH^)NK+@;R'>CXFZLN!O(=Z/B;OG/WWJ.?#<I[J:*NX%\ +M-RGNII([\MVDN)M*[LAWD^)N*KDCWTV*NZGDCGPW*>ZFDCORW:2XFTKNR'>3 +MXFY?<D>^VRON]B5WY+N]XFY?<;?A4X*[?<7=AGRW5]SM*^XVY+N]XFY?<;<A +MW^T5=_N*NPWY;J^XVU?<;<AW>\7=\K\A]1SY[J"X.U3<;<AW!\7=H>2.?'=0 +MW!U*[LAW!\7=H>2.?'=0W!U*[LAW!\7=H>2.?'=0W!U*[LAW!\7=L>2.?'=4 +MW!U+[LAW1\7=L>)NRZ<$=\>*NRWY[JBX.U;<;<EW1\7=L>)N2[X[*NZ.%7=; +M\MU1<7>LN-N2[XZ*NU/%W99\=U+<G2KNMN2[D^+N5')'OCLI[DXE=^2[D^+N +M5')'OCLI[DXE=^2[D^+N5')'OCLI[DXE=^2[D^+N7')'OCLK[LXE=^2[L^+N +M7'&WXU."NW/%W8Y\=U;<G2ON=N2[L^+N7'&W(]^=%7?GBKL=^>ZLN#M7W.W( +M=V?%W:7B;D>^NRCN+A5W._+=17%W*;DCWUT4=Y>2._+=17%W*;DCWUT4=Y>2 +M._+=17%W*;DCWUT4=Y>2._+=17!GRP_T'/C.UH([6Y?<@>]L+;BS=<7=R*>8 +M.RO[NQ%\9ZJ_L[*_&\%WIOH[*_N[$7QGJK^SLK\;P7>F^CLK^[L1?&>JO[.R +MOQO!=Z;Z.RO[NQ%\9ZJ_L[*_&\%WIOH[*_N[$7QGJK^SLK\;P7>F^CLK^[L1 +M?&>JO[.ROQO!=Z;Z.RO[NQ%\9ZJ_L[*_&\EWJK^SLK\;R7>JO[.ROYOXE."N +M[.\F\IWJ[ZSL[R;RG>KOK.SO)O*=ZN^L[.\F\IWJ[ZSL[R;RG>KOK.SO)O*= +MZN^L[.\F\IWJ[ZSL[R;RG>KOK.SO)O*=ZN^L[.\F\IWJ[ZSL[R;RG>KOK.SO +M)O*=ZN^L[.\F\IWJ[ZSL[R;RG>KOK.SO)O*=ZN^L[._V?$IP5_9W>_*=ZN^L +M[._VY#O5WUG9W^W)=ZJ_L[*_VY/O5']G97^W)]^I_L[*_FY/OE/]G97]W9Y\ +MI_H[*_N[/?E.]7=6]G=[\IWJ[ZSL[_;D.]7?6=G?[<EWJK^SLK_;D^]4?V=E +M?[<GWZG^SLK^;D^^4_V=E?W=GGRG^CLK^[L#GQ+<E?W=@7RG^CLK^[L#^4[U +M=U;V=P?RG>KOK.SO#N0[U=]9V=\=R'>JO[.ROSN0[U1_9V5_=R#?J?[.RO[N +M0+Y3_9V5_=V!?*?Z.RO[NP/Y3O5W5O9W!_*=ZN^L[.\.Y#O5WUG9WQW(=ZJ_ +ML[*_.Y#O5']G97]W(-^I_L[*_N[(IP1W97]W)-^I_L[*_NY(OE/]G97]W9%\ +MI_H[*_N[(_E.]7=6]G='\IWJ[ZSL[X[D.]7?6=G?'<EWJK^SLK\[DN]4?V=E +M?W<DWZG^SLK^[DB^4_V=E?W=D7RG^CLK^[LC^4[U=U;V=T?RG>KOK.SOCN0[ +MU=]9V=\=R7>JO[.ROSOQ*<%=V=^=R'>JO[.ROSN1[U1_9V5_=R+?J?[.RO[N +M1+Y3_9V5_=V)?*?Z.RO[NQ/Y3O5W5O9W)_*=ZN^L[.].Y#O5WUG9WYW(=ZJ_ +ML[*_.Y'O5']G97]W(M^I_L[*_NY$OE/]G97]W8E\I_H[*_N[$_E.]7=6]G<G +M\IWJ[ZSL[\Y\2G!7]G=G\IWJ[ZSL[\[D.]7?6=G?G<EWJK^SLK\[D^]4?V=E +M?W<FWZG^SLK^[DR^4_V=E?W=F7RG^CLK^[LS^4[U=U;V=V?RG>KOK.SOSN0[ +MU=]9V=^=R7>JO[.ROSN3[U1_9V5_=R;?J?[.RO[N3+Y3_9V5_=V9?*?Z.RO[ +MNPN?$MR5_=V%?*?Z.RO[NPOY3O5W5O9W%_*=ZN^L[.\NY#O5WUG9WUW(=ZJ_ +ML[*_NY#O5']G97]W(=^I_L[*_NY"OE/]G97]W85\I_H[*_N["_E.]7=6]G<7 +M\IWJ[ZSL[R[D.]7?6=G?7<AWJK_SY0=I;M7GP'??3S%WGOJ[Y3V]5><.?.>J +MO_/4WZUF[E8+=['F4\R=I_YN-7.W^K/-@>]<]7>>^KO5-=U=T/MWKOH[3_U= +MN[L^![YSU=]YZN]@#GSGJK_SU-_!'/C.57_GJ;];YA[T.?"=J_[.4W_W8)E; +MM3GPG:O^SE-_]V#F[D'G#GSGJK_SU-\]F+E[T+D#W[GJ[SSU=P^N-W<'OG/5 +MWWGJ[]K=]3GPG:O^SE-_!W/@.U?]G:?^#N;`=Z[Z.T_]W3+WL,^1[U1_YZF_ +M>[C,=>[(=ZJ_\]3?/9RY>]BXH_?O7/5WGOJ[AS-W#QMW]/Z=J_[.4W_W\)KO +MCMZ_<]7?>>KOVMWU.?*=ZN\\]7<P1[Y3_9VG_@[FR'>JO_/4WRUSC_H<^4[U +M=Y[ZNT?+7...WK]SU=]YZN\>S=P]ZMR1[U1_YZF_>S1S]ZAS1[Y3_9VG_N[1 +M]>;NR'>JO_/4W[6[ZW/D.]7?>>KO8(Y\I_H[3_T=S)'O5'_GJ;];YA[W.?*= +MZN\\]7>/E[G.'?E.]7>>^KO',W>/&W?T_IVK_LY3?_=XYNYQXX[>OW/5WWGJ +M[QY?\]W1^W>N^CM/_5V[NSY'OE/]G:?^#N;(=ZJ_\]3?P1SY3O5WGOJ[9>Y) +MGR/?J?[.4W_W9)EKW-'[=Z[Z.T_]W9.9NR>=._*=ZN\\]7=/9NZ>=.[(=ZJ_ +M\]3?/;G>W!WY3O5WGOJ[=G=]CGRG^CM/_1W,D>]4?^>IOX,Y\IWJ[SSU=\O< +MTSY'OE/]G:?^[NDRU[DCWZG^SE-_]W3F[FGCCMZ_<]7?>>KOGL[</6W<T?MW +MKOH[3_W=TVN^.WK_SE5_YZF_:W?7Y\AWJK_SU-_!'/E.]7>>^CN8(]^I_LY3 +M?[?,/>MSY#O5WWGJ[YXM<XT[>O_.57_GJ;][-G/WK'-'OE/]G:?^[MG,W;/. +M'?E.]7>>^KMGUYN[(]^I_LY3?]?NKL^1[U1_YZF_@SGRG>KO//5W,$>^4_V= +MI_YNF7O>Y\AWJK_SU-\]7^8Z=^0[U=]YZN^>S]P];]S1^W>N^CM/_=WSF;OG +MC3MZ_\Y5?^>IOWM^S7='[]^YZN\\]7?M[OH<^4[U=Y[Z.Y@CWZG^SE-_!W/D +M.]7?>>KOEKD7?8Y\I_H[3_W=BV6N<4?OW[GJ[SSU=R]F[EYT[LAWJK_SU-^] +MF+E[T;DCWZG^SE-_]^)Z<W?D.]7?>>KOVMWU.?*=ZN\\]7<P1[Y3_9VG_@[F +MR'>JO_/4WRUS+_L<^4[U=Y[ZNY?+7.>.?*?Z.T_]W<N9NY>-.WK_SE5_YZF_ +M>SES][)Q1^_?N>KO//5W+Z_Y[NC].U?]G:?^KMU=GR/?J?[.4W\'<^0[U=]Y +MZN]@CGRG^CM/_=TR]ZK/D>]4?^>IOWNUS#7NZ/T[5_V=I_[NU<S=J\X=^4[U +M=Y[ZNU<S=Z\Z=^0[U=]YZN]>76_NCGRG^CM/_5V[NSY'OE/]G:?^#N;(=ZJ_ +M\]3?P1SY3O5WGOJ[9>YUGR/?J?[.4W_W>IGKW)'O5'_GJ;][/7/WNG%'[]^Y +MZN\\]7>O9^Y>-^[H_3M7_9VG_N[U-=\=O7_GJK_SU-^UN^MSY#O5WWGJ[V". +M?*?Z.T_]'<R1[U1_YZF_6^;>]#GRG>KO//5W;Y:YQAV]?^>JO_/4W[V9N7O3 +MN2/?J?[.4W_W9N;N3>>.?*?Z.T_]W9OKS=V1[U1_YZF_:W?7Y\AWJK_SU-_! +M'/E.]7>>^CN8(]^I_LY3?[?,O>USY#O5WWG5WP6]?^>JO_.JOPMZ_\Y5?^=5 +M?Q?T_IVK_LZK_B[H_3M7_9U7_5W0^W>N^CNO^KN@]^]<]7=>]7=![]^YZN]< +M]'?O^ASY3O5WGOJ[=\M<XX[>OW/5WWGJ[][-W+WKW)'O5'_GJ;][-W/WKG-' +MOE/]G:?^[MWUYN[(=ZJ_\]3?M;OK<^0[U=]YZN]@CGRG^CM/_1W,D>]4?Q?+ +M#]+<NL^![T+U=]]_X1YWBY_6G3OP7:C^+E)_MY[WUHT[>O\N5'\7J;];S]RM +M&W?T_EVH_BY2?[>^YKNC]^]"]7>1^KMV=WT.?!>JOXO4W\$<^"Y4?Q>IOX,Y +M\%VH_BY2?[?,69\#WX7J[R+U=[;,->[H_;M0_5VD_L[FCV>=._!=J/XN4G]G +M,W?6N0/?A>KO(O5W=KVY._!=J/XN4G_7[J[/@>]"]7>1^CN8`]^%ZN\B]7<P +M![X+U=]%ZN^6.>]SY#O5WT7J[WR9Z]R1[U1_%ZF_\YD[;]S1^W>A^KM(_9W/ +MW'GCCMZ_"]7?1>KO_)KOCMZ_"]7?1>KOVMWU.?*=ZN\B]7<P1[Y3_5VD_@[F +MR'>JOXO4WRUST>?(=ZJ_B]3?Q3+7N*/W[T+U=Y'ZNYBYB\X=^4[U=Y'ZNYBY +MB\X=^4[U=Y'ZN[C>W!WY3O5WD?J[=G=]CGRG^KM(_1W,D>]4?Q>IOX,Y\IWJ +M[R+U=\O<T.?(=ZJ_B]3?#<M<YXY\I_J[2/W=,',W-.[H_;M0_5VD_FZ8N1L: +M=_3^7:C^+E)_-USSW='[=Z'ZNTC]7;N[/D>^4_U=I/X.YLAWJK^+U-_!'/E. +M]7>1^KME;M/GR'>JOXO4WVV6N<8=O7\7JK^+U-]M9NXVG3ORG>KO(O5WFYF[ +M3>>.?*?ZNTC]W>9Z<W?D.]7?1>KOVMWU.?*=ZN\B]7<P1[Y3_5VD_@[FR'>J +MOXO4WRUSVSY'OE/]7:3^;KO,=>[(=ZJ_B]3?;6?NMHT[>O\N5'\7J;_;SMQM +M&W?T_EVH_BY2?[>]YKNC]^]"]7>1^KMV=WV.?*?ZNTC]'<R1[U1_%ZF_@SGR +MG>KO(O5WR]RNSY'O5'\7J;_;+7.-.WK_+E1_%ZF_V\W<[3IWY#O5WT7J[W8S +M=[O.'?E.]7>1^KO=]>;NR'>JOXO4W[6[ZW/D.]7?1>KO8(Y\I_J[2/T=S)'O +M5'\7J;];YL8^1[Y3_5VD_FY<YCIWY#O5WT7J[\:9N[%Q1^_?A>KO(O5WX\S= +MV+BC]^]"]7>1^KOQFN^.WK\+U=]%ZN_:W?4Y\IWJ[R+U=S!'OE/]7:3^#N;( +M=ZJ_B]3?+7-3GR/?J?XN4G\W+7.-.WK_+E1_%ZF_FV;NILX=^4[U=Y'ZNVGF +M;NK<D>]4?Q>IOYNN-W='OE/]7:3^KMU=GR/?J?XN4G\'<^0[U=]%ZN]@CGRG +M^KM(_=TR][[/D>]4?Q>IOWN_S'7NR'>JOXO4W[V?N7O?N*/W[T+U=Y'ZN_<S +M=^\;=_3^7:C^+E)_]_Z:[X[>OPO5WT7J[]K=]3GRG>KO(O5W,$>^4_U=I/X. +MYLAWJK^+U-\M<Q_Z'/E.]7>1^KL/RUSCCMZ_"]7?1>KO/LS<?>C<D>]4?Q>I +MO_LP<_>A<T>^4_U=I/[NP_7F[LAWJK^+U-^UN^MSY#O5WT7J[V".?*?ZNTC] +M'<R1[U1_%ZF_6^8^]CGRG>KO(O5W'Y>YSAWY3O5WD?J[CS-W'QMW]/Y=J/XN +M4G_W<>;N8^..WK\+U=]%ZN\^7O/=T?MWH?J[2/U=N[L^1[Y3_5VD_@[FR'>J +MOXO4W\$<^4[U=Y'ZNV7N4Y\CWZG^+E)_]VF9:]S1^W>A^KM(_=VGF;M/G3OR +MG>KO(O5WGV;N/G7NR'>JOXO4WWVZWMP=^4[U=Y'ZNW9W?8Y\I_J[2/T=S)'O +M5'\7J;^#.?*=ZN\B]7?+W.<^1[Y3_5VD_N[S,M>Y(]^I_BY2?_=YYNYSXX[> +MOPO5WT7J[S[/W'UNW-'[=Z'ZNTC]W>=KOCMZ_RY4?Q>IOVMWU^?(=ZJ_B]3? +MP1SY3O5WD?H[F"/?J?XN4G^WS'WI<^0[U=]%ZN^^+'.-.WK_+E1_%ZF_^S)S +M]Z5S1[Y3_5VD_N[+S-V7SAWY3O5WD?J[+]>;NR/?J?XN4G_7[J[/D>]4?Q>I +MOX,Y\IWJ[R+U=S!'OE/]W;#\(,U][7/@NT'U=T/J[[XN<YT[\-WW4\S=D/J[ +MKS-W7Q?NAC6?$G_N<?IBORZ]\=LV1W_>=CM5S/WR[=L?+W\.;GY^OF&[VOEJ +MN_GQ??#5)E;#\.-_7:Z&DQK\Y_^>S__XG_\8_NO>Y]O\_9_O_C^W]OO!<;6> +M5FO'P;NY7_ZYG<JYWWV^NSGZ<Z/_PAS]N=$X]T-/W_^-X[OCSVGNSU_FZ,^- +M_BN_&;?/./W\]XH?;P6.]>"#7P;OYGY\N7>'\^^PJ;GOO_#MP<WGNYOK7Z[_ +M<L3OS1E]NA^/&ZYNYKJF\F<L;N\!?CK0U%]`A9YQXKG3?G4X_WS2[G(S]_#+ +J//?S&:<?4MK#W_4O?/O7V_M_W:$RS(-_&WO#>OO]4_[Q?X8;4W9_I0`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.qcow2.gz.uu new file mode 100644 index 0000000..426bfa7 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-vtoc8.qcow2.gz +M'XL("*@[(U0``VEM9RTQ>#$M-#`Y-BUV=&]C."YQ8V]W,BYO=70`K9C;CM,P +M$(;O^Q3N<EY@B6?L-.&PP.ZR$A=((%Z`IG$?@.L^/$[LULED)BY5VK129?V? +MQO;7J=.B"`^EK%:F5*96^T;YS_$"-?@POM3AU^/WF^'CL`HP70@I9L#@"3=B +MW2<<2+A"3P<TCQM4APP.CJDI*(<S8G5S`PSN>M4O7;\9%4G@)<"`$S?CHOH@ +MU$<3YL+Z8.GZD%\_>\S1@7*^/@SUT=1&PE59'#"I6L)MLSAD4HV$VV5QADFU +M$LYE<99)[06<SJCB<263TA(.LK@-DT()9[*XBDE)WNF\=S63DKS3>>^V3$KR +M3N>]:YB4Y)W.>[=C4I)W.N]=RZ0D[T#P3B6<8U*2=T"\6T?<5<+MF93D'1#O +MGD3<TQ-.<RG).R#>/8NXYPG']#N0O`/BW8N(>YEP3+\#R3L@WKV*N.N$8_H= +M2-X!\>YUQ+U).*;?@>0=$._>3KS33+\#R3LDWKV+K"+AF'Z'DG=(O-,1!PG' +M]#N4O$/B'4:<23BFWZ'D'1+O;,25"<?T.Y2\0^+=)N*JA&/Z'4K>(?&NCKCW +M"<?T.Y2\0^+=AXC[F'!,OT/).R3>?8JXVX1C^AU*WAGBW>>(^Y)P3+\SDG>& +M>/<UXNX2CNEW1O+.$._N(^[AA`,N=?*N*/@KXKY-OK.P[/G3I/.Q9M[E@1E@ +M]3_`N0H#KEYTPC9,V-\Z;D"5MKN\$A:[G?1-1)E6`C[^=>[N]X/Y,:S/+GU# +M8-/Z%=PR4535'\=!6C\[6K\ZB\MLAPT'LT6F&W#-N3C_X^*/]JU3SA'<GP%N +MM_!FZ,ET77?R]\>IZ@S@>@`,N&ZZ(4QWF/EOX#BL#NM)?0&7I@N#"(QPFJO. +MGQ;[UQC7)IRF/6MVLFNV.K>H*GU?/@O7;E7CNI-MLYG@KHZXOB_[`Y"_:9V^ +;RP.'GS?C9U#%1.!B[IFR:U2K?VQQ7;KP$@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.raw.gz.uu new file mode 100644 index 0000000..f5ae94e --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.raw.gz.uu @@ -0,0 +1,10 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-vtoc8.raw.gz +M'XL("/3%'50``VEM9RTQ>#$M-#`Y-BUV=&]C."YR87<N;W5T`*V230Z",!"% +M]YSBX=(%:8=296N,.Q,3+R#8>@#7/;QMA@0*Y<>$H73S>%_F,2,$%Z`T3@1= +MA:,(50FE4"HO&'A]>N!N7VLOSZNZ%UPN8YCT8M(BE@17C,IEQPYXCGQR&7B& +MJ"$H"61<W;OJ5=Q2?XQK]HK+N'8K3OO;P%A8.\*]!KCWSL.0D[@6?N`DPY]< +M!>;CN#+$9?-XPK,X+[A\TA_C^K@TL%"$DZGN4/`;XTR/DW^M2I[LSNZZ*O*S +M%6<:M!9$*/4$=]`=CH*K\M\WB7M><(\B?GA55`?<;?<4!6#V`]&)2;VR!``` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhd.gz.uu new file mode 100644 index 0000000..aadaa42 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhd.gz.uu @@ -0,0 +1,17 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-vtoc8.vhd.gz +M'XL("/3%'50``VEM9RTQ>#$M-#`Y-BUV=&]C."YV:&0N;W5T`*V6R6[",!"& +M[SS%2+UQ0-[BP+5JN56JU!?`21S40Q<!!PX\?&<29W$2!R@.QC)RYO,_X[$9 +MQNH'0$O0)6@+.J%QJD!O(%T#X*1KHNJY^PF7_.?;YJ?/\\H]ET4-XZQOY9N3 +MO9"@<)$4A*%%=$%CN#28U=/K?OGYM6]PPN&:A94&)2!!B!JMHUFKCDC;YX^7 +M"KGKU,FQNLX*OYD"IH#SWANR4;=K-;8XA59E6;44C*ED-LW[X4UTS@YP"1M8 +M]61.!;7G[!1.SUG=@ULNW%[4J8*)D6*/H>.0"AICVC1Q,E?/QUQR.=J!/ +M!%)%M_KX:$Z&W14N543SLE.@*)WGW(6*<AKB)E+EH>AIWTZY`0:!)<V$J-SW +MH]>AH*]/<S83\_!F!/49TH?'"W>4;H&D.V=2XT01<GA[L!9/FG[SXV<"N_OO +M^)FU9W?E=*R!;>C6"::+V716F\</FS&QW*UQV:TXNKX**"Q8.\#M>K@\\F9D +M(W<M9;*\#<B&[F;DKAR\SUT?P-%%RD;Z:ESGKNB9"`\WNEQ(';3'K(\K6MQ0 +MXQ5GV:0Z&S55LO)67&$@LR`ER&2$DXG#Y62%?T3,3/3AB<O[RO_4J2+<O1+M +MHA*Q%2H'C*80@3:R0LYF,^/>\ZN=PDA5'^$B5GV$BUCU$2YBU4>XB%4?X2)6 +2?82+6O7I*O<6?^^O%OLJ#``` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhdf.gz.uu new file mode 100644 index 0000000..bcf2071 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-vtoc8.vhdf.gz +M'XL("/7%'50``VEM9RTQ>#$M-#`Y-BUV=&]C."YV:&1F+F]U=`"ME,MN@S`0 +M1??YBBMUEP7R<PC;JLVN4J7^0""8J(NV4M5%%_[XVK%)L'$>JC"#!1KF>*X] +M#&-A`(I0"Y#VI@2TA%*0Y!P]G']NL-MO8Q[?GNBE"L.N`HP[9S&$77/8*AMV +MM8[`31+'KP,W8`V8*`(#KCE'-3=QU_(+N'8IN0'7W8LC-_?H#8S)<+L);K_P +M8?"97`-WX/(^(,OE<B]79M_S.%_`.8=EL_P"[BQ73$)$@N.E[%"%.\7U)UR> +MXPVQK)B=6;14^'`OKF_1&4@)J6<XJ2-.^"CMOF\+\V6'?:W2*Y2*BL#%:H]B +MHR()&D#FV*LD:@5J4&^F0)$<,^S^Z]/L?]Y_I_M'L5$-0]E\O'!-T"U20[1^ +M$>K]\R2_A^?#^OWC,.)$5#4N[%KJJ9/F*BF5NW5]=/QU1YR<;Q)-=Z]38`J< +M)\)C=KNT6#Q.G<2:`9T^ICE:\I(XBK7G<9IE4?\O98^CA4O%U=[J#P!,R,C= +#!@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vmdk.gz.uu new file mode 100644 index 0000000..238837c --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vmdk.gz.uu @@ -0,0 +1,81 @@ +# $FreeBSD$ +begin 644 img-1x1-4096-vtoc8.vmdk.gz +M'XL("/7%'50``VEM9RTQ>#$M-#`Y-BUV=&]C."YV;61K+F]U=`"M7%UOY,81 +M?/>O&)Q?#@D@L);?#P<DCFP@"`P8/B-Y-3]C(?;=02<$,;`_/AQR:E24Q!O" +M:F5E<FZ[:Z=[5B6ENK!9MGTY5_2N*%PQNK)R&=SR3]O#9?GC8GE<&CYQ_<?M +M]_^\X=?;FYOK5QL8?):D(%,X6>Q>YWKSY(MPER]E[9Y8'I<D7.ZS^F>)`>YR +M\,0A7+$\>7DIA;OKUJ='?R-P+@*Y'5SY0DV'Q7YI=W_Z*C3/[R_W>UB.MVI= +MG;NJ#TM7E>LZ=_5E?2YS]1(T+X!?N]N[S_]QM]/GX?[NT\/'L+^+/]LEN*A\ +M?#5XA*6PNO(W_@D/UWJ(:G+YZ'+XI]WU_KN[7Z>;_T[WG^\^?G@'EGOQ9UOD +MKFC]=GQ\]OC8+?R+9*Z"?PUW_=O?;]^%=VYV\ZF[)YS/6C:RO/92A^)6E?/? +MSQ_K[J8/#QYQ#E]Q=_YL0W/*];4+?U,6KF[=NIW28U^6I\=0\MJ[X7[J'J:? +M?O\TO7OSV\</L7?^;'W+VA6H61N5NS+W4*$TW[[2(_JWS7IJ[OKKW<,O=\/[ +MI<S/TYN;KQWA*M^[Y0";L*^MZB6E.CS99=O7;__WL-3KQG"R=X1;-[$6L;QV +M>7%E[;&6`UR/XN+RPM\M_[1L>*FD@`]RUX\?;G[\U_(C[IOU_H>__DBX9LE: +M(I<-+BE+0;N:RJW^\NG;TEW??^O>^")_^F5:WX&$:[<?,Q^\G0/6Y<7?A*YM +M\)[$"O_$>K+NMGOHW#?=Y^GFZ]O;;^+)=K[88GTL6YL\2K5!^_?WVLZE<=M) +M;P>]'L4X]C?=V'UZF.[]\<:CZ'V+QE"I/];B\1CWKU.O)S7[=XR[OG-O[L;E +M3#WLOZ>/OQ%NV-[&RS[\6Z)=$W-_L[Q[5O@IO,+VCO''Y.&FA_O?;X;??[W[ +M,"X_:.X=X<:M=\MVMM-\/,SE`)<=OKC!I7=OUE.-VR/<Y'<W/MO@>IZAD7%3 +M\67=];=U>[],W;AL;<$FW.QW=WEY'Z%33UYJ07?7QZZMN)\#7)X%"L@#E>U: +M%+>SO:`0Z#0\?+S?-O9&^#A_^KOLM7Q<//N56O]!P`W.>G]5]N3W6:YYA2S* +M':#_+98MWW]9OG]XW%_E]U=)9*U9C2S:'=S/"\2GY^56_J>PD\A>LP99C&>Z +M5WEJFR1R?MH]_JD!N3^&X]\"C,PUJY!%N8,[ZET9>L?(6K,:6;0[N*/>5:%W +MC.PU:Y#%>*K8.O2.D;-F^0O_E$)VXL^RJ@F]8V2N684LRAW<4>_:T#M&UIK5 +MR*+=P1WUK@N]8V2O68,LQE/%]J%WC)PURU]($)#[8[@A](Z1N685LBAW<$>] +M&T/O&%EK5B.+=@=WU+LI](Z1O68-LAA/%3N'WC%RUBQ_*:1W10JNSD+O&)EK +M5B&+<@=WT+N:?,?(6K,:6;0[N(/>U>0[1O::-<AB/%4L^8Z1LV;Y2RF]*Y-P +MY#M&YII5R*+<P1WUCGS'R%JS&EFT.[BCWI'O&-EKUB"+\52QY#M&SIKE+Y7T +MKDK"D>\8F6M6(8MR!W?4._(=(VO-:F31[N".>D>^8V2O68,LQE/%DN\8.6N6 +MO_"/(,C],1SYCI&Y9A6R*'=P1[TCWS&RUJQ&%NT.[JAWY#M&]IHUR&(\52SY +MCI&S9OD+!1G(_2%<DX7>,3+7K$(6Y0[NH'<-^8Z1M68ULFAW<`>]:\AWC.PU +M:Y#%>*I8\ATC9\WREU9ZUR;AR'>,S#6KD$6Y@SOJ'?F.D;5F-;)H=W!'O2/? +M,;+7K$$6XZEBR7>,G#7+7_C_GR#WQW#D.T;FFE7(HMS!'?6.?,?(6K,:6;0[ +MN*/>D>\8V6O6((OQ5+'D.T;.FN4OU!\A]\=PY#M&YII5R*+<P1WUCGS'R%JS +M&EFT.[BCWI'O&-EKUB"+\52QY#M&SIKE+X/T;DC!M5GH'2-SS2ID4>[@#GK7 +MDN\866M6(XMV!W?0NY9\Q\A>LP99C*>*)=\Q<M8L?QFE=V,2CGS'R%RS"EF4 +M.[BCWI'O&%EK5B.+=@=WU#OR'2-[S1ID,9XJEGS'R%FS_&62WDU)./(=(W/- +M*F11[N".>D>^8V2M68TLVAW<4>_(=XSL-6N0Q7BJ6/(=(V?-\I=9>C<GX<AW +MC,PUJY!%N8,[ZAWYCI&U9C6R:'=P1[TCWS&RUZQ!%N.I8LEWC)PU*Y/I&>3^ +M$*[+MM[%R%RS"EF4.[B#WG6![V)DK5F-+-H=W$'ONL!W,;+7K$$6XZEB`]_% +MR%FS?,M$OT-2TNH"WT'T.ZA^!]'OD-3ONL!W$/T.JM]!]#LD];LN\!U$OX/J +M=Q#][D2Q@>\@^AU4OX/H=TA*6EW@.XA^!]7O(/H=DOI=%_@.HM]!]3N(?H>D +M?M<%OH/H=U#]#J+?G2@V\!U$OX/J=Q#]#DE)JPM\!]'OH/H=1+]#4K_K`M]! +M]#NH?@?1[Y#4[[K`=Q#]#JK?0?2[$\4&OH/H=U#]#J+?(2EI]5GHG>AW4/T. +MHM\AJ=_UY#O1[Z#Z'42_0U*_Z\EWHM]!]3N(?G>B6/*=Z'=0_0ZBWR$I:?7D +M.]'OH/H=1+]#4K_KR7>BWT'U.XA^AZ1^UY/O1+^#ZG<0_>Y$L>0[T>^@^AU$ +MOT-2TNK)=Z+?0?4[B'Z'I'[7D^]$OX/J=Q#]#DG]KB??B7X'U>\@^MV)8LEW +MHM]!]3N(?H>DI-63[T2_@^IW$/T.2?VN)]^)?@?5[R#Z'9+Z74^^$_T.JM]! +M]+L3Q9+O1+^#ZG<0_0Y)26O(0N]$OX/J=Q#]#DG];B#?B7X'U>\@^AV2^MU` +MOA/]#JK?0?2[$\62[T2_@^IW$/T.24EK(-^)?@?5[R#Z'9+ZW4"^$_T.JM]! +M]#LD];N!?"?Z'52_@^AW)XHEWXE^!]7O(/H=DI+60+X3_0ZJWT'T.R3UNX%\ +M)_H=5+^#Z'=(ZG<#^4[T.ZA^!]'O3A1+OA/]#JK?0?0[)"6M@7PG^AU4OX/H +M=TCJ=P/Y3O0[J'X'T>^0U.\&\IWH=U#]#J+?G2B6?"?Z'52_@^AW2$I:8Q9Z +M)_H=5+^#Z'=(ZG<C^4[T.ZA^!]'OD-3O1O*=Z'=0_0ZBWYTHEGPG^AU4OX/H +M=TA*6B/Y3O0[J'X'T>^0U.]&\IWH=U#]#J+?(:G?C>0[T>^@^AU$OSM1+/E. +M]#NH?@?1[Y"4M$;RG>AW4/T.HM\AJ=^-Y#O1[Z#Z'42_0U*_&\EWHM]!]3N( +M?G>B6/*=Z'=0_0ZBWR$I:8WD.]'OH/H=1+]#4K\;R7>BWT'U.XA^AZ1^-Y+O +M1+^#ZG<0_>Y$L>0[T>^@^ETTTT'N!<YMWP%NRK;>O6@I?^&?8N_<B[N;C/V! +M6/V!<::P5?7'`#<XZ_W%^38?K_(O(LZW^7B5?Q%QOLW'J_R+B/-M/E[E7T2< +M;YOX%Q'GVR;^1<3YMHE_$7&^;>)?1)QOF_@7$>?;)OY%Q/FVB7\1<;YMXE]$ +MG&^;^!<1Y]LF_D7$^;:)?Q%QOFWB7T2<;YOX%Q'GVR;^1<3YMHE_$7&^;>)? +M1)QOF_@7$>?;)OY%Q/FVB7\1<;YMXE]$G&^;^!<1Y]LF_D7$^;:)?Q%QOFWB +M7T2<;YOX%Q'GVR;^1<3YMHE_$7&^;>)?!.?;-OY%<+YMXU\$Y]LV_D5POFWC +M7P3GVS;^17"^;>-?!.?;-OY%<+YMXU\$Y]LV_D5POFWC7P3GVS;^17"^;>-? +M!.?;-OY%<+YMXU\$Y]LV_D5POFWC7P3GVS;^17"^;>-?!.?;-OY%<+YMXU\$ +MY]LV_D5POFWC7P3GVS;^17"^;>-?!.?;-OY%<+YMXU\$Y]LV_D5POFWC7P3G +MVS;^17"^;>-?!.?;-OY%<+YMXU]$G&\S\E7^1<3Y-B-?Y5]$G&\S\E7^1<3Y +M-B-?Y5]$G&^;^!<1Y]LF_D7$^;:)?Q%QOFWB7T2<;YOX%Q'GVR;^1<3YMHE_ +M$7&^;>)?1)QOF_@7$>?;)OY%Q/FVB7\1<;YMXE]$G&^;^!<1Y]LF_D7$^;:) +M?Q%QOFWB7T2<;YOX%Q'GVR;^1<3YMHE_$7&^;>)?1)QOF_@7$>?;)OY%Q/FV +MB7\1<;YMXE]$G&^;^!<1Y]LF_D7$^;:)?Q%QOFWB7P3GVS;^14RF_D5,IOY% +M3*;^14RF_D5,IOY%3*;^14RF_D5,IOY%3*;^14RF_D5,IOY%3*;^14RF_D5, +MIOY%3*;^1<Q99NA?Q&SJ7\1LZE_$;.I?Q&SJ7\1LZE_$;.I?Q&SJ7\1LZE_$ +M;.I?Q&SJ7\1LZE_$;.I?Q&SJ7\1LZE_$;.I?O&199NA?O#S[+.&3<,^+W?R! +MQ;J_HN)GNI;^DT++]5-#\]+YCS\^`/SN?IJ^>7];?K_;7V&_OV:7AR\#-NM( +M\W)XND76/F:U2;@O[6^#ZZS*W>#ZLW#;V&6<W#0]@?M9X`;CP\"S<J?UIZ`Y +M!?CV:;GPY<;/S]Z=,([@_">GOGVVOPWNL5S]:;OLX/#2[L*/[!.X\1&N>9;U +MI6+?OKB[R?2M@ODLW-BY?G*7WN75,[@_5P%N_5CL;5+__+_'3UQ_N-G_;WNK +5%`'0[+U7^,]AS;[Z/YH4:2:>70`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-apm.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-apm.qcow.gz.uu new file mode 100644 index 0000000..99f2a7b --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-apm.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-512-apm.qcow.gz +M'XL(")XS(E0``VEM9RTQ>#$M-3$R+6%P;2YQ8V]W+F]U=`"MG=F.'=EQ1=_[ +M*RYGLCC=B,B1LP2Y`3\8:%O0LY0C($"V$[(`O_#C7<4Z0U7<O1F4NZE"@T0A +M-[).+:X6I,7#\_GVQ^G4RJGI3LUXVN?3]:_3AYSN_.+^Q^GKO__\KV_N_OCZ +MT^V8G+_SE/MUHR=)<_>V?E_G].:IY70>?V#N^@/.W7D[^R?>[LX7>SEW]=/M +M%XN?4S9H]P9/:>Z<WD_(Z34_]GY?W)<KMZ?WVWVY2K[<E@UV]P9_27-_2>^G +MY,OMV=QP;^YP7ZZ2+W=D<]-W85$"R\SFEF"N@4^M;&X+YEKXU([GY#O?V]NY +M#CXE;$[AW*G,]?`I8W/-O;GSFPQTGAO@4X0[";D;X5.$.PFYF^!3A#L)N9OA +M4X0[";E;X%.$.PFY6^%3A#L-N=O@4X0[#;G;X5.$.XVX$_P4X4XC[@3Y3AEW +M&G$GR'?*N-.(.T&^4\:=1MP)\ITR[C3B3I#OE'%G$7>"?&>,.XNX$^0[8]Q9 +MR!WRG3'N+.0.^<X8=Q9RAWQGC#L+N4.^,\:=A=PAWQGCSD+ND.^,<=>$W"'? +M-8R[)N0.^:YAW#41=XJ?(MPU$7>*?-<P[IJ(.T6^:QAW3<2=(M\UC+LFXDZ1 +M[QK&71-QI\AW#>.NC;A3Y+N6<==&W"GR7<NX:T/ND.]:QET;<H=\US+NVI`[ +MY+N6<=>&W"'?M8R[-N0.^:YEW+4A=\AW+>.N"[E#ONL8=UW('?)=Q[CK(NX, +M/T6XZR+N#/FN8]QU$7>&?-<Q[KJ(.T.^ZQAW7<2=(=]UC+LNXLZ0[SK&71]Q +M9\AW/>.NC[@SY+N><=>'W"'?]8R[/N0.^:YGW/4A=\AW/>.N#[E#ONL9=WW( +M'?)=S[CK0^Z0[WK&W1!RAWPW,.Z&D#ODNX%Q-T3<-?@IPMT0<=<@WPV,NR'B +MKD&^&QAW0\1=@WPW,.Z&B+L&^6Y@W`T1=PWRW<"XR__S-Y]#OAL9=V/$78-\ +M-S+NQI`[Y+N1<3>&W"'?C8R[,>0.^6YDW(TA=\AW(^-N#+E#OAL9=V/('?+= +MR+B;0NZ0[R;&W11RAWPW,>ZFB+L6/T6XFR+N6N2[B7$W1=RUR'<3XVZ*N&N1 +M[R;&W11QUR+?38R[*>*N1;Z;&'?Y_X;D<\AW,^-NCKAKD>]FQMT<<H=\-S/N +MYI`[Y+N9<3>'W"'?S8R[.>0.^6YFW,TA=\AW,^-N#KE#OIL9=TO('?+=PKA; +M0NZ0[Q;&W1)QU^&G"'=+Q%V'?+<P[I:(NP[Y;F'<+1%W'?+=PKA;(NXZY+N% +M<;=$W'7(=POC;HVXZY#O5L;=&G'7(=^MC+LUY`[Y;F7<K2%WR'<KXVX-N4.^ +M6QEW:\@=\MW*N%M#[I#O5L;=&G*'?+<R[K:0.^2[C7&WA=PAWVV,NRWBKL=/ +M$>ZVB+L>^6YCW&T1=SWRW<:XVR+N>N2[C7&W1=SUR'<;XVZ+N.N1[S;&W1YQ +MUR/?[8R[/>*N1[[;&7=[R!WRW<ZXVT/ND.]VQMT><H=\MS/N]I`[Y+N=<;>' +MW"'?[8R[/>0.^6XGW$G^"9\#OI,SX4[.(7?`=W(FW,DYXF[`3V'N).SO!N`[ +M8?V=A/W=`'PGK+^3L+\;@.^$]7<2]G<#\)VP_D["_FX`OA/6WTG8WPW`=\+Z +M.PG[NP'X3EA_)V%_-P#?">OO).SO!N`[8?V=A/W=`'PGK+^3L+\;@.^$]7<2 +M]G<#\)VP_D["_FX`OA/6WTG8WPW(=ZR_D["_&Y#O6'\G87\WXJ<(=V%_-R+? +ML?Y.POYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6WTG8 +MWXW(=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N[$?F. +M]7<2]G<C\AWK[R3L[T;D.];?2=C?C<AWK+^3L+^;\%.$N["_FY#O6'\G87\W +M(=^Q_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK[R3L[R;D.];? +M2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=A'S'^CL)^[L) +M^8[U=Q+V=Q/R'>OO).SO)N0[UM])V-_-^"G"7=C?S<AWK+^3L+^;D>]8?R=A +M?S<CW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R'>OO).SO9N0[ +MUM])V-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYN1KYC_9V$_=V,?,?Z.PG[ +MNQGYCO5W$O9W,_(=Z^\D[.\6_!3A+NSO%N0[UM])V-\MR'>LOY.POUN0[UA_ +M)V%_MR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D[.\6 +MY#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W(-^Q_D["_FY!OF/]G83]W8)\Q_H[ +M"?N[!?F.]7<2]G<K?HIP%_9W*_(=Z^\D[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O +M6'\G87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2]G<K\AWK[R3L +M[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A?[<BW['^3L+^;D6^8_V=A/W=BGS' +M^CL)^[L-/T6X"_N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C?;<AWK+^3L+_; +MD.]8?R=A?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR'>OO +M).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_)V%_MR'?L?Y.POYN0[YC_9V$_=V. +MGR+<A?W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM])V-_MR'>LOY.P +MO]N1[UA_)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.PG[NQWYCO5W$O9W._(= +MZ^\D[.]VY#O6WTG8W^W(=ZR_T_P3-W>J<\!WUT]A[M3U=_D^O5/E#OA.67^G +MKK\[)>Y.F3L[XZ<P=^KZNU/B[O27,@=\IZR_4]??G0YW=H;NOU/6WZGK[\K9 +MU3G@.V7]G;K^#LP!WRGK[]3U=V`.^$Y9?Z>NO\MS#^H<\)VR_DY=?_<@SYW* +M'/"=LOY.77_W(''WH'('?*>LOU/7WSU(W#VHW`'?*>OOU/5W#XZ+LP.^4];? +MJ>OORMG5.>`[9?V=NOX.S`'?*>OOU/5W8`[X3EE_IZZ_RW,/ZQSR'>OOU/5W +M#_-<Y0[YCO5WZOJ[AXF[AX4[=/^=LOY.77_W,''WL'"'[K]3UM^IZ^\>'O[L +MT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC_9VZ_@[,(=^Q_DY=?Y?G'M4YY#O6 +MWZGK[Q[EN<(=NO].67^GKK][E+A[5+E#OF/]G;K^[E'B[E'E#OF.]7?J^KM' +MQ\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_4]??Y;G'=0[Y +MCO5WZOJ[QWFN<H=\Q_H[=?W=X\3=X\(=NO].67^GKK][G+A[7+A#]]\IZ^_4 +M]7>/#W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8?Z>NO\MS +M3^H<\AWK[]3U=T_R7.$.W7^GK+]3U]\]2=P]J=PAW['^3EU_]R1Q]Z1RAWS' +M^CMU_=V3X^+LD.]8?Z>NORMG5^>0[UA_IZZ_`W/(=ZR_4]??@3GD.];?J>OO +M\MS3.H=\Q_H[=?W=TSQ7N4.^8_V=NO[N:>+N:>$.W7^GK+]3U]\]3=P]+=RA +M^^^4]7?J^KNGAS\[=/^=LOY.77]7SJ[.(=^Q_DY=?P?FD.]8?Z>NOP-SR'>L +MOU/7W^6Y9W4.^8[U=^KZNV=YKG"'[K]3UM^IZ^^>)>Z>5>Z0[UA_IZZ_>Y:X +M>U:Y0[YC_9VZ_N[9<7%VR'>LOU/7WY6SJW/(=ZR_4]??@3GD.];?J>OOP!SR +M'>OOU/5W>>YYG4.^8_V=NO[N>9ZKW"'?L?Y.77_W/''WO'"'[K]3UM^IZ^^> +M)^Z>%^[0_7?*^CMU_=WSPY\=NO].67^GKK\K9U?GD.]8?Z>NOP-SR'>LOU/7 +MWX$YY#O6WZGK[_+<BSJ'?,?Z.W7]W8L\5[A#]]\IZ^_4]7<O$G<O*G?(=ZR_ +M4]??O4C<O:C<(=^Q_DY=?_?BN#@[Y#O6WZGK[\K9U3GD.];?J>OOP!SR'>OO +MU/5W8`[YCO5WZOJ[/'=5YY#O6'^GKK^[RG.5.^0[UM^IZ^^N$G=7A3MT_YVR +M_DY=?W>5N+LJW*'[[Y3U=^KZNZO#GQVZ_TY9?Z>NORMG5^>0[UA_IZZ_`W/( +M=ZR_4]??@3GD.];?J>OO\MS+.H=\Q_H[=?W=RSQ7N$/WWRGK[]3U=R\3=R\K +M=\AWK+]3U]^]3-R]K-PAW['^3EU_]_*X.#OD.];?J>OORMG5.>0[UM^IZ^_` +M'/(=Z^_4]7=@#OF.]7?J^KL\]ZK.(=^Q_DY=?_<JSU7ND.]8?Z>NOWN5N'M5 +MN$/WWRGK[]3U=Z\2=Z\*=^C^.V7]G;K^[M7ASP[=?Z>LOU/7WY6SJW/(=ZR_ +M4]??@3GD.];?J>OOP!SR'>OOU/5W>>YUG4.^8_V=NO[N=9XKW*'[[Y3U=^KZ +MN]>)N]>5.^0[UM^IZ^]>)^Y>5^Z0[UA_IZZ_>WU<G!WR'>OOU/5WY>SJ'/(= +MZ^_4]7=@#OF.]7?J^CLPAWS'^CMU_5V>>U/GD.]8?Z=1?V?H_CME_9U&_9VA +M^^^4]7<:]7>&[K]3UM]IU-\9NO].67^G47]GZ/X[9?V=1OV=H?OOE/5W&O5W +MANZ_4];?*>GOWM8YY#O6WZGK[][FN<(=NO].67^GKK][F[A[6[E#OF/]G;K^ +M[FWB[FWE#OF.]7?J^KNWQ\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_ +M`W/(=ZR_L_P3-W>N<\!WQOJ[ZT_<XR[[Z5RY`[XSUM^9Z^_.:>]<N$/WWQGK +M[\SU=^?$W;EPA^Z_,];?F>OOSH<_.W3_G;'^SEQ_5\ZNS@'?&>OOS/5W8`[X +MSEA_9ZZ_`W/`=\;Z.W/]79Z3.@=\9ZR_,]??29XKW*'[[XSU=^;Z.TFO)Y4[ +MX#MC_9VY_DX2=U*Y`[XSUM^9Z^_DN#@[X#MC_9VY_JZ<79T#OC/6WYGK[\`< +M\)VQ_LY<?P?F@.^,]7?F^KL\IW4.^8[U=^;Z.\USE3OD.];?F>OO-'&GA3MT +M_YVQ_LY<?Z>).RW<H?OOC/5WYOH[/?S9H?OOC/5WYOJ[<G9U#OF.]7?F^CLP +MAWS'^CMS_1V80[YC_9VY_B[/69U#OF/]G;G^SO)<X0[=?V>LOS/7WUGBSBIW +MR'>LOS/7WUGBSBIWR'>LOS/7W]EQ<7;(=ZR_,]??E;.K<\AWK+\SU]^!.>0[ +MUM^9Z^_`'/(=Z^_,]7=YKJESR'>LOS/7WS5YKG*'?,?Z.W/]79.X:PIWZ/X[ +M8_V=N?ZN2=PUA3MT_YVQ_LY<?]<<_NS0_7?&^CMS_5TYNSJ'?,?Z.W/]'9A# +MOF/]G;G^#LPAW['^SEQ_E^?:.H=\Q_H[<_U=F^<*=^C^.V/]G;G^KDW<M94[ +MY#O6WYGK[]K$75NY0[YC_9VY_JX]+LX.^8[U=^;ZNW)V=0[YCO5WYOH[,(=\ +MQ_H[<_T=F$.^8_V=N?XNSW5U#OF.]7?F^KLNSU7ND.]8?V>NO^L2=UWA#MU_ +M9ZR_,]??=8F[KG"'[K\SUM^9Z^^ZPY\=NO_.6']GKK\K9U?GD.]8?V>NOP-S +MR'>LOS/7WX$YY#O6WYGK[_)<7^>0[UA_9ZZ_Z_-<X0[=?V>LOS/7W_6)N[YR +MAWS'^CMS_5V?N.LK=\AWK+\SU]_UQ\79(=^Q_LY<?U?.KLXAW['^SEQ_!^:0 +M[UA_9ZZ_`W/(=ZR_,]??Y;FASB'?L?[.7'\WY+G*'?(=Z^_,]7=#XFXHW*'[ +M[XSU=^;ZNR%Q-Q3NT/UWQOH[<_W=</BS0_??&>OOS/5WY>SJ'/(=Z^_,]7=@ +M#OF.]7?F^CLPAWS'^CMS_5V>&^L<\AWK[\SU=V.>*]RA^^^,]7?F^KLQ<3=6 +M[I#O6']GKK\;$W=CY0[YCO5WYOJ[\;@X.^0[UM^9Z^_*V=4YY#O6WYGK[\`< +M\AWK[\SU=V`.^8[U=^;ZNSSWKLXAW['^SEQ_]R[/5>Z0[UA_9ZZ_>Y>X>U>X +M0_??&>OOS/5W[Q)W[PIWZ/X[8_V=N?[NW>'/#MU_9ZR_,]??E;.K<\AWK+\S +MU]^!.>0[UM^9Z^_`'/(=Z^_,]7=Y[GV=0[YC_9VY_NY]GBO<H?OOC/5WYOJ[ +M]XF[]Y4[Y#O6WYGK[]XG[MY7[I#O6']GKK][?UR<'?(=Z^_,]7?E[.H<\AWK +M[\SU=V`.^8[U=^;Z.S"'?,?Z.W/]79[[4.>0[UA_9ZZ_^Y#G*G?(=ZR_,]?? +M?4C<?2C<H?OOC/5WYOJ[#XF[#X4[=/^=L?[.7'_WX?!GA^Z_,];?F>OORMG5 +M.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\]['.(=^Q_LY<?_<QSQ7NT/UW +MQOH[<_W=Q\3=Q\H=\AWK[\SU=Q\3=Q\K=\AWK+\SU]]]/"[.#OF.]7?F^KMR +M=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L]]JG/(=ZR_,]???<ISE3OD +M.];?F>OO/B7N/A7NT/UWQOH[<_W=I\3=I\(=NO_.6']GKK_[=/BS0_??&>OO +MS/5WY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^USGD.]8?V>NO_N< +MYPIWZ/X[8_V=N?[N<^+N<^4.^8[U=^;ZN\^)N\^5.^0[UM^9Z^\^'Q=GAWS' +M^CMS_5TYNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^KLD_<7-?ZASP7</ZN\;U +M=U_R7.4.^.[Z*<Q=X_J[+XF[+YF[YHR?(G_OL?MBO^3>^$V90W_?=GDJF+OS +MX^M/5]\&VV_OU[2G5D]GK4_<7/\V?&_P7_[C9N:!>[_V-W^_;_?+7)]6LUX\ +M9W<'Y?XGOO[R;W[P=N[F_9IOX=CU1W?]WZ?;'WJ_WQW'WS8PA_Z^\O_7EWL[ +M9Y=OUWZS2B>G4Z^GOCEU8_IG=RVI[>;3Z>W^?$Q__\=?__'7__ZO/^>YFW]? +M=.O-P_T_\W;_.1WP[=#?5_YKOK?-#WYO<Z*1?^?>_][FW[DM^K/EO^[]OGT[ +MNIN#O_Y&7'\T>FKMU#0W?SSBU+8WGVOM<O#GOV_;[__XA]=_^OF/=\\/_7'P +M7_5^W0^<G]XYO]O?)'?/[W3W_="?W?IU[_?=\^OMU/>`S7I^__._MR#F]_NM +HSV](YW>>P#_Y)[[^\N;^?VX'FS3XF[UA<[[^!I]_^C_<Q@LX=*8````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-apm.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-apm.qcow2.gz.uu new file mode 100644 index 0000000..88ef9cd --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-apm.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-512-apm.qcow2.gz +M'XL("(\[(U0``VEM9RTQ>#$M-3$R+6%P;2YQ8V]W,BYO=70`K9A);]LP$$;O +M^15,]Z9-*LZ0E-P]FX$>"J0->@Z\R$"`+D8:H!?_^%+6R)2I&3$VY`A"#.)[ +M&`^?QZ:SK'XH9;4R3IF16DR5?TX7J-:3[4NMOHV_G+0?JX,:IC,AQ2P8W."V +M6.<!!Q(NT]T%S>-:U2&#@R;5!:5P1JRN;X'!'1VL6[?>C")*X#[`&B=NQE[U +M05U?G#![U@=#UX=\_VR3BQ=<?WU8UQ>G<@E7)''`I$82;I+$(9.:2KA9$F>8 +MU%S"E4F<95(+`:<3JGB<8U):PD$2ES,IE'`FB2N8E.2=3GLW8E*2=SKMW81) +M2=[IM'=3)B5YI]/>S9B4Y)U.>S=G4I)W('BG`JYD4I)W$'EW2+A'`;=@4I)W +M$'GWF'!/-CC-I23O(/+N*>&>!1PS[T#R#B+OGA/N1<`Q\PXD[R#R[B7AC@*. +MF7<@>0>1=Z\(]SK@F'D'DG<0>7?<\4XS\PXD[S#R[@VQLH!CYAU*WF'DG28< +M!!PS[U#R#B/OD'`FX)AYAY)W&'EG"><"CIEW*'F'D7<YX8J`8^8=2MYAY-V( +M<&\#CIEW*'F'D7?O"/<^X)AYAY)W&'GW@7`?`XZ9=RAY9R+O/A'N<\`Q\\Y( +MWIG(NU/"G04<,^^,Y)V)O#LGW,4&!UQJXUV6\1?A+COO61CV^Z<)WX\U<Y<7 +M>H#%+L"^"FO<:-`7;.L7['?`0CA'9>M/R*(7>/F]PAQNUV>'/A#86A@_F<V\ +MDT/IP.<75E=?F?[96AC_=O#3U%]NIIQ]4'VGR^7/DL')I]O=CU,>A]WJ[&+] +MOY<E!Y4;Y49T=POERFJ9JKM93N[N;^]O__R^:7#5!Z2;5^%\E^I^399L=7;@ +MO34/W-MFJ@`!M_=6-?69H=TSZ^UP5>/]1OC+CTN+U93S7S.4M=6:Q2YP?%>6 +M9]<7QS_&U^W^F6%_;+#^1)7N'[3Z5[])VOU3[?K<T/USO?W+4>4YXV;HW]]_ +HM8A-?4/WKZ#^^9-Z]RXOK*Y.MO]JH"'@8!4:5TWG@_\+*`W"Y1,````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-apm.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-apm.raw.gz.uu new file mode 100644 index 0000000..025d7ad --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-apm.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-1x1-512-apm.raw.gz +M'XL(".3%'50``VEM9RTQ>#$M-3$R+6%P;2YR87<N;W5T`*V3S6K#,!"$[WZ* +MZ;50(\DKJ3FFM+D50D//P=0.!-K4I(%>]/"5(HG(/PDN:+T(BV4_QK-KQGP` +M)"$%F$T64G`PPN4^2)B7M]+&71G#%![&V8VNZ[AR$*:X]T#ARI*!FE%?E0)Y +MOV#6KT.@QSE]Q*&92_4!)6?I6W;=9SN!$[D^U^.JL3JY.[]S0`MH@EJ$4^V@ +M6E<.ZK9=?3SM3_OOPS;BR.)4XYKU?]1]U=VD.IEYMC1SMA27,@#[LT741[EW +MC\[C4,YX.PB;)"`K$$$T5KAT-7L?`5?'MGW:/#^\KS:I?T29]:D9_HG$/_^3 +MI/XAU:=R^Z=N^J<K:#VQFQ?_?G[](D9]N?U[#/ZQ>N*\7C#KLO]X(`5@-H4D +,'+#X`^%)]I"G!0`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-apm.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-apm.vhd.gz.uu new file mode 100644 index 0000000..ad1859a --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-apm.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-512-apm.vhd.gz +M'XL(".7%'50``VEM9RTQ>#$M-3$R+6%P;2YV:&0N;W5T`*U6RVX;(13=^RNN +ME%VD6L#`G739JO&N4I2HZV0Z9B)+36+%EIJ%/SY<'H9Y,+5=QA@Q8N[A<.X# +M&',/`%:`':`&5#2N)>!7J&\`S*1OPO;<O\*A?7O5[7[SL?3/8>'`.$NM^N9D +M+RJ09I$:1$.+X)K&<`@PRZO;Y^O-RW.`$QXN+"P1I`!E0.1H'61'=H2T^O[P +MPT(^17;5F%VT,O_?$I@$SI,OJL#NZ<CQ"">-5=?95D/36)JA]5YZ$W&S`SC% +M!E8)S2E1D\U.P>&<U3EPUPOO"Q<J)C!JTQOI.-2"QB9L@@ZC9D+E8[=MWG=Z +MP$]D0@6/_/AHKLIO5_A0$>%CST!2.,]M%RS*?@@W$2K_I1[V[:0?&!&8"A/" +M;K^O7H2"E!]R-J-YWAE9?@WQ,ZFI1$AVVZI_;?CVGF#8T!U-QKL7Z]?2M,D0 +MN9Z*BO@RS-V[GY/ATA(_R2F,*9);BN%3^'W;;O_H"3A1:KL.KAJS4YW/.9MT +MKD3;WI5NU05VCR;;]IO]YNWU,<!1H:)2:Q%/9_?2;"?9J<*^U2?Z-B2-\(!] +MWT+@ITO'GK;N0!*>3D@5SR"Q-L05S9GW$>#J76MS"GWYM7I(]=.R+#_.3M!/ +M)/JY)$GU2VL+SQWBE_.;U8\.DWHB-J-^N[\N$`._TOH)KQ]K)OK\Q.%NV?\Y +M0.&+:;'J+&+U*\-0>L!B#&7,X5(,.<XZ\UPOHV=8Z*J+^2ISR567X`I>==&7 +BK*P5.^NJB[YD%;KJ$ES!JR[!%;WJHBVHBT^(Z?)+'PT````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-apm.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-apm.vhdf.gz.uu new file mode 100644 index 0000000..189b488 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-apm.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-1x1-512-apm.vhdf.gz +M'XL(".7%'50``VEM9RTQ>#$M-3$R+6%P;2YV:&1F+F]U=`"M54UOPC`,O?,K +M+.V&M*I-'(<=-PUND]#0SE!HBRH-J!C2=NB/7SYI2@MB4U,K2N3F]?G9<>/8 +M#@`4(!C$RF)GW,S-_L*@GKY':L21'_7(@B6W3EV'BRY&/1I;0*;=(@;,.N=X +M")BT'?7\[1+0PFE^F(",M=$&2-S%[[FJ/O,>.#94N!:.=]F)PJP3`,E`(M"3 +MFZD`RK7;L5M6Z?%4GLK#?NGA4,%1I@_+O[#;I54O.S%P;O'.W*);,`?8SBUX +M?CAT[:%)!VGA52*4(0/!`1%8IH@+[5/[#N#LF.<OB]?'C]DBU`]Q8'YTAWXL +MT,]>DE`_"/G1T/K13?TD!RE[:K/1[^O;%J+G-[1^$Z=?G/;,UQWU/&H_%A`= +MX&`,R75GXNZN:Q&Y[P&3$)`UZ36`F\,^WYS*G_`&D^O.1=%O^CSC^E]`$EAJ +M6DRFUP&_A^EV7.ZV'LYW/_]AE>MSBB^CI':X,Y5@`[EJV/&N2!2JMT9=RTG2 +M"MRQ6X7J63@\!YL7L!:&IK?6IN7H[<T:SG2_\.7_YM;"T<"EHGZ4HU\LKXQY +$T@<````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-apm.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-apm.vmdk.gz.uu new file mode 100644 index 0000000..d704c00 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-apm.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-512-apm.vmdk.gz +M'XL(".7%'50``VEM9RTQ>#$M-3$R+6%P;2YV;61K+F]U=`"MG%MOW,@1A=_] +M*PCORR)`!)[A_<%`UI$-!,$"QGJ3/&YXC878EB`)20S,CP^;[-,ZE$0WL2IE +MM)SR5-5T5X]*RE<'3-/U*TGR+LGS)!^2HDQ2)/,_K8\DS1Z,^7&J^<+YKY<_ +M__V"7S]>7)Q?K<G@HB0$J:838_,^YXM'7TQW^E[4YH7Y<8JFRUQ4]R30ISOM +MO+";+I]?/#T7PM6UR\N#>R+IDI`HV:0KGMG3[F:_M[H_O/+%<^O+W!KFXRV; +MI,J2LO-F4A:+G275:7DM3:K9:9H3_I!<7MW].[D<[_K;JYO[:[^^DSO;V3DO +MG7_9NPSSQJK2/7$ON'2-2U&.238D&=S+R?GV_=7G\>(_X^W=U?77-^!V3^YL +M\RS)&[<<YY\^/#:&>Y,T*>'>(SG_^2^7;_PG-[VX:6^9SD7-"YG?>]Z'YBW+ +MQ'T_?2RK&[_>NXR3_PJK<V?KBU,L[YV[)T6>5$VR+*=PN4_SRX/?\E*[_G9L +M[\=?O]V,;UY_N?X::N?.UI6L61+52Z&RI,A<*K\U5[["970?F^74DO/GJ_M/ +M5_W'>9MWX^N+'Q*F*UWMY@.L_;K67<\AY>[)SLL^O_O?_;S?9/`G>\5TRR*6 +M3<SO79R2HG*YY@-<CN*49+E[-O_3O.!Y)SF<4W*^_GKQRS_F'W%7K(\??OJ% +MZ>HY:O:<%SB'S!O:[*E8]U\\_E@FYX_ODM=ND[]^&I=/(-,UZX^9<U[/`8MY +M<D]\U=;TKHGE[H7E9)/+]KY-WK9WX\4/EY=OP\FV;K/Y\IB7-KHLY9K:?;Z7 +M<LZ%6T]Z/>CE*(:ANVB']N9^O'7'&XZB<R4:_$[=L>8/Q[A]GVHYJ<E]8I+S +MF^3UU3"?J4O[K_'Z"]/UZ\=X7H?[2#1+8.:>S)^>)?WHWV']Q+AC<NG&^]MO +M%_VWSU=?A_D'+7G#=,-:NWDYZVD^'.9\@/,*GUW@7+O7RZF&Y3'=Z%8W/%G@ +M<IZ^D&%1X6V3\Y=E>9_&=IB7-N=FNLFM[O3\.GRE'KW5G#TY/U1MR7OGTV6I +M;P&9;V6;$H7EK&\H#73L[Z]OUX6]EGZ</?Y=]M)^G#_YE5K]SH1K.NOUE>FC +MWV>9QN5B%)N$[K=8.G__:?[^\+"^TJVO%,]*HVHQFDVZ?\XI;IYNMW0_A:UX +M=AK5BS$<J5[I6MLHGM/CZO%/#<CS_73\6X">F4;E8A2;='NU*WSMZ%EI5"U& +MLTFW5[O2UXZ>G4;U8@R'-EOYVM%STBAWX9]22`_\65;6OG;TS#0J%Z/8I-NK +M7>-K1\]*HVHQFDVZO=JUOG;T[#2J%V,XM-G.UXZ>DT:Y"QL$Y/E^NM[7CIZ9 +M1N5B%)MT>[4;?.WH66E4+4:S2;=7N]'7CIZ=1O5B#(<V._G:T7/2*'?)I79Y +M+%V5^MK1,].H7(QBDVZG=A7['3TKC:K%:#;I=FI7L=_1L].H7HSAT&;9[^@Y +M:92[%%*[(IJ._8Z>F4;E8A2;='NU8[^C9Z51M1C-)MU>[=COZ-EI5"_&<&BS +M['?TG#3*74JI71E-QWY'STRC<C&*3;J]VK'?T;/2J%J,9I-NKW;L=_3L-*H7 +M8SBT6?8[>DX:Y2[\(PCR?#\=^QT],XW*Q2@VZ?9JQWY'STJC:C&:3;J]VK'? +MT;/3J%Z,X=!FV>_H.6F4NQ#(0)[OIJM37SMZ9AJ5BU%LTNW4KF:_HV>E4;48 +MS2;=3NUJ]CMZ=AK5BS$<VBS['3TGC7*71FK71-.QW]$STZA<C&*3;J]V['?T +MK#2J%J/9I-NK'?L=/3N-ZL48#FV6_8Z>DT:Y"___$^3Y?CKV.WIF&I6+46S2 +M[=6._8Z>E4;58C2;='NU8[^C9Z=1O1C#H<VRW]%STBAW(7^$/-]/QWY'STRC +M<C&*3;J]VK'?T;/2J%J,9I-NKW;L=_3L-*H78SBT6?8[>DX:Y2Z]U*Z/I6M2 +M7SMZ9AJ5BU%LTNW4KF&_HV>E4;48S2;=3NT:]CMZ=AK5BS$<VBS['3TGC7*7 +M06HW1-.QW]$STZA<C&*3;J]V['?TK#2J%J/9I-NK'?L=/3N-ZL48#FV6_8Z> +MDT:YRRBU&Z/IV._HF6E4+D:Q2;=7._8[>E8:58O1;-+MU8[]CIZ=1O5B#(<V +MRWY'STFCW&62VDW1=.QW],PT*A>CV*3;JQW['3TKC:K%:#;I]FK'?D?/3J-Z +M,89#FV6_H^>D4:E,SR#/=].UZ5J[X)EI5"Y&L4FW4[O6][O@66E4+4:S2;=3 +MN];WN^#9:50OQG!HL[[?!<])HUS)A-\ABK1:W^\@_`[*[R#\#E%^U_I^!^%W +M4'X'X7>(\KO6]SL(OX/R.PB_.[!9W^\@_`[*[R#\#E&DU?I^!^%W4'X'X7>( +M\KO6]SL(OX/R.PB_0Y3?M;[?0?@=E-]!^-V!S?I^!^%W4'X'X7>((JW6]SL( +MOX/R.PB_0Y3?M;[?0?@=E-]!^!VB_*[U_0["[Z#\#L+O#FS6]SL(OX/R.PB_ +M0Q1I=:FOG?`[*+^#\#M$^5W'?B?\#LKO(/P.47[7L=\)OX/R.PB_.[!9]COA +M=U!^!^%WB"*MCOU.^!V4WT'X':+\KF._$WX'Y7<0?H<HO^O8[X3?0?D=A-\= +MV"S[G?`[*+^#\#M$D5;'?B?\#LKO(/P.47[7L=\)OX/R.PB_0Y3?=>QWPN^@ +M_`["[PYLEOU.^!V4WT'X':)(JV._$WX'Y7<0?H<HO^O8[X3?0?D=A-\ARN\Z +M]COA=U!^!^%W!S;+?B?\#LKO(/P.4:35I[YVPN^@_`["[Q#E=SW[G?`[*+^# +M\#M$^5W/?B?\#LKO(/SNP&;9[X3?0?D=A-\ABK1Z]COA=U!^!^%WB/*[GOU. +M^!V4WT'X':+\KF>_$WX'Y7<0?G=@L^QWPN^@_`["[Q!%6CW[G?`[*+^#\#M$ +M^5W/?B?\#LKO(/P.47[7L]\)OX/R.PB_.[!9]COA=U!^!^%WB"*MGOU.^!V4 +MWT'X':+\KF>_$WX'Y7<0?H<HO^O9[X3?0?D=A-\=V"S[G?`[*+^#\#M$D=:0 +M^MH)OX/R.PB_0Y3?#>QWPN^@_`["[Q#E=P/[G?`[*+^#\+L#FV6_$WX'Y7<0 +M?H<HTAK8[X3?0?D=A-\ARN\&]COA=U!^!^%WB/*[@?U.^!V4WT'XW8'-LM\) +MOX/R.PB_0Q1I#>QWPN^@_`["[Q#E=P/[G?`[*+^#\#M$^=W`?B?\#LKO(/SN +MP&;9[X3?0?D=A-\ABK0&]COA=U!^!^%WB/*[@?U.^!V4WT'X':+\;F"_$WX' +MY7<0?G=@L^QWPN^@_"Z(Z2#/)5VR?OMT8[K6[EE)^3/_%&J7/+NZT5@?B$4? +M&&8*ZZY^7\(UG?7ZPGR;CQ?I%Q'FVWR\2+^(,-_FXT7Z183Y-A\OTB\BS+=- +M](L(\VT3_2+"?-M$OX@PWS;1+R+,MTWTBPCS;1/](L)\VT2_B##?-M$O(LRW +M3?2+"/-M$_TBPGS;1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$OX@PWS;1+R+, +MMTWTBPCS;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2\B +MS+=-](L(\VT3_2+"?-M$OX@PWS;1+X+S;1O](CC?MM$O@O-M&_TB.-^VT2^" +M\VT;_2(XW[;1+X+S;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT;_2(XW[;1+X+S +M;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O](CC?MM$O@O-M +M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT; +M_2(XW[;1+X+S;1O](CC?MM$O(LRWZ?DB_2+"?)N>+](O(LRWZ?DB_2+"?)N> +M+](O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$OX@P +MWS;1+R+,MTWTBPCS;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M$_TBPGS;1+^( +M,-\VT2\BS+=-](L(\VT3_2+"?-M$OX@PWS;1+R+,MTWTBPCS;1/](L)\VT2_ +MB##?-M$O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2^"\VT;_2)&4_TB1E/](D93 +M_2)&4_TB1E/](D93_2)&4_TB1E/](D93_2)&4_TB1E/](D93_2)&4_TB1E/] +M(D93_2*F-#74+V(RU2]B,M4O8C+5+V(RU2]B,M4O8C+5+V(RU2]B,M4O8C+5 +M+V(RU2]B,M4O8C+5+V(RU2]B,M4O8C+5+Y[2-#74+YZ>W$OX8+JGFUWU@?FR +MOKQP]R[5>_VN=S7^3L)WO[@T/SY:7VZ^ON5^O>[VJL.3N$P38OO"^<//S]4O +M7^[7FR^W-76W,5WOUWM@?3_=W'P>GTGWY%[,OW>[:[KLZ>J*R=_H=[ES9\Z[ +MY?*>PL7$U?UVT][>7]U?77_]C>F6^_4._C:NQU?WI;UY=G7&]V+.\X-G2R)R +M\@FW9YMP?=;W_LSSY3A*WN^X<'?1+98[ZIZ&>>&%>ZW(GB9\?SN.;S]>_O%O +M[S]J_?+<>'WE@?JI%&[](='Z);H^:^UQ7GZW?E665-4SG\V'^MW]=_T@<GW6 +G]:M]_=S]G9_\=_^%\X>+[?_6A+E/:+;"W-U\-GWU?YW"XEV37@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-bsd.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-bsd.qcow.gz.uu new file mode 100644 index 0000000..1aab948 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-bsd.qcow.gz.uu @@ -0,0 +1,125 @@ +# $FreeBSD$ +begin 644 img-1x1-512-bsd.qcow.gz +M'XL(")\S(E0``VEM9RTQ>#$M-3$R+6)S9"YQ8V]W+F]U=`"MG<N.&TF21??U +M%=3[+=',@F2$WFB@!YA=SV9F6WRN^0'Z^%$I(]R5QG-E:G2I!$%"*BY(SZ-3 +M*-6!YWI]]VVUVMAJV*Z&:74YK+[_>OYNJY]^<?_[ZMO__-=_O_WYV[<_[L9L +M_8NGTJ\'7_D\=V_K'ZLVYW\]=5RMI]^8^_[=:.ZG5Q?_QJO[Z<W>SKW\X^[- +M\G.N!N/>X&J>6\^OS\3I#;_W^KZFMVMWI_?WO5T7;W>C!K?W!O\US_TYOSX7 +M;W>GYL9[<]?T=EV\W4G-[7\)BPM8#FKN6,P-^-1)S9V+N0T^=>$Y^\7G]FYN +MBT^9FL,_MV]7;6Z'3X6:&^[-K=\N0"]S(SXEN+.2NPF?$MQ9R=T>GQ+<6<G= +M`9\2W%G)W1&?$MQ9R=T)GQ+<><G=&9\2W(E_7_S$W06?$MQYQ9WQ4X([K[@S +M\ITK[KSBSLAWKKCSBCLCW[GBSBONC'SGBCNON#/RG2ONHN+.R'>AN(N*.R/? +MA>(N2N[(=Z&XBY([\ETH[J+DCGP7BKLHN2/?A>(N2N[(=Z&XBY([\ETH[H:2 +M._+=H+@;2N[(=X/B;JBX<WY*<#=4W#GY;E#<#15W3KX;%'=#Q9V3[P;%W5!Q +MY^2[07$W5-PY^6Y0W&TJ[IQ\MU'<;2KNG'RW4=QM2N[(=QO%W:;DCGRW4=QM +M2N[(=QO%W:;DCGRW4=QM2N[(=QO%W:;DCGRW4=QM2^[(=UO%W;;DCGRW5=QM +M*^Z"GQ+<;2ON@GRW5=QM*^Z"?+=5W&TK[H)\MU7<;2ON@GRW5=QM*^Z"?+=5 +MW.TJ[H)\MU/<[2KN@GRW4]SM2N[(=SO%W:[DCGRW4]SM2N[(=SO%W:[DCGRW +M4]SM2N[(=SO%W:[DCGRW4]R-)7?DNU%Q-Y;<D>]&Q=U8<3?P4X*[L>)N(-^- +MBKNQXFX@WXV*N['B;B#?C8J[L>)N(-^-BKNQXFX@WXV*N^6OO_4<^6Y2W$T5 +M=P/Y;E+<325WY+M)<3>5W)'O)L7=5')'OIL4=U/)'?EN4MQ-)7?DNTEQ-Y7< +MD>\FQ=V^Y(Y\MU?<[4ONR'=[Q=V^XF[#3PGN]A5W&_+=7G&WK[C;D._VBKM] +MQ=V&?+=7W.TK[C;DN[WB;E]QMR'?[15WR_^&U'/DNX/B[E!QMR'?'11WAY([ +M\MU!<7<HN2/?'11WAY([\MU!<7<HN2/?'11WAY([\MU!<7<HN2/?'11WQY([ +M\MU1<7<LN2/?'15WQXJ[+3\EN#M6W&W)=T?%W;'B;DN^.RKNCA5W6_+=47%W +MK+C;DN^.BKMCQ=V6?'=4W)TJ[K;DNY/B[E1QMR7?G11WIY([\MU)<7<JN2/? +MG11WIY([\MU)<7<JN2/?G11WIY([\MU)<7<JN2/?G11WYY([\MU9<7<NN2/? +MG15WYXJ['3\EN#M7W.W(=V?%W;GB;D>^.RONSA5W._+=67%WKKC;D>_.BKMS +MQ=V.?'=6W%TJ[G;DNXOB[E)QMR/?711WEY([\MU%<7<IN2/?711WEY([\MU% +M<7<IN2/?711WEY([\MU%<7<IN2/?701WMOQ$SX'O;"VXLW7)'?C.UH([6U?< +MC?P4<V=E?S>"[TSU=U;V=R/XSE1_9V5_-X+O3/5W5O9W(_C.5']G97\W@N], +M]7=6]G<C^,Y4?V=E?S>"[TSU=U;V=R/XSE1_9V5_-X+O3/5W5O9W(_C.5']G +M97\W@N],]7=6]G<C^,Y4?V=E?S>"[TSU=U;V=R/Y3O5W5O9W(_E.]7=6]G<3 +M/R6X*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[ +MNXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z +M.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[/3\EN"O[NSWY +M3O5W5O9W>_*=ZN^L[._VY#O5WUG9W^W)=ZJ_L[*_VY/O5']G97^W)]^I_L[* +M_FY/OE/]G97]W9Y\I_H[*_N[/?E.]7=6]G=[\IWJ[ZSL[_;D.]7?6=G?[<EW +MJK^SLK_;D^]4?V=E?[<GWZG^SLK^;D^^4_V=E?W=@9\2W)7]W8%\I_H[*_N[ +M`_E.]7=6]G<'\IWJ[ZSL[P[D.]7?6=G?'<AWJK^SLK\[D.]4?V=E?W<@WZG^ +MSLK^[D"^4_V=E?W=@7RG^CLK^[L#^4[U=U;V=P?RG>KOK.SO#N0[U=]9V=\= +MR'>JO[.ROSN0[U1_9V5_=R#?J?[.RO[NR$\)[LK^[DB^4_V=E?W=D7RG^CLK +M^[LC^4[U=U;V=T?RG>KOK.SOCN0[U=]9V=\=R7>JO[.ROSN2[U1_9V5_=R3? +MJ?[.RO[N2+Y3_9V5_=V1?*?Z.RO[NR/Y3O5W5O9W1_*=ZN^L[.^.Y#O5WUG9 +MWQW)=ZJ_L[*_.Y+O5']G97]WXJ<$=V5_=R+?J?[.RO[N1+Y3_9V5_=V)?*?Z +M.RO[NQ/Y3O5W5O9W)_*=ZN^L[.].Y#O5WUG9WYW(=ZJ_L[*_.Y'O5']G97]W +M(M^I_L[*_NY$OE/]G97]W8E\I_H[*_N[$_E.]7=6]G<G\IWJ[ZSL[T[D.]7? +M6=G?G<AWJK^SLK\[\U."N[*_.Y/O5']G97]W)M^I_L[*_NY,OE/]G97]W9E\ +MI_H[*_N[,_E.]7=6]G=G\IWJ[ZSL[\[D.]7?6=G?G<EWJK^SLK\[D^]4?V=E +M?W<FWZG^SLK^[DR^4_V=E?W=F7RG^CLK^[LS^4[U=U;V=V?RG>KOK.SOSN0[ +MU=]9V=]=^"G!7=G?7<AWJK^SLK^[D.]4?V=E?W<AWZG^SLK^[D*^4_V=E?W= +MA7RG^CLK^[L+^4[U=U;V=Q?RG>KOK.SO+N0[U=]9V=]=R'>JO[.RO[N0[U1_ +M9V5_=R'?J?[.RO[N0KY3_9V5_=V%?*?Z.U]^DN96?0Y\]_TIYLY3?[?<I[?J +MW('O7/5WGOJ[U<S=:N$NUOP4<^>IOUO-W*W^;'/@.U?]G:?^;G5-9Q=T_YVK +M_LY3?]?.KL^![USU=Y[Z.Y@#W[GJ[SSU=S`'OG/5WWGJ[Y:Y!WT.?.>JO_/4 +MWSU8YE9M#GSGJK_SU-\]F+E[T+D#W[GJ[SSU=P]F[AYT[L!WKOH[3_W=@^O- +MV8'O7/5WGOJ[=G9]#GSGJK_SU-_!'/C.57_GJ;^#.?"=J_[.4W^WS#WL<^0[ +MU=]YZN\>+G.=._*=ZN\\]7</9^X>-N[H_CM7_9VG_N[AS-W#QAW=?^>JO_/4 +MWSV\YK.C^^]<]7>>^KMV=GV.?*?Z.T_]'<R1[U1_YZF_@SGRG>KO//5WR]RC +M/D>^4_V=I_[NT3+7N*/[[USU=Y[ZNT<S=X\Z=^0[U=]YZN\>S=P]ZMR1[U1_ +MYZF_>W2].3ORG>KO//5W[>SZ'/E.]7>>^CN8(]^I_LY3?P=SY#O5WWGJ[Y:Y +MQWV.?*?Z.T_]W>-EKG-'OE/]G:?^[O',W>/&'=U_YZJ_\]3?/9ZY>]RXH_OO +M7/5WGOJ[Q]=\=G3_G:O^SE-_U\ZNSY'O5'_GJ;^#.?*=ZN\\]7<P1[Y3_9VG +M_FZ9>]+GR'>JO_/4WSU9YAIW=/^=J_[.4W_W9.;N2>>.?*?Z.T_]W9.9NR>= +M._*=ZN\\]7=/KC=G1[Y3_9VG_JZ=79\CWZG^SE-_!W/D.]7?>>KO8(Y\I_H[ +M3_W=,O>TSY'O5'_GJ;][NLQU[LAWJK_SU-\]G;E[VKBC^^]<]7>>^KNG,W=/ +M&W=T_YVK_LY3?_?TFL^.[K]SU=]YZN_:V?4Y\IWJ[SSU=S!'OE/]G:?^#N;( +M=ZJ_\]3?+7//^ASY3O5WGOJ[9\M<XX[NOW/5WWGJ[Y[-W#WKW)'O5'_GJ;][ +M-G/WK'-'OE/]G:?^[MGUYNS(=ZJ_\]3?M;/K<^0[U=]YZN]@CGRG^CM/_1W, +MD>]4?^>IOUOFGO<Y\IWJ[SSU=\^7N<X=^4[U=Y[ZN^<S=\\;=W3_G:O^SE-_ +M]WSF[GGCCNZ_<]7?>>KOGE_SV=']=Z[Z.T_]73N[/D>^4_V=I_X.YLAWJK_S +MU-_!'/E.]7>>^KME[D6?(]^I_LY3?_=BF6O<T?UWKOH[3_W=BYF[%YT[\IWJ +M[SSU=R]F[EYT[LAWJK_SU-^]N-Z<'?E.]7>>^KMV=GV.?*?Z.T_]'<R1[U1_ +MYZF_@SGRG>KO//5WR]S+/D>^4_V=I_[NY3+7N2/?J?[.4W_W<N;N9>..[K]S +MU=]YZN]>SMR];-S1_7>N^CM/_=W+:SX[NO_.57_GJ;]K9]?GR'>JO_/4W\$< +M^4[U=Y[Z.Y@CWZG^SE-_M\R]ZG/D.]7?>>KO7BUSC3NZ_\Y5?^>IOWLU<_>J +M<T>^4_V=I_[NU<S=J\X=^4[U=Y[ZNU?7F[,CWZG^SE-_U\ZNSY'O5'_GJ;^# +M.?*=ZN\\]7<P1[Y3_9VG_FZ9>]WGR'>JO_/4W[U>YCIWY#O5WWGJ[U[/W+UN +MW-']=Z[Z.T_]W>N9N]>-.[K_SE5_YZF_>WW-9T?WW[GJ[SSU=^WL^ASY3O5W +MGOH[F"/?J?[.4W\'<^0[U=]YZN^6N3=]CGRG^CM/_=V;9:YQ1_??N>KO//5W +M;V;NWG3NR'>JO_/4W[V9N7O3N2/?J?[.4W_WYGIS=N0[U=]YZN_:V?4Y\IWJ +M[SSU=S!'OE/]G:?^#N;(=ZJ_\]3?+7-O^QSY3O5W7O5W0???N>KOO.KO@NZ_ +M<]7?>=7?!=U_YZJ_\ZJ_"[K_SE5_YU5_%W3_G:O^SJO^+NC^.U?]G5?]7=#] +M=Z[Z.Q?]W;L^1[Y3_9VG_N[=,M>XH_OO7/5WGOJ[=S-W[SIWY#O5WWGJ[][- +MW+WKW)'O5'_GJ;][=[TY._*=ZN\\]7?M[/H<^4[U=Y[Z.Y@CWZG^SE-_!W/D +M.]7?Q?*3-+?N<^"[4/W=]P_<XV[QT[IS![X+U=]%ZN_6\]ZZ<4?WWX7J[R+U +M=^N9NW7CCNZ_"]7?1>KOUM=\=G3_7:C^+E)_U\ZNSX'O0O5WD?H[F`/?A>KO +M(O5W,`>^"]7?1>KOECGK<^"[4/U=I/[.EKG&'=U_%ZJ_B]3?V?SRK','O@O5 +MWT7J[VSFSCIWX+M0_5VD_LZN-V<'O@O5WT7J[]K9]3GP7:C^+E)_!W/@NU#] +M7:3^#N;`=Z'ZNTC]W3+G?8Y\I_J[2/V=+W.=._*=ZN\B]7<^<^>-.[K_+E1_ +M%ZF_\YD[;]S1_7>A^KM(_9U?\]G1_7>A^KM(_5T[NSY'OE/]7:3^#N;(=ZJ_ +MB]3?P1SY3O5WD?J[92[Z'/E.]7>1^KM8YAIW=/]=J/XN4G\7,W?1N2/?J?XN +M4G\7,W?1N2/?J?XN4G\7UYNS(]^I_BY2?]?.KL^1[U1_%ZF_@SGRG>KO(O5W +M,$>^4_U=I/YNF1OZ'/E.]7>1^KMAF>O<D>]4?Q>IOQMF[H;&'=U_%ZJ_B]3? +M#3-W0^..[K\+U=]%ZN^&:SX[NO\N5'\7J;]K9]?GR'>JOXO4W\$<^4[U=Y'Z +M.Y@CWZG^+E)_M\QM^ASY3O5WD?J[S3+7N*/[[T+U=Y'ZN\W,W:9S1[Y3_5VD +M_FXS<[?IW)'O5'\7J;_;7&_.CGRG^KM(_5T[NSY'OE/]7:3^#N;(=ZJ_B]3? +MP1SY3O5WD?J[96[;Y\AWJK^+U-]ME[G.'?E.]7>1^KOMS-VV<4?WWX7J[R+U +M=]N9NVWCCNZ_"]7?1>KOMM=\=G3_7:C^+E)_U\ZNSY'O5'\7J;^#.?*=ZN\B +M]7<P1[Y3_5VD_FZ9V_4Y\IWJ[R+U=[MEKG%']]^%ZN\B]7>[F;M=YXY\I_J[ +M2/W=;N9NU[DCWZG^+E)_M[O>G!WY3O5WD?J[=G9]CGRG^KM(_1W,D>]4?Q>I +MOX,Y\IWJ[R+U=\O<V.?(=ZJ_B]3?C<M<YXY\I_J[2/W=.',W-N[H_KM0_5VD +M_FZ<N1L;=W3_7:C^+E)_-U[SV=']=Z'ZNTC]73N[/D>^4_U=I/X.YLAWJK^+ +MU-_!'/E.]7>1^KME;NISY#O5WT7J[Z9EKG%']]^%ZN\B]7?3S-W4N2/?J?XN +M4G\WS=Q-G3ORG>KO(O5WT_7F[,AWJK^+U-^UL^MSY#O5WT7J[V".?*?ZNTC] +M'<R1[U1_%ZF_6^;>]SGRG>KO(O5W[Y>YSAWY3O5WD?J[]S-W[QMW=/]=J/XN +M4G_W?N;N?>..[K\+U=]%ZN_>7_/9T?UWH?J[2/U=.[L^1[Y3_5VD_@[FR'>J +MOXO4W\$<^4[U=Y'ZNV7N0Y\CWZG^+E)_]V&9:]S1_7>A^KM(_=V'F;L/G3OR +MG>KO(O5W'V;N/G3NR'>JOXO4WWVXWIP=^4[U=Y'ZNW9V?8Y\I_J[2/T=S)'O +M5'\7J;^#.?*=ZN\B]7?+W,<^1[Y3_5VD_N[C,M>Y(]^I_BY2?_=QYNYCXX[N +MOPO5WT7J[S[.W'ULW-']=Z'ZNTC]W<=K/CNZ_RY4?Q>IOVMGU^?(=ZJ_B]3? +MP1SY3O5WD?H[F"/?J?XN4G^WS'WJ<^0[U=]%ZN\^+7.-.[K_+E1_%ZF_^S1S +M]ZES1[Y3_5VD_N[3S-VGSAWY3O5WD?J[3]>;LR/?J?XN4G_7SJ[/D>]4?Q>I +MOX,Y\IWJ[R+U=S!'OE/]7:3^;IG[W.?(=ZJ_B]3??5[F.G?D.]7?1>KO/L_< +M?6[<T?UWH?J[2/W=YYF[SXT[NO\N5'\7J;_[?,UG1_??A>KO(O5W[>SZ'/E. +M]7>1^CN8(]^I_BY2?P=SY#O5WT7J[Y:Y+WV.?*?ZNTC]W9=EKG%']]^%ZN\B +M]7=?9NZ^=.[(=ZJ_B]3??9FY^]*Y(]^I_BY2?_?E>G-VY#O5WT7J[]K9]3GR +MG>KO(O5W,$>^4_U=I/X.YLAWJK\;EI^DN:]]#GPWJ/YN2/W=UV6N<P>^^_X4 +M<S>D_N[KS-W7A;MAS4\Q=T/J[[[.W'W]L\W1U]MN1R0_\.UM^O;MCY<_!C<_ +M7M_@J_4>?M0?^/:/M_?_:8,_+H39[%;#9K79KD;_W5?X?__\W_0*[^;^MC=\ +M-T=?8/S>7'O!]CMS/P3_T^_\Z^L;MW)/?N!N[N:FM`U="--?Q%]$G^D#\M71 +M%QC_3V"YN73EY\_SCR]1_OV_QI:_<$\W5[;/[ZJ_/HJ8[[W=7[R^U>W;_2'1 +MW?W?;S_->?%V5_?G#K_\W/[ZU3VX?77T1;S_DT_&S=4AO_DG]Z^1^W]R[^;\ +C[Q7![H=9_O+<'G[4'_CVK[?W_[D;''X,_O'_LNY7-X&E```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-bsd.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-bsd.qcow2.gz.uu new file mode 100644 index 0000000..0fb9958 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-bsd.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-1x1-512-bsd.qcow2.gz +M'XL(")$[(U0``VEM9RTQ>#$M-3$R+6)S9"YQ8V]W,BYO=70`K9C;DM)`$(;O +M>8I9SZZ*F>Y)2#RLNNM:Y9W>Z#6P\!0\O!NFR22=_C-(!5*IHH;_JY[,EV9" +M4<27<Z5WH7*A<?N->_PL![G>A^'A#K]__%SV7X=%A/D"I(R!P!UNP+I+.$*X +MPH\'O(WK5<<&CDZI,2B'"["ZJ0$#=[TX7KKC8M0JP9<`(PXNQD7U4:Q/)\*% +M]='<];%]_<I33@]4T_5QK$^G5@A79W%DI!J$6V=Q;*0V"+?-XH*1>D"X7197 +M&JD]P/F,*H^XRDAYA*,L;F6D&.%"%E<;*>2=SWO7&"GDG<][MS92R#N?]VYC +MI)!W/N_=UD@A[WS>NP<CA;PCX)U+N)V10MZ1\NY*<$\2;F^DD'>DO'LJN&<= +MSELIY!TI[YX+[D7"&?V.D'>DO'LIN%<)9_0[0MZ1\NZUX*X3SNAWA+PCY=T; +MP;U-.*/?$?*.E'?O1MYYH]\1\HZ5=^^%522<T>\8><?*.R\X2CBCWS'RCI5W +M++B0<$:_8^0=*^]*P54)9_0[1MZQ\FXEN#KAC'['R#M6WC6"^Y!P1K]CY!TK +M[SX*[E/"&?V.D7>LO/LLN)N$,_H=(^^"\NZ+X+XFG-'O`O(N*.^^">XVX8Q^ +M%Y!W07EW)[CO'8ZL5.==4=B'X.Y']RS-N_\,:7_LC3,>F`#6_P.<JC#BFEDG +M7,8)MQJLC3,>.-PNA^\.>%SA<M6N:EFYFLZM\._]G_&$RQE7..+PXZ@,=`7[ +M<W#'Q]'>-^O^Y@(.##<75PDW^3C:[K%WU@"LKIQ9%JI5KK_.KMD?'U).W5UM +MS;KU=:D^0V8:3'>B/C>>;ONKT3W=J55L<929KAOB-I-K.UW=U;BZ[<R+P?K. +M.//.;2'#.S?B:-Y&0/%_J:+]UOB,!PZ_EL-W!`8!SG8%0]7VOL4_.5!JJ4,3 +"```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-bsd.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-bsd.raw.gz.uu new file mode 100644 index 0000000..874e570 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-bsd.raw.gz.uu @@ -0,0 +1,10 @@ +# $FreeBSD$ +begin 644 img-1x1-512-bsd.raw.gz +M'XL(".;%'50``VEM9RTQ>#$M-3$R+6)S9"YR87<N;W5T`*V4P0Z#(`R&[SY% +MO>Y`2H7IKDMVWVD[.[,]!0\_4%0J`UU",22D[9>_U((X&8`BP/['GG:8J^#+ +M5*=JI)$#ZA:4!GV&SH;C^K$#<YCG[2%",QXG<UEIG-C8C*,]W")8'L$U+BN( +MM&I)+KB48\+5GE6O.)539Q'X_JM87>KNYMYVF[RPSX`?P`&P\S[BP*6_L.J[ +MQ#*(E9O1!W&YO<.U/%X&.-HI%SCNE>UM7ET=JQL*-Z/93L;!R740/KD3CLH^ +B!#2^+/8/M%'QGG:8N^!K`BH/+':#BARP^@+33Z#K!04````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-bsd.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-bsd.vhd.gz.uu new file mode 100644 index 0000000..ef644e4 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-bsd.vhd.gz.uu @@ -0,0 +1,17 @@ +# $FreeBSD$ +begin 644 img-1x1-512-bsd.vhd.gz +M'XL(".;%'50``VEM9RTQ>#$M-3$R+6)S9"YV:&0N;W5T`*V7/6_#(!"&]_R* +MD[IEB.",L;M&3>=*E=HUCF-'&?JA)D,&__AR-MA@C).TV`1AP3V\=QR(,-8] +M`#(!68.L0*;4S@3(1\AR`-6I"[8UUY_0E%^?57D^7E;Z:18=C#/;RC4G>TQ` +MJ$DRP((FD7MJ0V,PJX?-87G\.!@<:IR96$@0"*F""&\>R7IU1'I>OSZUR.V@ +M+O'5#5;JMQ/`!'!NC4B,NFVOL<<)9577;<F@*%J9IC@?3L?@[`B7LI&5)7,J +MJ):S4S@Y9W4/;KG0:]&EBDJ,3-4J=!PRI+9*&Q,'KZA4N9R^BY]3-=*'@521 +MO3[N]25A=U&G"IK!6H&@=)YS%UK*>8R;2)5_14^Z=D(W5!!8:CJP==^-WH`" +M6Y_D;";FX<4(ZBM(G]I;K)BHPQW->N6^/;`D8)K1=D\EY'AK!-\W;U/K6P;2 +MY8^[H\1KN%XPOP67Z+UK49(!%^KH<$RSV(`3<^HH9ZJ[G$TC)W.9C^SL=09> +M`]\#RZVLMH#]^L*@[]&7@8Z[,_K`=[<@7.:.YQ8.K[@++FXWN[;SZIBOKHR\ +M&/OQSKAQYQ+$W;D=#N,>!-B>+"H#U2B_#G<T+ROW[8"HCZIH9Q^:HRJ60J&! +MT10J8!59(5:SR79O%DJM,-)%DG`1+Y*$BWB1)%S$BR3A(EXD"1?Q(DFXJ!=) +/J?XB,+;X!=0\?G%]#``` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-bsd.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-bsd.vhdf.gz.uu new file mode 100644 index 0000000..7edc3a0 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-bsd.vhdf.gz.uu @@ -0,0 +1,13 @@ +# $FreeBSD$ +begin 644 img-1x1-512-bsd.vhdf.gz +M'XL(".;%'50``VEM9RTQ>#$M-3$R+6)S9"YV:&1F+F]U=`"ME$UO@S`,AN_\ +M"DN[]8"2D!AZK=:=)TW:K@4*50_=+COLD!^_&`+$?+6;"%$$<OSPVDXL1#L` +MM`*1SZS+!GN(^6.C7=30%`%-"MJ`0<C<=C%,]L$,]N/X'H?#>IQ<\UK&Q:/1 +MX=0]7"]8/H)+R$LR2C+@E@PM3GB6&'!Z39W+A*C^%*S9*G==;;.17UAGD#7( +M,XC,VQ0']O6%0=]^*D.Q<%?TP33<G'`IWR\#G+H3+G!<L5K;=75BJJ[<N!C) +M^&8\>',)PF]NBU/;-@+5=!9W`MVNZ;ILL*\Q?UJ@]L#-,HB^]V$"6`-6@(;> +M4PVXAS0+@8J?)%M^?5;E]_4GK##AJ"!U/3_)7R5T6S`%E=-/\$SO@;ZGXV5W +MO5TZ7->JNA]KI*0;!]&3<)&'^W)X>VZ0IT%=,DT2AMDK-`@-4K+`O;H3/\Z$ +HTWVP50V%:61VDWTPPVRK(IP1(Z__UK;%X<9'Q1V^Z!>1V%I#,`<````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-bsd.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-bsd.vmdk.gz.uu new file mode 100644 index 0000000..84e2c3e --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-bsd.vmdk.gz.uu @@ -0,0 +1,81 @@ +# $FreeBSD$ +begin 644 img-1x1-512-bsd.vmdk.gz +M'XL(".?%'50``VEM9RTQ>#$M-3$R+6)S9"YV;61K+F]U=`"MG-UOV\H1Q=_S +M5Q#.2]`'@4?\?@C0IDZ!HB@0W%S<^UKQJS&:Q(%M%`V@/[Y<<L_ZT#*]Q/4X +M<L2-9D8[L]+8^<V!TG3Y2I*\3?(\R?ND*),4R?1/RRU)L\?%=#O6?.#\C^M_ +M_G;@U[O#X?QF"0;G)2Y(-9PL5L]S/CSY8KCC2UZK!Z;;,1HN<U[MA:,/=]QX +M8#-</CUX?,Z%NSO-#_?N0L(E(5"R"E<\D]-FLB_M[D]O?/'<_C*WA^EXRR:I +MLJ1L_3(IBWF=)=5Q?BQ-JLEHG`*^3:YO[O^37`_WW=W-CX=;O[^C.]O)."^= +M?=FY"%-B5>DNW`,N7.-"E$.2]4D&]W!ROOO;S=?A\-_A[O[F]OM[,-VC.]L\ +M2_+&;<?9IX^WU<(]29J4<,^1G/_Z]^OW_I6;'GZ<[AC.>4T;F9Y[RD/CEF7B +MOB]O\^Z&[P\NXNB_PN[<V?KB%/-SY^ZBR).J2>;M%"[V<7JX]RG/M>ONAM/# +M\.O/'\/[JV^WWT/MW-FZDC5SH'HN5)84F0OE4W/E*UQ$][*93RTY?[UY^'+3 +M?9[2O!^N#F\3ABM=[:8#K/V^EJPGEW+S9*=MGS_^[V'*-^G]R=XPW+R).8GI +MN8MC4E0NUG2`\U$<DRQW5],_31N>,LGAC)+S[??#+[]/;W%7K,^?_O(+P]63 +MUV0Y;7!RF1):Y50L^1=/7Y;)^?/'Y,HE^>N787X%,ERSO,V<\7(.F)='=^&K +MMH1W32QW#\PGFUR?'D[)A]/]<'A[??TAG.S))9O/MVEK@XM2+J'=ZWLNYU2X +MY:27@YZ/HN_;PZD__7@8[MSQAJ-H78EZGZD[UOSQ&-?/4\TG-;I73')^GUS= +M]-.9NK#_'FZ_,5RWO(RG?;B71#,[9NYB>O7,X0?_#,LKQAV3"S<\W/T\=#^_ +MWGSOIS=:\I[A^J5VTW:6TWP\S.D`IQT^N\&I=E?SJ8;M,=S@=M=?;'`^3U_( +ML*GPM,GYV[R]+\.IG[8VQ6:XT>WN^/P^?*6>/-44/3D_5FV.>^_#9:EO`9EO +M9:L2A>TL3R@-=.@>;N^6C5U)/\Z>_BQ[;3_.+WZD5G\PX!+.>G]E^N3G6:9^ +MN2R*54#W4RR=OO\\?7]ZW%_I]E>*9:5>M2R:5;A_32%^7*9;NG?A22Q;]>ID +MT>^I7NE:VR"6X]/J\5<-R/5V./XN0,M,O7)9%*MP6[4K?.UH6:E7+8MF%6ZK +M=J6O'2U;]>IDT>]*MO*UH^6H7NZ.OTHAW?%K65G[VM$R4Z]<%L4JW%;M&E\[ +M6E;J5<NB687;JMW)UXZ6K7IULNAW)=OZVM%R5"]WQP8!N=X.U_G:T3)3KUP6 +MQ2K<5NUZ7SM:5NI5RZ)9A=NJW>!K1\M6O3I9]+N2'7WM:#FJE[O+I79Y+%R5 +M^MK1,E.O7!;%*MQ&[2KV.UI6ZE7+HEF%VZA=Q7Y'RU:].EGTNY)EOZ/EJ%[N +MKI#:%=%P['>TS-0KET6Q"K=5._8[6E;J5<NB687;JAW['2U;]>IDT>]*EOV. +MEJ-ZN;M2:E=&P['?T3)3KUP6Q2K<5NW8[VA9J5<MBV85;JMV['>T;-6KDT6_ +M*UGV.UJ.ZN7N^$L0Y'H['/L=+3/URF51K,)MU8[]CI:5>M6R:%;AMFK'?D?+ +M5KTZ6?2[DF6_H^6H7NZ.0`9RO1FN3GWM:)FI5RZ+8A5NHW8U^QTM*_6J9=&L +MPFW4KF:_HV6K7ITL^EW)LM_1<E0O=]=([9IH./8[6F;JE<NB6(7;JAW['2TK +M]:IET:S";=6._8Z6K7IULNAW)<M^1\M1O=P=__\$N=X.QWY'RTR]<ED4JW!; +MM6._HV6E7K4LFE6XK=JQW]&R5:].%OVN9-GO:#FJE[LC?X1<;X=COZ-EIEZY +M+(I5N*W:L=_1LE*O6A;-*MQ6[=CO:-FJ5R>+?E>R['>T'-7+W752NRX6KDE] +M[6B9J5<NBV(5;J-V#?L=+2OUJF71K,)MU*YAOZ-EJUZ=+/I=R;+?T7)4+W?7 +M2^WZ:#CV.UIFZI7+HEB%VZH=^QTM*_6J9=&LPFW5COV.EJUZ=;+H=R7+?D?+ +M4;W<W2"U&Z+AV.]HF:E7+HMB%6ZK=NQWM*S4JY9%LPJW53OV.UJVZM7)HM^5 +M+/L=+4?U<G>CU&Z,AF._HV6F7KDLBE6XK=JQW]&R4J]:%LTJW%;MV.]HV:I7 +M)XM^5[+L=[0<U2N5Z1GD>C/<*5UJ%RPS]<IE4:S";=3NY/M=L*S4JY9%LPJW +M4;N3[W?!LE6O3A;]KF1]OPN6HWJYD@F_0Q1IG7R_@_`[*+^#\#M$^=W)]SL( +MOX/R.PB_0Y3?G7R_@_`[*+^#\+L=R?I^!^%W4'X'X7>((JV3[W<0?@?E=Q!^ +MARB_._E^!^%W4'X'X7>(\KN3[W<0?@?E=Q!^MR-9W^\@_`[*[R#\#E&D=?+] +M#L+OH/P.PN\0Y7<GW^\@_`[*[R#\#E%^=_+]#L+OH/P.PN]V).O['83?0?D= +MA-\ABK3:U-=.^!V4WT'X':+\KF6_$WX'Y7<0?H<HOVO9[X3?0?D=A-_M2);] +M3O@=E-]!^!VB2*MEOQ-^!^5W$'Z'*+]KV>^$WT'Y'83?(<KO6O8[X7=0?@?A +M=SN29;\3?@?E=Q!^ARC2:MGOA-]!^1V$WR'*[UKV.^%W4'X'X7>(\KN6_4[X +M'93?0?C=CF39[X3?0?D=A-\ABK1:]COA=U!^!^%WB/*[EOU.^!V4WT'X':+\ +MKF6_$WX'Y7<0?K<C6?8[X7=0?@?A=X@BK2[UM1-^!^5W$'Z'*+_KV.^$WT'Y +M'83?(<KO.O8[X7=0?@?A=SN29;\3?@?E=Q!^ARC2ZMCOA-]!^1V$WR'*[SKV +M.^%W4'X'X7>(\KN._4[X'93?0?C=CF39[X3?0?D=A-\ABK0Z]COA=U!^!^%W +MB/*[COU.^!V4WT'X':+\KF._$WX'Y7<0?K<C6?8[X7=0?@?A=X@BK8[]3O@= +ME-]!^!VB_*YCOQ-^!^5W$'Z'*+_KV.^$WT'Y'83?[4B6_4[X'93?0?@=HDBK +M3WWMA-]!^1V$WR'*[WKV.^%W4'X'X7>(\KN>_4[X'93?0?C=CF39[X3?0?D= +MA-\ABK1Z]COA=U!^!^%WB/*[GOU.^!V4WT'X':+\KF>_$WX'Y7<0?K<C6?8[ +MX7=0?@?A=X@BK9[]3O@=E-]!^!VB_*YGOQ-^!^5W$'Z'*+_KV>^$WT'Y'83? +M[4B6_4[X'93?0?@=HDBK9[\3?@?E=Q!^ARB_Z]GOA-]!^1V$WR'*[WKV.^%W +M4'X'X7<[DF6_$WX'Y7=!3`>YEG#)\NW##>E2NV<EY<_\4ZA=\NSN!F-](&9] +M8)@I+%G]L8!+..O]A?DV;Z_2+R+,MWE[E7X18;[-VZOTBPCS;=Y>I5]$F&^; +MZ!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AO +MF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28 +M;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$ +MF&^;Z!<1YMLF^D6$^;:)?A%AOFVB7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$ +MY]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3G +MVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?; +M-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV +M^D5POFVC7P3GVS;Z17"^;:-?1)AOT_)5^D6$^38M7Z5?1)AOT_)5^D6$^38M +M7Z5?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%A +MOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X1 +M8;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^ +M$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE\$Y]LV^D4,IOI%#*;Z10RF +M^D4,IOI%#*;Z10RF^D4,IOI%#*;Z10RF^D4,IOI%#*;Z10RF^D4,IOI%#*;Z +M10RF^D6,:6JH7\1HJE_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ +M7\1HJE_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ7SRF:6JH7SQ>?);PSG"7R2[ZP'S> +MW_+IH)=_;S]P_G!8_PD!YP_8+2KW0:=%F=3'O3O\_>-OSR2<'\T27L)=?'CR +MTW!APSL^BSF?/V!7+5/]0.C-!Y9P[WRL=X_A\I=VIW.*?<D:?WAR/G^(K=KJ +M.<_ODN)Q'O_DO1'.-WG<7W.YC>,JW1?VEURFZYJH?GRHGN+JW;J1;K(.U[YX +MMB_O[MWE[CKCP[CX*-:=[UP79/W.7<(=;1M!.7>69?A_^??V`^=/A_6?)6`^ +,!WSS?ZE[ZN&@70`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-ebr.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-ebr.qcow.gz.uu new file mode 100644 index 0000000..8e8e277 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-ebr.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-512-ebr.qcow.gz +M'XL("*$S(E0``VEM9RTQ>#$M-3$R+65B<BYQ8V]W+F]U=`"MG=F.'-=R1=_U +M%<5Y)BLBLJHR.>,"-N"WZP?;K[?&Y_H`?KPY9)[3';4V0[9$-0029&Y4G5Y: +MA*3%T^OUKV^KU<96PW8U3*O+8?7]Q_.'K>[\X/['ZMM__OM_O+W[[=L?O\9L +M_9NGTH\'7\4\=V_K'^LVYS^>.J[6TY^8^_YA-'?GU<7_X=7=>;.W<R__^/5F +M^3E7@_??[FJ>6]ZNB=,;_MSK^YK>KOTZO;_O[;IXNQLUN+TW^,]Y[E_SZW/Q +M=G=J;KPW=TUOU\7;G=3<_K>PN(#EH.:.Q=R`3YW4W+F8V^!3%YZSWWQN?\UM +M\2E3<XYSJS:WPZ="S0WWYM9O%Z"7N1&?$MQ9R=V$3PGNK.1NCT\)[JSD[H!/ +M">ZLY.Z(3PGNK.3NA$\)[KSD[HQ/">Z\Y.Z"3PGNO.+.^"G!G5?<&?G.%7=> +M<6?D.U?<><6=D>]<<><5=T:^<\6=5]P9^<X5=U%Q9^2[4-Q%Q9V1[T)Q%R5W +MY+M0W$7)'?DN%'=1<D>^"\5=E-R1[T)Q%R5WY+M0W$7)'?DN%'=#R1WY;E#< +M#25WY+M!<3=4W#D_);@;*NZ<?#<H[H:*.R??#8J[H>+.R7>#XFZHN'/RW:"X +M&RKNG'PW*.XV%7=.OMLH[C85=TZ^VRCN-B5WY+N-XFY3<D>^VRCN-B5WY+N- +MXFY3<D>^VRCN-B5WY+N-XFY3<D>^VRCNMB5WY+NMXFY;<D>^VRKNMA5WP4\) +M[K85=T&^VRKNMA5W0;[;*NZV%7=!OMLJ[K85=T&^VRKNMA5W0;[;*NYV%7=! +MOMLI[G85=T&^VRGN=B5WY+N=XFY7<D>^VRGN=B5WY+N=XFY7<D>^VRGN=B5W +MY+N=XFY7<D>^VRGNQI([\MVHN!M+[LAWH^)NK+@;^"G!W5AQ-Y#O1L7=6'$W +MD.]&Q=U8<3>0[T;%W5AQ-Y#O1L7=6'$WD.]&Q=WRG[_U'/EN4MQ-%7<#^6Y2 +MW$TE=^2[27$WE=R1[R;%W51R1[Z;%'=3R1WY;E+<325WY+M)<3>5W)'O)L7= +MON2.?+=7W.U+[LAW>\7=ON)NPT\)[O85=QORW5YQMZ^XVY#O]HJ[?<7=AGRW +M5]SM*^XVY+N]XFY?<;<AW^T5=\O_AM1SY+N#XNY0<;<AWQT4=X>2._+=07%W +M*+DCWQT4=X>2._+=07%W*+DCWQT4=X>2._+=07%W*+DCWQT4=\>2._+=47%W +M++DCWQT5=\>*NRT_);@[5MQMR7='Q=VQXFY+OCLJ[HX5=UORW5%Q=ZRXVY+O +MCHJ[8\7=EGQW5-R=*NZVY+N3XNY4<;<EWYT4=Z>2._+=27%W*KDCWYT4=Z>2 +M._+=27%W*KDCWYT4=Z>2._+=27%W*KDCWYT4=^>2._+=67%W+KDCWYT5=^>* +MNQT_);@[5]SMR'=GQ=VYXFY'OCLK[LX5=SORW5EQ=ZZXVY'OSHJ[<\7=CGQW +M5MQ=*NYVY+N+XNY2<;<CWUT4=Y>2._+=17%W*;DCWUT4=Y>2._+=17%W*;DC +MWUT4=Y>2._+=17%W*;DCWUT$=[9\1\^![VPMN+-UR1WXSM:".UM7W(W\%'-G +M97\W@N],]7=6]G<C^,Y4?V=E?S>"[TSU=U;V=R/XSE1_9V5_-X+O3/5W5O9W +M(_C.5']G97\W@N],]7=6]G<C^,Y4?V=E?S>"[TSU=U;V=R/XSE1_9V5_-X+O +M3/5W5O9W(_C.5']G97\W@N],]7=6]G<C^4[U=U;V=R/Y3O5W5O9W$S\EN"O[ +MNXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z +M.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N) +M?*?Z.RO[NXE\I_H[*_N[B7RG^CLK^[N)?*?Z.RO[NST_);@K^[L]^4[U=U;V +M=WORG>KOK.SO]N0[U=]9V=_MR7>JO[.RO]N3[U1_9V5_MR??J?[.ROYN3[Y3 +M_9V5_=V>?*?Z.RO[NSWY3O5W5O9W>_*=ZN^L[._VY#O5WUG9W^W)=ZJ_L[*_ +MVY/O5']G97^W)]^I_L[*_FY/OE/]G97]W8&?$MR5_=V!?*?Z.RO[NP/Y3O5W +M5O9W!_*=ZN^L[.\.Y#O5WUG9WQW(=ZJ_L[*_.Y#O5']G97]W(-^I_L[*_NY` +MOE/]G97]W8%\I_H[*_N[`_E.]7=6]G<'\IWJ[ZSL[P[D.]7?6=G?'<AWJK^S +MLK\[D.]4?V=E?W<@WZG^SLK^[LA/">[*_NY(OE/]G97]W9%\I_H[*_N[(_E. +M]7=6]G='\IWJ[ZSL[X[D.]7?6=G?'<EWJK^SLK\[DN]4?V=E?W<DWZG^SLK^ +M[DB^4_V=E?W=D7RG^CLK^[LC^4[U=U;V=T?RG>KOK.SOCN0[U=]9V=\=R7>J +MO[.ROSN2[U1_9V5_=^*G!'=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG^CLK^[L3 +M^4[U=U;V=R?RG>KOK.SO3N0[U=]9V=^=R'>JO[.ROSN1[U1_9V5_=R+?J?[. +MRO[N1+Y3_9V5_=V)?*?Z.RO[NQ/Y3O5W5O9W)_*=ZN^L[.].Y#O5WUG9WYW( +M=ZJ_L[*_._-3@KNROSN3[U1_9V5_=R;?J?[.RO[N3+Y3_9V5_=V9?*?Z.RO[ +MNS/Y3O5W5O9W9_*=ZN^L[._.Y#O5WUG9WYW)=ZJ_L[*_.Y/O5']G97]W)M^I +M_L[*_NY,OE/]G97]W9E\I_H[*_N[,_E.]7=6]G=G\IWJ[ZSL[\[D.]7?6=G? +M7?@IP5W9WUW(=ZJ_L[*_NY#O5']G97]W(=^I_L[*_NY"OE/]G97]W85\I_H[ +M*_N["_E.]7=6]G<7\IWJ[ZSL[R[D.]7?6=G?7<AWJK^SLK^[D.]4?V=E?W<A +MWZG^SLK^[D*^4_V=E?W=A7RG^CM?OI/F5GT.?/?]*>;.4W^WW*>WZMR![USU +M=Y[ZN]7,W6KA+M;\%'/GJ;];S=RM_M7FP'>N^CM/_=WJFLXNZ/X[5_V=I_ZN +MG5V?`]^YZN\\]7<P![YSU=]YZN]@#GSGJK_SU-\M<P_Z'/C.57_GJ;][L,RM +MVASXSE5_YZF_>S!S]Z!S![YSU=]YZN\>S-P]Z-R![USU=Y[ZNP?7F[,#W[GJ +M[SSU=^WL^ASXSE5_YZF_@SGPG:O^SE-_!W/@.U?]G:?^;IE[V.?(=ZJ_\]3? +M/5SF.G?D.]7?>>KO'L[</6S<T?UWKOH[3_W=PYF[AXT[NO_.57_GJ;][>,UG +M1_??N>KO//5W[>SZ'/E.]7>>^CN8(]^I_LY3?P=SY#O5WWGJ[Y:Y1WV.?*?Z +M.T_]W:-EKG%']]^YZN\\]7>/9NX>=>[(=ZJ_\]3?/9JY>]2Y(]^I_LY3?_?H +M>G-VY#O5WWGJ[]K9]3GRG>KO//5W,$>^4_V=I_X.YLAWJK_SU-\M<X_['/E. +M]7>>^KO'RUSGCGRG^CM/_=WCF;O'C3NZ_\Y5?^>IOWL\<_>X<4?WW[GJ[SSU +M=X^O^>SH_CM7_9VG_JZ=79\CWZG^SE-_!W/D.]7?>>KO8(Y\I_H[3_W=,O>D +MSY'O5'_GJ;][LLPU[NC^.U?]G:?^[LG,W9/.'?E.]7>>^KLG,W=/.G?D.]7? +M>>KOGEQOSHY\I_H[3_U=.[L^1[Y3_9VG_@[FR'>JO_/4W\$<^4[U=Y[ZNV7N +M:9\CWZG^SE-_]W29Z]R1[U1_YZF_>SIS][1Q1_??N>KO//5W3V?NGC;NZ/X[ +M5_V=I_[NZ36?'=U_YZJ_\]3?M;/K<^0[U=]YZN]@CGRG^CM/_1W,D>]4?^>I +MOUOFGO4Y\IWJ[SSU=\^6N<8=W7_GJK_SU-\]F[E[UKDCWZG^SE-_]VSF[EGG +MCGRG^CM/_=VSZ\W9D>]4?^>IOVMGU^?(=ZJ_\]3?P1SY3O5WGOH[F"/?J?[. +M4W^WS#WO<^0[U=]YZN^>+W.=._*=ZN\\]7?/9^Z>-^[H_CM7_9VG_N[YS-WS +MQAW=?^>JO_/4WSV_YK.C^^]<]7>>^KMV=GV.?*?Z.T_]'<R1[U1_YZF_@SGR +MG>KO//5WR]R+/D>^4_V=I_[NQ3+7N*/[[USU=Y[ZNQ<S=R\Z=^0[U=]YZN]> +MS-R]Z-R1[U1_YZF_>W&].3ORG>KO//5W[>SZ'/E.]7>>^CN8(]^I_LY3?P=S +MY#O5WWGJ[Y:YEWV.?*?Z.T_]W<MEKG-'OE/]G:?^[N7,W<O&'=U_YZJ_\]3? +MO9RY>]FXH_OO7/5WGOJ[E]=\=G3_G:O^SE-_U\ZNSY'O5'_GJ;^#.?*=ZN\\ +M]7<P1[Y3_9VG_FZ9>]7GR'>JO_/4W[U:YAIW=/^=J_[.4W_W:N;N5>>.?*?Z +M.T_]W:N9NU>=._*=ZN\\]7>OKC=G1[Y3_9VG_JZ=79\CWZG^SE-_!W/D.]7? +M>>KO8(Y\I_H[3_W=,O>ZSY'O5'_GJ;][O<QU[LAWJK_SU-^]GKE[W;BC^^]< +M]7>>^KO7,W>O&W=T_YVK_LY3?_?ZFL^.[K]SU=]YZN_:V?4Y\IWJ[SSU=S!' +MOE/]G:?^#N;(=ZJ_\]3?+7-O^ASY3O5WGOJ[-\M<XX[NOW/5WWGJ[][,W+WI +MW)'O5'_GJ;][,W/WIG-'OE/]G:?^[LWUYNS(=ZJ_\]3?M;/K<^0[U=]YZN]@ +MCGRG^CM/_1W,D>]4?^>IOUOFWO8Y\IWJ[[SJ[X+NOW/5WWG5WP7=?^>JO_.J +MOPNZ_\Y5?^=5?Q=T_YVK_LZK_B[H_CM7_9U7_5W0_7>N^CNO^KN@^^]<]7<N +M^KMW?8Y\I_H[3_W=NV6N<4?WW[GJ[SSU=^]F[MYU[LAWJK_SU-^]F[E[U[DC +MWZG^SE-_]^YZ<W;D.]7?>>KOVMGU.?*=ZN\\]7<P1[Y3_9VG_@[FR'>JOXOE +M.VENW>?`=Z'ZN^\_<8^[Q4_KSAWX+E1_%ZF_6\][Z\8=W7\7JK^+U-^M9^[6 +MC3NZ_RY4?Q>IOUM?\]G1_7>A^KM(_5T[NSX'O@O5WT7J[V`.?!>JOXO4W\$< +M^"Y4?Q>IOUOFK,^![T+U=Y'Z.UOF&G=T_UVH_BY2?V?SR[/.'?@N5'\7J;^S +MF3OKW('O0O5WD?H[N]Z<'?@N5'\7J;]K9]?GP'>A^KM(_1W,@>]"]7>1^CN8 +M`]^%ZN\B]7?+G/<Y\IWJ[R+U=[[,=>[(=ZJ_B]3?^<R=-^[H_KM0_5VD_LYG +M[KQQ1_??A>KO(O5W?LUG1_??A>KO(O5W[>SZ'/E.]7>1^CN8(]^I_BY2?P=S +MY#O5WT7J[Y:YZ'/D.]7?1>KO8IEKW-']=Z'ZNTC]7<S<1>>.?*?ZNTC]7<S< +M1>>.?*?ZNTC]75QOSHY\I_J[2/U=.[L^1[Y3_5VD_@[FR'>JOXO4W\$<^4[U +M=Y'ZNV5NZ'/D.]7?1>KOAF6N<T>^4_U=I/YNF+D;&G=T_UVH_BY2?S?,W`V- +M.[K_+E1_%ZF_&Z[Y[.C^NU#]7:3^KIU=GR/?J?XN4G\'<^0[U=]%ZN]@CGRG +M^KM(_=TRM^ESY#O5WT7J[S;+7...[K\+U=]%ZN\V,W>;SAWY3O5WD?J[S<S= +MIG-'OE/]7:3^;G.].3ORG>KO(O5W[>SZ'/E.]7>1^CN8(]^I_BY2?P=SY#O5 +MWT7J[Y:Y;9\CWZG^+E)_MUWF.G?D.]7?1>KOMC-WV\8=W7\7JK^+U-]M9^ZV +MC3NZ_RY4?Q>IO]M>\]G1_7>A^KM(_5T[NSY'OE/]7:3^#N;(=ZJ_B]3?P1SY +M3O5WD?J[96[7Y\AWJK^+U-_MEKG&'=U_%ZJ_B]3?[6;N=IT[\IWJ[R+U=[N9 +MNUWGCGRG^KM(_=WN>G-VY#O5WT7J[]K9]3GRG>KO(O5W,$>^4_U=I/X.YLAW +MJK^+U-\M<V.?(]^I_BY2?S<N<YT[\IWJ[R+U=^/,W=BXH_OO0O5WD?J[<>9N +M;-S1_7>A^KM(_=UXS6=']]^%ZN\B]7?M[/H<^4[U=Y'Z.Y@CWZG^+E)_!W/D +M.]7?1>KOEKFISY'O5'\7J;^;EKG&'=U_%ZJ_B]3?33-W4^>.?*?ZNTC]W31S +M-W7NR'>JOXO4WTW7F[,CWZG^+E)_U\ZNSY'O5'\7J;^#.?*=ZN\B]7<P1[Y3 +M_5VD_FZ9>]_GR'>JOXO4W[U?YCIWY#O5WT7J[][/W+UOW-']=Z'ZNTC]W?N9 +MN_>-.[K_+E1_%ZF_>W_-9T?WWX7J[R+U=^WL^ASY3O5WD?H[F"/?J?XN4G\' +M<^0[U=]%ZN^6N0]]CGRG^KM(_=V'9:YQ1_??A>KO(O5W'V;N/G3NR'>JOXO4 +MWWV8N?O0N2/?J?XN4G_WX7IS=N0[U=]%ZN_:V?4Y\IWJ[R+U=S!'OE/]7:3^ +M#N;(=ZJ_B]3?+7,?^QSY3O5WD?J[C\M<YXY\I_J[2/W=QYF[CXT[NO\N5'\7 +MJ;_[.'/WL7%']]^%ZN\B]7<?K_GLZ/Z[4/U=I/ZNG5V?(]^I_BY2?P=SY#O5 +MWT7J[V".?*?ZNTC]W3+WJ<^1[U1_%ZF_^[3,->[H_KM0_5VD_N[3S-VGSAWY +M3O5WD?J[3S-WGSIWY#O5WT7J[SY=;\Z.?*?ZNTC]73N[/D>^4_U=I/X.YLAW +MJK^+U-_!'/E.]7>1^KME[G.?(]^I_BY2?_=YF>O<D>]4?Q>IO_L\<_>Y<4?W +MWX7J[R+U=Y]G[CXW[NC^NU#]7:3^[O,UGQW=?Q>JOXO4W[6SZW/D.]7?1>KO +M8(Y\I_J[2/T=S)'O5'\7J;];YK[T.?*=ZN\B]7=?EKG&'=U_%ZJ_B]3??9FY +M^]*Y(]^I_BY2?_=EYNY+YXY\I_J[2/W=E^O-V9'O5'\7J;]K9]?GR'>JOXO4 +MW\$<^4[U=Y'Z.Y@CWZG^;EB^D^:^]CGPW:#ZNR'U=U^7N<X=^.[[4\S=D/J[ +MKS-W7Q?NAC4_Q=P-J;_[.G/W]5]M#GPWJ/ZN?2QSN3<>Z/Z[_E0Q=^?;MS]> +M_AS<T,T\Q>#E@H._YGZ0]_T7?/_8;^;O?/]8VYVY'U]2V/3K>W!WCK[R\5]Z +MN_3%V7\SN-FL]ON;P?]:7M_/RW0&7ZWW\'?]$]_^\?;^7^WU_?S3VYO=:MBL +M-MO5Z'_V#?_/O_TW?3KH3V___\[OUUQ)7WO!]F?F?OYN>^=7WB5#_\2WCLG; +M.]?6;>A/;_<7\4,O9_H)^>KHJ[W_%?9N_H3TW<_SSZ\7__U?C9?_^Y&N$6V? +MWU5_?524WWN[OWE]J]NW^_-WM-W]7V]WYKQXNZO[<X???FY__^H>W+XZ^HKJ +M?^63<?/G?/_D/[D_1N[_D_MKSO]>$>Q^FN7';SI[^+O^B6__?'O_KU^#PSSX +3MYW@L!Z_O\H__A<I;[G$7Z<````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-ebr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-ebr.qcow2.gz.uu new file mode 100644 index 0000000..07c721f --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-ebr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-512-ebr.qcow2.gz +M'XL("),[(U0``VEM9RTQ>#$M-3$R+65B<BYQ8V]W,BYO=70`K9=;L](P$,?? +M^13!RU&/BLUN4HJ7HYZ+,[[I@_I<+OT4?'C;9FG:[6X#3*'#P(3_;S;DEZ7) +MLO`PQEOC<N,VIMJ:^C-=8'H?AI<Y_O[Q<]5_'!<!9C,E)0PX['`#UD/$@8;+ +M['C`RKA>=2C@X)0:@U(XIU8W-2#@;A?M3]<N1L$2>`TPX-3%N*H^"/7QA+NR +M/IB[/I1_/W_*\8%\NCX,]?'46L,521P(J8V&*Y,X%%);#;=+XIR0VFNX0Q+G +MA52EX&Q"E1J7"RFKX2")6PLIU'`NB2N$E.:=37NW$5*:=S;M72FD-.]LVKNM +MD-*\LVGO=D)*\\ZFO=L+*<T[4+PS$7<04IIWP+Q;$NY9Q%5"2O,.F'?/"?>B +MPUDII7D'S+N7A+N).*'?@>8=,.]>$>YUQ`G]#C3O@'GWAG"W$2?T.]"\`^;= +M6\*]BSBAWX'F'3#OWH^\LT*_`\T[9-Y](%86<4*_0\T[9-Y9PD'$"?T.->^0 +M>8>$<Q$G]#O4O$/FG2=<'G%"OT/-.V3>K0E71)S0[U#S#IEW&\)]C#BAWZ'F +M'3+O/A'N<\0)_0XU[Y!Y]X5P=Q$G]#O4O'/,NZ^$^Q9Q0K]SFG>.>?>=</<1 +M)_0[IWGGF'</A'OL<""E.N^R3+X(]S3:LS#O_:>+]\=6>-4')H#%)<"I"@-N +M,^N$?=@;EP&K2JO/A[U1?Z&^2D]OZBM,C_*V]P<LU+?LX_9S3[>Z#.B]*<L1 +M\,^IOE;G9A.5PJL^<+Q?#9]=?:X!^G6S)WQN"CAWPO^>_DK+X6;;'P&G'^9I +MH"O8GH-K#_.];_;-T`>&MV;+B)L\S#<GE(,TH%;G9W;/%2S77^?V:+6+9U!V +M8]NMKXGU":T`!M.=J,^,I]O\YW9G8[:*[0(DIFN&N.WDVDY7MQQ7MYMY,3S? +M&6?NW`8RW+D!!_,V`F@[2VU@_:WQJSYP_+4:/@/0$7"V7]#ES5_EXC\C;N3L +$@10````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-ebr.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-ebr.raw.gz.uu new file mode 100644 index 0000000..70326d3 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-ebr.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-1x1-512-ebr.raw.gz +M'XL(".?%'50``VEM9RTQ>#$M-3$R+65B<BYR87<N;W5T`*V4S0Z#(`S'[SY% +M=]W!0`?379?LOLNV,[KY%#S\BO@!(J@)@&A2^LN_MH4Q.P#H65UQ@RX70Q?G +MHJ?QYC"PZU:!%M>2%QV@I>3P08MQ!\<9((_K.[FX;^YPNV-`*4&I`/@:]:'Q +M$@A,K>QQ@[Z7_IST"0.4%0@)\@HU[@WX\WBOI4/P7/_/XG`+-PGF>W`7X^6< +M="LC;M!SF=CWB!,I=81@OT/!RLRU)^J%GYMG8-0E+;!ZL*$/G/(+L[Y;*`.] +M<!/Z(`Q7&5SEG^<.#C?"!1_7)'.;5G<*U;69DR&7G;&S<PW$[UR+P[P7`?8W +>"U4@G0KWN$$_2W]:H!B`V?Z@0`,L_F-6J)F4!@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-ebr.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-ebr.vhd.gz.uu new file mode 100644 index 0000000..c1f997c --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-ebr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-512-ebr.vhd.gz +M'XL(".?%'50``VEM9RTQ>#$M-3$R+65B<BYV:&0N;W5T`*V735/#(!"&[_T5 +MZWCST($-;-JKHYZ=<=2K:4P<#WZ,>O"0'R\$2"`)V"A-2I.!??+NLFPH8^8# +M0`50"]0`27U="J`]E#L`U6E/[%MN;Z&KWUZ;^NOY>VL_W<;`./.M0G-MCP4( +M]9`2L-(/H4=]#9W#;$\OG\Z>7YX<#BW./5@0"`2I(&+V'&*#.DVZ.K^YZ)$/ +MH[IBKFZT4M^#`":`<V]$X=0]#!H'G%!6;=N?)515+].=P4W0,3H[P4DVL?)D +M+@75<W8)1RFK-;BSC9T+DRHJ,4K5JM!Q*%%?J[1Q<9B=*E6^/]^KC\]FH@\C +MJ4*#/C[K*^+NHDT5=(.M`J'3.>4N])2O*6XA5?X5/0KMA+U006#2=6#O?AB] +M$06^/N(L$?/X9$3U54F__N#PX;`:&%%H</7@<"5'CTR2C,%$'M=WXN,><[O; +MK@-*J2O&%'CK]-7:2I4Z5BVT\8[N?!L>@[Y&`V6IJZ\DV.&Q#M]?WBU-1Q-9 +MO>OC9W#X&VX0S(_!%;:4NI%^9L0[NC%-S*_#B90ZO82;5<[*S+G7["9V_CP# +M4ZND!K:S?1@"A_F%4=]^+@,#=Q/Z8.YNI7%E.)Y[./S%70AQA^3<IM6=S-75 +MF2>CG:Z,(U>NAH0KU^`P;R'`OK*H#%2CYFV\H[O>AH<!HGUS9'L5H:U]V10* +M"\RF4+ABFD]AP9+)MC8+R2K,M*^G>+G_R[Z>O'*?85]/KMS'K-BJ?3W9<I]I +;7T^NW.?9UVM<UGT]J7]LC&U^`&IC,XL,#@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-ebr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-ebr.vhdf.gz.uu new file mode 100644 index 0000000..c7d0a81 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-ebr.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-1x1-512-ebr.vhdf.gz +M'XL(".?%'50``VEM9RTQ>#$M-3$R+65B<BYV:&1F+F]U=`"ME;%N@S`0AO<\ +MQ47=,D2VL0^R1DWG2E7;-4`@RI!VZ="!AZ^-,?%A(*0R&#`ZW\=_OK-AS!X` +M^AIMTX9F.SB:U6;5TGCQ,+"N1X$65VHO/4"W7'4=W1CW<)R!X-/ZUC[N%#O< +M^C&@4I#G`?#=Z1/&2PI@^<A]VM#LM_3L]4D#5"E(!0HA$TL#_CQ\C*5#\ECS +M9W'B'JX7S)?@$N/EC?0K8]K0W,K$/AU.SJG3"%8]%*R*7'LR&_CY>0:F5TD) +M+.ML@@+[_,)-WRZ4(4BX,_H@##<WN)2.YQY.W`D7**Z8S>V\NG6HKHR<##5< +M&0M7KH'0E6MQ(NY&(-J=15>@'A7>IPW-ZY:>%B@[8+09Q.Y7A`E@#5@!*M-/ +M)>`.TLP'"EI)3?G]594_EU\_PP;'^S]'V(R_2,QJP11$;CZ")]/W]#T=SIO+ +M]>QP;JMR'Y9H)EUIB`S"11KNR_[MN44>;^J2<)+0G[U"`I/`.0F\4W>DY8SM +H/N^"K6HH5"O3-?)"#*-;E<$I-O#Z;VXM#B.7BJZ]U1_9@4$XOP@````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-ebr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-ebr.vmdk.gz.uu new file mode 100644 index 0000000..9ad3787 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-ebr.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-512-ebr.vmdk.gz +M'XL(".C%'50``VEM9RTQ>#$M-3$R+65B<BYV;61K+F]U=`"M7%V/W,81?/>O +MH*67(`\+UI)<D@\"$N<<(`@"&)9COX:?T2&V))P.00SLCP^'G)HKWFHTM*]/ +M/)$M=O=.]W#K3M6%S?/M*\O*/BO+K!RSZI+ER)9_VHXL+YZ,Y3@WO'']^]T_ +M?CSQZP^GT_6K+1E<E(0@UW1B[%[G>GKVQ73G+T7M;BS'.9FN<%']3:!/=X[< +MB*8KEYOGSX5P==UZ>W07DBX+B;)=NNHS-46+_=+J_OB5;YY;7^'6L&SOI<WJ +M(KOTWLPNU6H767U>[^59O3C-2\+7V=W]I_]D=].GX>'^X^,'O[ZSV]O%N;PX +M_\O@,BR%U1=WX6ZX=*U+<9FR8LP*N-O9]>&O]S]/I_].#Y_N/[Q_`Y9[=GM; +M%EG9NN4X__SIV!GN1?+L`O<:V?4O?[M[XY_<_/2Q>V`Z%[4L9'GMI0[->[ED +M[OOV6%<WO7]T&6?_%5;G]M8WIUI?NW0759G5;;8NIW*YS\OMT9>\]FYXF+K' +MZ8=?/TYO7OWRX7WHG=M;U[)V3=2LC2JRJG"I?&FN?97+Z!Z;==>RZ\_WC^_N +MA[=+F9^F5Z?7&=-=7.^6#6S\NK:JEY!+=&>795^__=_C4F\V^IV]9[IU$6L1 +MRVM7YZRJ7:YE`]>M.&=%Z:Z6?UH6O%12PCEEUP_O3]__M+S%7;/>?O?G[YFN +M6:(6SV6!2\A2T*ZF:JN_>OY89M>WWV:O7)$_O)O6)Y#IVNUMYIRW?<!JGMV% +M[]J6WH%8Z6ZL.YO==8]=]DWW:3J]OKO[)NQLYXHMUV-9VN2R7+;4[OE>V[DT +M;MOI;:/7K1C'_M2-W<?'Z<%M;]B*WK5H])6Z;2V?MG'_.O6Z4[-[8K+KF^S5 +M_;CLJ4O[[^G#+TPW;(_QL@[W2+1K8.$NEJ=G33_Y5]B>&+=-+MWT^/#K:?CU +MY_OWX_)&R]XPW;CU;EG.MIM/F[ELX++"SRYPZ=VK=5?#\IAN<JL;;Q:X[J=O +M9%A4>-GL^LNZO'=3-RY+6W(SW>Q6=_[\.GRGGKW4DCV[/G5MS?O)IRMR#P&% +MA[)=B\)RMA<4`)V&QP\/V\)>"1X7SW^6O12/RYL?J?7O3+BELU[?)7_V\ZS0 +MN%*,:I?0_13+E^\_+=_?/:WOXM9W$<]:HQHQVEVZ?RTI/MZ6>W'OPDX\>XT: +MQ!B/=._BH&T2S_EY]_BK!N0ZGHZ_"]"ST*A2C&J7+M:[RO>.GK5&-6*TNW2Q +MWEU\[^C9:]0@QGBHV-KWCIZS1KD3?Y5"?N#7LDOC>T?/0J-*,:I=NECO6M\[ +M>M8:U8C1[M+%>M?YWM&SUZA!C/%0L;WO'3UGC7(G`@3D.IYN\+VC9Z%1I1C5 +M+EVL=Z/O'3UKC6K$:'?I8KV;?._HV6O4(,9XJ-C9]XZ>LT:Y4RF]*U/IZMSW +MCIZ%1I5B5+MTD=[5Q#MZUAK5B-'NTD5Z5Q/OZ-EKU"#&>*A8XAT]9XURITIZ +M5R73$>_H66A4*4:U2Q?K'?&.GK5&-6*TNW2QWA'OZ-EKU"#&>*A8XAT]9XUR +MIXOT[I),1[RC9Z%1I1C5+EVL=\0[>M8:U8C1[M+%>D>\HV>O48,8XZ%BB7?T +MG#7*G?A+$.0ZGHYX1\]"HTHQJEVZ6.^(=_2L-:H1H]VEB_6.>$?/7J,&,<9# +MQ1+OZ#EKE#N1D(%<1],UN>\=/0N-*L6H=NDBO6N(=_2L-:H1H]VEB_2N(=[1 +ML]>H08SQ4+'$.WK.&N5.K?2N3:8CWM&ST*A2C&J7+M8[XAT]:XUJQ&AWZ6*] +M(][1L]>H08SQ4+'$.WK.&N5._/\3Y#J>CGA'ST*C2C&J7;I8[XAW]*PUJA&C +MW:6+]8YX1\]>HP8QQD/%$N_H.6N4.Y%_A%S'TQ'OZ%EH5"E&M4L7ZQWQCIZU +M1C5BM+MTL=X1[^C9:]0@QGBH6.(=/6>-<J=!>C>DTK6Y[QT]"XTJQ:AVZ2*] +M:XEW]*PUJA&CW:6+]*XEWM&SUZA!C/%0L<0[>LX:Y4ZC]&Y,IB/>T;/0J%*, +M:I<NUCOB'3UKC6K$:'?I8KTCWM&SUZA!C/%0L<0[>LX:Y4Z3]&Y*IB/>T;/0 +MJ%*,:I<NUCOB'3UKC6K$:'?I8KTCWM&SUZA!C/%0L<0[>LX:Y4ZS]&Y.IB/> +MT;/0J%*,:I<NUCOB'3UKC6K$:'?I8KTCWM&SUZA!C/%0L<0[>LX:E<OT#'(= +M3=?E6^^"9Z%1I1C5+EVD=YW'N^!9:U0C1KM+%^E=Y_$N>/8:-8@Q'BK6XUWP +MG#7*M4SX.R0IK<[C'82_@_)W$/X.2?ZN\W@'X>^@_!V$OT.2O^L\WD'X.RA_ +M!^'O#A3K\0["WT'Y.PA_AR2EU7F\@_!W4/X.PM\AR=]U'N\@_!V4OX/P=TCR +M=YW'.PA_!^7O(/S=@6(]WD'X.RA_!^'OD*2T.H]W$/X.RM]!^#LD^;O.XQV$ +MOX/R=Q#^#DG^KO-X!^'OH/P=A+\[4*S'.PA_!^7O(/P=DI16G_O>"7\'Y>\@ +M_!V2_%U/O!/^#LK?0?@[)/F[GG@G_!V4OX/P=P>*)=X)?P?E[R#\'9*45D^\ +M$_X.RM]!^#LD^;N>>"?\'92_@_!W2/)W/?%.^#LH?P?A[PX42[P3_@[*WT'X +M.R0IK9YX)_P=E+^#\'=(\G<]\4[X.RA_!^'OD.3O>N*=\'=0_@["WQTHEG@G +M_!V4OX/P=TA26CWQ3O@[*'\'X>^0Y.]ZXIWP=U#^#L+?(<G?]<0[X>^@_!V$ +MOSM0+/%.^#LH?P?A[Y"DM(;<]T[X.RA_!^'OD.3O!N*=\'=0_@["WR')WPW$ +M.^'OH/P=A+\[4"SQ3O@[*'\'X>^0I+0&XIWP=U#^#L+?(<G?#<0[X>^@_!V$ +MOT.2OQN(=\+?0?D["']WH%CBG?!W4/X.PM\A26D-Q#OA[Z#\'82_0Y*_&XAW +MPM]!^3L(?X<D?S<0[X2_@_)W$/[N0+'$.^'OH/P=A+]#DM(:B'?"WT'Y.PA_ +MAR1_-Q#OA+^#\G<0_@Y)_FX@W@E_!^7O(/S=@6*)=\+?0?D["'^')*4UYKYW +MPM]!^3L(?X<D?S<2[X2_@_)W$/X.2?YN)-X)?P?E[R#\W8%BB7?"WT'Y.PA_ +MAR2E-1+OA+^#\G<0_@Y)_FXDW@E_!^7O(/P=DOS=2+P3_@[*WT'XNP/%$N^$ +MOX/R=Q#^#DE*:R3>"7\'Y>\@_!V2_-U(O!/^#LK?0?@[)/F[D7@G_!V4OX/P +M=P>*)=X)?P?E[R#\'9*4UDB\$_X.RM]!^#LD^;N1>"?\'92_@_!W2/)W(_%. +M^#LH?P?A[PX42[P3_@[*WP4Q'>1:TF7;MT\WY5OO@F>A47G^^6/IW9(BSVY6 +M-QGK`['J`\-,8:OJ]R7<TEFO+\RWI7]/<;]5OX@PW^;Q(OTBPGR;QXOTBPCS +M;1XOTB\BS+=-](L(\VT3_2+"?-M$OX@PWS;1+R+,MTWTBPCS;1/](L)\VT2_ +MB##?-M$O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$ +MOX@PWS;1+R+,MTWTBPCS;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M$_TBPGS; +M1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$OX@PWS;1+X+S;1O](CC?MM$O@O-M +M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT; +M_2(XW[;1+X+S;1O](CC?MM$O@O-M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O] +M(CC?MM$O@O-M&_TB.-^VT2^"\VT;_2(XW[;1+X+S;1O](CC?MM$O@O-M&_TB +M.-^VT2^"\VT;_2(XW[;1+X+S;1O](CC?MM$O(LRWZ?DB_2+"?)N>+](O(LRW +MZ?DB_2+"?)N>+](O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2\BS+=-](L(\VT3 +M_2+"?-M$OX@PWS;1+R+,MTWTBPCS;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M +M$_TBPGS;1+^(,-\VT2\BS+=-](L(\VT3_2+"?-M$OX@PWS;1+R+,MTWTBPCS +M;1/](L)\VT2_B##?-M$O(LRW3?2+"/-M$_TBPGS;1+^(,-\VT2^"\VT;_2(F +M4_TB)E/](B93_2(F4_TB)E/](B93_2(F4_TB)E/](B93_2(F4_TB)E/](B93 +M_2(F4_TB)E/](B93_2+F/#?4+V(VU2]B-M4O8C;5+V(VU2]B-M4O8C;5+V(V +MU2]B-M4O8C;5+V(VU2]B-M4O8C;5+V(VU2]B-M4O8C;5+Y[S/#?4+YYO/DMX +M%Q5/=UOLI@\LT?_FA/,<[5X)]Z@L#LO15?YB.38AF?0-\?5]K>E&ZW+GWY:P +MJK*NNTGX3ZYO_33A[;-5;_^.W[A^<]K_">M;/PZSJMW'Q%:7K#D?+?BG;W]\ +M5O"6SNQQV=+=?/3T\W1AP0<^R;HLUX^>%D]],N(WKD^/R79FNO)+J],IS[%B +MC3]ZNBR;9W&ZS^N,8'A2,SQ#EK"_V=/ZVMMEG'?E?F%]-\A2ENY'D'[XJN[B +M#NLBY6;[=/T7]_;+J_OZ=G6#\694S]\9!]^Y+LG^G;NE.]L"P65%EDTZ<?MW +=_,;UN]/^SY:P]`G-.EBZ#T[+O_H__903[2]?```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu new file mode 100644 index 0000000..93e4a77 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu @@ -0,0 +1,132 @@ +# $FreeBSD$ +begin 644 img-1x1-512-gpt.qcow.gz +M'XL("*,S(E0``VEM9RTQ>#$M-3$R+6=P="YQ8V]W+F]U=`"MG<MN7-F11>?U +M%5=OB9*HC(C[U-MNM`'/RH9[UH.ZKQQU&]ES?7PSR?,@(_=6V!!51$$%X6YD +M'BTNJE2KC@Z'NV]-TTG3]DT[-<>EN?GG]"'-O7]X^-'\^-M?_GI]_]N/W^[& +MY/"3I]P_M]I(FGNP]><ZI^>GUN8P_0MS-Q]P[MZKLW_CU=U[LY=S5[_=O5G\ +MG+)!>S#8I+E#>GU"3J_]UU[?=_=VY>[T'N_M*GF['1OL'PS^GN;^2*]/R=L= +MV-SX8.[DWJZ2MSNQN?FGL"B!96%S:S#7PJ<V-K<'<QU\ZHCGY"<_MW=S/7Q* +MV)S"N:;,#?`I8W/M@[G#=08ZSXWP*<*=A-Q-\"G"G83<S?`IPIV$W"WP*<*= +MA-RM\"G"G83<;?`IPIV&W.WP*<*=AMP=X5.$.XVX$_P4X4XC[@3Y3AEW&G$G +MR'?*N-.(.T&^4\:=1MP)\ITR[C3B3I#OE'%G$7>"?&>,.XNX$^0[8]Q9R!WR +MG3'N+.0.^<X8=Q9RAWQGC#L+N4.^,\:=A=PAWQGCSD+ND.^,<=>&W"'?M8R[ +M-N0.^:YEW+41=XJ?(MRU$7>*?-<R[MJ(.T6^:QEW;<2=(M^UC+LVXDZ1[UK& +M71MQI\AW+>.NB[A3Y+N.<==%W"GR7<>XZT+ND.\ZQET7<H=\US'NNI`[Y+N. +M<=>%W"'?=8R[+N0.^:YCW'4A=\AW'>.N#[E#ONL9=WW('?)=S[CK(^X,/T6X +MZR/N#/FN9]SU$7>&?-<S[OJ(.T.^ZQEW?<2=(=_UC+L^XLZ0[WK&W1!Q9\AW +M`^-NB+@SY+N!<3>$W"'?#8R[(>0.^6Y@W`TA=\AW`^-N"+E#OAL8=T/('?+= +MP+@;0NZ0[P;&W1ARAWPW,N[&D#ODNY%Q-T;<M?@IPMT8<=<BWXV,NS'BKD6^ +M&QEW8\1=BWPW,N[&B+L6^6YDW(T1=RWRW<BXR[_]S>>0[R;&W11QUR+?38R[ +M*>0.^6YBW$TA=\AW$^-N"KE#OIL8=U/('?+=Q+B;0NZ0[R;&W11RAWPW,>[F +MD#ODNYEQ-X?<(=_-C+LYXJ[#3Q'NYHB[#OEN9MS-$7<=\MW,N)LC[CKDNYEQ +M-T?<=<AW,^-NCKCKD.]FQEW^SY!\#OEN8=PM$7<=\MW"N%M"[I#O%L;=$G*' +M?+<P[I:0.^2[A7&WA-PAWRV,NR7D#OEN8=PM(7?(=POC;@VY0[Y;&7=KR!WR +MW<JX6R/N>OP4X6Z-N.N1[U;&W1IQUR/?K8R[->*N1[Y;&7=KQ%V/?+<R[M:( +MNQ[Y;F7<;1%W/?+=QKC;(NYZY+N-<;>%W"'?;8R[+>0.^6YCW&TA=\AW&^-N +M"[E#OML8=UO('?+=QKC;0NZ0[S;&W1YRAWRW,^[VD#ODNYUQMT?<#?@IPMT> +M<3<@W^V,NSWB;D"^VQEW>\3=@'RW,^[VB+L!^6YGW.T1=P/RW<ZX.T;<#<AW +M1\;=,>)N0+X[,NZ.(7?(=T?&W3'D#OGNR+@[AMPAWQT9=\>0.^2[(^/N&'*' +M?'=DW!U#[I#OCH0[R=_A<\!W<B#<R2'D#OA.#H0[.43<C?@IS)V$_=T(?">L +MOY.POQN![X3U=Q+V=R/PG;#^3L+^;@2^$];?2=C?C<!WPOH["?N[$?A.6'\G +M87\W`M\)Z^\D[.]&X#MA_9V$_=T(?">LOY.POQN![X3U=Q+V=R/PG;#^3L+^ +M;@2^$];?2=C?C<!WPOH["?N[$?F.]7<2]G<C\AWK[R3L[R;\%.$N[.\FY#O6 +MWTG8WTW(=ZR_D["_FY#O6'\G87\W(=^Q_D["_FY"OF/]G83]W81\Q_H["?N[ +M"?F.]7<2]G<3\AWK[R3L[R;D.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^ +M3L+^;D*^8_V=A/W=A'S'^CL)^[L)^8[U=Q+V=S-^BG`7]G<S\AWK[R3L[V;D +M.];?2=C?S<AWK+^3L+^;D>]8?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S'^CL) +M^[L9^8[U=Q+V=S/R'>OO).SO9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_-R/? +ML?Y.POYN1KYC_9V$_=V,?,?Z.PG[NP4_1;@+^[L%^8[U=Q+V=POR'>OO).SO +M%N0[UM])V-\MR'>LOY.POUN0[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V"?,?Z +M.PG[NP7YCO5W$O9W"_(=Z^\D[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W +M(-^Q_D["_FY!OF/]G83]W8J?(MR%_=V*?,?Z.PG[NQ7YCO5W$O9W*_(=Z^\D +M[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83]W8I\ +MQ_H["?N[%?F.]7<2]G<K\AWK[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A +M?[<BW['^3L+^;L-/$>["_FY#OF/]G83]W89\Q_H["?N[#?F.]7<2]G<;\AWK +M[R3L[S;D.];?2=C?;<AWK+^3L+_;D.]8?R=A?[<AW['^3L+^;D.^8_V=A/W= +MAGS'^CL)^[L-^8[U=Q+V=QOR'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_ +M)V%_M^.G"'=A?[<CW['^3L+^;D>^8_V=A/W=CGS'^CL)^[L=^8[U=Q+V=SOR +M'>OO).SO=N0[UM])V-_MR'>LOY.PO]N1[UA_)V%_MR/?L?Y.POYN1[YC_9V$ +M_=V.?,?Z.PG[NQWYCO5W$O9W._(=Z^\D[.]VY#O6WTG8W^W(=ZR_D["_.^*G +M"'=A?W=$OF/]G83]W1'YCO5W$O9W1^0[UM])V-\=D>]8?R=A?W=$OF/]G83] +MW1'YCO5W$O9W1^0[UM])V-\=D>]8?R=A?W=$OF/]G83]W1'YCO5W$O9W1^0[ +MUM])V-\=D>]8?R=A?W=$OF/]G>;ON+FFS@'?W3R%N5/7W^7[])K*'?"=LOY. +M77_7).Z:S)T=\%.8.W7]79.X:_XH<\!WROH[=?U=<W)G9^C^.V7]G;K^KIQ= +MG0.^4];?J>OOP!SPG;+^3EU_!^:`[Y3U=^KZNSSWI,X!WRGK[]3U=T_R7%/F +M@.^4]7?J^KLGB;LGE3O@.V7]G;K^[DGB[DGE#OA.67^GKK][<KHX.^`[9?V= +MNOZNG%V=`[Y3UM^IZ^_`'/"=LOY.77\'YH#OE/5WZOJ[//>TSB'?L?Y.77_W +M-,]5[I#O6'^GKK][FKA[6KA#]]\IZ^_4]7=/$W=/"W?H_CME_9VZ_N[IR9\= +MNO].67^GKK\K9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+<LSJ'?,?Z +M.W7]W;,\5[A#]]\IZ^_4]7?/$G?/*G?(=ZR_4]??/4O</:O<(=^Q_DY=?_?L +M='%VR'>LOU/7WY6SJW/(=ZR_4]??@3GD.];?J>OOP!SR'>OOU/5W>>YYG4.^ +M8_V=NO[N>9ZKW"'?L?Y.77_W/''WO'"'[K]3UM^IZ^^>)^Z>%^[0_7?*^CMU +M_=WSDS\[=/^=LOY.77]7SJ[.(=^Q_DY=?P?FD.]8?Z>NOP-SR'>LOU/7W^6Y +M%W4.^8[U=^KZNQ=YKG"'[K]3UM^IZ^]>).Y>5.Z0[UA_IZZ_>Y&X>U&Y0[YC +M_9VZ_N[%Z>+LD.]8?Z>NORMG5^>0[UA_IZZ_`W/(=ZR_4]??@3GD.];?J>OO +M\MS+.H=\Q_H[=?W=RSQ7N4.^8_V=NO[N9>+N9>$.W7^GK+]3U]^]3-R]+-RA +M^^^4]7?J^KN7)W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8 +M?Z>NO\MSK^H<\AWK[]3U=Z_R7.$.W7^GK+]3U]^]2MR]JMPAW['^3EU_]RIQ +M]ZIRAWS'^CMU_=VKT\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/( +M=ZR_4]??Y;G7=0[YCO5WZOJ[UWFN<H=\Q_H[=?W=Z\3=Z\(=NO].67^GKK][ +MG;A[7;A#]]\IZ^_4]7>O3_[LT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC_9VZ +M_@[,(=^Q_DY=?Y?GWM0YY#O6WZGK[][DN<(=NO].67^GKK][D[A[4[E#OF/] +MG;K^[DWB[DWE#OF.]7?J^KLWIXNS0[YC_9VZ_JZ<79U#OF/]G;K^#LPAW['^ +M3EU_!^:0[UA_IZZ_RW-7=0[YCO5WZOJ[JSQ7N4.^8_V=NO[N*G%W5;A#]]\I +MZ^_4]7=7B;NKPAVZ_TY9?Z>NO[LZ^;-#]]\IZ^_4]7?E[.H<\AWK[]3U=V`. +M^8[U=^KZ.S"'?,?Z.W7]79Y[6^>0[UA_IZZ_>YOG"G?H_CME_9VZ_NYMXNYM +MY0[YCO5WZOJ[MXF[MY4[Y#O6WZGK[]Z>+LX.^8[U=^KZNW)V=0[YCO5WZOH[ +M,(=\Q_H[=?T=F$.^8_V=NOXNS[VK<\AWK+]3U]^]RW.5.^0[UM^IZ^_>)>[> +M%>[0_7?*^CMU_=V[Q-V[PAVZ_TY9?Z>NOWMW\F>'[K]3UM^IZ^_*V=4YY#O6 +MWZGK[\`<\AWK[]3U=V`.^8[U=^KZNSSWOLXAW['^3EU_]S[/%>[0_7?*^CMU +M_=W[Q-W[RAWR'>OOU/5W[Q-W[RMWR'>LOU/7W[T_79P=\AWK[]3U=^7LZASR +M'>OOU/5W8`[YCO5WZOH[,(=\Q_H[=?U=GKNN<\AWK+_3J+\S=/^=LOY.H_[. +MT/UWROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.XWZ +M.T/WWRGK[Y3T=Q_J'/(=Z^_4]7<?\ESA#MU_IZR_4]???4C<?:C<(=^Q_DY= +M?_<A<?>A<H=\Q_H[=?W=A]/%V2'?L?Y.77]7SJ[.(=^Q_DY=?P?FD.]8?Z>N +MOP-SR'>LO[/\'3=WJ'/`=\;ZNYL?>,!=]M.A<@=\9ZR_,]??'=+>H7"'[K\S +MUM^9Z^\.B;M#X0[=?V>LOS/7WQU._NS0_7?&^CMS_5TYNSH'?&>LOS/7WX$Y +MX#MC_9VY_@[,`=\9Z^_,]7=Y3NH<\)VQ_LY<?R=YKG"'[K\SUM^9Z^\DO3RI +MW`'?&>OOS/5WDKB3RAWPG;'^SEQ_)Z>+LP.^,];?F>OORMG5.>`[8_V=N?X. +MS`'?&>OOS/5W8`[XSEA_9ZZ_RW-:YY#O6']GKK_3/%>Y0[YC_9VY_DX3=UJX +M0_??&>OOS/5WFKC3PAVZ_\Y8?V>NO].3/SMT_YVQ_LY<?U?.KLXAW['^SEQ_ +M!^:0[UA_9ZZ_`W/(=ZR_,]??Y3FK<\AWK+\SU]]9GBO<H?OOC/5WYOH[2]Q9 +MY0[YCO5WYOH[2]Q9Y0[YCO5WYOH[.UV<'?(=Z^_,]7?E[.H<\AWK[\SU=V`. +M^8[U=^;Z.S"'?,?Z.W/]79YKZQSR'>OOS/5W;9ZKW"'?L?[.7'_7)N[:PAVZ +M_\Y8?V>NOVL3=VWA#MU_9ZR_,]??M2=_=NC^.V/]G;G^KIQ=G4.^8_V=N?X. +MS"'?L?[.7'\'YI#O6']GKK_+<UV=0[YC_9VY_J[+<X4[=/^=L?[.7'_7)>ZZ +MRAWR'>OOS/5W7>*NJ]PAW['^SEQ_UYTNS@[YCO5WYOJ[<G9U#OF.]7?F^CLP +MAWS'^CMS_1V80[YC_9VY_B[/]74.^8[U=^;ZNS[/5>Z0[UA_9ZZ_ZQ-W?>$. +MW7]GK+\SU]_UB;N^<(?NOS/6WYGK[_J3/SMT_YVQ_LY<?U?.KLXAW['^SEQ_ +M!^:0[UA_9ZZ_`W/(=ZR_,]??Y;FASB'?L?[.7'\WY+G"';K_SEA_9ZZ_&Q)W +M0^4.^8[U=^;ZNR%Q-U3ND.]8?V>NOQM.%V>'?,?Z.W/]73F[.H=\Q_H[<_T= +MF$.^8_V=N?X.S"'?L?[.7'^7Y\8ZAWS'^CMS_=V8YRIWR'>LOS/7WXV)N[%P +MA^Z_,];?F>OOQL3=6+A#]]\9Z^_,]7?CR9\=NO_.6']GKK\K9U?GD.]8?V>N +MOP-SR'>LOS/7WX$YY#O6WYGK[_+<5.>0[UA_9ZZ_F_)<X0[=?V>LOS/7WTV) +MNZERAWS'^CMS_=V4N)LJ=\AWK+\SU]]-IXNS0[YC_9VY_JZ<79U#OF/]G;G^ +M#LPAW['^SEQ_!^:0[UA_9ZZ_RW,?ZQSR'>OOS/5W'_-<Y0[YCO5WYOJ[CXF[ +MCX4[=/^=L?[.7'_W,7'WL7"'[K\SUM^9Z^\^GOS9H?OOC/5WYOJ[<G9U#OF. +M]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:ISR'>LOS/7WWW*<X4[=/^=L?[. +M7'_W*7'WJ7*'?,?Z.W/]W:?$W:?*'?(=Z^_,]7>?3A=GAWS'^CMS_5TYNSJ' +M?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^<^USGD.];?F>OO/N>YRAWR'>OO +MS/5WGQ-WGPMWZ/X[8_V=N?[N<^+N<^$.W7]GK+\SU]]]/OFS0_??&>OOS/5W +MY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^U+GD.]8?V>NO_N2YPIW +MZ/X[8_V=N?[N2^+N2^4.^8[U=^;ZNR^)NR^5.^0[UM^9Z^^^G"[.#OF.]7?F +M^KMR=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L]]K7/(=ZR_,]???<US +ME3OD.];?F>OOOB;NOA;NT/UWQOH[<_W=U\3=U\(=NO_.6']GKK_[>O)GA^Z_ +M,];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\]ZW.(=^Q_LY< +M?_<MSQ7NT/UWQOH[<_W=M\3=M\H=\AWK[\SU=]\2=]\J=\AWK+\SU]]].UV< +M'?(=Z^_,]7?E[.H<\AWK[\SU=V`.^8[U=^;Z.S"'?,?ZNS9_Q\U]KW/`=RWK +M[UK7WWW/<Y4[X+N;IS!WK>OOOB?NOF?NV@-^BORYQ^[-?L^]\7690W_>=GDJ +MF+OW[<=O5W>#Z+ZJMF2`T>O[P[\^=%_5K[R^[O;\6FT.,_@[_X$??[Y^^%<9 +MO+T[Z-\8S*_PX5Q^P]W=W4&WT=1^X\YC^CC(_3<\UNOTP!M^<GUO#OW9S+]R +M?NBZGY\-=ETSSQ>#_Y5?W^UU/VW7M'W33NDBQU::3INN+7.W[[5;[[^^__S+ +M7YO?__3W?YS'_KN^W=OK?G9MAO7V#Q_8W*L3^G9_^+=[-W?[Y7OPIYWGC,X] +MP7.W7[Z[G\RA#S[7_NRI@])7=_%S>S?7'1X^-=Y_:NR:49O^YM^&9CKW/P_F +MT!\?_RODW=X<L/3GG]O^YA=XTJS'\W>V_OR'[S;CS:?)W7^:T=O_EVEJ!CG_ +M7W;GG]M__NWZGW=C[Z__[VUZ?7<W!PC^X#_`3N_NY@!&Q"%GB_SM-@_GP*_T +M?NWTSK]>6;I'.[TIP8(^^`_0TYOO3@\?TOE%P4^9'_>O$;T_!WZ]\DNG=_M_ +M-9Z_QL[@[_P'?OQ^_?"ON\$V#3[:*VP/_?J(GQWGN4?\[#C//>)GQWGN43\[ +MSH./^-EQGGO$SX[SW"-^=ISG'O6SXV;P]O<<'^F+^'GNS%YKS;PVZ]#T_HLX +M^W+\XS^NK_\7O-V[WW-D7_I_\D4<_V3LC_A%_#SW\R_B/?VYS=_<FWW$+^+G +4N4?](MX>AAN9_O;_@'C+'O6L```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu new file mode 100644 index 0000000..7528fc4 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu @@ -0,0 +1,26 @@ +# $FreeBSD$ +begin 644 img-1x1-512-gpt.qcow2.gz +M'XL(")4[(U0``VEM9RTQ>#$M-3$R+6=P="YQ8V]W,BYO=70`K9A+;YPP$(#O +M^15.WTT:BL<VC[Z3-"OE4B55>VL/+(]3%:EWVM]>C`T&,P/)UKMHE<B:3V/S +MS=@0Q^;#F.),)DSFK-FS[G][`9O\,[]8>[N[CJ:?]LC`>$Q$(0-2C+@9Z]+A +M@,+%?#G`<=PD.X'@8(A:@K9PDLQN;0#!G1SU2]??C,R+$(<`#8Z\&0?E!R8_ +M/T(>F!^$SD_@ZZ>&.'\@6<]/F/S\J)3"99LX0*)R"E=LX@02M:=PY29.(E$5 +MA:LW<0J):@@<WU"EPR5(%*=PL(E+D2A!X>0F+D.B*._XMG<Y$D5YQ[>]*Y`H +MRCN^[=T>B:*\X]O>E4@4Y1W?]JY"HBCO@/"..5R-1%'>@>?=L<4]<K@&B:*\ +M`\^[QQ;W9,1Q+(KR#CSOGEK<,X=#^AU0WH'GW7.+>^%P2+\#RCOPO'MI<2<. +MA_0[H+P#S[M3BWOE<$B_`\H[\+P[6WC'D7X'E'?"\^ZU9<4.A_0[07DG/.^X +MQ8'#(?U.4-X)SSMA<=+AD'XG*.^$YYVRN,3AD'XG*.^$YUUJ<9G#(?U.4-X) +MS[O<XMXX'-+O!.6=\+Q[:W'O'`[I=X+R3GC>O;>X#PZ']#M!>2<][SY:W">' +M0_J=I+R3GG?G%G?A<$B_DY1WTO/NTN(^CSC`HD;OXAB_+.YJ4;.`]#N9W!.W +M6^+HAY5#CK/2';<Y\DL/K`"SAP/)O5::<TJX"2LS86U5@?S2`^U%-/^.P+YV +M'P`<,ISC[(25J5WSP%C7K&GL95;*!F>3`P(RX>-H@JL"KU]?;@\`*L6*8@'\ +M/N37EUM77^;=0&>WZIN!`J;DB.OGJLII?E>[:W9S_O6;AOUPT^W+3>-J_;!4 +M)%YVG)KNU1?$/F7*+6W\U1YP@L*-QS(/IX\7:;6"PR[6_B%P<BUJ?.EPCWMK +M<"J>1TW;%LL4RX`E):L*$O=KADL"FR?U\#YA:<F26K]/*AO]1Y7HIS26=65B +MMFWHSU@Y2[D^NW7`]NXVNC.PL^CWJ<U/<FL$=M$#U.I)6#-")[4Q73;'8:^1 +M_FOU=%_>JV"KEUM9L(L>(%>O,*N'+Y)."BV9=EBUH>`&W#[PZB5ZN*N/KG\O +M?^F!]B::?PU06F"P#&72E`&K0^,"5H?&!:P.C0M:'1H8L#HT+F!U:%S`ZM"X +MH-71`>LXW":N<=J]/&.J8KED335/@]R.V^@G.MT:UK;^E4T<OQEUP$U<XU8W +?\;0F)VL_?[W)!MS$-2[H)BY3??P^^@=.=Z`2%1H````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu new file mode 100644 index 0000000..98d9945 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-1x1-512-gpt.raw.gz +M'XL(".C%'50``VEM9RTQ>#$M-3$R+6=P="YR87<N;W5T`*V534_#,`R&[_L5 +MWA5$E*1)FIWXD$#B-A#<N/1C/:%)W,M_)VX:UG9Q89+3J*KD^JGM^*VEC`O` +M:)!5YDX;^@<QO_K-U6:@J?HR8/@^AK``B@",N"88I<9W#@?HNG%+-7A%9VE! +MJ_0\XL1I;<4$UYZ\SC9MF.)$Q*5TN\N`UD)5G0'?4WQZ.`X+QH'9@0[O2S`* +MK`9K?G%#KK:9QO?X]`S[^]<WA'V<TM4J&%4#1D)30MLMHE-DNG?+="-.HY=9 +M5COA"A*WS>.*>+8T+K=IG%GSBCWTO[.-."OG7G[JY2UX#:Z!MB)QGS.<8^X\ +M@^;:0=F`.X!5T'3XT#I0*L079.('2*AO"W('I0)=([`_OHACA-V(K^LQ/J/& +MCLAMVD!5S^BUCL"@_D@7YKB"NWH>JV?9JK<;FR6W:0-9O2I6+U\D4C)]JEI2 +M2,+5S-5S:`[Z"/_O\SMMZ/=B?D6@&8%L$8;F<XSJ0!RC.A#'J`[$L:H#@8SJ +M0!RC.A#'J`[$L:HC`+WD&^*(&X:X@;*%MH!B.<2I<=R+;W&;2=?KM=&_,L3S +CA^$9ASCBUH=X02:;UB)9QB&..-8A'H"5E)L?B^NWCH@+```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu new file mode 100644 index 0000000..61a70ff --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-512-gpt.vhd.gz +M'XL(".C%'50``VEM9RTQ>#$M-3$R+6=P="YV:&0N;W5T`*V82V^<,!"`[_D5 +M4_66JA0;V[#'1DVDWM+7+8>`@6BE=OM(#E'%CZ_'V(`7FW238;V(E7<^YN7Q +MR'D^7@"J`-6#ZD!)?"X%J!V4%8"9=(/;.W,_8=`_#YU^V#]F[AK.1AC+EU*A +M.,KS`H1Y20F\QI>H%I]A\)CL]>7=^?['G<=QA_,O%@H$!VD@8O4>E4_:(>GJ +MXLL'B[R=M2O6VLU2YML(R`4PMOA'X;6[G72<<,)(];T=)90URDXC^!%,(.YO +MEJUQ,C^26J@9<^K"V!A.;4F=@CL_<[$84\4D1FGNQG4,2H[/)FV\'U;#I,KC +M_:_ZSWUWI!]/I(J:]&.KN2)M+G>IPOV?G08"TWG+7+"4AV-<)%5>Y#T5ROGH +M&B?DTD]P:W[HO1D%2_T4RS=\G@Y&4K\:]3-K*Z\C]_3$<)&%GPG8-*<!O0=# +MW&1PH]%_MHYTW6S1F"2S8XN-@.0+_S4M<7R;_C2@E%#7*^`WKY^VX9"VX.TP +M,4QQ$`RD*7YS.EO;I5[J=WGU$:[??_Z*L)O97(WITK6X@DS5[=LC[=8K;3)W +M'UMLFH_9Q_NHL442]RZZ=C4N-J-4&A<;:9S8DG);V?\74BWS4*I:2E42*@Y* +M0ULG<=\#''5=[G"Z45!JW,(E`VWW\E;A1@:562:5A7#@)NYF8S>[<(/`X?`I +M.XRPM]GO-TZ_CKF,B(WT1,I['=_*"%3J"7,AQ%'7Y:Y"[TDR[^U<LL1&>B+I +MO7KT7MQ)J%1LZ4Z[6I:]"G$-K?>8;1_-^C#U>WU/3PS76?@9@=QM0V3[&G>% +ME$Q#X8!D&@JW?@DU9&(SF*=&6;F@$%48Q!%6&,015AC$D588!!)6&,015AC$ +M$588Q)%6&$7;""G7".6E#4`!31>JD6QI!A\(WW)X'-]JGS8:H7@P*!LA]50C +MU'=)8_UU9"QA(Z2H&R'E"BG168;RC=!:A^><92C?""U>_(*S#!5OA)Y[EH$X +8PK,,Q!&>92"..%6P;SG[!W<O66(`$P`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu new file mode 100644 index 0000000..7e6c736 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-512-gpt.vhdf.gz +M'XL(".G%'50``VEM9RTQ>#$M-3$R+6=P="YV:&1F+F]U=`"METMOU#`0@._[ +M*P;U5D2P'=O)'EO12MS*Z]9#\["KE6`1$@<.^?%X_"!VU@X4.1E%64W\99X9 +M+R'N`.`,R)"YEA7+;9.>R^'Z8&ET?!G0O!]-V``;`W2XR2@)PV>4`JV]$&I7 +MN<5&6K+>6URS'J2)<'.\:B-E18QK'"ZXJU\&%`*&X0+X)=C';#H$<`G\",P\ +M3X!3$`P$_X.SOHLIMN_N_CT\W'S\C+#'U5U&C5+-0%J01]#SQCI:=O>T<=?A +MC$$8?::SSK9%W-MM]!RN1=R\@\M)&<?W5KD:^K?<.IP@Z:H^7M4+Z!G(">:A +MB/N:X&3ERN.H'B5T$T@%@L*D\6:60*FQS[1);R$,F,G[$3H*;$3@<O[0G!WL +M3?/CM;>/4U\1.2DK2M'C;*\BT*B_N`LIKJT=O1ZC)ZI%[^B+)2=E13%Z@XM> +M/DAH5*YU#<Y'K7F5XL;*T9.H-OUAOM^7U[)B>6C2TP&Y!U:S4&@]5>P.Q%7L +M#L15[`[$5>T.!%;L#L15[`[$5>P.Q%7M#@-4I-X01YRMO<XFH(51I684Q_$2 +M$A'&9<"QO=&_,\3SR5`5ASCB=H>X5D5GP[%QMN(01US5(2[]]EN:W9GM+RGP +MON.X6>OZ&,C6FK'`Z?M933]/O^+H(8ZZBL@*KF<M%J;L@`WX$CGC?63?U=WS +M]>G;<\`Q[U5X,5:TJ6(#X1?NRM3=^]M/[RSR:;4N\YF2<?1&#H3C)R9VW%OW +ME):*M#N@X*S2F$O"5TE^)(IL(2/.EDK\\/_FUN%JEXKY:W#X#1@%S56S#0`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu new file mode 100644 index 0000000..cec7ced --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu @@ -0,0 +1,87 @@ +# $FreeBSD$ +begin 644 img-1x1-512-gpt.vmdk.gz +M'XL(".G%'50``VEM9RTQ>#$M-3$R+6=P="YV;61K+F]U=`"M7%V/W,81?/>O +MF,@/#A)DP5J22_)!0.S(!HP@@&(I\4L>LOR*#Y$EY70(8F!_?#CDU%SQ;N=( +M^?I,B=O:[MKI'K+W7%U@EBT_SA6M*PI7]*X\N0QN^J?E<%E^;TS'L>8;ES^_ +M^LO?#_SY[>%P^6(!@X^2$&0*)\;J<RZ'!S^$.SX5M7IC.HZ;<+F/:A\%!KAC +MXHTD7#&]>;P6PM6=Y[=[_T+@7`1R*[CR2D[)9)]:W>^^",7SZ\O]&J;M/36N +MRMVI#:8[E;.=N^HXOY>Y:G(:)\`OW:N;3_]VKX9/W>W-Q[L/87U'O[>3<W'R +M_J?.(TR)52?_PK_AX1H/<1I<WKL<_FUWN?WNYMUP^.]P^^GFP_N78+I'O[=% +M[HK&+\?[9_?'RO`?DKD3_&>XRY^^?_4R7+G9X>/YEG`^:EK(]-E3'HI[.CG_ +MY_$QKVYX?^<1Q_`35^?W-A2GG#^[\"_*PE6-FY=3>NSC]'8?4IYKU]T.Y[OA +M[2\?AY<O?O[P/M;.[ZTO63,#U7.A<E?F'BJDYLM7>D1_V<R[YB[O;NY^NNG> +M3&E^&EX<OG2$._G:31M8AW4M64\AI^3.3LN^?/N_NRE?UX>=O2'<O(@YB>FS +MRZ,K*X\U;>"\%4>7%_[5]$_3@J=,"G@G=_GP_O##C],M[HOUYO77/Q"NGJ(F +MSVF!4\B4T"JG<LF_?'A9NLN;;]T+G^3;GX;Y"B1<L]QFWGG9!\SFT;\(55O@ +M?1,K_!OSSKI7Y[NS^^;\:3A\^>K5-W%GSS[98CZFI0T>Y;1`^^M[+N=4N&6G +MEXV>MZ+OV\.Y/W^\&V[]]L:M:'V)^I"IW];B?AO7GU/-.S7Z*\9=7KH7-_VT +MIQ[V7\.'GPG7+9?QM`Y_231S8.Y?3%?/##^$3UBN&+]-'FZXN_WET/WR[N9] +M/]UH[B7A^J5VTW*6W;S?S&D#IQ5>7>!4NQ?SKL;E$6[PJ^L?+7#>SU#(N*CX +ML>[R\[R\GX9S/RUMPB;<Z%=WO+Z.4*D''S6AN\M]U6;<3P$NST(+R$,K6Y4H +M+F?Y0&F@0W?WX799V`OIQ_G#[[+G]N/BT5=J]2L!%SCK]9VR!]]GN<858I0K +M0/\MEDU__CC]>7V_OI-?WTD\*XVJQ6A6</^<(#X^3O?D[\*S>+8:U8G1[ZG> +MR;>V03S'A]7CKQJ0UVDX_BY`SURC"C'*%5RJ=F6H'3TKC:K%:%9PJ=J=0NWH +MV6I4)T:_*]DJU(Z>HT;Y$W^50K;CU[)3'6I'SURC"C'*%5RJ=DVH'3TKC:K% +M:%9PJ=J=0^WHV6I4)T:_*]DVU(Z>HT;Y$QL$Y'4:K@NUHV>N4848Y0HN5;L^ +MU(Z>E4;58C0KN%3MAE`[>K8:U8G1[TIV#+6CYZA1_E1([8HMN"H+M:-GKE&% +M&.4*+E&[BOV.GI5&U6(T*[A$[2KV.WJV&M6)T>]*EOV.GJ-&^5,IM2LWX=CO +MZ)EK5"%&N8)+U8[]CIZ51M5B-"NX5.W8[^C9:E0G1K\K6?8[>HX:Y4\GJ=UI +M$X[]CIZY1A5BE"NX5.W8[^A9:50M1K."2]6._8Z>K49U8O2[DF6_H^>H4?[$ +M7X(@K]-P['?TS#6J$*-<P:5JQWY'STJC:C&:%5RJ=NQW]&PUJA.CWY4L^QT] +M1XWR)Q(RD-=)N#H+M:-GKE&%&.4*+E&[FOV.GI5&U6(T*[A$[6KV.WJV&M6) +MT>]*EOV.GJ-&^5,CM6LVX=COZ)EK5"%&N8)+U8[]CIZ51M5B-"NX5.W8[^C9 +M:E0G1K\K6?8[>HX:Y4_\_R?(ZS0<^QT]<XTJQ"A7<*G:L=_1L]*H6HQF!9>J +M'?L=/5N-ZL3H=R7+?D?/4:/\B?PCY'4:COV.GKE&%6*4*[A4[=COZ%EI5"U& +MLX)+U8[]CIZM1G5B]+N29;^CYZA1_M1)[;HMN"8+M:-GKE&%&.4*+E&[AOV. +MGI5&U6(T*[A$[1KV.WJV&M6)T>]*EOV.GJ-&^5,OM>LWX=COZ)EK5"%&N8)+ +MU8[]CIZ51M5B-"NX5.W8[^C9:E0G1K\K6?8[>HX:Y4^#U&[8A&._HV>N4848 +MY0HN53OV.WI6&E6+T:S@4K5COZ-GJU&=&/VN9-GOZ#EJE#^-4KMQ$X[]CIZY +M1A5BE"NX5.W8[^A9:50M1K."2]6._8Z>K49U8O2[DF6_H^>H49E,SR"ODW#G +M;*E=],PUJA"C7,$E:G<._2YZ5AI5B]&LX!*U.X=^%SU;C>K$Z'<E&_I=]!PU +MRI=,^#ML4EKGT.\@_!V4OX/P=]CD[\ZAWT'X.RA_!^'OL,G?G4._@_!W4/X. +MPM_M2#;T.PA_!^7O(/P=-BFM<^AW$/X.RM]!^#ML\G?GT.\@_!V4OX/P=]CD +M[\ZAWT'X.RA_!^'O=B0;^AV$OX/R=Q#^#IN4UCGT.PA_!^7O(/P=-OF[<^AW +M$/X.RM]!^#ML\G?GT.\@_!V4OX/P=SN2#?T.PM]!^3L(?X=-2JO-0NV$OX/R +M=Q#^#IO\7<M^)_P=E+^#\'?8Y.]:]COA[Z#\'82_VY$L^YWP=U#^#L+?89/2 +M:MGOA+^#\G<0_@Z;_%W+?B?\'92_@_!WV.3O6O8[X>^@_!V$O]N1+/N=\'=0 +M_@["WV&3TFK9[X2_@_)W$/X.F_Q=RWXG_!V4OX/P=]CD[UKV.^'OH/P=A+_; +MD2S[G?!W4/X.PM]AD])JV>^$OX/R=Q#^#IO\7<M^)_P=E+^#\'?8Y.]:]COA +M[Z#\'82_VY$L^YWP=U#^#L+?89/2ZK)0.^'OH/P=A+_#)G_7L=\)?P?E[R#\ +M'3;YNX[]3O@[*'\'X>]V),M^)_P=E+^#\'?8I+0Z]COA[Z#\'82_PR9_U['? +M"7\'Y>\@_!TV^;N._4[X.RA_!^'O=B3+?B?\'92_@_!WV*2T.O8[X>^@_!V$ +MO\,F?]>QWPE_!^7O(/P=-OF[COU.^#LH?P?A[W8DRWXG_!V4OX/P=]BDM#KV +M.^'OH/P=A+_#)G_7L=\)?P?E[R#\'3;YNX[]3O@[*'\'X>]V),M^)_P=E+^# +M\'?8I+3Z+-1.^#LH?P?A[[#)W_7L=\+?0?D["'^'3?ZN9[\3_@[*WT'XNQW) +MLM\)?P?E[R#\'38IK9[]3O@[*'\'X>^PR=_U['?"WT'Y.PA_ATW^KF>_$_X. +MRM]!^+L=R;+?"7\'Y>\@_!TV*:V>_4[X.RA_!^'OL,G?]>QWPM]!^3L(?X=- +M_JYGOQ/^#LK?0?B['<FRWPE_!^7O(/P=-BFMGOU.^#LH?P?A[[#)W_7L=\+? +M0?D["'^'3?ZN9[\3_@[*WT'XNQW)LM\)?P?E[Z*8#O):X-SR)\`-V5*[JY+R +M*_\4:^>NKFZPU@>.XU[`_'JZ?H]CNLB>7,;GKP^S?C'./):J_SK`!<ZX?HCS +M=RG3?=SGZBL1Y^\\GJ6O1)R_\WB6OA)Q_L[C6?I*Q/F[B;X2<?YNHJ]$G+^; +MZ"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_ +MF^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2< +MOYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$ +MG+^;Z"L1Y^\F^DIP_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YNHZ\$Y^\V^DIP +M_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YNHZ\$Y^\V^DIP_FZCKP3G[S;Z2G#^ +M;J.O!.?O-OI*</YNHZ\$Y^\V^DIP_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YN +MHZ\$Y^\V^DIP_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YNHZ\$Y^\V^DIP_FZC +MKP3G[S;Z2L3Y.SV?I:]$G+_3\UGZ2L3Y.SV?I:]$G+_3\UGZ2L3YNXF^$G'^ +M;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q +M_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2 +M<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^ +M$G'^;J*O1)R_F^@K$>?O)OI*</YNHZ_$8*JOQ&"JK\1@JJ_$8*JOQ&"JK\1@ +MJJ_$8*JOQ&"JK\1@JJ_$8*JOQ&"JK\1@JJ_$8*JOQ&"JK\1@JJ_$F&6&^DJ, +MIOI*C*;Z2HRF^DJ,IOI*C*;Z2HRF^DJ,IOI*C*;Z2HRF^DJ,IOI*C*;Z2HRF +M^DJ,IOI*C*;Z2HRF^LICEF6&^LKCHV<=[X1[G.RB#SS"5%]Y/#ZYC,]?7S'7 +M;WFZZN._TV]<OCFL_XN`:#\/D"M<PS'A`O[>6+1>P^#&,1R+<NX^P_@4ZRL) +M__8@<+UQ_?;O[W*4I3N?'P'^C>N;][<H_?.8BV9^."^?S%L6$6[.O>QT?=]^ +M][U[_?4/;SW8/^[3G1_O/':NZ=U0>8CUZO!$NF\?WQW%_'CGJ?K'ZFJR>1+N +MJVLW6S$_WGGLGX"[=J3ABJ>B/O=)X,7\>&>-4O6MJTM7'_WS>_MS$N[="NYD +M?.7-3YYM3Z[J_/.#2[AN?MAS?_*TM*NGVV2Y)X[NV'LE0@5W]$]D/ES>__7P +M?@'[P^$_OP_K6YX\B^M'^HU4]8KC4U>$7]1&NFX-EUM7S_^^TI9FU6O"Q7+M +M2+^1K-YYJ5[B6VU:U+5;=X+CM]IOUG"M<?5F5?XB/'G\=_J-R^O#^K\%L`B` +M9BLL_",%[>X.#V=X=W@XP[O#PYG>'1[0\.[P<(9WAX<SO#L\G.G=4?@'1MI] +MB7LX?^WU4\T;_PS_<GW5I+^.I_7]^&9>V%>K=&?.,?G5_\27^/7-&`R_Q#W< +BDU_BXY!.-OP\2-;P2]S#F7Z)%_[IG=D7_P=,%9H/M&4````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-mbr.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-mbr.qcow.gz.uu new file mode 100644 index 0000000..903950a4 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-mbr.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-512-mbr.qcow.gz +M'XL("*0S(E0``VEM9RTQ>#$M-3$R+6UB<BYQ8V]W+F]U=`"MG<N.&TF21??U +M%=3[+=',@F2$WFA@!IA=SV)FML7GFA^@CQ^5%.&>:3Q75MU5JD1!@A07I.?1 +M$;KKR'.]_OEMM=K8:MBNAFEU.:R^_WC^L-6=']S_6'W[[__\K[=WOWW[[>>8 +MK7_Q5/KQX*N8Y^YM_6/=YOR/IXZK]?0GYKY_&,W=>77Q+[RZ.V_V=N[E;S_? +M+#_G:O#^VUW-<\O;-7%ZPY][?5_3V[6?I_?WO5T7;W>C!K?W!O\YS_T^OSX7 +M;W>GYL9[<]?T=EV\W4G-[7\)BPM8#FKN6,P-^-1)S9V+N0T^=>$Y^\7G]N?< +M%I\R-><XMVIS.WPJU-QP;V[]=@%ZF1OQ*<&=E=Q-^)3@SDKN]OB4X,Y*[@[X +ME.#.2NZ.^)3@SDKN3OB4X,Y+[L[XE.#.2^XN^)3@SBONC)\2W'G%G9'O7''G +M%7=&OG/%G5?<&?G.%7=><6?D.U?<><6=D>]<<1<5=T:^"\5=5-P9^2X4=U%R +M1[X+Q5V4W)'O0G$7)7?DNU#<1<D=^2X4=U%R1[X+Q5V4W)'O0G$WE-R1[P;% +MW5!R1[X;%'=#Q9WS4X*[H>+.R7>#XFZHN'/RW:"X&RKNG'PW*.Z&BCLGWPV* +MNZ'BSLEW@^)N4W'GY+N-XFY3<>?DNXWB;E-R1[[;*.XV)7?DNXWB;E-R1[[; +M*.XV)7?DNXWB;E-R1[[;*.XV)7?DNXWB;EMR1[[;*NZV)7?DNZWB;EMQ%_R4 +MX&Y;<1?DNZWB;EMQ%^2[K>)N6W$7Y+NMXFY;<1?DNZWB;EMQ%^2[K>)N5W$7 +MY+N=XFY7<1?DNYWB;E=R1[[;*>YV)7?DNYWB;E=R1[[;*>YV)7?DNYWB;E=R +M1[[;*>YV)7?DNYWB;BRY(]^-BKNQY(Y\-RKNQHJ[@9\2W(T5=P/Y;E3<C15W +M`_EN5-R-%7<#^6Y4W(T5=P/Y;E3<C15W`_EN5-PM__>WGB/?38J[J>)N(-]- +MBKNIY(Y\-RGNII([\MVDN)M*[LAWD^)N*KDCWTV*NZGDCGPW*>ZFDCORW:2X +MVY?<D>_VBKM]R1WY;J^XVU?<;?@IP=V^XFY#OMLK[O85=QORW5YQMZ^XVY#O +M]HJ[?<7=AGRW5]SM*^XVY+N]XF[YSY!ZCGQW4-P=*NXVY+N#XNY0<D>^.RCN +M#B5WY+N#XNY0<D>^.RCN#B5WY+N#XNY0<D>^.RCN#B5WY+N#XNY8<D>^.RKN +MCB5WY+NCXNY8<;?EIP1WQXJ[+?GNJ+@[5MQMR7='Q=VQXFY+OCLJ[HX5=UOR +MW5%Q=ZRXVY+OCHJ[4\7=EGQW4MR=*NZVY+N3XNY4<D>^.RGN3B5WY+N3XNY4 +M<D>^.RGN3B5WY+N3XNY4<D>^.RGN3B5WY+N3XNY<<D>^.RONSB5WY+NSXNY< +M<;?CIP1WYXJ['?GNK+@[5]SMR'=GQ=VYXFY'OCLK[LX5=SORW5EQ=ZZXVY'O +MSHJ[2\7=CGQW4=Q=*NYVY+N+XNY2<D>^NRCN+B5WY+N+XNY2<D>^NRCN+B5W +MY+N+XNY2<D>^NRCN+B5WY+N+X,Z6[^@Y\)VM!7>V+KD#W]E:<&?KBKN1GV+N +MK.SO1O"=J?[.ROYN!-^9ZN^L[.]&\)VI_L[*_FX$WYGJ[ZSL[T;PG:G^SLK^ +M;@3?F>KOK.SO1O"=J?[.ROYN!-^9ZN^L[.]&\)VI_L[*_FX$WYGJ[ZSL[T;P +MG:G^SLK^;@3?F>KOK.SO1O"=J?[.ROYN)-^I_L[*_FXDWZG^SLK^;N*G!'=E +M?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4 +M?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\W +MD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?[?GIP1W97^W)]^I_L[* +M_FY/OE/]G97]W9Y\I_H[*_N[/?E.]7=6]G=[\IWJ[ZSL[_;D.]7?6=G?[<EW +MJK^SLK_;D^]4?V=E?[<GWZG^SLK^;D^^4_V=E?W=GGRG^CLK^[L]^4[U=U;V +M=WORG>KOK.SO]N0[U=]9V=_MR7>JO[.ROSOP4X*[LK\[D.]4?V=E?W<@WZG^ +MSLK^[D"^4_V=E?W=@7RG^CLK^[L#^4[U=U;V=P?RG>KOK.SO#N0[U=]9V=\= +MR'>JO[.ROSN0[U1_9V5_=R#?J?[.RO[N0+Y3_9V5_=V!?*?Z.RO[NP/Y3O5W +M5O9W!_*=ZN^L[.\.Y#O5WUG9WQWY*<%=V=\=R7>JO[.ROSN2[U1_9V5_=R3? +MJ?[.RO[N2+Y3_9V5_=V1?*?Z.RO[NR/Y3O5W5O9W1_*=ZN^L[.^.Y#O5WUG9 +MWQW)=ZJ_L[*_.Y+O5']G97]W)-^I_L[*_NY(OE/]G97]W9%\I_H[*_N[(_E. +M]7=6]G='\IWJ[ZSL[T[\E."N[.].Y#O5WUG9WYW(=ZJ_L[*_.Y'O5']G97]W +M(M^I_L[*_NY$OE/]G97]W8E\I_H[*_N[$_E.]7=6]G<G\IWJ[ZSL[T[D.]7? +M6=G?G<AWJK^SLK\[D>]4?V=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG^CLK^[L3 +M^4[U=U;V=V=^2G!7]G=G\IWJ[ZSL[\[D.]7?6=G?G<EWJK^SLK\[D^]4?V=E +M?W<FWZG^SLK^[DR^4_V=E?W=F7RG^CLK^[LS^4[U=U;V=V?RG>KOK.SOSN0[ +MU=]9V=^=R7>JO[.ROSN3[U1_9V5_=R;?J?[.RO[N3+Y3_9V5_=V9?*?Z.RO[ +MNPL_);@K^[L+^4[U=U;V=Q?RG>KOK.SO+N0[U=]9V=]=R'>JO[.RO[N0[U1_ +M9V5_=R'?J?[.RO[N0KY3_9V5_=V%?*?Z.RO[NPOY3O5W5O9W%_*=ZN^L[.\N +MY#O5WUG9WUW(=ZJ_L[*_NY#O5'_GRW?2W*K/@>^^/\7<>>KOEOOT5IT[\)VK +M_LY3?[>:N5LMW,6:GV+N//5WJYF[U>]M#GSGJK_SU-^MKNGL@NZ_<]7?>>KO +MVMGU.?"=J_[.4W\'<^`[5_V=I_X.YL!WKOH[3_W=,O>@SX'O7/5WGOJ[!\O< +MJLV![USU=Y[ZNP<S=P\Z=^`[5_V=I_[NP<S=@\X=^,Y5?^>IOWMPO3D[\)VK +M_LY3?]?.KL^![USU=Y[Z.Y@#W[GJ[SSU=S`'OG/5WWGJ[Y:YAWV.?*?Z.T_] +MW<-EKG-'OE/]G:?^[N',W</&'=U_YZJ_\]3?/9RY>]BXH_OO7/5WGOJ[A]=\ +M=G3_G:O^SE-_U\ZNSY'O5'_GJ;^#.?*=ZN\\]7<P1[Y3_9VG_FZ9>]3GR'>J +MO_/4WSU:YAIW=/^=J_[.4W_W:.;N4>>.?*?Z.T_]W:.9NT>=._*=ZN\\]7>/ +MKC=G1[Y3_9VG_JZ=79\CWZG^SE-_!W/D.]7?>>KO8(Y\I_H[3_W=,O>XSY'O +M5'_GJ;][O,QU[LAWJK_SU-\]GKE[W+BC^^]<]7>>^KO',W>/&W=T_YVK_LY3 +M?_?XFL^.[K]SU=]YZN_:V?4Y\IWJ[SSU=S!'OE/]G:?^#N;(=ZJ_\]3?+7-/ +M^ASY3O5WGOJ[)\M<XX[NOW/5WWGJ[Y[,W#WIW)'O5'_GJ;][,G/WI'-'OE/] +MG:?^[LGUYNS(=ZJ_\]3?M;/K<^0[U=]YZN]@CGRG^CM/_1W,D>]4?^>IOUOF +MGO8Y\IWJ[SSU=T^7N<X=^4[U=Y[ZNZ<S=T\;=W3_G:O^SE-_]W3F[FGCCNZ_ +M<]7?>>KOGE[SV=']=Z[Z.T_]73N[/D>^4_V=I_X.YLAWJK_SU-_!'/E.]7>> +M^KME[EF?(]^I_LY3?_=LF6O<T?UWKOH[3_W=LYF[9YT[\IWJ[SSU=\]F[IYU +M[LAWJK_SU-\]N]Z<'?E.]7>>^KMV=GV.?*?Z.T_]'<R1[U1_YZF_@SGRG>KO +M//5WR]SS/D>^4_V=I_[N^3+7N2/?J?[.4W_W?.;N>>..[K]SU=]YZN^>S]P] +M;]S1_7>N^CM/_=WS:SX[NO_.57_GJ;]K9]?GR'>JO_/4W\$<^4[U=Y[Z.Y@C +MWZG^SE-_M\R]Z'/D.]7?>>KO7BQSC3NZ_\Y5?^>IOWLQ<_>B<T>^4_V=I_[N +MQ<S=B\X=^4[U=Y[ZNQ?7F[,CWZG^SE-_U\ZNSY'O5'_GJ;^#.?*=ZN\\]7<P +M1[Y3_9VG_FZ9>]GGR'>JO_/4W[U<YCIWY#O5WWGJ[U[.W+ULW-']=Z[Z.T_] +MW<N9NY>-.[K_SE5_YZF_>WG-9T?WW[GJ[SSU=^WL^ASY3O5WGOH[F"/?J?[. +M4W\'<^0[U=]YZN^6N5=]CGRG^CM/_=VK9:YQ1_??N>KO//5WKV;N7G7NR'>J +MO_/4W[V:N7O5N2/?J?[.4W_WZGIS=N0[U=]YZN_:V?4Y\IWJ[SSU=S!'OE/] +MG:?^#N;(=ZJ_\]3?+7.O^QSY3O5WGOJ[U\M<YXY\I_H[3_W=ZYF[UXT[NO_. +M57_GJ;][/7/WNG%']]^YZN\\]7>OK_GLZ/X[5_V=I_ZNG5V?(]^I_LY3?P=S +MY#O5WWGJ[V".?*?Z.T_]W3+WIL^1[U1_YZF_>[/,->[H_CM7_9VG_N[-S-V; +MSAWY3O5WGOJ[-S-W;SIWY#O5WWGJ[]Y<;\Z.?*?Z.T_]73N[/D>^4_V=I_X. +MYLAWJK_SU-_!'/E.]7>>^KME[FV?(]^I_LZK_B[H_CM7_9U7_5W0_7>N^CNO +M^KN@^^]<]7=>]7=!]]^YZN^\ZN^"[K]SU=]YU=\%W7_GJK_SJK\+NO_.57_G +MHK][U^?(=ZJ_\]3?O5OF&G=T_YVK_LY3?_=NYNY=YXY\I_H[3_W=NYF[=YT[ +M\IWJ[SSU=^^N-V='OE/]G:?^KIU=GR/?J?[.4W\'<^0[U=]YZN]@CGRG^KM8 +MOI/FUGT.?!>JO_O^$_>X6_RT[MR![T+U=Y'ZN_6\MV[<T?UWH?J[2/W=>N9N +MW;BC^^]"]7>1^KOU-9\=W7\7JK^+U-^UL^MSX+M0_5VD_@[FP'>A^KM(_1W, +M@>]"]7>1^KMESOH<^"Y4?Q>IO[-EKG%']]^%ZN\B]7<VOSSKW('O0O5WD?H[ +MF[FSSAWX+E1_%ZF_L^O-V8'O0O5WD?J[=G9]#GP7JK^+U-_!'/@N5'\7J;^# +M.?!=J/XN4G^WS'F?(]^I_BY2?^?+7.>.?*?ZNTC]G<_<>>..[K\+U=]%ZN]\ +MYLX;=W3_7:C^+E)_Y]=\=G3_7:C^+E)_U\ZNSY'O5'\7J;^#.?*=ZN\B]7<P +M1[Y3_5VD_FZ9BSY'OE/]7:3^+I:YQAW=?Q>JOXO4W\7,773NR'>JOXO4W\7, +M773NR'>JOXO4W\7UYNS(=ZJ_B]3?M;/K<^0[U=]%ZN]@CGRG^KM(_1W,D>]4 +M?Q>IOUOFACY'OE/]7:3^;ECF.G?D.]7?1>KOAIF[H7%']]^%ZN\B]7?#S-W0 +MN*/[[T+U=Y'ZN^&:SX[NOPO5WT7J[]K9]3GRG>KO(O5W,$>^4_U=I/X.YLAW +MJK^+U-\M<YL^1[Y3_5VD_FZSS#7NZ/Z[4/U=I/YN,W.WZ=R1[U1_%ZF_V\S< +M;3IWY#O5WT7J[S;7F[,CWZG^+E)_U\ZNSY'O5'\7J;^#.?*=ZN\B]7<P1[Y3 +M_5VD_FZ9V_8Y\IWJ[R+U=]MEKG-'OE/]7:3^;CMSMVW<T?UWH?J[2/W==N9N +MV[BC^^]"]7>1^KOM-9\=W7\7JK^+U-^UL^MSY#O5WT7J[V".?*?ZNTC]'<R1 +M[U1_%ZF_6^9V?8Y\I_J[2/W=;IEKW-']=Z'ZNTC]W6[F;M>Y(]^I_BY2?[>; +MN=MU[LAWJK^+U-_MKC=G1[Y3_5VD_JZ=79\CWZG^+E)_!W/D.]7?1>KO8(Y\ +MI_J[2/W=,C?V.?*=ZN\B]7?C,M>Y(]^I_BY2?S?.W(V-.[K_+E1_%ZF_&V?N +MQL8=W7\7JK^+U-^-UWQV=/]=J/XN4G_7SJ[/D>]4?Q>IOX,Y\IWJ[R+U=S!' +MOE/]7:3^;IF;^ASY3O5WD?J[:9EKW-']=Z'ZNTC]W31S-W7NR'>JOXO4WTTS +M=U/GCGRG^KM(_=UTO3D[\IWJ[R+U=^WL^ASY3O5WD?H[F"/?J?XN4G\'<^0[ +MU=]%ZN^6N?=]CGRG^KM(_=W[9:YS1[Y3_5VD_N[]S-W[QAW=?Q>JOXO4W[V? +MN7O?N*/[[T+U=Y'ZN_?7?'9T_UVH_BY2?]?.KL^1[U1_%ZF_@SGRG>KO(O5W +M,$>^4_U=I/YNF?O0Y\AWJK^+U-]]6.8:=W3_7:C^+E)_]V'F[D/GCGRG^KM( +M_=V'F;L/G3ORG>KO(O5W'ZXW9T>^4_U=I/ZNG5V?(]^I_BY2?P=SY#O5WT7J +M[V".?*?ZNTC]W3+WL<^1[U1_%ZF_^[C,=>[(=ZJ_B]3??9RY^]BXH_OO0O5W +MD?J[CS-W'QMW=/]=J/XN4G_W\9K/CNZ_"]7?1>KOVMGU.?*=ZN\B]7<P1[Y3 +M_5VD_@[FR'>JOXO4WRUSG_H<^4[U=Y'ZNT_+7...[K\+U=]%ZN\^S=Q]ZMR1 +M[U1_%ZF_^S1S]ZES1[Y3_5VD_N[3]>;LR'>JOXO4W[6SZW/D.]7?1>KO8(Y\ +MI_J[2/T=S)'O5'\7J;];YC[W.?*=ZN\B]7>?E[G.'?E.]7>1^KO/,W>?&W=T +M_UVH_BY2?_=YYNYSXX[NOPO5WT7J[SY?\]G1_7>A^KM(_5T[NSY'OE/]7:3^ +M#N;(=ZJ_B]3?P1SY3O5WD?J[9>Y+GR/?J?XN4G_W99EKW-']=Z'ZNTC]W9>9 +MNR^=._*=ZN\B]7=?9NZ^=.[(=ZJ_B]3??;G>G!WY3O5WD?J[=G9]CGRG^KM( +M_1W,D>]4?Q>IOX,Y\IWJ[X;E.VGN:Y\#WPVJOQM2?_=UF>O<@>^^/\7<#:F_ +M^SIS]W7A;ECS4\S=D/J[KS-W7W]O<^"[0?5W[6.9R[WQ0/??]:>*N3O?OOWV +M\L?@YL?;'7RUWL._]4]\^\?;^_^TP1]7_?P+@]]_HUTN-X/+&][\N.KG^R_X +M_K'?S-_Y_K&V.V_XCZ]1;/H-/WA[9XZ^E/)?.3^ZG>=7@YO-:K^_&?R?Y?7Y +MW_WI^/'7P3>[U;!9;;:KT?_L&_Z___C?](9_SM&7C_^WSN_G7(ES>\'V9^9^ +M_/%]YU?>)4/_Q+>.R=L[]^!MZ*^#]Q?QAZ_.]!/RU=&7C_\K[-W\E>N[G^<? +M7X#^^__67OYS2KJ7M'U^5_WU4:)^[^W^XO6M;M_NCS\B=_=_O=V9\^+MKN[/ +M'7[YN?WUJWMP^^KH2[3_E4_&S5\<_I._<_\8N?\[]^><_[TBV/TPRQ]_BNWA +AW_HGOOWS[?U_?@X.\^#?=H+#>OS^*G_[?V9WPD*PIP`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-mbr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-mbr.qcow2.gz.uu new file mode 100644 index 0000000..0b7d7db --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-mbr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-1x1-512-mbr.qcow2.gz +M'XL(")<[(U0``VEM9RTQ>#$M-3$R+6UB<BYQ8V]W,BYO=70`K9C9LM,P#$#? +M^Q4NRP4N4&+)3E.6"]R%&=[@`7A.EWQ%/YXD5N-$D>*VD]:3:<?1&=D^5I8L +M"Q]CO#4N-VYCJJVI_U,#T_LS;.;X^\?/5?]S7`28S90HH<-AAQNP'B(.-%QF +MQQU6QO6R0P$'IZ@Q*(5S:G93'0+N=M%.7;L8!8O`:X`!IR[&5?E!R(]'N"OS +M@[GS0WG^_"F.=^33^6'(CT>M-5R1Q($0M=%P91*'0M16P^V2."=$[37<(8GS +M0E2EX&Q"E1J7"U%6PT$2MQ:B4,.Y)*X0HC3O;-J[C1"E>6?3WI5"E.:=37NW +M%:(T[VS:NYT0I7EGT][MA2C-.U"\,Q%W$*(T[X!YMR3<LXBKA"C-.V#>/2?< +MBPYGI2C-.V#>O23<3<0)]0XT[X!Y]XIPKR-.J'>@>0?,NS>$NXTXH=Z!YATP +M[]X2[EW$"?4.-.^`>?=^Y)T5ZAUHWB'S[@.QLH@3ZAUJWB'SSA(.(DZH=ZAY +MA\P[))R+.*'>H>8=,N\\X?*($^H=:MXA\VY-N"+BA'J'FG?(O-L0[F/$"?4. +M->^0>?>)<)\C3JAWJ'F'S+LOA+N+.*'>H>:=8]Y])=RWB!/JG=.\<\R[[X2[ +MCSBAWCG-.\>\>R#<8X<#*:KS+LOD1KBGT9Z%>>\_7;P_ML)1[Y@`%I<`IS(, +MN,VL`_9AP(T&I7#4.X[WJ^&W`[:;[0)@/3]5-0+2@'W8;/4)=2L]_:A;F"\: +MGNU=T84!+U<]W'[F^6OWQP5`[TU9CH!_3OG!W,OA&J!?-YO,YZ:`<P?\[^GO +MV+\:-]N&"SC][0!U=`G;<W#MVX'>F7TS]([AO=XRXB;?#C2//`>I0\W.S^R> +M*UA<?YW;9[5=?*AE=\K=^IJ8GU!;8##<B?S,>+C-1;Q[V&:KV"Y`8KAFB-M. +MKNUT=LMQ=KN9%\/SG7'FSFT@PYT;<#!O(8"VLM0&UF>-CWK'\==J^`U`1\#9 +09M#ES:5H\1\W+X2OTA0````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-mbr.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-mbr.raw.gz.uu new file mode 100644 index 0000000..494fe71 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-mbr.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-1x1-512-mbr.raw.gz +M'XL(".G%'50``VEM9RTQ>#$M-3$R+6UB<BYR87<N;W5T`*V4R[+"(`R&]WV* +MN'7!A`C'NG7&O1MUC?7T*7AX@^D%BJWM#)!29@+?_"$$1&D`A@#=EW'>X<\J +M[;[:5Q^:?FX#U@AMFP$5`P77,(X7L#G;3=A00Q#.'YM&(-W-Q<"KL>U4A'L- +MNW*;=\0X);@^W'8;T%IP+@/>>GU4.ATF`.T1C`7[!S6M#?AQN4\"%IPN=7Z" +MHU^X0;!>@SN$7='*^&;,._QX3>3?X\R2.D;@_Z9@;>&[9^K)OCC/@%PE#6#= +M^2@%#OF%4=\IET%)N`OZ(`_7!=PQ7:\C'/T(%U+<<S&WR^IVN;JF<#+LM#)6 +K5FZ`I)4K."K[$-#G9>$;R*OR<=[AKRKM`C0=L-@)&@K`Z@UK>@7\E`8````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-mbr.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-mbr.vhd.gz.uu new file mode 100644 index 0000000..69446fd --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-mbr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-512-mbr.vhd.gz +M'XL(".K%'50``VEM9RTQ>#$M-3$R+6UB<BYV:&0N;W5T`*V735.#,!"&[_T5 +MZWCST$F69*%71ST[XZA7`<'QX,>H!P_\>!-(0@($BZ:E%";9AW<_LDT9&UX` +ME`&U0`V0U->Y`#I`7@"H07-@?^;F%KKZ[;6IOYZ_]^;5[0889[Y5:*[M,0.A +M'I(#EOHA]*BOH;.8_>GET]GSRY/%H<'9!PL"@2`51,R>0\RITZ2K\YN+'ODP +MJLOFZD8K]:D$,`&<>S,RJ^[!:70XH:S:MC]R*,M>ICV"FV!@=':"DVQBY<E< +M"JKG[!*.UJRVX,YV)A=#J:C"R-59A8Y#COI:E8V-P^Q0I?+]^5Y^?#83?1@I +M%7+Z^&PLB[N+IE303C8*A"[G-7>AIWQ-<0NE\J_H46@GS(4*`I-V`'OWP^B- +M*/#U$6<K,8\G(ZJOU/K4VF+EPCD^T)WOP[<#5M4V8,$&A2'..5S5SN%2CAX- +M13(&$WD\(2=>_*K'Q/FMVFU`*77'F`)OK;XZ=3H:#92Y[KZ2H,!C';Z_O%M: +M;DUD]?ZQ637X&\X)YL?@,M-*[4R_,N(#W5@FP[?%B35U>@DWFYR5B6NO*29V +M?IZ!J552`RN\)N,!77YAU'>8R\#`W15],'>WU+@\G,\]'/[B+H2X:C6WZ^I. +MYNKJQ,EHIROCR)6K(>'*'7"8MA%@WUE4!:I9\W-\H+O>A^\!B.:7(]E/$9K> +METRA,,!D"H5MIND49FRUV+96(1F%B?;U%&_W?]G7D]?N$^SKR;;[F!7;M*\G +>T^X3[>O)MOLT^WJ-2[JO)_6/C;'=#W^X!V4,#@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-mbr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-mbr.vhdf.gz.uu new file mode 100644 index 0000000..b9c8a97 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-mbr.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-1x1-512-mbr.vhdf.gz +M'XL(".K%'50``VEM9RTQ>#$M-3$R+6UB<BYV:&1F+F]U=`"ME;%N@S`0AO<\ +MQ47=,B#[L`^R1DWG2E7;-4`@RI!VZ="!AZ^-,=@XD*0R'&!T]L=_OK-AS!P` +M`H$55^[SCG:7^&>[VJPZ&B\?`^8,FB8`)@IH<)7"J0[*"MDWE#$.6KBZE'$& +MR/NV,6B3\5@G#NXXC`IMWN'B$H.SX3:/`:6$H@B`[U8?QDZ'T$"9@9`@"7*\ +M-^#/_<<D8(/CL>;/X/`6;A#,[\&E>I33TZV,>4<[EHEY6IQ84J<0K'XH6!FY +M]D0^&>?F&9A:)16PO/>A#QSR"Z.^;2@#O7`7]$$8;J%QF=^?.SB\$2[XN'(Q +MM\OJUJ&Z*G(RY'1EW+ER-<1?N0:'<3<"['8658&J5WB?=[2OB7\:H.B!T6:0 +M^E\1I4`-4`TD=3L30%O(<A>(?B6UU?=77?V<?]T,:QP?_ARAZ?&8ZM5"&6"A +M/T)'W7;T/>U/F_/E9'%VJ[(?%J0G72J(",(E/]R7W=MSASR,ZM)PDLB=O5(` +M$\"Y%WBO[N"7,W7[O`VV;J"4G4QKWHOGN+I5:9QDDU'_S:W!4>124;6W^@.> +'9*U,OP@````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-mbr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-mbr.vmdk.gz.uu new file mode 100644 index 0000000..2464362 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-mbr.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-512-mbr.vmdk.gz +M'XL(".K%'50``VEM9RTQ>#$M-3$R+6UB<BYV;61K+F]U=`"M7%V/W,81?/>O +MH*67(`\+UI)<D@\"$N<<(`@"&)9COX:?T2&V))P.00SLC\\,.357O!4UM*_E +M/9&C[:Z=[MFK.U<7-L_7/UE6]EE99N6859<L1^;^:7UD>?&T<(]SPR>N?[_[ +MQX\G_OG#Z73]:@6#SY(4Y`HGB\WK7$_/_A#N_*6LS1/N<4["%3ZKOTD,<.>= +M)W;A2O?D^7,IW%VW/#WZ&X'+(E"V@:L^4]-NL5_:W1^_"LWS^RO\'MSQ7MJL +M+K)+'Y;9I5K615:?E^?RK'9!LP-\G=W=?_I/=C=]&A[N/SY^"/L[^[-UP>7% +MQU\&C^`*JR_^QC_AX5H/<9FR8LP*^*>SZ\-?[W^>3O^='C[=?WC_!BSW[,^V +M++*R]=OQ\?G38[/P+Y)G%_C7R*Y_^=O=F_#.S4\?NP?"^2RW$??:K@[%O5PR +M_W7[6'8WO7_TB'/X$W?GSS8TIUI>N_0W59G5;;9LI_+89_?T&$I>>C<\3-WC +M],.O'Z<WKW[Y\#[VSI^M;UF[`#5+HXJL*CQ4*,VWK_*(_FVSG%IV_?G^\=W] +M\-:5^6EZ=7J=$>[B>^<.L`G[6JMV*9?=DW7;OG[[OT=7;S:&D[TGW+*)I0CW +MVM4YJVJ/Y0YP.8IS5I3^SOV3V["KI(0/RJX?WI^^_\E]B_MFO?WNS]\3KG%9 +M+M)MT*6X@C8U56O]U?.W979]^VWVRA?YP[MI>0<2KEV_S7SP>@Y8EF=_$[JV +MPGL2*_T3R\EF=]UCEWW3?9I.K^_NOHDGV_EBR^7AMC9YE,L*[=_?2SM=X]:3 +M7@]Z.8IQ[$_=V'U\G![\\<:CZ'V+QE"I/];RZ1BWKU,O)S7[=TQV?9.]NA_= +MF7K8?T\??B'<L+Z-W3[\6Z)=$@M_X]X]"_P47F%]Q_AC\G#3X\.OI^'7G^_? +MC^X;+7M#N''MG=O.>II/A^D.T.WPLQMTO7NUG&K<'N$FO[OQ9H/+>89&QDW% +ME\VNORS;>S=UH]N:PR;<['=W_OP^0J>>O91#SZY/75MP/P6X(@\44`0JV[0H +M;F=]02'0:7C\\+!N[)7P<?'\9]E+^;B\^9%:_T[`%<YZ?Y?\V<^S0O-*650; +M0/]3+'=??W)?WSWM[^+W=Y'(6K,:6;0;N'\YB(^WY5[\=V$GD;UF#;(8CW3O +MXJEMDLCY>??XJP;D?A^.OPLPLM"L4A;5!FZO=U7H'2-KS6IDT6[@]GIW";UC +M9*]9@RS&0\76H7>,G#7+7_BK%/(#OY9=FM`[1A::5<JBVL#M]:X-O6-DK5F- +M+-H-W%[ONM`[1O::-<AB/%1L'WK'R%FS_(4$`;G?AQM"[QA9:%8IBVH#M]>[ +M,?2.D;5F-;)H-W![O9M"[QC9:]8@B_%0L7/H'2-GS?*74GI7IN#J//2.D85F +ME;*H-G`[O:O)=XRL-:N11;N!V^E=3;YC9*]9@RS&0\62[Q@Y:Y:_5-*[*@E' +MOF-DH5FE+*H-W%[OR'>,K#6KD46[@=OK'?F.D;UF#;(8#Q5+OF/DK%G^<I'> +M79)PY#M&%II5RJ+:P.WUCGS'R%JS&EFT&[B]WI'O&-EKUB"+\5"QY#M&SIKE +M+_PE"'*_#T>^8V2A6:4LJ@W<7N_(=XRL-:N11;N!V^L=^8Z1O68-LA@/%4N^ +M8^2L6?Y"009ROPO7Y*%WC"PTJY1%M8';Z5U#OF-DK5F-+-H-W$[O&O(=(WO- +M&F0Q'BJ6?,?(6;/\I97>M4DX\ATC"\TJ95%MX/9Z1[YC9*U9C2S:#=Q>[\AW +MC.PU:Y#%>*A8\ATC9\WR%_[_$^1^'XY\Q\A"LTI95!NXO=Z1[QA9:U8CBW8# +MM]<[\ATC>\T:9#$>*I9\Q\A9L_R%^B/D?A^.?,?(0K-*650;N+W>D>\866M6 +M(XMV`[?7._(=(WO-&F0Q'BJ6?,?(6;/\99#>#2FX-@^]8V2A6:4LJ@W<3N]: +M\ATC:\UJ9-%NX'9ZUY+O&-EKUB"+\5"QY#M&SIKE+Z/T;DS"D>\866A6*8MJ +M`[?7._(=(VO-:F31;N#V>D>^8V2O68,LQD/%DN\8.6N6OTS2NRD)1[YC9*%9 +MI2RJ#=Q>[\AWC*PUJY%%NX';ZQWYCI&]9@VR&`\52[YCY*Q9_C)+[^8D'/F. +MD85FE;*H-G![O2/?,;+6K$86[09NKW?D.T;VFC7(8CQ4+/F.D;-FY3(]@]SO +MPG7YVKL866A6*8MJ`[?3NR[P78RL-:N11;N!V^E=%_@N1O::-<AB/%1LX+L8 +M.6N6;YGH=TA*6EW@.XA^!]7O(/H=DOI=%_@.HM]!]3N(?H>D?M<%OH/H=U#] +M#J+?'2@V\!U$OX/J=Q#]#DE)JPM\!]'OH/H=1+]#4K_K`M]!]#NH?@?1[Y#4 +M[[K`=Q#]#JK?0?2[`\4&OH/H=U#]#J+?(2EI=8'O(/H=5+^#Z'=(ZG==X#N( +M?@?5[R#Z'9+Z71?X#J+?0?4[B'YWH-C`=Q#]#JK?0?0[)"6M/@^]$_T.JM]! +M]#LD];N>?"?Z'52_@^AW2.IW/?E.]#NH?@?1[PX42[X3_0ZJWT'T.R0EK9Y\ +M)_H=5+^#Z'=(ZG<]^4[T.ZA^!]'OD-3O>O*=Z'=0_0ZBWQTHEGPG^AU4OX/H +M=TA*6CWY3O0[J'X'T>^0U.]Z\IWH=U#]#J+?(:G?]>0[T>^@^AU$OSM0+/E. +M]#NH?@?1[Y"4M'KRG>AW4/T.HM\AJ=_UY#O1[Z#Z'42_0U*_Z\EWHM]!]3N( +M?G>@6/*=Z'=0_0ZBWR$I:0UYZ)WH=U#]#J+?(:G?#>0[T>^@^AU$OT-2OQO( +M=Z+?0?4[B'YWH%CRG>AW4/T.HM\A*6D-Y#O1[Z#Z'42_0U*_&\AWHM]!]3N( +M?H>D?C>0[T2_@^IW$/WN0+'D.]'OH/H=1+]#4M(:R'>BWT'U.XA^AZ1^-Y#O +M1+^#ZG<0_0Y)_6X@WXE^!]7O(/K=@6+)=Z+?0?4[B'Z'I*0UD.]$OX/J=Q#] +M#DG];B#?B7X'U>\@^AV2^MU`OA/]#JK?0?2[`\62[T2_@^IW$/T.24EKS$/O +M1+^#ZG<0_0Y)_6XDWXE^!]7O(/H=DOK=2+X3_0ZJWT'TNP/%DN]$OX/J=Q#] +M#DE):R3?B7X'U>\@^AV2^MU(OA/]#JK?0?0[)/6[D7PG^AU4OX/H=P>*)=^) +M?@?5[R#Z'9*2UDB^$_T.JM]!]#LD];N1?"?Z'52_@^AW2.IW(_E.]#NH?@?1 +M[PX42[X3_0ZJWT'T.R0EK9%\)_H=5+^#Z'=(ZG<C^4[T.ZA^!]'OD-3O1O*= +MZ'=0_0ZBWQTHEGPG^AU4OXMF.LB]P&7K5X";\K5W,;+0K#S__,/USD'DV<WN +M)F-_(!9_8)PIK%7]/L`5SGI_<;XM_7O*^ZW^1<3Y-A\O\B\BSK?Y>)%_$7&^ +MS<>+_(N(\VT3_R+B?-O$OX@XWS;Q+R+.MTW\BXCS;1/_(N)\V\2_B#C?-O$O +M(LZW3?R+B/-M$_\BXGS;Q+^(.-\V\2\BSK=-_(N(\VT3_R+B?-O$OX@XWS;Q +M+R+.MTW\BXCS;1/_(N)\V\2_B#C?-O$O(LZW3?R+B/-M$_\BXGS;Q+^(.-\V +M\2\BSK=-_(N(\VT3_R+B?-O$OX@XWS;Q+R+.MTW\B^!\V\:_",ZW;?R+X'S; +MQK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O& +MOPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_ +M",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\( +MSK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+B/-M1K[(OX@XWV;DB_R+B/-M +M1K[(OX@XWV;DB_R+B/-M$_\BXGS;Q+^(.-\V\2\BSK=-_(N(\VT3_R+B?-O$ +MOX@XWS;Q+R+.MTW\BXCS;1/_(N)\V\2_B#C?-O$O(LZW3?R+B/-M$_\BXGS; +MQ+^(.-\V\2\BSK=-_(N(\VT3_R+B?-O$OX@XWS;Q+R+.MTW\BXCS;1/_(N)\ +MV\2_B#C?-O$O(LZW3?R+B/-M$_\BXGS;Q+^(.-\V\2\BSK=-_(O@?-O&OXC) +MU+^(R=2_B,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_B,G4 +MOXC)U+^(R=2_B,G4OX@YSPW]BYA-_8N83?V+F$W]BYA-_8N83?V+F$W]BYA- +M_8N83?V+F$W]BYA-_8N83?V+F$W]BYA-_8N83?V+F$W]B^<\SPW]B^>;SQ+> +M9.W#W1:[^@/+97_KIX/>_KW_Q/6;T_:_"(C^MP&Z\Y[G&T`67,*_]UR`>W15 +MN'&/U9DF!X']@K\^"=QHW#_,OPVPJK*NNP'\)_=WMCZ.Y?,UJ]I_[FQUR9KS +MT8)_^O;'9P6O<&;OOQ7NYK.LG\/%#1_X:.RR7#[+6B+UG;'_Q/7I;;)>"5=^ +M:7<Z-CI6K/%G69=E\RQ/SWD9.@Q/]HAG5!7/-WO:7WN[C?.FW"_L[X:JRM+_ +M3--/<]53W)#G3KG9%J[_XME^>7=?W^YN,#Z,ZOEWQL'O7`^R_<Y=X<ZV1'!9 +DF&7U8MS^O?_$];O3]K\5L`R`9ATL_2>QY5_]']#X]&&`7P`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-pc98.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-pc98.qcow.gz.uu new file mode 100644 index 0000000..5a36a47 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-pc98.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-1x1-512-pc98.qcow.gz +M'XL("*8S(E0``VEM9RTQ>#$M-3$R+7!C.3@N<6-O=RYO=70`K9W+CAQ'DD7W +M^HKD^TV6F45F1O"-!KJ!V?4L9F:K?*[S`_CQ0U9%N+,LSZ6Q(5$%@40I+C*] +M#@\AZ<#KYN;NQVJUMM6P60W3ZKQ???_U_&&KGWYQ_V/U[;__]5]O?_[Q[8^[ +M,;OYQ5/IUX.OAGGNWM8_OK8Y__'4874S_<;<]P^CN9]>7?P'K^ZG-WL]]_*/ +MNS?+S[D:C'N#JWGN9GY])DYO^+W7]S6]7;L[O;_O[;IXNVLUN+DW^.]Y[L_Y +M];EXNULU-]Z;NZ2WZ^+M3FIN]TM87,"R5W.'8F[`IXYJ[E3,K?&I,\_9+[ZV +M=W,;?,K4G./<JLUM\:E0<_<U</-V`7J9&_$IP9V5W$WXE.#.2NYV^)3@SDKN +M]OB4X,Y*[@[XE.#.2NZ.^)3@SDON3OB4X,Y+[L[XE.`N__%SQ9WQ4X([K[@S +M\ITK[KSBSLAWKKCSBCLCW[GBSBONC'SGBCNON#/RG2ONHN+.R'>AN(N*.R/? +MA>(N2N[(=Z&XBY([\ETH[J+DCGP7BKLHN2/?A>(N2N[(=Z&XBY([\ETH[H:2 +M._+=H+@;2N[(=X/B;JBX<WY*<#=4W#GY;E#<#15W3KX;%'=#Q9V3[P;%W5!Q +MY^2[07$W5-PY^6Y0W*TK[IQ\MU;<K2ONG'RW5MRM2^[(=VO%W;KDCGRW5MRM +M2^[(=VO%W;KDCGRW5MRM2^[(=VO%W;KDCGRW5MQM2N[(=QO%W:;DCGRW4=QM +M*NZ"GQ+<;2KN@GRW4=QM*NZ"?+=1W&TJ[H)\MU'<;2KN@GRW4=QM*NZ"?+=1 +MW&TK[H)\MU7<;2ON@GRW5=QM2^[(=UO%W;;DCGRW5=QM2^[(=UO%W;;DCGRW +M5=QM2^[(=UO%W;;DCGRW5=R-)7?DNU%Q-Y;<D>]&Q=U8<3?P4X*[L>)N(-^- +MBKNQXFX@WXV*N['B;B#?C8J[L>)N(-^-BKNQXFX@WXV*N^4_?^LY\MVDN)LJ +M[@;RW:2XFTKNR'>3XFXJN2/?38J[J>2.?#<I[J:2._+=I+B;2N[(=Y/B;BJY +M(]]-BKM=R1WY;J>XVY7<D>]VBKM=Q=V:GQ+<[2KNUN2[G>)N5W&W)M_M%'>[ +MBKLU^6ZGN-M5W*W)=SO%W:[B;DV^VRGNEO\-J>?(=WO%W;[B;DV^VRON]B5W +MY+N]XFY?<D>^VRON]B5WY+N]XFY?<D>^VRON]B5WY+N]XFY?<D>^VRON#B5W +MY+N#XNY0<D>^.RCN#A5W&WY*<'>HN-N0[PZ*NT/%W89\=U#<'2KN-N2[@^+N +M4'&W(=\=%'>'BKL-^>Z@N#M6W&W(=T?%W;'B;D.^.RKNCB5WY+NCXNY8<D>^ +M.RKNCB5WY+NCXNY8<D>^.RKNCB5WY+NCXNY8<D>^.RKN3B5WY+N3XNY4<D>^ +M.RGN3A5W6WY*<'>JN-N2[TZ*NU/%W99\=U+<G2KNMN2[D^+N5'&W)=^=%'>G +MBKLM^>ZDN#M7W&W)=V?%W;GB;DN^.RONSB5WY+NSXNY<<D>^.RONSB5WY+NS +MXNY<<D>^.RONSB5WY+NSXNY<<D>^.PON;/F)G@/?V8W@SFY*[L!W=B.XLYN* +MNY&?8NZL[.]&\)VI_L[*_FX$WYGJ[ZSL[T;PG:G^SLK^;@3?F>KOK.SO1O"= +MJ?[.ROYN!-^9ZN^L[.]&\)VI_L[*_FX$WYGJ[ZSL[T;PG:G^SLK^;@3?F>KO +MK.SO1O"=J?[.ROYN!-^9ZN^L[.]&\)VI_L[*_FXDWZG^SLK^;B3?J?[.ROYN +MXJ<$=V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E +M?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4 +M?V=E?S>1[U1_9V5_-Y'O5']G97\WD>]4?V=E?S>1[U1_9V5_M^.G!'=E?[<C +MWZG^SLK^;D>^4_V=E?W=CGRG^CLK^[L=^4[U=U;V=SORG>KOK.SO=N0[U=]9 +MV=_MR'>JO[.RO]N1[U1_9V5_MR/?J?[.ROYN1[Y3_9V5_=V.?*?Z.RO[NQWY +M3O5W5O9W._*=ZN^L[.]VY#O5WUG9W^W(=ZJ_L[*_V_-3@KNRO]N3[U1_9V5_ +MMR??J?[.ROYN3[Y3_9V5_=V>?*?Z.RO[NSWY3O5W5O9W>_*=ZN^L[._VY#O5 +MWUG9W^W)=ZJ_L[*_VY/O5']G97^W)]^I_L[*_FY/OE/]G97]W9Y\I_H[*_N[ +M/?E.]7=6]G=[\IWJ[ZSL[_;D.]7?6=G?'?@IP5W9WQW(=ZJ_L[*_.Y#O5']G +M97]W(-^I_L[*_NY`OE/]G97]W8%\I_H[*_N[`_E.]7=6]G<'\IWJ[ZSL[P[D +M.]7?6=G?'<AWJK^SLK\[D.]4?V=E?W<@WZG^SLK^[D"^4_V=E?W=@7RG^CLK +M^[L#^4[U=U;V=P?RG>KOK.SOCOR4X*[L[X[D.]7?6=G?'<EWJK^SLK\[DN]4 +M?V=E?W<DWZG^SLK^[DB^4_V=E?W=D7RG^CLK^[LC^4[U=U;V=T?RG>KOK.SO +MCN0[U=]9V=\=R7>JO[.ROSN2[U1_9V5_=R3?J?[.RO[N2+Y3_9V5_=V1?*?Z +M.RO[NR/Y3O5W5O9W)WY*<%?V=R?RG>KOK.SO3N0[U=]9V=^=R'>JO[.ROSN1 +M[U1_9V5_=R+?J?[.RO[N1+Y3_9V5_=V)?*?Z.RO[NQ/Y3O5W5O9W)_*=ZN^L +M[.].Y#O5WUG9WYW(=ZJ_L[*_.Y'O5']G97]W(M^I_L[*_NY$OE/]G97]W8E\ +MI_H[*_N[,S\EN"O[NS/Y3O5W5O9W9_*=ZN^L[._.Y#O5WUG9WYW)=ZJ_L[*_ +M.Y/O5']G97]W)M^I_L[*_NY,OE/]G97]W9E\I_H[*_N[,_E.]7=6]G=G\IWJ +M[ZSL[\[D.]7?6=G?G<EWJK^SLK\[D^]4?^?+3]+<JL^![[X_Q=QYZN^6^_16 +MG3OPG:O^SE-_MYJY6RW<Q0T_Q=QYZN]6,W>K/]L<^,Y5?^>IOUM=TMD%W7_G +MJK_SU-^UL^MSX#M7_9VG_@[FP'>N^CM/_1W,@>]<]7>>^KME[D&?`]^YZN\\ +M]7</EKE5FP/?N>KO//5W#V;N'G3NP'>N^CM/_=V#F;L'G3OPG:O^SE-_]^!R +M=7;@.U?]G:?^KIU=GP/?N>KO//5W,`>^<]7?>>KO8`Y\YZJ_\]3?+7,/^QSY +M3O5WGOJ[A\M<YXY\I_H[3_W=PYF[AXT[NO_.57_GJ;][.'/WL'%']]^YZN\\ +M]7</+_GLZ/X[5_V=I_ZNG5V?(]^I_LY3?P=SY#O5WWGJ[V".?*?Z.T_]W3+W +MJ,^1[U1_YZF_>[3,->[H_CM7_9VG_N[1S-VCSAWY3O5WGOJ[1S-WCSIWY#O5 +MWWGJ[QY=KLZ.?*?Z.T_]73N[/D>^4_V=I_X.YLAWJK_SU-_!'/E.]7>>^KME +M[G&?(]^I_LY3?_=XF>O<D>]4?^>IOWL\<_>X<4?WW[GJ[SSU=X]G[AXW[NC^ +M.U?]G:?^[O$EGQW=?^>JO_/4W[6SZW/D.]7?>>KO8(Y\I_H[3_T=S)'O5'_G +MJ;];YI[T.?*=ZN\\]7=/EKG&'=U_YZJ_\]3?/9FY>]*Y(]^I_LY3?_=DYNY) +MYXY\I_H[3_W=D\O5V9'O5'_GJ;]K9]?GR'>JO_/4W\$<^4[U=Y[Z.Y@CWZG^ +MSE-_M\P][7/D.]7?>>KOGBYSG3ORG>KO//5W3V?NGC;NZ/X[5_V=I_[NZ<S= +MT\8=W7_GJK_SU-\]O>2SH_OO7/5WGOJ[=G9]CGRG^CM/_1W,D>]4?^>IOX,Y +M\IWJ[SSU=\O<LSY'OE/]G:?^[MDRU[BC^^]<]7>>^KMG,W?/.G?D.]7?>>KO +MGLW</>O<D>]4?^>IOWMVN3H[\IWJ[SSU=^WL^ASY3O5WGOH[F"/?J?[.4W\' +M<^0[U=]YZN^6N>=]CGRG^CM/_=WS9:YS1[Y3_9VG_N[YS-WSQAW=?^>JO_/4 +MWSV?N7O>N*/[[USU=Y[ZN^>7?'9T_YVK_LY3?]?.KL^1[U1_YZF_@SGRG>KO +M//5W,$>^4_V=I_YNF7O1Y\AWJK_SU-^]6.8:=W3_G:O^SE-_]V+F[D7GCGRG +M^CM/_=V+F;L7G3ORG>KO//5W+RY79T>^4_V=I_ZNG5V?(]^I_LY3?P=SY#O5 +MWWGJ[V".?*?Z.T_]W3+WLL^1[U1_YZF_>[G,=>[(=ZJ_\]3?O9RY>]FXH_OO +M7/5WGOJ[ES-W+QMW=/^=J_[.4W_W\I+/CNZ_<]7?>>KOVMGU.?*=ZN\\]7<P +M1[Y3_9VG_@[FR'>JO_/4WRUSK_H<^4[U=Y[ZNU?+7...[K]SU=]YZN]>S=R] +MZMR1[U1_YZF_>S5S]ZIS1[Y3_9VG_N[5Y>KLR'>JO_/4W[6SZW/D.]7?>>KO +M8(Y\I_H[3_T=S)'O5'_GJ;];YE[W.?*=ZN\\]7>OE[G.'?E.]7>>^KO7,W>O +M&W=T_YVK_LY3?_=ZYNYUXX[NOW/5WWGJ[UY?\MG1_7>N^CM/_5T[NSY'OE/] +MG:?^#N;(=ZJ_\]3?P1SY3O5WGOJ[9>Y-GR/?J?[.4W_W9IEKW-']=Z[Z.T_] +MW9N9NS>=._*=ZN\\]7=O9N[>=.[(=ZJ_\]3?O;E<G1WY3O5WGOJ[=G9]CGRG +M^CM/_1W,D>]4?^>IOX,Y\IWJ[SSU=\O<VSY'OE/]G5?]7=#]=Z[Z.Z_ZNZ#[ +M[USU=U[U=T'WW[GJ[[SJ[X+NOW/5WWG5WP7=?^>JO_.JOPNZ_\Y5?^=5?Q=T +M_YVK_LY%?_>NSY'O5'_GJ;][M\PU[NC^.U?]G:?^[MW,W;O.'?E.]7>>^KMW +M,W?O.G?D.]7?>>KOWEVNSHY\I_H[3_U=.[L^1[Y3_9VG_@[FR'>JO_/4W\$< +M^4[U=['\),W=]#GP7:C^[OLG[G&W^.FF<P>^"]7?1>KO;N:]F\8=W7\7JK^+ +MU-_=S-S=-.[H_KM0_5VD_N[FDL^.[K\+U=]%ZN_:V?4Y\%VH_BY2?P=SX+M0 +M_5VD_@[FP'>A^KM(_=TR9WT.?!>JOXO4W]DRU[BC^^]"]7>1^CN;7YYU[L!W +MH?J[2/V=S=Q9YPY\%ZJ_B]3?V>7J[,!WH?J[2/U=.[L^![X+U=]%ZN]@#GP7 +MJK^+U-_!'/@N5'\7J;];YKS/D>]4?Q>IO_-EKG-'OE/]7:3^SF?NO'%']]^% +MZN\B]7<^<^>-.[K_+E1_%ZF_\TL^.[K_+E1_%ZF_:V?7Y\AWJK^+U-_!'/E. +M]7>1^CN8(]^I_BY2?[?,19\CWZG^+E)_%\M<XX[NOPO5WT7J[V+F+CIWY#O5 +MWT7J[V+F+CIWY#O5WT7J[^)R=7;D.]7?1>KOVMGU.?*=ZN\B]7<P1[Y3_5VD +M_@[FR'>JOXO4WRUS0Y\CWZG^+E)_-RQSG3ORG>KO(O5WP\S=T+BC^^]"]7>1 +M^KMAYFYHW-']=Z'ZNTC]W7#)9T?WWX7J[R+U=^WL^ASY3O5WD?H[F"/?J?XN +M4G\'<^0[U=]%ZN^6N76?(]^I_BY2?[=>YAIW=/]=J/XN4G^WGKE;=^[(=ZJ_ +MB]3?K6?NUIT[\IWJ[R+U=^O+U=F1[U1_%ZF_:V?7Y\AWJK^+U-_!'/E.]7>1 +M^CN8(]^I_BY2?[?,;?H<^4[U=Y'ZN\TRU[DCWZG^+E)_MYFYVS3NZ/Z[4/U= +MI/YN,W.W:=S1_7>A^KM(_=WFDL^.[K\+U=]%ZN_:V?4Y\IWJ[R+U=S!'OE/] +M7:3^#N;(=ZJ_B]3?+7/;/D>^4_U=I/YNN\PU[NC^NU#]7:3^;CMSM^W<D>]4 +M?Q>IO]O.W&T[=^0[U=]%ZN^VEZNS(]^I_BY2?]?.KL^1[U1_%ZF_@SGRG>KO +M(O5W,$>^4_U=I/YNF1O['/E.]7>1^KMQF>O<D>]4?Q>IOQMG[L;&'=U_%ZJ_ +MB]3?C3-W8^..[K\+U=]%ZN_&2SX[NO\N5'\7J;]K9]?GR'>JOXO4W\$<^4[U +M=Y'Z.Y@CWZG^+E)_M\Q-?8Y\I_J[2/W=M,PU[NC^NU#]7:3^;IJYFSIWY#O5 +MWT7J[Z:9NZES1[Y3_5VD_FZZ7)T=^4[U=Y'ZNW9V?8Y\I_J[2/T=S)'O5'\7 +MJ;^#.?*=ZN\B]7?+W/L^1[Y3_5VD_N[],M>Y(]^I_BY2?_=^YNY]XX[NOPO5 +MWT7J[][/W+UOW-']=Z'ZNTC]W?M+/CNZ_RY4?Q>IOVMGU^?(=ZJ_B]3?P1SY +M3O5WD?H[F"/?J?XN4G^WS'WH<^0[U=]%ZN\^+'.-.[K_+E1_%ZF_^S!S]Z%S +M1[Y3_5VD_N[#S-V'SAWY3O5WD?J[#Y>KLR/?J?XN4G_7SJ[/D>]4?Q>IOX,Y +M\IWJ[R+U=S!'OE/]7:3^;IG[V.?(=ZJ_B]3??5SF.G?D.]7?1>KO/L[<?6S< +MT?UWH?J[2/W=QYF[CXT[NO\N5'\7J;_[>,EG1_??A>KO(O5W[>SZ'/E.]7>1 +M^CN8(]^I_BY2?P=SY#O5WT7J[Y:Y3WV.?*?ZNTC]W:=EKG%']]^%ZN\B]7>? +M9NX^=>[(=ZJ_B]3??9JY^]2Y(]^I_BY2?_?I<G5VY#O5WT7J[]K9]3GRG>KO +M(O5W,$>^4_U=I/X.YLAWJK^+U-\M<Y_['/E.]7>1^KO/RUSGCGRG^KM(_=WG +MF;O/C3NZ_RY4?Q>IO_L\<_>Y<4?WWX7J[R+U=Y\O^>SH_KM0_5VD_JZ=79\C +MWZG^+E)_!W/D.]7?1>KO8(Y\I_J[2/W=,O>ESY'O5'\7J;_[LLPU[NC^NU#] +M7:3^[LO,W9?.'?E.]7>1^KLO,W=?.G?D.]7?1>KOOERNSHY\I_J[2/U=.[L^ +M1[Y3_5VD_@[FR'>JOXO4W\$<^4[U=\/RDS3WM<^![P;5WPVIO_NZS'7NP'?? +MGV+NAM3??9VY^[IP-]SP4\S=D/J[KS-W7_]L<^"[0?5W0^KOOE[2V0UT_UW[ +MT)_X]C;]^/;'R]O!]>W;'7QULX._ZT]\^\?;^W^UP=OK:OZ#P?5ZM;L>_)_Y +M#:]OKZN9AM5AH/=U/O>/Z@W?S=&W/_\KYS?\S>>WO7W#Z^UJ6*_6F]7HO_L* +M_^^?_PMO>/OWO>&[N9*_]H+M=^9N_[S]Z9_\\>VF6T@I/W$W=W5QW9;NY^DO +MXH=@3O0)^>KH^[W_!5BV5W?@_/QUOOV.\=__Y7CY_Q_I(M'V]5WUUT=-^;VW +M^XO7M[I^N[=_IFWO__/VTYP7;W=U?V[_RZ_MKU_=@^M71]]3_:]\,:YN<OG- +MW[D_1N[_SKV;\[]7!-.MF7_\L;.#O^M/?/OWV_M_W0T.MX-__#]^(%]-$*<` +!```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-pc98.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-pc98.qcow2.gz.uu new file mode 100644 index 0000000..632e42a --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-pc98.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-1x1-512-pc98.qcow2.gz +M'XL(")D[(U0``VEM9RTQ>#$M-3$R+7!C.3@N<6-O=S(N;W5T`*V8VY+3,`R& +M[_L4+H<%%BBQ9*<)AP7VP`QW<`%<M]WV*?KP;&)ME"A2W.VDS62FX_[?R/$7 +M-6Y1I)=ST;M0NE"[P]8]?*8#7._#\'#'WS]^KOJOXR+!?&&DE(&`'6[`NF$< +M6+C"CP>\CNM5APH.'E-C4`X7S.JF!A3<Y:*]=.UB5"*!YP`3SER,L^J#5)], +MA#/K@[GK0_WZQ<><'"BGZ\-4GTRM+5R5Q8&2JBW<)HM#);6U<+LL+BBI>PNW +MS^*BDCH8.)]1Y0%7*BEOX2"+6RLIM'`ABZN4E.6=SWM7*RG+.Y_W;J.D+.]\ +MWKNMDK*\\WGO=DK*\L[GO;M74I9W8'CG&+=74I9W(+Q;$NX9XPY*RO(.A'?/ +M"?>BPWDM97D'PKN7A+M@G-+OP/(.A'>O"/>:<4J_`\L[$-Z](=PEXY1^!Y9W +M(+Q[2[AWC%/Z'5C>@?#N_<@[K_0[L+Q#X=T'8A6,4_H=6MZA\,X3#ABG]#NT +MO$/A'1(N,$[I=VAYA\*[2+B2<4J_0\L[%-ZM"5<Q3NEW:'F'PKN:<!\9I_0[ +MM+Q#X=TGPGUFG-+OT/(.A7=?"'?%.*7?H>5=$-Y])=PWQBG]+EC>!>'==\)= +M,T[I=\'R+@CO;@AWV^%`2W7>%85^$.YN=,_"O,^?@9^/O7*V!R:`U5.`4Q4F +M7#WKA&.:<*/!1CG;`\?KU?#=`5MAG@",T6W&P#]IPC$)4P>W"]J\#@<^3KA^ +M<6YA8K,DLUX_:"<<U\U=$4M7P:D5_KO[JTP8YIMPPMG;>1KH"O:GX-KM?.^; +MOO]P9@X,'\Z6C)O<SC=[E+TV8%87YY4%H!*Y_CJWFZL=[T+%HVVWOH[K4YH! +M#*8[49\;3[?YU>UVQV(5VP7(3-<-<=O)M9VN;CFN;C?S8J"\,TZ\<QO(\,Y- +H.)BW$83TOU[1]LC1V1XX_EH-WPD8"#C;%0QE\]NQ^`\?5I30@Q0````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-pc98.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-pc98.raw.gz.uu new file mode 100644 index 0000000..4145c82 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-pc98.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-1x1-512-pc98.raw.gz +M'XL(".K%'50``VEM9RTQ>#$M-3$R+7!C.3@N<F%W+F]U=`"ME$$.@R`01?>> +M8MQV86`<JFZ;=-]-V[4U]10<OB!4!00U`0PQ^?#R/P,P9AH`(;!^8XP+\E:Y +M71:78J+Q\1Q0".A#X%,!)QQJ?QW!0*#^O`_&<?D<059>^^.X$D.07145-G`V +M+F7>/YP"BP9(@+A"BT<=ON^OC<"8+[#!X1YN-LR/X&J]:C53N44^XV*"P966 +M52XX2KE3"/8]%5;D/2R(K;=N76=@Z@P/P%JKH0N<ZPN+ORZT@4[<A#\(X_8: +MU[CS^0J'.W'!Q7V2M4V[*T-W0^9BU/[-.'AS-<2]N0:'>1\"FEYF=0+U&QF, +8<4$^*K<;(%E@MATDU,#B!\3RH'-%!@`` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-pc98.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-pc98.vhd.gz.uu new file mode 100644 index 0000000..01016a5 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-pc98.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-1x1-512-pc98.vhd.gz +M'XL(".O%'50``VEM9RTQ>#$M-3$R+7!C.3@N=FAD+F]U=`"METUO@S`,AN_] +M%:YVZZ%*C!/:Z[3N/&G:=BUEM-IA'UI[Z($?OQ@22/A:NP4H"@I^\MIQ3"I$ +M?0#H!/0>=`%:<3LET&M(5P"FTUY8W:5]A#+__"CRT]MY:8]R5L.D\*U"<[;' +M!,@,D@)F/(A^Y3:4#K.\V1P6;^\'AT.+<P.3!D)0!D*]<;1HU#'I_O;QKD)N +M6W5)7UUK97X[`D$@I?=&XM1M&XT-CHS5?E]=*619)=-=P4/0T3K;P2G1L?)D +M#@75<W8(IZ>LKL$M9G8NZE0QB9&:NPF=A!2Y;=+&Q:%WF50Y'[^R[V/1T8<C +MJ:(;?;+7EXR[BS95T+UL%1"G\Y2[4%%.7=Q`JOPK>CJT(]LP01#*=6#E?AB] +M%@6^/BW%1,S')V-47\;ZS-H2V<!]O*.\789G`]SMKP,JQ4NH"WQR#N>L;TV0 +MTU#<?2<O6AWY2/;]>7Z+R/'#RF&5<KE4&E9XJ<*7S?.`PQC/X1J'O^$:P?(2 +M7&)KGWO3J,7F:S/:4>/FEC5O<32ECM=<<96S*FZR8+[JV/GS#,+D<`YBY54% +M#]C,+[3ZUGT9&+@[H0_Z[F:,2\/WI8?#7]R%$+>;G-MI=?.^NCSR9+QV5\:% +M*Y<AX<JM<1BW$%!5F4T&<HWLW<<[RH=E>-9`M*4^VK<#;6V.II`L,)I"LM4Y +MHD(J)I/MVBS45F&DC3CC(F[$&1=Q(\ZXB!MQQD7<B#,NXD:<<5$WXMK\Q1)B +*]@,_NS;^O0T````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-pc98.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-pc98.vhdf.gz.uu new file mode 100644 index 0000000..94e27d6 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-pc98.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-1x1-512-pc98.vhdf.gz +M'XL(".O%'50``VEM9RTQ>#$M-3$R+7!C.3@N=FAD9BYO=70`K96Q;H,P$(;W +M/,5%W3)$^+`/6*.F<Z6J[1I"(<K0=NG0@8>O;4SP82!)9;"0T>&/__?9YR3I +M+@")D)03S_E`N]ORNUUM5I8FFON`2D$9`E\UT.+0Z"LD5!)T;]2@:8;&`NUV +M=/4XH8,AR(V:#4S@G%T9>?[0&E892`6*(,=;%;[OWR8,8SS#'0ZOX2Z"Q2VX +MU(SROM1J45QP<X$.MW:L]8"32^HT(JGO,JOB+A;$?#3.SS,D>@U7D.0NAAQX +MR2\,^HI0!C*["_H@M%L:7,:_%QX.K]@%CCLNYG99W3I45T5.1CK>&3?N7`/A +M.[?#8=Q"(&UEUBO0U,C@.1]HG[?\[H#2`:/-(+FS@U*@!J@&4J:?2:`"LMP' +M(E]);?7]55<_YU\_PP8G1A7=;V8\IF:W4`98FI_0A^E[^A[VI\WY\]3C^E+5 +M_UB2F72E(3*P2]SNT^[ET2(/@[HTG"3R9^^H3R@)0C#C3MV!+V>R^>W-U@T< +CE979-_;"`I.ERN!4,AKUW]QV.(J\5/2IMOH#34'Y,G`(```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-pc98.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-pc98.vmdk.gz.uu new file mode 100644 index 0000000..7f13ae4 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-pc98.vmdk.gz.uu @@ -0,0 +1,82 @@ +# $FreeBSD$ +begin 644 img-1x1-512-pc98.vmdk.gz +M'XL(".O%'50``VEM9RTQ>#$M-3$R+7!C.3@N=FUD:RYO=70`K5Q=;]S($7SW +MKZ!]+T$>%JSE]X.!Y"('"((`QOER]QI^YH2</R`+00SLCP^'G!H5M:*&=VIY +MY>5XNVNG>W9+<G5ATW3]2I*\2_(\R8>D*),4R?Q/ZRU)LX?%?#O7?.#R]YM_ +M_'3BUQ].I\NK%0PN2U*0*IPL-L]S.3WZ(MSYN:S-`_/M'(7+7%9WE>CASCL/ +M[,+E\X/GIU*XNW9Y>'`7`I<$H&0#5SQ1TVZQS^WNCZ]\\]S^,K>'^7C+)JFR +MI.S\,BF+99TEU7EY+$VJ.6B:`;]+;FZ__B>Y&;_V=[=?[C_[_9W=V<[!>>GB +MR]XAS(55I;MP#SBXQD&48Y(-20;W<'*Y^^OMK^/IO^/=U]O/G]Z"Y9[=V>99 +MDC=N.RX^?;AM%NY)TJ2$>X[D\I>_W;SUK]ST]*6](YS+FC<R/_=<A^*69>*^ +MKV_+[L9/]PYQ\E]A=^YL?7.*Y;ES=U'D2=4DRW8*AWV>'QY\R4OO^KNQO1]_ +M_/9E?/OFX^=/H7?N;%W+F@6H7AJ5)47FH'QIKGV%0W0OF^74DLNOM_>_W/8? +MYC*_CF].WR6$*UWOY@.L_;[6JN>4<O=DYVU?WOWO?JXW&?S)WA)NV<12Q/S< +MQ3DI*H<U'^!R%.<DR]W5_$_SAN=*<KB@Y/+YT^F'G^>WN&O6A_=__H%P]9PU +M1\X;G%/F@C8U%6O]Q>.797+Y\"YYXXK\\9=Q>042KEG?9BYX/0<LR[.[\%U; +MX1V)Y>Z!Y623F_:^3;YOOXZG[VYNO@\GV[IB\^4V;VUT*.4*[5[?2SOGQJTG +MO1[T<A3#T)W:H?UR/]ZYXPU'T;D6#;Y2=ZSYPS%NGZ=:3FIRKYCD\C9Y<SO, +M9^I@_SU^_DBX?GT9S_MP+XEF2<S<Q?SJ6>!'_PSK*\8=DX,;[^^^G?IOO]Y^ +M&N8W6O*6<,/:NWD[ZVD^'.9\@/,.G]S@W+LWRZF&[1%N=+L;KC:XG*=O9-A4 +M>-KD\G'9WB]C.\Q;F[$)-[G=G9_>A^_4HZ>:T9/+0]<6W*\>+DL]!62>RC8M +M"MM9GU`(=.SO/]^M&WLC?)P]_EGV4C[.KWZD5K\3<(6SWE^9/OIYEFE>+HMB +M`^A^BJ7S]Y_F[_</^RO=_DJ)K#2KED6S@?O7#/'ENMS2O0M;B>PTJY?%<*1[ +MI:.V42*GQ]WCKQJ0ZWTX_B[`R$RS<ED4&[B]WA6^=XRL-*N61;.!V^M=Z7O' +MR$ZS>ED,AXJM?.\8.6F6N^.O4D@/_%I6UKYWC,PT*Y=%L8';ZUWC>\?(2K-J +M630;N+W>M;YWC.PTJY?%<*C8SO>.D9-FN3L2!.1Z'Z[WO6-DIEFY+(H-W%[O +M!M\[1E::5<NBV<#M]6[TO6-DIUF]+(9#Q4Z^=XR<-,O=Y=*[/`97I;YWC,PT +M*Y=%L8';Z5U%OF-DI5FU+)H-W$[O*O(=(SO-ZF4Q'"J6?,?(2;/<72&]*Z)P +MY#M&9IJ5RZ+8P.WUCGS'R$JS:EDT&[B]WI'O&-EI5B^+X5"QY#M&3IKE[DKI +M71F%(]\Q,M.L7!;%!FZO=^0[1E::5<NBV<#M]8Y\Q\A.LWI9#(>*)=\Q<M(L +M=\=?@B#7^W#D.T9FFI7+HMC`[?6.?,?(2K-J630;N+W>D>\8V6E6+XOA4+'D +M.T9.FN7N*,A`KG?AZM3WCI&99N6R*#9P.[VKR7>,K#2KED6S@=OI74V^8V2G +M6;TLAD/%DN\8.6F6NVND=TT4CGS'R$RS<ED4&[B]WI'O&%EI5BV+9@.WUSOR +M'2,[S>IE,1PJEGS'R$FSW!W__P2YWH<CWS$RTZQ<%L4&;J]WY#M&5II5RZ+9 +MP.WUCGS'R$ZS>ED,AXHEWS%RTBQW1_T1<KT/1[YC9*99N2R*#=Q>[\AWC*PT +MJY9%LX';ZQWYCI&=9O6R&`X52[YCY*19[JZ7WO4QN";UO6-DIEFY+(H-W$[O +M&O(=(RO-JF71;.!V>M>0[QC9:58OB^%0L>0[1DZ:Y>X&Z=T0A2/?,3+3K%P6 +MQ09NKW?D.T96FE7+HMG`[?6.?,?(3K-Z60R'BB7?,7+2+'<W2N_&*!SYCI&9 +M9N6R*#9P>[TCWS&RTJQ:%LT&;J]WY#M&=IK5RV(X5"SYCI&39KF[27HW1>'( +M=XS,-"N71;&!V^L=^8Z1E6;5LF@V<'N](]\QLM.L7A;#H6+)=XR<-"N5Z1GD +M>A>N3=?>A<A,LW)9%!NXG=ZUGN]"9*59M2R:#=Q.[UK/=R&RTZQ>%L.A8CW? +MA<A)LUS+1+]#5-)J/=]!]#NH?@?1[Q#5[UK/=Q#]#JK?0?0[1/6[UO,=1+^# +MZG<0_>Y`L9[O(/H=5+^#Z'>(2EJMYSN(?@?5[R#Z':+Z7>OY#J+?0?4[B'Z' +MJ'[7>KZ#Z'=0_0ZBWQTHUO,=1+^#ZG<0_0Y12:OU?`?1[Z#Z'42_0U2_:SW? +M0?0[J'X'T>\0U>]:SW<0_0ZJWT'TNP/%>KZ#Z'=0_0ZBWR$J:76I[YWH=U#] +M#J+?(:K?=>0[T>^@^AU$OT-4O^O(=Z+?0?4[B'YWH%CRG>AW4/T.HM\A*FEU +MY#O1[Z#Z'42_0U2_Z\AWHM]!]3N(?H>H?M>1[T2_@^IW$/WN0+'D.]'OH/H= +M1+]#5-+JR'>BWT'U.XA^AZA^UY'O1+^#ZG<0_0Y1_:XCWXE^!]7O(/K=@6+) +M=Z+?0?4[B'Z'J*35D>]$OX/J=Q#]#E']KB/?B7X'U>\@^AVB^EU'OA/]#JK? +M0?2[`\62[T2_@^IW$/T.44FK3WWO1+^#ZG<0_0Y1_:XGWXE^!]7O(/H=HOI= +M3[X3_0ZJWT'TNP/%DN]$OX/J=Q#]#E%)JR??B7X'U>\@^AVB^EU/OA/]#JK? +M0?0[1/6[GGPG^AU4OX/H=P>*)=^)?@?5[R#Z':*25D^^$_T.JM]!]#M$];N> +M?"?Z'52_@^AWB.IW/?E.]#NH?@?1[PX42[X3_0ZJWT'T.T0EK9Y\)_H=5+^# +MZ'>(ZG<]^4[T.ZA^!]'O$-7O>O*=Z'=0_0ZBWQTHEGPG^AU4OX/H=XA*6D/J +M>R?Z'52_@^AWB.IW`_E.]#NH?@?1[Q#5[P;RG>AW4/T.HM\=*)9\)_H=5+^# +MZ'>(2EH#^4[T.ZA^!]'O$-7O!O*=Z'=0_0ZBWR&JWPWD.]'OH/H=1+\[4"SY +M3O0[J'X'T>\0E;0&\IWH=U#]#J+?(:K?#>0[T>^@^AU$OT-4OQO(=Z+?0?4[ +MB'YWH%CRG>AW4/T.HM\A*FD-Y#O1[Z#Z'42_0U2_&\AWHM]!]3N(?H>H?C>0 +M[T2_@^IW$/WN0+'D.]'OH/I=,--!K@4N6;\]W)BNO0N1F6:EZ=.WN7<S1)I< +M[6XT]@=B\0>&F<):U>\#7.&L]Q?FV]*_A[S?ZE]$F&_S]B+_(L)\F[<7^1<1 +MYMN\O<B_B##?-O$O(LRW3?R+"/-M$_\BPGS;Q+^(,-\V\2\BS+=-_(L(\VT3 +M_R+"?-O$OX@PWS;Q+R+,MTW\BPCS;1/_(L)\V\2_B##?-O$O(LRW3?R+"/-M +M$_\BPGS;Q+^(,-\V\2\BS+=-_(L(\VT3_R+"?-O$OX@PWS;Q+R+,MTW\BPCS +M;1/_(L)\V\2_B##?-O$O(LRW3?R+"/-M$_\BPGS;Q+\(SK=M_(O@?-O&OPC. +MMVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW +M;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M +M_(O@?-O&OPC.MVW\B^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OPC.MVW\ +MB^!\V\:_",ZW;?R+X'S;QK\(SK=M_(O@?-O&OX@PWV;DB_R+"/-M1K[(OX@P +MWV;DB_R+"/-M1K[(OX@PWS;Q+R+,MTW\BPCS;1/_(L)\V\2_B##?-O$O(LRW +M3?R+"/-M$_\BPGS;Q+^(,-\V\2\BS+=-_(L(\VT3_R+"?-O$OX@PWS;Q+R+, +MMTW\BPCS;1/_(L)\V\2_B##?-O$O(LRW3?R+"/-M$_\BPGS;Q+^(,-\V\2\B +MS+=-_(L(\VT3_R+"?-O$OX@PWS;Q+R+,MTW\BPCS;1/_(L)\V\2_",ZW;?R+ +M&$W]BQA-_8L83?V+&$W]BQA-_8L83?V+&$W]BQA-_8L83?V+&$W]BQA-_8L8 +M3?V+&$W]BQA-_8L83?V+F-+4T+^(R=2_B,G4OXC)U+^(R=2_B,G4OXC)U+^( +MR=2_B,G4OXC)U+^(R=2_B,G4OXC)U+^(R=2_B,G4OXC)U+]X3M/4T+]XOOHL +MX4W6/MQUL:L_,%_VMWXZZ/7?^P]<OC]M_P1`3+\-L"B2]AKPG[[@?/F\WB9/ +M^ORINJ;IX18K>(6S[E]NW+]R*;BHW`?%%F52GX_N\.=W/SU1<&E7\`IW]>'3 +MC^'"A@]\EG6Y?$"Q1KKWU(-HN??`"O?:8[U^@,N?VYW.>8X5:_SAT^7R(<`: +MJ^>\3`GZ!S_#(VX)YYL\[*^YWL9Y4^XS^[OBEG+Y$&#]^%4]Q0W;[92;;.&Z +M9\_V^=V]OMY=;WP85Q]E>_"=ZT"V[]P5[FQ+!/7"S*MYXOKO_0<N[T_;/RM@ +-O@"^^C_.+8_6X%X````` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-vtoc8.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.qcow.gz.uu new file mode 100644 index 0000000..e8eb9e2 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.qcow.gz.uu @@ -0,0 +1,125 @@ +# $FreeBSD$ +begin 644 img-1x1-512-vtoc8.qcow.gz +M'XL("*@S(E0``VEM9RTQ>#$M-3$R+79T;V,X+G%C;W<N;W5T`*V=VZX;QY(% +MW_T5U/TN,3.;9+?N.!@<8!X&.(/Y`?/Z3,RS/GXD[>XJ[60LY1G8LF!($&J! +MNQ0.&':@M%[??5NM-K8:MJMA6ET.J^\_G[_;ZI>?W/^^^O;?__S/M[]^^_;' +MW9BM?W,J_7SPE<US][;^T>?\QZGC:CW]&W/?O^/<+Y\N_A^?[I<O]G;NY1]W +M7RR?<S48]P97\]QZ_GPF;F_X]S[?U_3EVMWM_7U?KHLO=Z,&M_<&_S7/_3E_ +M/A=?[D[-C??FKNG+=?'E3FIN_UM87,!R4'/'8F[`4R<U=R[F-GCJPG/VF]_; +MN[DMGC(UYSBW:G,[/!5J;K@WMWZ[`+W,C7A*<&<E=Q.>$MQ9R=T>3PGNK.3N +M@*<$=U9R=\13@CLKN3OA*<&=E]R=\93@SDON+GA*<.<5=\:G!'=><6?D.U?< +M><6=D>]<<><5=T:^<\6=5]P9^<X5=UYQ9^0[5]Q%Q9V1[T)Q%Q5W1KX+Q5V4 +MW)'O0G$7)7?DNU#<1<D=^2X4=U%R1[X+Q5V4W)'O0G$7)7?DNU#<#25WY+M! +M<3>4W)'O!L7=4''G?$IP-U3<.?EN4-P-%7=.OAL4=T/%G9/O!L7=4''GY+M! +M<3=4W#GY;E#<;2KNG'RW4=QM*NZ<?+=1W&U*[LAW&\7=IN2.?+=1W&U*[LAW +M&\7=IN2.?+=1W&U*[LAW&\7=IN2.?+=1W&U+[LAW6\7=MN2.?+=5W&TK[H)/ +M">ZV%7=!OMLJ[K85=T&^VRKNMA5W0;[;*NZV%7=!OMLJ[K85=T&^VRKN=A5W +M0;[;*>YV%7=!OMLI[G8E=^2[G>)N5W)'OMLI[G8E=^2[G>)N5W)'OMLI[G8E +M=^2[G>)N5W)'OMLI[L:2._+=J+@;2^[(=Z/B;JRX&_B4X&ZLN!O(=Z/B;JRX +M&\AWH^)NK+@;R'>CXFZLN!O(=Z/B;JRX&\AWH^)N^<_?>HY\-RGNIHJ[@7PW +M*>ZFDCORW:2XFTKNR'>3XFXJN2/?38J[J>2.?#<I[J:2._+=I+B;2N[(=Y/B +M;E]R1[[;*^[V)7?DN[WB;E]QM^%3@KM]Q=V&?+=7W.TK[C;DN[WB;E]QMR'? +M[15W^XJ[#?ENK[C;5]QMR'=[Q=WROR'U'/GNH+@[5-QMR'<'Q=VAY(Y\=U#< +M'4KNR'<'Q=VAY(Y\=U#<'4KNR'<'Q=VAY(Y\=U#<'4KNR'<'Q=VQY(Y\=U3< +M'4ONR'='Q=VQXF[+IP1WQXJ[+?GNJ+@[5MQMR7='Q=VQXFY+OCLJ[HX5=UOR +MW5%Q=ZRXVY+OCHJ[4\7=EGQW4MR=*NZVY+N3XNY4<D>^.RGN3B5WY+N3XNY4 +M<D>^.RGN3B5WY+N3XNY4<D>^.RGN3B5WY+N3XNY<<D>^.RONSB5WY+NSXNY< +M<;?C4X*[<\7=CGQW5MR=*^YVY+NSXNY<<;<CWYT5=^>*NQWY[JRX.U?<[<AW +M9\7=I>)N1[Z[*.XN%7<[\MU%<7<IN2/?711WEY([\MU%<7<IN2/?711WEY([ +M\MU%<7<IN2/?711WEY([\MU%<&?+#_0<^,[6@CM;E]R![VPMN+-UQ=W(IY@[ +M*_N[$7QGJK^SLK\;P7>F^CLK^[L1?&>JO[.ROQO!=Z;Z.RO[NQ%\9ZJ_L[*_ +M&\%WIOH[*_N[$7QGJK^SLK\;P7>F^CLK^[L1?&>JO[.ROQO!=Z;Z.RO[NQ%\ +M9ZJ_L[*_&\%WIOH[*_N[$7QGJK^SLK\;R7>JO[.ROQO)=ZJ_L[*_F_B4X*[L +M[R;RG>KOK.SO)O*=ZN^L[.\F\IWJ[ZSL[R;RG>KOK.SO)O*=ZN^L[.\F\IWJ +M[ZSL[R;RG>KOK.SO)O*=ZN^L[.\F\IWJ[ZSL[R;RG>KOK.SO)O*=ZN^L[.\F +M\IWJ[ZSL[R;RG>KOK.SO)O*=ZN^L[.\F\IWJ[ZSL[_9\2G!7]G=[\IWJ[ZSL +M[_;D.]7?6=G?[<EWJK^SLK_;D^]4?V=E?[<GWZG^SLK^;D^^4_V=E?W=GGRG +M^CLK^[L]^4[U=U;V=WORG>KOK.SO]N0[U=]9V=_MR7>JO[.RO]N3[U1_9V5_ +MMR??J?[.ROYN3[Y3_9V5_=V>?*?Z.RO[NP.?$MR5_=V!?*?Z.RO[NP/Y3O5W +M5O9W!_*=ZN^L[.\.Y#O5WUG9WQW(=ZJ_L[*_.Y#O5']G97]W(-^I_L[*_NY` +MOE/]G97]W8%\I_H[*_N[`_E.]7=6]G<'\IWJ[ZSL[P[D.]7?6=G?'<AWJK^S +MLK\[D.]4?V=E?W<@WZG^SLK^[LBG!'=E?W<DWZG^SLK^[DB^4_V=E?W=D7RG +M^CLK^[LC^4[U=U;V=T?RG>KOK.SOCN0[U=]9V=\=R7>JO[.ROSN2[U1_9V5_ +M=R3?J?[.RO[N2+Y3_9V5_=V1?*?Z.RO[NR/Y3O5W5O9W1_*=ZN^L[.^.Y#O5 +MWUG9WQW)=ZJ_L[*_._$IP5W9WYW(=ZJ_L[*_.Y'O5']G97]W(M^I_L[*_NY$ +MOE/]G97]W8E\I_H[*_N[$_E.]7=6]G<G\IWJ[ZSL[T[D.]7?6=G?G<AWJK^S +MLK\[D>]4?V=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG^CLK^[L3^4[U=U;V=R?R +MG>KOK.SOSGQ*<%?V=V?RG>KOK.SOSN0[U=]9V=^=R7>JO[.ROSN3[U1_9V5_ +M=R;?J?[.RO[N3+Y3_9V5_=V9?*?Z.RO[NS/Y3O5W5O9W9_*=ZN^L[._.Y#O5 +MWUG9WYW)=ZJ_L[*_.Y/O5']G97]W)M^I_L[*_NY,OE/]G97]W9E\I_H[*_N[ +M"Y\2W)7]W85\I_H[*_N["_E.]7=6]G<7\IWJ[ZSL[R[D.]7?6=G?7<AWJK^S +MLK^[D.]4?V=E?W<AWZG^SLK^[D*^4_V=E?W=A7RG^CLK^[L+^4[U=U;V=Q?R +MG>KOK.SO+N0[U=]9V=]=R'>JO_/E!VENU>?`=]]/,7>>^KOE/;U5YPY\YZJ_ +M\]3?K6;N5@MWL>93S)VG_FXU<[?ZL\V![USU=Y[ZN]4UW5W0^W>N^CM/_5V[ +MNSX'OG/5WWGJ[V`.?.>JO_/4W\$<^,Y5?^>IOUOF'O0Y\)VK_LY3?_=@F5NU +M.?"=J_[.4W_W8.;N0><.?.>JO_/4WSV8N7O0N0/?N>KO//5W#ZXW=P>^<]7? +M>>KOVMWU.?"=J_[.4W\'<^`[5_V=I_X.YL!WKOH[3_W=,O>PSY'O5'_GJ;][ +MN,QU[LAWJK_SU-\]G+E[V+BC]^]<]7>>^KN',W</&W?T_IVK_LY3?_?PFN^. +MWK]SU=]YZN_:W?4Y\IWJ[SSU=S!'OE/]G:?^#N;(=ZJ_\]3?+7./^ASY3O5W +MGOJ[1\M<XX[>OW/5WWGJ[Q[-W#WJW)'O5'_GJ;][-'/WJ'-'OE/]G:?^[M'U +MYN[(=ZJ_\]3?M;OK<^0[U=]YZN]@CGRG^CM/_1W,D>]4?^>IOUOF'O<Y\IWJ +M[SSU=X^7N<X=^4[U=Y[ZN\<S=X\;=_3^G:O^SE-_]WCF[G'CCMZ_<]7?>>KO +M'E_SW='[=Z[Z.T_]7;N[/D>^4_V=I_X.YLAWJK_SU-_!'/E.]7>>^KME[DF? +M(]^I_LY3?_=DF6O<T?MWKOH[3_W=DYF[)YT[\IWJ[SSU=T]F[IYT[LAWJK_S +MU-\]N=[<'?E.]7>>^KMV=WV.?*?Z.T_]'<R1[U1_YZF_@SGRG>KO//5WR]S3 +M/D>^4_V=I_[NZ3+7N2/?J?[.4W_W=.;N:>..WK]SU=]YZN^>SMP];=S1^W>N +M^CM/_=W3:[X[>O_.57_GJ;]K=]?GR'>JO_/4W\$<^4[U=Y[Z.Y@CWZG^SE-_ +MM\P]ZW/D.]7?>>KOGBUSC3MZ_\Y5?^>IOWLV<_>L<T>^4_V=I_[NV<S=L\X= +M^4[U=Y[ZNV?7F[LCWZG^SE-_U^ZNSY'O5'_GJ;^#.?*=ZN\\]7<P1[Y3_9VG +M_FZ9>][GR'>JO_/4WSU?YCIWY#O5WWGJ[Y[/W#UOW-'[=Z[Z.T_]W?.9N^>- +M.WK_SE5_YZF_>W[-=T?OW[GJ[SSU=^WN^ASY3O5WGOH[F"/?J?[.4W\'<^0[ +MU=]YZN^6N1=]CGRG^CM/_=V+9:YQ1^_?N>KO//5W+V;N7G3NR'>JO_/4W[V8 +MN7O1N2/?J?[.4W_WXGIS=^0[U=]YZN_:W?4Y\IWJ[SSU=S!'OE/]G:?^#N;( +M=ZJ_\]3?+7,O^QSY3O5WGOJ[E\M<YXY\I_H[3_W=RYF[EXT[>O_.57_GJ;][ +M.7/WLG%'[]^YZN\\]7<OK_GNZ/T[5_V=I_ZNW5V?(]^I_LY3?P=SY#O5WWGJ +M[V".?*?Z.T_]W3+WJL^1[U1_YZF_>[7,->[H_3M7_9VG_N[5S-VKSAWY3O5W +MGOJ[5S-WKSIWY#O5WWGJ[UY=;^Z.?*?Z.T_]7;N[/D>^4_V=I_X.YLAWJK_S +MU-_!'/E.]7>>^KME[G6?(]^I_LY3?_=ZF>O<D>]4?^>IOWL]<_>Z<4?OW[GJ +M[SSU=Z]G[EXW[NC].U?]G:?^[O4UWQV]?^>JO_/4W[6[ZW/D.]7?>>KO8(Y\ +MI_H[3_T=S)'O5'_GJ;];YM[T.?*=ZN\\]7=OEKG&';U_YZJ_\]3?O9FY>].Y +M(]^I_LY3?_=FYNY-YXY\I_H[3_W=F^O-W9'O5'_GJ;]K=]?GR'>JO_/4W\$< +M^4[U=Y[Z.Y@CWZG^SE-_M\R][7/D.]7?>=7?!;U_YZJ_\ZJ_"WK_SE5_YU5_ +M%_3^G:O^SJO^+NC].U?]G5?]7=#[=Z[Z.Z_ZNZ#W[USU=U[U=T'OW[GJ[UST +M=^_Z'/E.]7>>^KMWRUSCCMZ_<]7?>>KOWLW<O>O<D>]4?^>IOWLW<_>N<T>^ +M4_V=I_[NW?7F[LAWJK_SU-^UN^MSY#O5WWGJ[V".?*?Z.T_]'<R1[U1_%\L/ +MTMRZSX'O0O5WWW_A'G>+G]:=._!=J/XN4G^WGO?6C3MZ_RY4?Q>IOUO/W*T; +M=_3^7:C^+E)_M[[FNZ/W[T+U=Y'ZNW9W?0Y\%ZJ_B]3?P1SX+E1_%ZF_@SGP +M7:C^+E)_M\Q9GP/?A>KO(O5WMLPU[NC]NU#]7:3^SN:/9YT[\%VH_BY2?V<S +M=]:Y`]^%ZN\B]7=VO;D[\%VH_BY2?]?NKL^![T+U=Y'Z.Y@#WX7J[R+U=S`' +MO@O5WT7J[Y8Y[W/D.]7?1>KO?)GKW)'O5'\7J;_SF3MOW-'[=Z'ZNTC]G<_< +M>>..WK\+U=]%ZN_\FN^.WK\+U=]%ZN_:W?4Y\IWJ[R+U=S!'OE/]7:3^#N;( +M=ZJ_B]3?+7/1Y\AWJK^+U-_%,M>XH_?O0O5WD?J[F+F+SAWY3O5WD?J[F+F+ +MSAWY3O5WD?J[N-[<'?E.]7>1^KMV=WV.?*?ZNTC]'<R1[U1_%ZF_@SGRG>KO +M(O5WR]S0Y\AWJK^+U-\-RUSGCGRG^KM(_=TP<S<T[NC]NU#]7:3^;IBY&QIW +M]/Y=J/XN4G\W7//=T?MWH?J[2/U=N[L^1[Y3_5VD_@[FR'>JOXO4W\$<^4[U +M=Y'ZNV5NT^?(=ZJ_B]3?;9:YQAV]?Q>JOXO4WVUF[C:=._*=ZN\B]7>;F;M- +MYXY\I_J[2/W=YGIS=^0[U=]%ZN_:W?4Y\IWJ[R+U=S!'OE/]7:3^#N;(=ZJ_ +MB]3?+7/;/D>^4_U=I/YNN\QU[LAWJK^+U-]M9^ZVC3MZ_RY4?Q>IO]O.W&T; +M=_3^7:C^+E)_M[WFNZ/W[T+U=Y'ZNW9W?8Y\I_J[2/T=S)'O5'\7J;^#.?*= +MZN\B]7?+W*[/D>]4?Q>IO]LM<XT[>O\N5'\7J;_;S=SM.G?D.]7?1>KO=C-W +MN\X=^4[U=Y'ZN]WUYN[(=ZJ_B]3?M;OK<^0[U=]%ZN]@CGRG^KM(_1W,D>]4 +M?Q>IOUOFQCY'OE/]7:3^;ESF.G?D.]7?1>KOQIF[L7%'[]^%ZN\B]7?CS-W8 +MN*/W[T+U=Y'ZN_&:[X[>OPO5WT7J[]K=]3GRG>KO(O5W,$>^4_U=I/X.YLAW +MJK^+U-\M<U.?(]^I_BY2?S<M<XT[>O\N5'\7J;^;9NZFSAWY3O5WD?J[:>9N +MZMR1[U1_%ZF_FZXW=T>^4_U=I/ZNW5V?(]^I_BY2?P=SY#O5WT7J[V".?*?Z +MNTC]W3+WOL^1[U1_%ZF_>[_,=>[(=ZJ_B]3?O9^Y>]^XH_?O0O5WD?J[]S-W +M[QMW]/Y=J/XN4G_W_IKOCMZ_"]7?1>KOVMWU.?*=ZN\B]7<P1[Y3_5VD_@[F +MR'>JOXO4WRUS'_H<^4[U=Y'ZNP_+7...WK\+U=]%ZN\^S-Q]Z-R1[U1_%ZF_ +M^S!S]Z%S1[Y3_5VD_N[#]>;NR'>JOXO4W[6[ZW/D.]7?1>KO8(Y\I_J[2/T= +MS)'O5'\7J;];YC[V.?*=ZN\B]7<?E[G.'?E.]7>1^KN/,W<?&W?T_EVH_BY2 +M?_=QYNYCXX[>OPO5WT7J[SY>\]W1^W>A^KM(_5V[NSY'OE/]7:3^#N;(=ZJ_ +MB]3?P1SY3O5WD?J[9>Y3GR/?J?XN4G_W:9EKW-'[=Z'ZNTC]W:>9NT^=._*= +MZN\B]7>?9NX^=>[(=ZJ_B]3??;K>W!WY3O5WD?J[=G=]CGRG^KM(_1W,D>]4 +M?Q>IOX,Y\IWJ[R+U=\O<YSY'OE/]7:3^[O,RU[DCWZG^+E)_]WGF[G/CCMZ_ +M"]7?1>KO/L_<?6[<T?MWH?J[2/W=YVN^.WK_+E1_%ZF_:W?7Y\AWJK^+U-_! +M'/E.]7>1^CN8(]^I_BY2?[?,?>ESY#O5WT7J[[XL<XT[>O\N5'\7J;_[,G/W +MI7-'OE/]7:3^[LO,W9?.'?E.]7>1^KLOUYN[(]^I_BY2?]?NKL^1[U1_%ZF_ +M@SGRG>KO(O5W,$>^4_W=L/P@S7WM<^"[0?5W0^KOOBYSG3OPW?=3S-V0^KNO +M,W=?%^Z&-9\2?^YQ^F*_+KWQVS9'?]YV.U7,_?+MVQ\O?PYN?GZ^8;O:^6J[ +M^?%]\-4F5L/PXW]=KH:3&OSG_Y[/__B?_QC^Z][GV_S]G^_^/[?V^\%QM9Y6 +M:\?!N[E?_KF=RKG??;Z[.?ISH__"'/VYT3CW0T_?_XWCN^//:>[/7^;HSXW^ +M*[\9M\\X_?SWBA]O!8[UX(-?!N_F?GRY=X?S[["IN>^_\.W!S>>[F^M?KO]R +MQ._-&7VZ'X\;KF[FNJ;R9RQN[P%^.M#47T"%GG'BN=-^=3C_?-+N<C/W\,L\ +I]_,9IQ]2VL/?]2]\^]?;^W_=H3+,@W\;>\-Z^_U3_O%_AAM3=G^E```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-vtoc8.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.qcow2.gz.uu new file mode 100644 index 0000000..c389b8f --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-1x1-512-vtoc8.qcow2.gz +M'XL(")L[(U0``VEM9RTQ>#$M-3$R+79T;V,X+G%C;W<R+F]U=`"MF-N.TS`0 +MAN_[%.YR7F")9^PTX;#`[K(2%T@@7H"F<1^`ZSX\3NS6R60F+E7:M%)E_9_& +M]M>ITZ((#Z6L5J94IE;[1OG/\0(U^#"^U.'7X_>;X>.P"C!=""EFP.`)-V+= +M)QQ(N$)/!S2/&U2'#`Z.J2DHAS-B=7,##.YZU2]=OQD52>`EP(`3-^.B^B#4 +M1Q/FPOI@Z?J07S][S-&!<KX^#/71U$;"55D<,*E:PFVS.&12C83;97&&2;42 +MSF5QEDGM!9S.J.)Q)9/2$@ZRN`V30@EGLKB*24G>Z;QW-9.2O--Y[[9,2O). +MY[UKF)3DG<Y[MV-2DG<Z[UW+I"3O0/!.)9QC4I)W0+Q;1]Q5PNV9E.0=$.^> +M1-S3$TYS*<D[(-X]B[CG"<?T.Y"\`^+=BXA[F7!,OP/).R#>O8JXZX1C^AU( +MW@'Q[G7$O4DXIM^!Y!T0[]Y.O--,OP/).R3>O8NL(N&8?H>2=TB\TQ$'"<?T +M.Y2\0^(=1IQ).*;?H>0=$N]LQ)4)Q_0[E+Q#XMTFXJJ$8_H=2MXA\:Z.N/<) +MQ_0[E+Q#XMV'B/N8<$R_0\D[)-Y]BKC;A&/Z'4K>&>+=YXC[DG!,OS.2=X9X +M]S7B[A*.Z7=&\LX0[^XC[N&$`RYU\JXH^"OBODV^L[#L^=.D\[%FWN6!&6#U +M/\"Y"@.N7G3"-DS8WSIN0)6VN[P2%KN=]$U$F58"/OYU[N[W@_DQK,\N?4-@ +MT_H5W#)15-4?QT%:/SM:OSJ+RVR'#0>S1:8;<,VY./_CXH_VK5/.$=R?`6ZW +M\&;HR71==_+WQZGJ#.!Z``RX;KHA3'>8^6_@.*P.ZTE]`9>F"X,(C'":J\Z? +M%OO7&-<FG*8]:W:R:[8ZMZ@J?5\^"]=N5>.ZDVVSF>"NCKB^+_L#D+]IG;[+ +:`X>?-^-G4,5$X&+NF;)K5*M_;'%=NO`2```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-vtoc8.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.raw.gz.uu new file mode 100644 index 0000000..c35f98d --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.raw.gz.uu @@ -0,0 +1,10 @@ +# $FreeBSD$ +begin 644 img-1x1-512-vtoc8.raw.gz +M'XL(".S%'50``VEM9RTQ>#$M-3$R+79T;V,X+G)A=RYO=70`K9)-#H(P$(7W +MG.+AT@5IAU)E:XP[$Q,O(-AZ`-<]O&V&!`KEQX2A=/-X7^8Q(P07H#1.!%V% +MHPA5":50*B\8>'UZX&Y?:R_/J[H77"YCF/1BTB*6!%>,RF7'#GB.?'(9>(:H +M(2@)9%S=N^I5W%)_C&OVBLNX=BM.^]O`6%@[PKT&N/?.PY"3N!9^X"3#GUP% +MYN.X,L1E\WC"LS@ON'S2'^/ZN#2P4(23J>Y0\!OC3(^3?ZU*GNS.[KHJ\K,5 +L9QJT%D0H]01WT!V.@JORWS>)>UYPCR)^>%54!]QM]Q0%8/8#T8E)O;($```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhd.gz.uu new file mode 100644 index 0000000..e3f9594 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhd.gz.uu @@ -0,0 +1,17 @@ +# $FreeBSD$ +begin 644 img-1x1-512-vtoc8.vhd.gz +M'XL(".S%'50``VEM9RTQ>#$M-3$R+79T;V,X+G9H9"YO=70`K9;);L(P$(;O +M/,5(O7%`WN+`M6JY5:K4%\!)'-1#%P$'#CQ\9Q)G<1('*`[&,G+F\S_CL1G& +MZ@=`2]`E:`LZH7&J0&\@70/@I&NBZKG["9?\Y]OFI\_SRCV710WCK&_EFY.] +MD*!PD12$H45T06.X-)C5T^M^^?FU;W#"X9J%E08E($&(&JVC6:N.2-OGCY<* +MN>O4R;&ZS@J_F0*F@//>&[)1MVLUMCB%5F59M12,J60VS?OA373.#G`)&UCU +M9$X%M>?L%$[/6=V#6R[<7M2I@HF18H^AXY`*&F/:-'$8-4R5\_'7'(YVH$\$ +M4D6W^OAH3H;=%2Y51/.R4Z`HG>?<A8IR&N(F4N6AZ&G?3KD!!H$ES82HW/>C +MUZ&@KT]S-A/S\&8$]1G2A\<+=Y1N@:0[9U+C1!%R>'NP%D^:?O/C9P*[^^_X +MF;5G=^5TK(%MZ-8)IHO9=%:;QP^;,;'<K7'9K3BZO@HH+%@[P.UZN#SR9F0C +M=RUELKP-R(;N9N2N'+S/71_`T47*1OIJ7.>NZ)D(#S>Z7$@=M,>LCRM:W%#C +M%6?9I#H;-56R\E9<82"S("7(9(23B</E9(5_1,Q,].&)R_O*_]2I(MR]$NVB +M$K$5*@>,IA"!-K)"SF8SX][SJYW"2%4?X2)6?82+6/41+F+51[B(51_A(E9] +1A(M:]>DJ]Q9_[Z\6^RH,```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhdf.gz.uu new file mode 100644 index 0000000..bb8e698 --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-1x1-512-vtoc8.vhdf.gz +M'XL(".S%'50``VEM9RTQ>#$M-3$R+79T;V,X+G9H9&8N;W5T`*V4RVZ#,!!% +M]_F**W67!?)S"-NJS:Y2I?Y`()BHB[92U447_OC:L4FP<1ZJ,(,%&N9XKCT, +M8V$`BE`+D/:F!+2$4I#D'#V<?VZPVV]C'M^>Z*4*PZX"C#MG,81=<]@J&W:U +MCL!-$L>O`S=@#9@H`@.N.4<U-W'7\@NX=BFY`=?=BR,W]^@-C,EPNPENO_!A +M\)E<`W?@\CX@R^5R+U=FW_,X7\`YAV6S_`+N+%=,0D2"XZ7L4(4[Q?4G7)[C +M#;&LF)U9M%3X<"^N;]$92`FI9SBI(T[X*.V^;POS98=]K=(KE(J*P,5JCV*C +M(@D:0.;8JR1J!6I0;Z9`D1PS[/[KT^Q_WG^G^T>Q40U#V7R\<$W0+5)#M'X1 +MZOWS)+^'Y\/Z_>,PXD14-2[L6NJID^8J*96[=7UT_'5'G)QO$DUWKU-@"IPG +MPF-VN[18/$Z=Q)H!G3ZF.5KRDCB*M>=QFF51_R]ECZ.%2\75WNH/`$S(R-T& +"```` +` +end diff --git a/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vmdk.gz.uu new file mode 100644 index 0000000..2cc570c --- /dev/null +++ b/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vmdk.gz.uu @@ -0,0 +1,81 @@ +# $FreeBSD$ +begin 644 img-1x1-512-vtoc8.vmdk.gz +M'XL(".W%'50``VEM9RTQ>#$M-3$R+79T;V,X+G9M9&LN;W5T`*U<76_DQA%\ +M]Z\8G%\."2"PEM\/!R2.;"`(#!@^(WDU/V,A]MU!)P0QL#\^'')J5)3$&\)J +M965R;KMKIWM6):6ZL%FV?3E7]*XH7#&ZLG(9W/)/V\-E^>-B>5P:/G']Q^WW +M_[SAU]N;F^M7&QA\EJ0@4SA9[%[G>O/DBW"7+V7MGE@>ER1<[K/Z9XD![G+P +MQ"%<L3QY>2F%N^O6IT=_(W`N`KD=7/E"38?%?FEW?_HJ-,_O+_=[6(ZW:EV= +MNZH/2U>5ZSIW]65]+G/U$C0O@%^[V[O/_W&WT^?A_N[3P\>POXL_VR6XJ'Q\ +M-7B$I;"Z\C?^"0_7>HAJ<OGH<OBGW?7^N[M?IYO_3O>?[SY^>`>6>_%G6^2N +M:/UV?'SV^-@M_(MDKH)_#7?]V]]OWX5W;G;SJ;LGG,]:-K*\]E*'XE:5\]_/ +M'^ONI@\/'G$.7W%W_FQ#<\KUM0M_4Q:N;MVZG=)C7Y:GQU#RVKOA?NH>II]^ +M_S2]>_/;QP^Q=_YL?<O:%:A9&Y6[,O=0H33?OM(C^K?->FKN^NO=PR]WP_NE +MS,_3FYNO'>$JW[OE`)NPKZWJ):4Z/-EEV]=O__>PU.O&<+)WA%LWL1:QO'9Y +M<67ML98#7(_BXO+"WRW_M&QXJ:2`#W+7CQ]N?OS7\B/NF_7^A[_^2+AFR5HB +MEPTN*4M!NYK*K?[RZ=O27=]_Z][X(G_Z95K?@81KMQ\S'[R=`];EQ=^$KFWP +MGL0*_\1ZLNZV>^C<-]WGZ>;KV]MOXLEVOMAB?2Q;FSQ*M4'[]_?:SJ5QVTEO +M![T>Q3CV-]W8?7J8[OWQQJ/H?8O&4*D_UN+Q&/>O4Z\G-?MWC+N^<V_NQN5, +M/>R_IX^_$6[8WL;+/OQ;HET3<W^SO'M6^"F\PO:.\<?DX::'^]]OAM]_O?LP +M+C]H[AWAQJUWRW:VTWP\S.4`EQV^N,&E=V_64XW;(]SD=S<^V^!ZGJ&1<5/Q +M9=WUMW5[OTS=N&QMP2;<['=W>7D?H5-/7FI!=]?'KJVXGP-<G@4*R`.5[5H4 +MM[.]H!#H-#Q\O-\V]D;X.'_ZN^RU?%P\^Y5:_T'`#<YZ?U7VY/=9KGF%+,H= +MH/\MEBW??UF^?WC<7^7W5TEDK5F-+-H=W,\+Q*?GY5;^I["3R%ZS!EF,9[I7 +M>6J;)')^VCW^J0&Y/X;CWP*,S#6KD$6Y@SOJ71EZQ\A:LQI9M#NXH]Y5H7>, +M[#5KD,5XJM@Z](Z1LV;Y"_^40G;BS[*J";UC9*Y9A2S*'=Q1[]K0.T;6FM7( +MHMW!'?6N"[UC9*]9@RS&4\7VH7>,G#7+7T@0D/MCN"'TCI&Y9A6R*'=P1[T; +M0^\866M6(XMV!W?4NRGTCI&]9@VR&$\5.X?>,7+6+'\II'=%"J[.0N\8F6M6 +M(8MR!W?0NYI\Q\A:LQI9M#NX@][5Y#M&]IHUR&(\52SYCI&S9OE+*;TKDW#D +M.T;FFE7(HMS!'?6.?,?(6K,:6;0[N*/>D>\8V6O6((OQ5+'D.T;.FN4OE?2N +M2L*1[QB9:U8ABW('=]0[\ATC:\UJ9-'NX(YZ1[YC9*]9@RS&4\62[Q@Y:Y:_ +M\(\@R/TQ'/F.D;EF%;(H=W!'O2/?,;+6K$86[0[NJ'?D.T;VFC7(8CQ5+/F. +MD;-F^0L%&<C](5R3A=XQ,M>L0A;E#NZ@=PWYCI&U9C6R:'=P![UKR'>,[#5K +MD,5XJECR'2-GS?*75GK7)N'(=XS,-:N01;F#.^H=^8Z1M68ULFAW<$>](]\Q +MLM>L01;CJ6+)=XR<-<M?^/^?(/?'<.0[1N::5<BBW,$=]8Y\Q\A:LQI9M#NX +MH]Z1[QC9:]8@B_%4L>0[1LZ:Y2_4'R'WQW#D.T;FFE7(HMS!'?6.?,?(6K,: +M6;0[N*/>D>\8V6O6((OQ5+'D.T;.FN4O@_1N2,&U6>@=(W/-*F11[N`.>M>2 +M[QA9:U8CBW8'=]"[EGS'R%ZS!EF,IXHEWS%RUBQ_&:5W8Q*.?,?(7+,*690[ +MN*/>D>\866M6(XMV!W?4._(=(WO-&F0QGBJ6?,?(6;/\99+>34DX\ATC<\TJ +M9%'NX(YZ1[YC9*U9C2S:'=Q1[\AWC.PU:Y#%>*I8\ATC9\WREUEZ-R?AR'>, +MS#6KD$6Y@SOJ'?F.D;5F-;)H=W!'O2/?,;+7K$$6XZEBR7>,G#4KD^D9Y/X0 +MKLNVWL7(7+,*690[N(/>=8'O8F2M68TLVAW<0>^ZP'<QLM>L01;CJ6(#W\7( +M6;-\RT2_0U+2Z@+?0?0[J'X'T>^0U.^ZP'<0_0ZJWT'T.R3UNR[P'42_@^IW +M$/WN1+&![R#Z'52_@^AW2$I:7>`[B'X'U>\@^AV2^ET7^`ZBWT'U.XA^AZ1^ +MUP6^@^AW4/T.HM^=*#;P'42_@^IW$/T.24FK"WP'T>^@^AU$OT-2O^L"WT'T +M.ZA^!]'OD-3ONL!W$/T.JM]!]+L3Q0:^@^AW4/T.HM\A*6GU6>B=Z'=0_0ZB +MWR&IW_7D.]'OH/H=1+]#4K_KR7>BWT'U.XA^=Z)8\IWH=U#]#J+?(2EI]>0[ +MT>^@^AU$OT-2O^O)=Z+?0?4[B'Z'I'[7D^]$OX/J=Q#][D2QY#O1[Z#Z'42_ +M0U+2ZLEWHM]!]3N(?H>D?M>3[T2_@^IW$/T.2?VN)]^)?@?5[R#ZW8EBR7>B +MWT'U.XA^AZ2DU9/O1+^#ZG<0_0Y)_:XGWXE^!]7O(/H=DOI=3[X3_0ZJWT'T +MNQ/%DN]$OX/J=Q#]#DE):\A"[T2_@^IW$/T.2?UN(-^)?@?5[R#Z'9+ZW4"^ +M$_T.JM]!]+L3Q9+O1+^#ZG<0_0Y)26L@WXE^!]7O(/H=DOK=0+X3_0ZJWT'T +M.R3UNX%\)_H=5+^#Z'<GBB7?B7X'U>\@^AV2DM9`OA/]#JK?0?0[)/6[@7PG +M^AU4OX/H=TCJ=P/Y3O0[J'X'T>].%$N^$_T.JM]!]#LD):V!?"?Z'52_@^AW +M2.IW`_E.]#NH?@?1[Y#4[P;RG>AW4/T.HM^=*)9\)_H=5+^#Z'=(2EIC%GHG +M^AU4OX/H=TCJ=R/Y3O0[J'X'T>^0U.]&\IWH=U#]#J+?G2B6?"?Z'52_@^AW +M2$I:(_E.]#NH?@?1[Y#4[T;RG>AW4/T.HM\AJ=^-Y#O1[Z#Z'42_.U$L^4[T +M.ZA^!]'OD)2T1O*=Z'=0_0ZBWR&IWXWD.]'OH/H=1+]#4K\;R7>BWT'U.XA^ +M=Z)8\IWH=U#]#J+?(2EIC>0[T>^@^AU$OT-2OQO)=Z+?0?4[B'Z'I'XWDN]$ +MOX/J=Q#][D2QY#O1[Z#Z73330>X%SFW?`6[*MMZ]:"E_X9]B[]R+NYN,_8%8 +M_8%QIK!5]<<`-SCK_<7Y-A^O\B\BSK?Y>)5_$7&^S<>K_(N(\VT^7N5?1)QO +MF_@7$>?;)OY%Q/FVB7\1<;YMXE]$G&^;^!<1Y]LF_D7$^;:)?Q%QOFWB7T2< +M;YOX%Q'GVR;^1<3YMHE_$7&^;>)?1)QOF_@7$>?;)OY%Q/FVB7\1<;YMXE]$ +MG&^;^!<1Y]LF_D7$^;:)?Q%QOFWB7T2<;YOX%Q'GVR;^1<3YMHE_$7&^;>)? +M1)QOF_@7$>?;)OY%Q/FVB7\1<;YMXE\$Y]LV_D5POFWC7P3GVS;^17"^;>-? +M!.?;-OY%<+YMXU\$Y]LV_D5POFWC7P3GVS;^17"^;>-?!.?;-OY%<+YMXU\$ +MY]LV_D5POFWC7P3GVS;^17"^;>-?!.?;-OY%<+YMXU\$Y]LV_D5POFWC7P3G +MVS;^17"^;>-?!.?;-OY%<+YMXU\$Y]LV_D5POFWC7P3GVS;^17"^;>-?!.?; +M-OY%<+YMXU\$Y]LV_D5POFWC7T2<;S/R5?Y%Q/DV(U_E7T2<;S/R5?Y%Q/DV +M(U_E7T2<;YOX%Q'GVR;^1<3YMHE_$7&^;>)?1)QOF_@7$>?;)OY%Q/FVB7\1 +M<;YMXE]$G&^;^!<1Y]LF_D7$^;:)?Q%QOFWB7T2<;YOX%Q'GVR;^1<3YMHE_ +M$7&^;>)?1)QOF_@7$>?;)OY%Q/FVB7\1<;YMXE]$G&^;^!<1Y]LF_D7$^;:) +M?Q%QOFWB7T2<;YOX%Q'GVR;^1<3YMHE_$7&^;>)?!.?;-OY%3*;^14RF_D5, +MIOY%3*;^14RF_D5,IOY%3*;^14RF_D5,IOY%3*;^14RF_D5,IOY%3*;^14RF +M_D5,IOY%S%EFZ%_$;.I?Q&SJ7\1LZE_$;.I?Q&SJ7\1LZE_$;.I?Q&SJ7\1L +MZE_$;.I?Q&SJ7\1LZE_$;.I?Q&SJ7\1LZE^\9%EFZ%^\//LLX9-PSXO=_('% +MNK^BXF>ZEOZ30LOU4T/STOF//SX`_.Y^FKYY?UM^O]M?8;^_9I>'+P,VZTCS +M<GBZ1=8^9K5)N"_M;X/KK,K=X/JS<-O899S<-#V!^UG@!N/#P+-RI_6GH#D% +M^/9IN?#EQL_/WITPCN#\)Z>^?;:_#>ZQ7/UIN^S@\-+NPH_L$[CQ$:YYEO6E +M8M^^N+O)]*V"^2S<V+E^<I?>Y=4SN#]7`6[]6.QM4O_\O\=/7'^XV?]O>ZL4 +4`=#LO5?XSV'-OOH_FA1I)IY=```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-apm.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-apm.qcow.gz.uu new file mode 100644 index 0000000..491ab80 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-apm.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-apm.qcow.gz +M'XL(",$S(E0``VEM9RTV,W@R-34M-#`Y-BUA<&TN<6-O=RYO=70`K9W9CAW9 +M<47?^RLN9[(XW8C(D;,$N0$_&&A;T+.4(R!`MA.R`+_PXUW%.D-5W+T9E+NI +M0H-$(3>R3BTN":W%P_/Y]L?IU,JIZ4[->-KGT_6OTX><[OSB_L?IZ[___*]O +M[O[X^M/MF)R_\Y3[=:,G27/WMGY?Y_3FJ>5T'G]@[OH#SMUY._LGWN[.%WLY +M=_73[1>+GU,V:/<&3VGNG-Y/R.DU/_9^7]R7*[>G]]M]N4J^W)8-=O<&?TES +M?TGOI^3+[=G<<&_N<%^NDB]W9'/3=V%1`LO,YI9@KH%/K6QN"^9:^-2.Y^0[ +MW]O;N0X^)6Q.X=RIS/7P*6-SS;VY\YL,=)X;X%.$.PFY&^%3A#L)N9O@4X0[ +M";F;X5.$.PFY6^!3A#L)N5OA4X0[#;G;X%.$.PVYV^%3A#N-N!/\%.%.(^X$ +M^4X9=QIQ)\AWRKC3B#M!OE/&G4;<"?*=,NXTXDZ0[Y1Q9Q%W@GQGC#N+N!/D +M.V/<6<@=\ITQ[BSD#OG.&'<6<H=\9XP["[E#OC/&G87<(=\9X\Y"[I#OC''7 +MA-PAWS6,NR;D#OFN8=PU$7>*GR+<-1%WBGS7,.Z:B#M%OFL8=TW$G2+?-8R[ +M)N).D>\:QET3<:?(=PWCKHVX4^2[EG'71MPI\EW+N&M#[I#O6L9=&W*'?-<R +M[MJ0.^2[EG'7AMPAW[6,NS;D#OFN9=RU(7?(=RWCK@NY0[[K&'==R!WR7<>X +MZR+N##]%N.LB[@SYKF/<=1%WAGS7,>ZZB#M#ONL8=UW$G2'?=8R[+N+.D.\Z +MQET?<6?(=SWCKH^X,^2[GG'7A]PAW_6,NS[D#OFN9]SU(7?(=SWCK@^Y0[[K +M&7=]R!WR7<^XZT/ND.]ZQMT0<H=\-S#NAI`[Y+N!<3=$W#7X*<+=$''7(-\- +MC+LAXJY!OAL8=T/$78-\-S#NAHB[!OEN8-P-$7<-\MW`N,O_^IO/(=^-C+LQ +MXJY!OAL9=V/('?+=R+@;0^Z0[T;&W1ARAWPW,N[&D#ODNY%Q-X;<(=^-C+LQ +MY`[Y;F3<32%WR'<3XVX*N4.^FQAW4\1=BY\BW$T1=RWRW<2XFR+N6N2[B7$W +M1=RUR'<3XVZ*N&N1[R;&W11QUR+?38R[_']#\CGDNYEQ-T?<M<AW,^-N#KE# +MOIL9=W/('?+=S+B;0^Z0[V;&W1QRAWPW,^[FD#ODNYEQ-X?<(=_-C+LEY`[Y +M;F'<+2%WR'<+XVZ)N.OP4X2[)>*N0[Y;&'=+Q%V'?+<P[I:(NP[Y;F'<+1%W +M'?+=PKA;(NXZY+N%<;=&W'7(=ROC;HVXZY#O5L;=&G*'?+<R[M:0.^2[E7&W +MAMPAWZV,NS7D#OEN9=RM(7?(=ROC;@VY0[Y;&7=;R!WRW<:XVT+ND.\VQMT6 +M<=?CIPAW6\1=CWRW,>ZVB+L>^6YCW&T1=SWRW<:XVR+N>N2[C7&W1=SUR'<; +MXVZ/N.N1[W;&W1YQUR/?[8R[/>0.^6YGW.TA=\AW.^-N#[E#OML9=WO('?+= +MSKC;0^Z0[W;&W1YRAWRW$^XD_X3/`=_)F7`GYY`[X#LY$^[D''$WX*<P=Q+V +M=P/PG;#^3L+^;@"^$];?2=C?#<!WPOH["?N[`?A.6'\G87\W`-\)Z^\D[.\& +MX#MA_9V$_=T`?">LOY.POQN`[X3U=Q+V=P/PG;#^3L+^;@"^$];?2=C?#<!W +MPOH["?N[`?A.6'\G87\W`-\)Z^\D[.\&Y#O6WTG8WPW(=ZR_D["_&_%3A+NP +MOQN1[UA_)V%_-R+?L?Y.POYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(= +MZ^\D[.]&Y#O6WTG8WXW(=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83] +MW8A\Q_H["?N[$?F.]7<2]G<C\AWK[R3L[T;D.];?2=C?3?@IPEW8WTW(=ZR_ +MD["_FY#O6'\G87\W(=^Q_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3 +M\AWK[R3L[R;D.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V= +MA/W=A'S'^CL)^[L)^8[U=Q+V=Q/R'>OO).SO9OP4X2[L[V;D.];?2=C?S<AW +MK+^3L+^;D>]8?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V +M=S/R'>OO).SO9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYN1KYC +M_9V$_=V,?,?Z.PG[NQGYCO5W$O9W"WZ*<!?V=POR'>OO).SO%N0[UM])V-\M +MR'>LOY.POUN0[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W +M$O9W"_(=Z^\D[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W(-^Q_D["_FY! +MOF/]G83]W8)\Q_H["?N[%3]%N`O[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6WTG8 +MWZW(=ZR_D["_6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F. +M]7<2]G<K\AWK[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A?[<BW['^3L+^ +M;D6^8_V=A/W=AI\BW(7]W89\Q_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D.];? +M2=C?;<AWK+^3L+_;D.]8?R=A?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L- +M^8[U=Q+V=QOR'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_)V%_MR'?L?Y. +MPOYNQT\1[L+^;D>^8_V=A/W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[ +MUM])V-_MR'>LOY.PO]N1[UA_)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.PG[ +MNQWYCO5W$O9W._(=Z^\D[.]VY#O6WVG^B9L[U3G@N^NG,'?J^KM\G]ZI<@=\ +MIZR_4]??G1)WI\R=G?%3F#MU_=TI<7?Z2YD#OE/6WZGK[TZ'.SM#]]\IZ^_4 +M]7?E[.H<\)VR_DY=?P?F@.^4]7?J^CLP!WRGK+]3U]_EN0=U#OA.67^GKK][ +MD.=.90[X3EE_IZZ_>Y"X>U"Y`[Y3UM^IZ^\>).X>5.Z`[Y3U=^KZNP?'Q=D! +MWRGK[]3U=^7LZASPG;+^3EU_!^:`[Y3U=^KZ.S`'?*>LOU/7W^6YAW4.^8[U +M=^KZNX=YKG*'?,?Z.W7]W</$W</"';K_3EE_IZZ_>YBX>UBX0_??*>OOU/5W +M#P]_=NC^.V7]G;K^KIQ=G4.^8_V=NOX.S"'?L?Y.77\'YI#O6'^GKK_+<X_J +M'/(=Z^_4]7>/\ESA#MU_IZR_4]??/4K</:K<(=^Q_DY=?_<H<?>H<H=\Q_H[ +M=?W=H^/B[)#O6'^GKK\K9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+< +MXSJ'?,?Z.W7]W>,\5[E#OF/]G;K^[G'B[G'A#MU_IZR_4]??/4[</2[<H?OO +ME/5WZOJ[QX<_.W3_G;+^3EU_5\ZNSB'?L?Y.77\'YI#O6'^GKK\#<\AWK+]3 +MU]_EN2=U#OF.]7?J^KLG>:YPA^Z_4];?J>OOGB3NGE3ND.]8?Z>NOWN2N'M2 +MN4.^8_V=NO[NR7%Q=LAWK+]3U]^5LZMSR'>LOU/7WX$YY#O6WZGK[\`<\AWK +M[]3U=WGN:9U#OF/]G;K^[FF>J]PAW['^3EU_]S1Q][1PA^Z_4];?J>OOGB;N +MGA;NT/UWROH[=?W=T\.?';K_3EE_IZZ_*V=7YY#O6'^GKK\#<\AWK+]3U]^! +M.>0[UM^IZ^_RW+,ZAWS'^CMU_=VS/%>X0_??*>OOU/5WSQ)WSRIWR'>LOU/7 +MWSU+W#VKW"'?L?Y.77_W[+@X.^0[UM^IZ^_*V=4YY#O6WZGK[\`<\AWK[]3U +M=V`.^8[U=^KZNSSWO,XAW['^3EU_]SS/5>Z0[UA_IZZ_>YZX>UZX0_??*>OO +MU/5WSQ-WSPMWZ/X[9?V=NO[N^>'/#MU_IZR_4]??E;.K<\AWK+]3U]^!.>0[ +MUM^IZ^_`'/(=Z^_4]7=Y[D6=0[YC_9VZ_NY%GBO<H?OOE/5WZOJ[%XF[%Y4[ +MY#O6WZGK[UXD[EY4[I#O6'^GKK][<5R<'?(=Z^_4]7?E[.H<\AWK[]3U=V`. +M^8[U=^KZ.S"'?,?Z.W7]79Z[JG/(=ZR_4]??7>6YRAWR'>OOU/5W5XF[J\(= +MNO].67^GKK^[2MQ=%>[0_7?*^CMU_=W5X<\.W7^GK+]3U]^5LZMSR'>LOU/7 +MWX$YY#O6WZGK[\`<\AWK[]3U=WGN99U#OF/]G;K^[F6>*]RA^^^4]7?J^KN7 +MB;N7E3OD.];?J>OO7B;N7E;ND.]8?Z>NOWMY7)P=\AWK[]3U=^7LZASR'>OO +MU/5W8`[YCO5WZOH[,(=\Q_H[=?U=GGM5YY#O6'^GKK][E><J=\AWK+]3U]^] +M2MR]*MRA^^^4]7?J^KM7B;M7A3MT_YVR_DY=?_?J\&>'[K]3UM^IZ^_*V=4Y +MY#O6WZGK[\`<\AWK[]3U=V`.^8[U=^KZNSSWNLXAW['^3EU_]SK/%>[0_7?* +M^CMU_=WKQ-WKRAWR'>OOU/5WKQ-WKRMWR'>LOU/7W[T^+LX.^8[U=^KZNW)V +M=0[YCO5WZOH[,(=\Q_H[=?T=F$.^8_V=NOXNS[VI<\AWK+_3J+\S=/^=LOY. +MH_[.T/UWROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ +M.XWZ.T/WWRGK[Y3T=V_K'/(=Z^_4]7=O\USA#MU_IZR_4]??O4W<O:W<(=^Q +M_DY=?_<V<?>V<H=\Q_H[=?W=V^/B[)#O6'^GKK\K9U?GD.]8?Z>NOP-SR'>L +MOU/7WX$YY#O6WUG^B9L[USG@.V/]W?4G[G&7_72NW`'?&>OOS/5WY[1W+MRA +M^^^,]7?F^KMSXNY<N$/WWQGK[\SU=^?#GQVZ_\Y8?V>NORMG5^>`[XSU=^;Z +M.S`'?&>LOS/7WX$YX#MC_9VY_B[/29T#OC/6WYGK[R3/%>[0_7?&^CMS_9VD +MUY/*'?"=L?[.7'\GB3NIW`'?&>OOS/5W<ER<'?"=L?[.7']7SJ[.`=\9Z^_, +M]7=@#OC.6']GKK\#<\!WQOH[<_U=GM,ZAWS'^CMS_9WFN<H=\AWK[\SU=YJX +MT\(=NO_.6']GKK_3Q)T6[M#]=\;Z.W/]G1[^[-#]=\;Z.W/]73F[.H=\Q_H[ +M<_T=F$.^8_V=N?X.S"'?L?[.7'^7YZS.(=^Q_LY<?V=YKG"'[K\SUM^9Z^\L +M<6>5.^0[UM^9Z^\L<6>5.^0[UM^9Z^_LN#@[Y#O6WYGK[\K9U3GD.];?F>OO +MP!SR'>OOS/5W8`[YCO5WYOJ[/-?4.>0[UM^9Z^^:/%>Y0[YC_9VY_JY)W#6% +M.W3_G;'^SEQ_UR3NFL(=NO_.6']GKK]K#G]VZ/X[8_V=N?ZNG%V=0[YC_9VY +M_@[,(=^Q_LY<?P?FD.]8?V>NO\MS;9U#OF/]G;G^KLUSA3MT_YVQ_LY<?]<F +M[MK*'?(=Z^_,]7=MXJZMW"'?L?[.7'_7'A=GAWS'^CMS_5TYNSJ'?,?Z.W/] +M'9A#OF/]G;G^#LPAW['^SEQ_E^>Z.H=\Q_H[<_U=E^<J=\AWK+\SU]]UB;NN +M<(?NOS/6WYGK[[K$75>X0_??&>OOS/5WW>'/#MU_9ZR_,]??E;.K<\AWK+\S +MU]^!.>0[UM^9Z^_`'/(=Z^_,]7=YKJ]SR'>LOS/7W_5YKG"'[K\SUM^9Z^_Z +MQ%U?N4.^8_V=N?ZN3]SUE3OD.];?F>OO^N/B[)#O6']GKK\K9U?GD.]8?V>N +MOP-SR'>LOS/7WX$YY#O6WYGK[_+<4.>0[UA_9ZZ_&_)<Y0[YCO5WYOJ[(7$W +M%.[0_7?&^CMS_=V0N!L*=^C^.V/]G;G^;CC\V:'[[XSU=^;ZNW)V=0[YCO5W +MYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSXUU#OF.]7?F^KLQSQ7NT/UWQOH[<_W= +MF+@;*W?(=ZR_,]??C8F[L7*'?,?Z.W/]W7A<G!WR'>OOS/5WY>SJ'/(=Z^_, +M]7=@#OF.]7?F^CLPAWS'^CMS_5V>>U?GD.]8?V>NOWN7YRIWR'>LOS/7W[U+ +MW+TKW*'[[XSU=^;ZNW>)NW>%.W3_G;'^SEQ_]^[P9X?NOS/6WYGK[\K9U3GD +M.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[//>^SB'?L?[.7'_W/L\5[M#]=\;Z +M.W/]W?O$W?O*'?(=Z^_,]7?O$W?O*W?(=ZR_,]??O3\NS@[YCO5WYOJ[<G9U +M#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:ASR'>LOS/7WWW(<Y4[Y#O6 +MWYGK[SXD[CX4[M#]=\;Z.W/]W8?$W8?"';K_SEA_9ZZ_^W#XLT/WWQGK[\SU +M=^7LZASR'>OOS/5W8`[YCO5WYOH[,(=\Q_H[<_U=GOM8YY#O6']GKK_[F.<* +M=^C^.V/]G;G^[F/B[F/E#OF.]7?F^KN/B;N/E3OD.];?F>OO/AX79X=\Q_H[ +M<_U=.;LZAWS'^CMS_1V80[YC_9VY_@[,(=^Q_LY<?Y?G/M4YY#O6WYGK[S[E +MN<H=\AWK[\SU=Y\2=Y\*=^C^.V/]G;G^[E/B[E/A#MU_9ZR_,]???3K\V:'[ +M[XSU=^;ZNW)V=0[YCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSWVN<\AWK+\S +MU]]]SG.%.W3_G;'^SEQ_]SEQ][ERAWS'^CMS_=WGQ-WGRAWR'>OOS/5WGX^+ +MLT.^8_V=N?ZNG%V=0[YC_9VY_@[,(=^Q_LY<?P?FD.]8?]?DG[BY+W4.^*YA +M_5WC^KLO>:YR!WQW_13FKG']W9?$W9?,77/&3Y&_]]A]L5]R;_RFS*&_;[L\ +M%<S=^?'UIZMO@^VW]VO:4ZNGL]8G;JY_&[XW^"__<3/SP+U?^YN_W[?[9:Y/ +MJUDOGK.[@W+_$U]_^3<_>#MW\W[-MW#L^J.[_M_3[0^]W^^.XV\;F$-_7_G_ +MZ\N]G;/+MVN_6:63TZG74]^<NC']L[N6U';SZ?1V?SZFO__CK__XZW__UY_S +MW,U_7W3KS</]/_-V_SD=\.W0WU?^:[ZWS0]^;_._PL^_<^]_;_/OW!;]V?)? +M]W[?OAW=S<%??R.N/QH]M79JFIL_'G%JVYO/M78Y^//?M^WW?_S#ZS_]_,>[ +MYX?^./BO>K_N!\Y/[YS?[6^2N^=WNOM^Z,]N_;KW^^[Y]7;J>\!F/;__^=]; +F$//[_<;GUYW3^9TG\$_^B:^_O+G_G]O!YMO@3_\'*;=.DB.F```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-apm.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-apm.qcow2.gz.uu new file mode 100644 index 0000000..aa257d4 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-apm.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-apm.qcow2.gz +M'XL("+@[(U0``VEM9RTV,W@R-34M-#`Y-BUA<&TN<6-O=S(N;W5T`*V826_; +M,!!&[_D53/>F32K.D)35/9N!'@JD#7H.O,A`@"Y&&J`7__A2ULB4J1DQ-N0( +M1@SB>Q@/GT>FLZQ^*&6U,DZ90BVFRK^F"U3KQ?:E5M_&7T[:C]5!#=.9D&(6 +M#&YP6ZSS@`,)E^GN@N9QK>J0P4&3ZH)2."-6U[?`X(X.UJU;;\8H2N`^P!HG +M;L9>]4%=7YPP>]8'0]>'?/]LDXL77']]6-<7IW()-TKB@$D5$FZ2Q"&3FDJX +M61)GF-1<PI5)G&52"P&G$ZIXG&-26L)!$I<S*91P)HD;,2G).YWVKF!2DG<Z +M[=V$24G>Z;1W4R8E>:?3WLV8E.2=3GLW9U*2=R!XIP*N9%*2=Q!Y=TBX1P&W +M8%*2=Q!Y]YAP3S8XS:4D[R#R[BGAG@4<,^]`\@XB[YX3[D7`,?,.).\@\NXE +MX8X"CIEW('D'D7>O"/<ZX)AY!Y)W$'EWW/%.,_,.).\P\NX-L;*`8^8=2MYA +MY)TF'`0<,^]0\@XC[Y!P)N"8>8>2=QAY9PGG`HZ9=RAYAY%W.>%&`<?,.Y2\ +MP\B[@G!O`XZ9=RAYAY%W[PCW/N"8>8>2=QAY]X%P'P..F7<H>6<B[SX1[G/` +M,?/.2-Z9R+M3PIT%'#/OC.2=B;P[)]S%!@=<:N-=EO$7X2X[GUD8]ONG"=^/ +M-?,L+_0`1[L`^RJL<<6@;]C6;]CO@(5PCLK6=\A1+_#R>X4YW*[/#GT@L+4P +M?C*;>2>'TH'/+ZRNOC+]L[4P_N/@IZF_W$PY^Z#Z3I?+GR6#DT^WNQ^G/`Z[ +MU=G%^G\O2PXJ-\H5].P6RI75,E5WLYS<W=_>W_[Y?=/@JANDFU?A?)?J?DV6 +M;'5VX+TU#]S;YGX!!-S>6]749X9VSZRWPU6-]QOA+S\N+593SG_-4-96:Q:[ +MP/%=69Y=7QS_&%^W^V>&_;'!^A-5NG_0ZE_](6GW3[7K<T/WS_7V+T>5YXR; +MH7]__]4B-O4-W#^=4?_\2;W[+"^LKDZV_VJ@(>!@%1I73>>#_Z4*H1'E$P`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-apm.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-apm.raw.gz.uu new file mode 100644 index 0000000..13210f0 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-apm.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-apm.raw.gz +M'XL("/[%'50``VEM9RTV,W@R-34M-#`Y-BUA<&TN<F%W+F]U=`"MD\UJPS`0 +MA.]^BNFU4"/)*RD]MK2Y%4)#S\'4#@3:Q*2!7O3PE2*)R#\)+FB]"(ME/\:S +M:\9\`"0A!9A-%E)PL`4N]T'"O+Z7-N[*&*;P,,YN=%W'E8,PQ;T'"E>6#-2, +M^JH4R/L%LWH;`CW.Z2,.S5RJ3R@Y2]]3UWVU$SB1ZW,]KAJKD]OS.P>T@":H +MQW"J+53KRD'=IJN/I]UI=]AO(HXL3C6N6?]'W7?=3:J3F6=+,V>[B$L9@/W9 +M(NJCW+M'YW$H9[P=A$T2D!6((!HK7+J:O8^`RV/;/J]?'CZ6Z]0_HLSZU`S_ +M1.*?_TE2_Y#J4[G]4S?]TQ6TGMC-BW\_OWX1H[[,_G$6_&/UQ'F]8%9E__%` +1"L!L"DDX8/$'F8$ZXZ<%```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-apm.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-apm.vhd.gz.uu new file mode 100644 index 0000000..0349231 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-apm.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-apm.vhd.gz +M'XL("/_%'50``VEM9RTV,W@R-34M-#`Y-BUA<&TN=FAD+F]U=`"M5EUOVR`4 +M?<^ON-+>*BT"#-?=T]1JS=ND:M6>6\O!5:2UC9I(ZX-__+A\U#@&U\UP$,'" +M]W`X]P,8<P\`5H`=H`94-*XEX#>H+P',I&_"]MR_0M^^/.OVN'M;^Z=?.3#. +M8JNQ.=F+"J19I`;1T"*XI3'T`6;]Y>;Q8O?T&."$APL+2P0I0!D0.5D'V3L[ +M0MI<W_VPD`\#NVK*;K!R?UT'51=]405V#[;_'F]6&BOS/;4:*F5IAC9Z&4T0 +MG%I'3X!3[,0JHID2-=IL"@[GK#X#=['ROG"A8@*C-KV1CD,M:&S")N@P:294 +MW@[[YO6@3_B)3*C@.S\^F:ORVQ4^5$3XV#.0%,YSVP6+<CR%2X3*?ZF'8SOI +M!T8$IL*$L-L?JS=`0<P/.9O1/.^,++^&^)G45"(DNVW51QN^^44P[-0=3<:[ +M9^O7TK3)$+E-1<7PPL<3_>W/9+BTQ$]R"F.*Y)9B>`F_J_W^CT[`B5+;=7#5 +ME)WJ?,[9I',EVO:N=*LNL+LWV7;<'7<OS_<!C@H5E5J+N)S=4[-/LE.%?:L7 +M^O8RRA,V\2T$?KIT[&GK#B3AZ814PQDDMH:XHCGS/@'<O&IM3J&OOS=WL7Y: +MEN7'V0+]1*2?2Y)8O[BV\-PA?CZ_6?WH,*D3L3GH=_CK`C'P*ZU?X_5C3:+/ +M3_2WZ_'/`0I?3(M59S%4OS(,I0<LQE`..5R*(=>SSORLE]$S+'35Q7R5.>>J +J2W`%K[KH2U;6ROTMO>JB+UF%KKH$5_"J2W!%K[IH"^KJ'[J1;&,?#0`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-apm.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-apm.vhdf.gz.uu new file mode 100644 index 0000000..e1b6626 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-apm.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-apm.vhdf.gz +M'XL("/_%'50``VEM9RTV,W@R-34M-#`Y-BUA<&TN=FAD9BYO=70`K57);L(P +M$+WS%2/UAM3(\3*FIRXJW"JAHIXA(@F*5""B2.TA'U^OX"P@6MF,+$<3/]Z\ +M9T\(L0.`"Q`4B`KB@IGY_-P):*;OB1HD\:,96;#TVJ[+<$EG-*.Q!:0Z+0CP +MO+>/A8!I.]',W[J`%D[SXRE(H@/7@.(F?L]U_5D,P-%8Y5HXUF<G2K-.`20% +MR0$?W(PE8*'3CMVRS@['ZECM=TL/QQ4<YGJS_`N[;58/LA.1O>4W>CMQ"^H` +MV]Z"Y\=CGSUN[$`MO#)"!:<@&'`.-%?$A<ZIYQ[@[%`4+XO7^X_9(M2/\\C\ +M\`;]:*"?O22A?A#RP]CZX57])`,I!\[F6;^O;WL0/;_(^J7$Z4>R@?ERHIDG +M[9\%Y`XP&D-TW1F9N^M:1.9[P"0$I&=[#>!ZORO6Q^HGO,'HNG-9#H?>3YG^ +M%J`$FID6D^MUP.]NNAE7VXV'\]W/_['R^F1QMTILESM3!AO(U9D=ZXN$'?44 +M3U:V"G?L5F9^#(OEIV*+$KBEZ:/UT$IHN*>V&1;.=+_PY?]Z:^$P\E%1'\K1 +)+TV"K"_2!P`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-apm.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-apm.vmdk.gz.uu new file mode 100644 index 0000000..860e005 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-apm.vmdk.gz.uu @@ -0,0 +1,83 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-apm.vmdk.gz +M'XL("/_%'50``VEM9RTV,W@R-34M-#`Y-BUA<&TN=FUD:RYO=70`K9Q;;^3& +M$87?_2L(^<4(D`'/\/ZP0.S(!H+`P,+K)(\.K[&0]4J0A"0+S(\/F^S3.I3$ +M;<*J]<@SM5-5TUU-E;1?'3!-US])DG=)GB?YD!1EDB*9_VI])&GV9,R/<\TW +M+G^]_O'O)_[YYG2Z?+4F@XN2$*2:3HS-YUQ.S_XPW?E+49LWYL<YFBYS4=V+ +M0)_NO//&;KI\?O/\6@A7URYO#^Z%I$M"HF23KGAE3[N;_=+J_O"5+YY;7^;6 +M,!]OV215EI2=-Y.R6.PLJ<[+>VE2S4[3G/#KY/KFX=_)]?C0W]_</=[Z]9W= +MV<[.>>G\R]YEF#=6E>Z%>\.E:UR*<DRR(<G@WDXN]S_<?!Q/_QGO'VYN/[T# +MMWMV9YMG2=ZXY3C_].FQ,=R'I$D)]QG)Y<]_N7[GK]ST=-?>,YV+FA<R?_:\ +M#\U;EHG[>OE85C=^>G09)_\GK,Z=K2].L7QV[EX4>5(UR;*<PN4^SV\/?LM+ +M[?K[L7T<?_Y\-[Z[^NWV4ZB=.UM7LF9)5"^%RI(B<ZG\UESY"I?173;+J267 +MCS>/O][T'^9M/HQ7IZ\3IBM=[>8#K/VZUEW/(>7NR<[+OGS_O\=YO\G@3_:& +MZ99%+)N8/[LX)T7E<LT'N!S%.<ER]VK^JWG!\TYR.*?D<OOI]-,_YF]Q5ZP/ +M[[_]B>GJ.6KVG!<XA\P;VNRI6/=?/+\LD\N'[Y,KM\F??QV7*Y#IFO7;S#FO +MYX#%/+L7OFIK>M?$<O?&<K+)=?O8)M^U#^/IZ^OK[\+)MFZS^?*8ES:Z+.6: +MVEW?2SGGPJTGO1[T<A3#T)W:H;U['._=\8:CZ%R)!K]3=ZSYTS%N/Z=:3FIR +M5TQR>9=<W0SSF;JT_QIO?V.Z?KV,YW6X2Z)9`C/W8KYZEO2C_X3UBG''Y-*- +MC_>?3_WGCS>?AOD;+7G'=,-:NWDY6>H7%=;T?%'A8^?:7:5/2YMS,]WH2K0N +MJO;?&'.N=1U/57!73.$>O@J7SZ=?QW:8EY5<G8OB*AS%]/PHM$3/JK`>]%R+ +M]2C\PCZ?'L;>I\M2?X#3ICCKFI*L3++,KVC;0!]O[Y>EE=F5]N/L^<^RM_;C +M_,6/U.IW)ES36:^O3)_]/,LT+A>CV"1T/\72^>M/\]?[I_65;GVE>%8:58O1 +M;-+]<TYQ]W*[I;O$6O'L-*H78SA2O=*UME$\I^?5XZ\:D-?[Z?B[`#TSC<K% +M*#;I]FI7^-K1L]*H6HQFDVZO=J6O'3T[C>K%&`YMMO*UH^>D4>Z)OTHA/?!K +M65G[VM$STZA<C&*3;J]VC:\=/2N-JL5H-NGV:M?ZVM&STZA>C.'09CM?.WI. +M&N6>V"`@K_?3];YV],PT*A>CV*3;J]W@:T?/2J-J,9I-NKW:C;YV].PTJA=C +M.+39R=>.GI-&N:=<:I?'TE6IKQT],XW*Q2@VZ79J5['?T;/2J%J,9I-NIW85 +M^QT].XWJQ1@.;9;]CIZ31KFG0FI71-.QW]$STZA<C&*3;J]V['?TK#2J%J/9 +MI-NK'?L=/3N-ZL48#FV6_8Z>DT:YIU)J5T;3L=_1,].H7(QBDVZO=NQW]*PT +MJA:CV:3;JQW['3T[C>K%&`YMEOV.GI-&N2?^$@1YO9^._8Z>F4;E8A2;='NU +M8[^C9Z51M1C-)MU>[=COZ-EI5"_&<&BS['?TG#3*/1'(0%[OIJM37SMZ9AJ5 +MBU%LTNW4KF:_HV>E4;48S2;=3NUJ]CMZ=AK5BS$<VBS['3TGC7)/C=2NB:9C +MOZ-GIE&Y&,4FW5[MV._H66E4+4:S2;=7._8[>G8:U8LQ'-HL^QT])XUR3_PG +M%.3U?CKV.WIF&I6+46S2[=6._8Z>E4;58C2;='NU8[^C9Z=1O1C#H<VRW]%S +MTBCW1/X(>;V?COV.GIE&Y6(4FW1[M6._HV>E4;48S2;=7NW8[^C9:50OQG!H +ML^QW])PTRCWU4KL^EJY)?>WHF6E4+D:Q2;=3NX;]CIZ51M5B-)MT.[5KV._H +MV6E4+\9P:+/L=_2<-,H]#5*[(9J._8Z>F4;E8A2;='NU8[^C9Z51M1C-)MU> +M[=COZ-EI5"_&<&BS['?TG#3*/8U2NS&:COV.GIE&Y6(4FW1[M6._HV>E4;48 +MS2;=7NW8[^C9:50OQG!HL^QW])PTRCU-4KLIFH[]CIZ91N5B%)MT>[5COZ-G +MI5&U&,TFW5[MV._HV6E4+\9P:+/L=_2<-"J5Z1GD]6ZZ-EUK%SPSC<K%*#;I +M=FK7^GX7/"N-JL5H-NEV:M?Z?A<\.XWJQ1@.;=;WN^`Y:90KF?`[1)%6Z_L= +MA-]!^1V$WR'*[UK?[R#\#LKO(/P.47[7^GX'X7=0?@?A=P<VZ_L=A-]!^1V$ +MWR&*M%K?[R#\#LKO(/P.47[7^GX'X7=0?@?A=XCRN];W.PB_@_(["+\[L%G? +M[R#\#LKO(/P.4:35^GX'X7=0?@?A=XCRN];W.PB_@_(["+]#E-^UOM]!^!V4 +MWT'XW8'-^GX'X7=0?@?A=X@BK2[UM1-^!^5W$'Z'*+_KV.^$WT'Y'83?(<KO +M.O8[X7=0?@?A=P<VRWXG_`[*[R#\#E&DU;'?";^#\CL(OT.4WW7L=\+OH/P. +MPN\0Y7<=^YWP.RB_@_"[`YMEOQ-^!^5W$'Z'*-+JV.^$WT'Y'83?(<KO.O8[ +MX7=0?@?A=XCRNX[]3O@=E-]!^-V!S;+?";^#\CL(OT,4:77L=\+OH/P.PN\0 +MY7<=^YWP.RB_@_`[1/E=QWXG_`[*[R#\[L!FV>^$WT'Y'83?(8JT^M373O@= +ME-]!^!VB_*YGOQ-^!^5W$'Z'*+_KV>^$WT'Y'83?'=@L^YWP.RB_@_`[1)%6 +MSWXG_`[*[R#\#E%^U[/?";^#\CL(OT.4W_7L=\+OH/P.PN\.;);]3O@=E-]! +M^!VB2*MGOQ-^!^5W$'Z'*+_KV>^$WT'Y'83?(<KO>O8[X7=0?@?A=P<VRWXG +M_`[*[R#\#E&DU;/?";^#\CL(OT.4W_7L=\+OH/P.PN\0Y7<]^YWP.RB_@_"[ +M`YMEOQ-^!^5W$'Z'*-(:4E\[X7=0?@?A=XCRNX']3O@=E-]!^!VB_&Y@OQ-^ +M!^5W$'YW8+/L=\+OH/P.PN\015H#^YWP.RB_@_`[1/G=P'XG_`[*[R#\#E%^ +M-[#?";^#\CL(OSNP6?8[X7=0?@?A=X@BK8']3O@=E-]!^!VB_&Y@OQ-^!^5W +M$'Z'*+\;V.^$WT'Y'83?'=@L^YWP.RB_@_`[1)'6P'XG_`[*[R#\#E%^-[#? +M";^#\CL(OT.4WPWL=\+OH/P.PN\.;);]3O@=E-\%,1WDM:1+UB^?;DS7VKTJ +M*7_EKT+MDE=7-QKK`['H`\-,8=W5[TNXIK->7YAO\_$F_2+"?)N/-^D7$>;; +M?+Q)OX@PW^;C3?I%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB +M7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YM +MHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^ +M;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D5POFVC7P3G +MVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?; +M-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV +M^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z +M17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z183Y-CW?I%]$F&_3 +M\TWZ183Y-CW?I%]$F&_3\TWZ183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FV +MB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183Y +MMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$ +M^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI% +M<+YMHU_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ7\1HJE_$:*I?Q&BJ7\1HJE_$:*I? +MQ&BJ7\1HJE_$:*I?Q&BJ7\1HJE_$E*:&^D5,IOI%3*;Z14RF^D5,IOI%3*;Z +M14RF^D5,IOI%3*;Z14RF^D5,IOI%3*;Z14RF^D5,IOI%3*;Z14RF^L5SFJ:& +M^L7SBWL)'TSW<K.K/C!?UI<7[MZE>J_?]:[&7TCX_4\NS3?/UI>;KV^Y7Z^[ +MO>KP(B[3A-B^<7G_XVOURY?[]>;+;4W=;4S7^_4>6-^W=W<?QU?2O;@7\^_= +M[IHN>[FZ8O(W^EWNWYGS;KF\IW`Q<76_W+7WCS>/-[>??F&ZY7Z]@[^-Z_'5 +M_=;>O;HZXWLQY_G!L^6_$,X^X?9L$Z[/^MZ?>;X<1\G['1?N+KK%<D?=\S`O +MO'#O%=G+A#_<C^-W'Z[_^+<?/FC]\MQX?>6!^JDT9/TFT?HENCYK[7%>?K%^ +M5994U2O7YE/]'OZ[7HA<GW']BM37S]W?^<7_]]^XO#]M_UL3YCZAV0IS=_/9 +,]*O_`W*E&0&37@`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-bsd.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-bsd.qcow.gz.uu new file mode 100644 index 0000000..c016f6e --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-bsd.qcow.gz.uu @@ -0,0 +1,126 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-bsd.qcow.gz +M'XL(",,S(E0``VEM9RTV,W@R-34M-#`Y-BUB<V0N<6-O=RYO=70`K9W)CAM) +MLD7W]174/$LTLR`9H1D-O`?TKGOSWK8XKOD!ZG]O#1'NF<9SRZK1I1*$%%)Q +M07H>'0&J`]=Z_>O;:K6QU;!=#=/J<EA]__G\W59W?G+_^^K;/__W[V_O?OOV +MVZ\Q6__!4^GGN]-JFN?N;?VKS_F/IXZK]?0GYKY_-YJ[\^KB/WAU=][L[=S+ +MWWZ]67[.U6#<&US-<^OY]9DXO>'/O;ZOZ>W:K]/[Z]ZNB[>[48/;>X/_F.=^ +MGU^?B[>[4W/CO;EK>KLNWNZDYO9_"(L+6`YJ[EC,#?C42<V=B[D-/G7A.?N# +MK^VON2T^96K.<6[5YG;X5*BYX=[<^NT"]#(WXE.".RNYF_`IP9V5W.WQ*<&= +ME=P=\"G!G97<'?$IP9V5W)WP*<&=E]R=\2G!G9?<7?`IP9U7W!D_);CSBCLC +MW[GBSBONC'SGBCNON#/RG2ONO.+.R'>NN/.*.R/?N>(N*NZ,?!>*NZBX,_)= +M*.ZBY(Y\%XJ[*+DCWX7B+DKNR'>AN(N2._)=*.ZBY(Y\%XJ[*+DCWX7B;BBY +M(]\-BKNAY(Y\-RCNAHH[YZ<$=T/%G9/O!L7=4''GY+M!<3=4W#GY;E#<#15W +M3KX;%'=#Q9V3[P;%W:;BSLEW&\7=IN+.R7<;Q=VFY(Y\MU'<;4KNR'<;Q=VF +MY(Y\MU'<;4KNR'<;Q=VFY(Y\MU'<;4KNR'<;Q=VVY(Y\MU7<;4ONR'=;Q=VV +MXB[X*<'=MN(NR'=;Q=VVXB[(=UO%W;;B+LAW6\7=MN(NR'=;Q=VVXB[(=UO% +MW:[B+LAW.\7=KN(NR'<[Q=VNY(Y\MU/<[4KNR'<[Q=VNY(Y\MU/<[4KNR'<[ +MQ=VNY(Y\MU/<[4KNR'<[Q=U8<D>^&Q5W8\D=^6Y4W(T5=P,_);@;*^X&\MVH +MN!LK[@;RW:BX&RON!O+=J+@;*^X&\MVHN!LK[@;RW:BX6_[Z6\^1[R;%W51Q +M-Y#O)L7=5')'OIL4=U/)'?EN4MQ-)7?DNTEQ-Y7<D>\FQ=U4<D>^FQ1W4\D= +M^6Y2W.U+[LAW>\7=ON2.?+=7W.TK[C;\E.!N7W&W(=_M%7?[BKL-^6ZON-M7 +MW&W(=WO%W;[B;D.^VRON]A5W&_+=7G&W_&](/4>^.RCN#A5W&_+=07%W*+DC +MWQT4=X>2._+=07%W*+DCWQT4=X>2._+=07%W*+DCWQT4=X>2._+=07%W++DC +MWQT5=\>2._+=47%WK+C;\E."NV/%W99\=U3<'2ONMN2[H^+N6'&W)=\=%7?' +MBKLM^>ZHN#M6W&W)=T?%W:GB;DN^.RGN3A5W6_+=27%W*KDCWYT4=Z>2._+= +M27%W*KDCWYT4=Z>2._+=27%W*KDCWYT4=Z>2._+=27%W+KDCWYT5=^>2._+= +M67%WKKC;\5."NW/%W8Y\=U;<G2ON=N2[L^+N7'&W(]^=%7?GBKL=^>ZLN#M7 +MW.W(=V?%W:7B;D>^NRCN+A5W._+=17%W*;DCWUT4=Y>2._+=17%W*;DCWUT4 +M=Y>2._+=17%W*;DCWUT4=Y>2._+=17!GRP=Z#GQG:\&=K4ONP'>V%MS9NN)N +MY*>8.RO[NQ%\9ZJ_L[*_&\%WIOH[*_N[$7QGJK^SLK\;P7>F^CLK^[L1?&>J +MO[.ROQO!=Z;Z.RO[NQ%\9ZJ_L[*_&\%WIOH[*_N[$7QGJK^SLK\;P7>F^CLK +M^[L1?&>JO[.ROQO!=Z;Z.RO[NQ%\9ZJ_L[*_&\EWJK^SLK\;R7>JO[.ROYOX +M*<%=V=]-Y#O5WUG9WTWD.]7?6=G?3>0[U=]9V=]-Y#O5WUG9WTWD.]7?6=G? +M3>0[U=]9V=]-Y#O5WUG9WTWD.]7?6=G?3>0[U=]9V=]-Y#O5WUG9WTWD.]7? +M6=G?3>0[U=]9V=]-Y#O5WUG9WTWD.]7?6=G?3>0[U=]9V=_M^2G!7=G?[<EW +MJK^SLK_;D^]4?V=E?[<GWZG^SLK^;D^^4_V=E?W=GGRG^CLK^[L]^4[U=U;V +M=WORG>KOK.SO]N0[U=]9V=_MR7>JO[.RO]N3[U1_9V5_MR??J?[.ROYN3[Y3 +M_9V5_=V>?*?Z.RO[NSWY3O5W5O9W>_*=ZN^L[.\._)3@KNSO#N0[U=]9V=\= +MR'>JO[.ROSN0[U1_9V5_=R#?J?[.RO[N0+Y3_9V5_=V!?*?Z.RO[NP/Y3O5W +M5O9W!_*=ZN^L[.\.Y#O5WUG9WQW(=ZJ_L[*_.Y#O5']G97]W(-^I_L[*_NY` +MOE/]G97]W8%\I_H[*_N[`_E.]7=6]G='?DIP5_9W1_*=ZN^L[.^.Y#O5WUG9 +MWQW)=ZJ_L[*_.Y+O5']G97]W)-^I_L[*_NY(OE/]G97]W9%\I_H[*_N[(_E. +M]7=6]G='\IWJ[ZSL[X[D.]7?6=G?'<EWJK^SLK\[DN]4?V=E?W<DWZG^SLK^ +M[DB^4_V=E?W=D7RG^CLK^[L3/R6X*_N[$_E.]7=6]G<G\IWJ[ZSL[T[D.]7? +M6=G?G<AWJK^SLK\[D>]4?V=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG^CLK^[L3 +M^4[U=U;V=R?RG>KOK.SO3N0[U=]9V=^=R'>JO[.ROSN1[U1_9V5_=R+?J?[. +MRO[N1+Y3_9V5_=V9GQ+<E?W=F7RG^CLK^[LS^4[U=U;V=V?RG>KOK.SOSN0[ +MU=]9V=^=R7>JO[.ROSN3[U1_9V5_=R;?J?[.RO[N3+Y3_9V5_=V9?*?Z.RO[ +MNS/Y3O5W5O9W9_*=ZN^L[._.Y#O5WUG9WYW)=ZJ_L[*_.Y/O5']G97]W)M^I +M_L[*_N["3PGNRO[N0KY3_9V5_=V%?*?Z.RO[NPOY3O5W5O9W%_*=ZN^L[.\N +MY#O5WUG9WUW(=ZJ_L[*_NY#O5']G97]W(=^I_L[*_NY"OE/]G97]W85\I_H[ +M*_N["_E.]7=6]G<7\IWJ[ZSL[R[D.]7?^?)!FEOU.?#=]Z>8.T_]W7*?WJIS +M![YSU=]YZN]6,W>KA;M8\U/,G:?^;C5SM_J]S8'O7/5WGOJ[U36=7=#]=Z[Z +M.T_]73N[/@>^<]7?>>KO8`Y\YZJ_\]3?P1SXSE5_YZF_6^8>]#GPG:O^SE-_ +M]V"96[4Y\)VK_LY3?_=@YNY!YPY\YZJ_\]3?/9BY>]"Y`]^YZN\\]7</KC=G +M![YSU=]YZN_:V?4Y\)VK_LY3?P=SX#M7_9VG_@[FP'>N^CM/_=TR][#/D>]4 +M?^>IOWNXS'7NR'>JO_/4WSV<N7O8N*/[[USU=Y[ZNX<S=P\;=W3_G:O^SE-_ +M]_":SX[NOW/5WWGJ[]K9]3GRG>KO//5W,$>^4_V=I_X.YLAWJK_SU-\M<X_Z +M'/E.]7>>^KM'RUSCCNZ_<]7?>>KO'LW</>K<D>]4?^>IOWLT<_>H<T>^4_V= +MI_[NT?7F[,AWJK_SU-^UL^MSY#O5WWGJ[V".?*?Z.T_]'<R1[U1_YZF_6^8> +M]SGRG>KO//5WCY>YSAWY3O5WGOJ[QS-WCQMW=/^=J_[.4W_W>.;N<>..[K]S +MU=]YZN\>7_/9T?UWKOH[3_U=.[L^1[Y3_9VG_@[FR'>JO_/4W\$<^4[U=Y[Z +MNV7N29\CWZG^SE-_]V29:]S1_7>N^CM/_=V3F;LGG3ORG>KO//5W3V;NGG3N +MR'>JO_/4WSVYWIP=^4[U=Y[ZNW9V?8Y\I_H[3_T=S)'O5'_GJ;^#.?*=ZN\\ +M]7?+W-,^1[Y3_9VG_N[I,M>Y(]^I_LY3?_=TYNYIXX[NOW/5WWGJ[Y[.W#UM +MW-']=Z[Z.T_]W=-K/CNZ_\Y5?^>IOVMGU^?(=ZJ_\]3?P1SY3O5WGOH[F"/? +MJ?[.4W^WS#WK<^0[U=]YZN^>+7.-.[K_SE5_YZF_>S9S]ZQS1[Y3_9VG_N[9 +MS-VSSAWY3O5WGOJ[9]>;LR/?J?[.4W_7SJ[/D>]4?^>IOX,Y\IWJ[SSU=S!' +MOE/]G:?^;IE[WN?(=ZJ_\]3?/5_F.G?D.]7?>>KOGL_</6_<T?UWKOH[3_W= +M\YF[YXT[NO_.57_GJ;][?LUG1_??N>KO//5W[>SZ'/E.]7>>^CN8(]^I_LY3 +M?P=SY#O5WWGJ[Y:Y%WV.?*?Z.T_]W8MEKG%']]^YZN\\]7<O9NY>=.[(=ZJ_ +M\]3?O9BY>]&Y(]^I_LY3?_?B>G-VY#O5WWGJ[]K9]3GRG>KO//5W,$>^4_V= +MI_X.YLAWJK_SU-\M<R_['/E.]7>>^KN7RUSGCGRG^CM/_=W+F;N7C3NZ_\Y5 +M?^>IOWLY<_>R<4?WW[GJ[SSU=R^O^>SH_CM7_9VG_JZ=79\CWZG^SE-_!W/D +M.]7?>>KO8(Y\I_H[3_W=,O>JSY'O5'_GJ;][M<PU[NC^.U?]G:?^[M7,W:O. +M'?E.]7>>^KM7,W>O.G?D.]7?>>KO7EUOSHY\I_H[3_U=.[L^1[Y3_9VG_@[F +MR'>JO_/4W\$<^4[U=Y[ZNV7N=9\CWZG^SE-_]WJ9Z]R1[U1_YZF_>SUS][IQ +M1_??N>KO//5WKV?N7C?NZ/X[5_V=I_[N]36?'=U_YZJ_\]3?M;/K<^0[U=]Y +MZN]@CGRG^CM/_1W,D>]4?^>IOUOFWO0Y\IWJ[SSU=V^6N<8=W7_GJK_SU-^] +MF;E[T[DCWZG^SE-_]V;F[DWGCGRG^CM/_=V;Z\W9D>]4?^>IOVMGU^?(=ZJ_ +M\]3?P1SY3O5WGOH[F"/?J?[.4W^WS+WM<^0[U=]YU=\%W7_GJK_SJK\+NO_. +M57_G57\7=/^=J_[.J_XNZ/X[5_V=5_U=T/UWKOH[K_J[H/OO7/5W7O5W0??? +MN>KO7/1W[_H<^4[U=Y[ZNW?+7...[K]SU=]YZN_>S=R]Z]R1[U1_YZF_>S=S +M]ZYS1[Y3_9VG_N[=]>;LR'>JO_/4W[6SZW/D.]7?>>KO8(Y\I_H[3_T=S)'O +M5'\7RP=I;MWGP'>A^KOOG[C'W>*G=><.?!>JOXO4WZWGO77CCNZ_"]7?1>KO +MUC-WZ\8=W7\7JK^+U-^MK_GLZ/Z[4/U=I/ZNG5V?`]^%ZN\B]7<P![X+U=]% +MZN]@#GP7JK^+U-\M<];GP'>A^KM(_9TM<XT[NO\N5'\7J;^S^>59YPY\%ZJ_ +MB]3?V<R==>[`=Z'ZNTC]G5UOS@Y\%ZJ_B]3?M;/K<^"[4/U=I/X.YL!WH?J[ +M2/T=S('O0O5WD?J[9<[['/E.]7>1^CM?YCIWY#O5WT7J[WSFSAMW=/]=J/XN +M4G_G,W?>N*/[[T+U=Y'Z.[_FLZ/[[T+U=Y'ZNW9V?8Y\I_J[2/T=S)'O5'\7 +MJ;^#.?*=ZN\B]7?+7/0Y\IWJ[R+U=[',->[H_KM0_5VD_BYF[J)S1[Y3_5VD +M_BYF[J)S1[Y3_5VD_BZN-V='OE/]7:3^KIU=GR/?J?XN4G\'<^0[U=]%ZN]@ +MCGRG^KM(_=TR-_0Y\IWJ[R+U=\,RU[DCWZG^+E)_-\S<#8T[NO\N5'\7J;\; +M9NZ&QAW=?Q>JOXO4WPW7?'9T_UVH_BY2?]?.KL^1[U1_%ZF_@SGRG>KO(O5W +M,$>^4_U=I/YNF=OT.?*=ZN\B]7>;9:YQ1_??A>KO(O5WFYF[3>>.?*?ZNTC] +MW6;F;M.Y(]^I_BY2?[>YWIP=^4[U=Y'ZNW9V?8Y\I_J[2/T=S)'O5'\7J;^# +M.?*=ZN\B]7?+W+;/D>]4?Q>IO]LN<YT[\IWJ[R+U=]N9NVWCCNZ_"]7?1>KO +MMC-WV\8=W7\7JK^+U-]MK_GLZ/Z[4/U=I/ZNG5V?(]^I_BY2?P=SY#O5WT7J +M[V".?*?ZNTC]W3*WZW/D.]7?1>KO=LM<XX[NOPO5WT7J[W8S=[O.'?E.]7>1 +M^KO=S-VN<T>^4_U=I/YN=[TY._*=ZN\B]7?M[/H<^4[U=Y'Z.Y@CWZG^+E)_ +M!W/D.]7?1>KOEKFQSY'O5'\7J;\;E[G.'?E.]7>1^KMQYFYLW-']=Z'ZNTC] +MW3AS-S;NZ/Z[4/U=I/YNO.:SH_OO0O5WD?J[=G9]CGRG^KM(_1W,D>]4?Q>I +MOX,Y\IWJ[R+U=\O<U.?(=ZJ_B]3?3<M<XX[NOPO5WT7J[Z:9NZES1[Y3_5VD +M_FZ:N9LZ=^0[U=]%ZN^FZ\W9D>]4?Q>IOVMGU^?(=ZJ_B]3?P1SY3O5WD?H[ +MF"/?J?XN4G^WS+WO<^0[U=]%ZN_>+W.=._*=ZN\B]7?O9^[>-^[H_KM0_5VD +M_N[]S-W[QAW=?Q>JOXO4W[V_YK.C^^]"]7>1^KMV=GV.?*?ZNTC]'<R1[U1_ +M%ZF_@SGRG>KO(O5WR]R'/D>^4_U=I/[NPS+7N*/[[T+U=Y'ZNP\S=Q\Z=^0[ +MU=]%ZN\^S-Q]Z-R1[U1_%ZF_^W"].3ORG>KO(O5W[>SZ'/E.]7>1^CN8(]^I +M_BY2?P=SY#O5WT7J[Y:YCWV.?*?ZNTC]W<=EKG-'OE/]7:3^[N/,W<?&'=U_ +M%ZJ_B]3??9RY^]BXH_OO0O5WD?J[C]=\=G3_7:C^+E)_U\ZNSY'O5'\7J;^# +M.?*=ZN\B]7<P1[Y3_5VD_FZ9^]3GR'>JOXO4WWU:YAIW=/]=J/XN4G_W:>;N +M4^>.?*?ZNTC]W:>9NT^=._*=ZN\B]7>?KC=G1[Y3_5VD_JZ=79\CWZG^+E)_ +M!W/D.]7?1>KO8(Y\I_J[2/W=,O>YSY'O5'\7J;_[O,QU[LAWJK^+U-]]GKG[ +MW+BC^^]"]7>1^KO/,W>?&W=T_UVH_BY2?_?YFL^.[K\+U=]%ZN_:V?4Y\IWJ +M[R+U=S!'OE/]7:3^#N;(=ZJ_B]3?+7-?^ASY3O5WD?J[+\M<XX[NOPO5WT7J +M[[[,W'WIW)'O5'\7J;_[,G/WI7-'OE/]7:3^[LOUYNS(=ZJ_B]3?M;/K<^0[ +MU=]%ZN]@CGRG^KM(_1W,D>]4?S<L'Z2YKWT.?#>H_FY(_=W79:YS![[[_A1S +M-Z3^[NO,W=>%NV'-3S%W0^KOOL[<??V]S=&_M]V.2'[BV]OT[=MO+W\.;GZ^ +MOL%7ZSW\J#_Q[6]O[__7!G]>"+/9K8;-:K-=C?YG7^'__\__I5?X:^XO>\._ +MYN@?&+\WM[S@)KR;N2]WYGX(_G+G5Z[MSE-'ZW]<'\>;/[I_?/O\]HZ1-W0A +M3)_[0?29/B'?+/T#X_\-+#>7KMS].O^\9#=6Z^4OW-/-E>WKN^JOCR+F>V_W +M#U[?ZO;M_I3H[OZOMSMS7KS=U?VYGQ*]\_6\]R4L3N_S[:NC?\3[O_EBW%P= +M\B=_Y_X8N?\[]]><_[4BV/TTRP_/[>%'_8EO_WA[_[]?@\//P=_^#8HD%YJ! +#I0`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-bsd.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-bsd.qcow2.gz.uu new file mode 100644 index 0000000..b27f56c --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-bsd.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-bsd.qcow2.gz +M'XL("+H[(U0``VEM9RTV,W@R-34M-#`Y-BUB<V0N<6-O=S(N;W5T`*V8VY+3 +M,`R&[_L4Y@P+E%AR3ARVL+#,<`<W<-UVVZ?H\.RL:R5*%"E>.FD[F>FX_S=R +M_%E)6A3IY5SI7:A<:-UQY^Z_TP?<X,OXXTZ_OO]8#U^G58+YPD@I`_6AQXU8 +M?QD'%J[PTP&OXP;5H8*#+C4%Y7#!K&YN0,%=K<ZG[KP8C4C@)<"$,Q?CHOH@ +MU2<3X<+Z8.GZ4#]_99>3`]5\?9CJDZG:PC59'"BIUL)MLSA44CL+M\_B@I*Z +MLW#&SAW@2B5U-'`^H\H]KE)2WL)!%E<K*;1P(8MKE)3EG<][URHIRSN?]VZK +MI"SO?-Z[G9*RO/-Y[_9*RO+.Y[V[4U*6=V!XYQAW4%*6=R"\>T2XQXP[*BG+ +M.Q#>/2'<TQ[GM93E'0COGA'N.>.4?@>6=R"\>T&XEXQ3^AU8WH'P[A7AKABG +M]#NPO`/AW6O"O6&<TN_`\@Z$=V\GWGFEWX'E'0KOWA&K8)S2[]#R#H5WGG#` +M.*7?H>4="N^0<(%Q2K]#RSL4WI6$JQBG]#NTO$/A74VXAG%*OT/+.Q3>M81[ +MSSBEWZ'E'0KO/A#N(^.4?H>6=RB\^T2X:\8I_0XM[X+P;D.XSXQ3^EVPO`O" +MNR^$NV&<TN^"Y5T0WGTEW+<>!UJJ]ZXH]`_A;B=[%I:]_PQ\?^R5HSTP`VS^ +M!SA78<*UBTZX3!..&FR5HSUPNEF/WSWPO,)E'5>UK%P##ZWPS^WOZ83+!5<X +MX>S'41KH"NZWX`2W&>#B%>TX^.5P'=W>\_8?$@>XZ\3K<+./H_$>^Z`-F),M +M%Y8%&I$;KG.\M8MWX%UW%[=F_?HZKD^1&4;3G:G/3:<;KQK]TYU8CXB#S'3= +M&!>O&F)?\A)FSMYF6MU^X<5`N3,>N',C9+QS$PZ6;020_I<JXJ^F1WO@]',] +6?B=@(.!B9S!4L?>M_@&MW,<Y0Q,````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-bsd.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-bsd.raw.gz.uu new file mode 100644 index 0000000..b44538e --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-bsd.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-bsd.raw.gz +M'XL("`#&'50``VEM9RTV,W@R-34M-#`Y-BUB<V0N<F%W+F]U=`"ME#L.@S`, +M0'=.X;E#E&])%RI5ZMZIG2F%4^3P38`4FQ#H$`<B(MM/_N!P/@F`EL#;C3VO +M<#=&EZM.U4B3`6AJT`;,&:PWY\M##D3A7O<GP^)FG-CSRN/82B).'N%BP&K( +MX:X(I[QR0)9<(*].@.KG`_Y&N&9Z(T[O1><KP?LM13994ZIVL;=VY8?[#*(' +MH8#;62<I\-=?6.*[I&%(DNY.?)"FVP9<3>T%PLF#=('BW@&'^DE:>%"])HVN +M*]P,M9Z,/R<W0.CD3CA9]B*0X\WB_T!OE>YYA7LPNB:@GH'%*EA_K"=67[CE +&;;$%!0`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhd.gz.uu new file mode 100644 index 0000000..9e10396 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhd.gz.uu @@ -0,0 +1,17 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-bsd.vhd.gz +M'XL("`#&'50``VEM9RTV,W@R-34M-#`Y-BUB<V0N=FAD+F]U=`"MESUOPR`0 +MAO?\BI.Z9;#P&6-W::*HZ5RI4CN[Q(XR]$--APS^\>5LB`]_)6VQ"<*">WB/ +M.Q`1HGT`5`*J`E6"2JF=25"WD.4`IM,6;.K8?D*M/]Y+_7TX1?:I%RTL%MS* +M-R=[3$":23+`@B91.VI#[3#1S7:_/+SM'0XMSDTL%4B$U$#D8)Y<G-41Z6'S +M=-]7EPS5=5;M/%4%2<5&)%Q=%*TX3AHK,YZ*@DHV,EWQ/KP.CO/4I:)GQ62. +M+2IS=@RGYJQ^@ULN;"S:5#&)D9E:@(HA0VJ;M''K,"@F54['S^+K6/;TX42J +M*!:,?I^<=A=MJJ`;;!5($CCG+C248Q\WDBK_6CWEVTG;,(L@4M>!C?O^ZG4H +MX/I4+&;6?#H8D_H*TF?VEBA&ZNF.>A/Y[QFH"9AFM-U3!3E>NX(OV^>Q^.J) +M=/GC[M!X"><$\]/`QZT8+FG#T5%8\H*.(2F[;SF"NS._=8>3<^HH9\JQCDEG +MT\#)K/.>'8\SQ"7$"8B<934#GN,+G;[;H0STW)W1!T-W"\)E_OB8X?""N^#C +M7NVYS`9W(;RP>NNA.ATX&+O^SKARYQ+$W[DM#L,>!-B<+"8#S:AA/=U1/T;^ +MVP+1'E7!SCYT1U4HA=("@RDTP#*P0BQGD^VW6:BLPD`72<(%O$@2+N!%DG`! +>+Y*$"WB1)%S`BR3A@EXDE?F+(,3B!S97<<M]#``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhdf.gz.uu new file mode 100644 index 0000000..1605f5a --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-bsd.vhdf.gz +M'XL("`#&'50``VEM9RTV,W@R-34M-#`Y-BUB<V0N=FAD9BYO=70`K90[3\,P +M$(#W_(J3V#I$?L==:%519B0DF$-PJ@[`PL#@'X\OB1M?G@C%=J)8=_?E'O8Q +MU@X`)8"5$^]Y@3_E=/ILES4T@4!=@-*@#=B@SOI%-D3@7\\O>3I\A^-+5O.X +M?#`B3JSAHL.RGL,=$IP,PCK19#RQJCA(U^_5!.X^/,<>IY:\"YE@;DHP&ZS> +M*G>QMG9@E]89N`,N@=E.)BCP5E_H_=N/W1`DW`7_8!QNB;B"ZO,$)U;"!8I[ +M0QPGRGT)5[)W''M7;5P,.;P9?[RY"*$WM\6);1N!:#I+.(%!:_R>%_BGG,X6 +MJ#K@9AFT7>\S$DP-QH'1^%TH,'LH;`H4]"3YZNO35=_7G[3"B.-M,YA<:"\D +MWA93@"CQ)^8=OQ/_[LZ7W?7C$G&Q5<4?*X-)UP&B1N%:&N[CZ?EAZ)T<)\F2 +M[''T,VU[(7"2O4.*4[=@G6M:(.\7V1#!9*M"G&8#J__6ML69C8]*.'S9+_P) +&SWLP!P`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-bsd.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-bsd.vmdk.gz.uu new file mode 100644 index 0000000..3df9b01 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-bsd.vmdk.gz.uu @@ -0,0 +1,81 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-bsd.vmdk.gz +M'XL("`'&'50``VEM9RTV,W@R-34M-#`Y-BUB<V0N=FUD:RYO=70`K9Q;;R/' +M$87?_2L:\EL>B#F<^\,FCB,'"((`AFW8K^;<8B'V[D(K!%F`/S[3,WU:9T2- +M>V"5S%VREE7%[NIAB?[J@%FV_CA7=*XH7#&XLG(9W/Q/Z\UE^;,QWXKXQ/6? +M]__Z\<2?KTZGZQ=K,O@H"4&FZ<38O,[U].*'Z<Z_%[5Y8KZ=D^ER']7=!(9T +MYYTG=M/-]7#GUT*XNLOR].`?2#H7$[E-NO*5/>UN]O=6]Z<O0O'\^G*_AOEX +MJ];5N:NZ8+JJ7.S<U>?EN<S5L],T)_S2W3]\^H^['S_UCP\?GSZ$]9W]V<[. +M1>7]J]YGF#=65_Z!?\*G:WV*:G3YX'+XI]WU\>\/OXZG_XZ/GQX^O'\';O?L +MS[;(7='ZY7C_[/FV,?R+9*Z"?PUW_=L_[M^%*S<[?;P\,IV/FA<RO_:\#\U; +M5<[_N;TMJQO?/_F,4_B)J_-G&XI3+J]=^`=EX>K6+<LI?>[S_/00MKS4KG\< +M+T_C#Y\_CN_N?OOP/M;.GZTO6;LD:I9"Y:[,?:JP-5^^TF?TE\UR:N[ZZ\/3 +M+P_]]_,V/XUWIR\=TU6^=O,!-F%=ZZ[GD&KW9.=E7[_YW].\7S>$DWU@NF41 +MRR;FUR[/KJQ]KOD`\[EV>>[RQN5+^GG!\TX*>"=W_?#^]-U/#E7>%.[[;__Z +M'=,U<[K9<U[@'#)O:+.G<MU_^?*R=-?OOW%W?I,__#(N5R#3M>O;S#NOYX#% +M//L'H6IK>M_$"O_$<K+N_O)T<5]?/HVG+^_OOXXG>_&;+9;;O+319ZG6U/[Z +M7LHY%VX]Z?6@EZ,8ANYT&2X?G\9'?[SQ*#I_M0YAI_Y8B^=CW+Y.O9S4Y*\8 +M=WWG[AZ&^4Q]VG^/'WYCNGZ]C.=U^$NB70)S_V"^>I;T8WB%]8KQQ^33C4^/ +MGT_]YU\?W@_S&\V]8[IAK=V\G/DTUT7%-;U<5'S9N79W>%[:G)OI1E^B=5%- +M>&/,N=9U/%<AGV^EOX4J7#^??ADOP[PL=W<NR[MX%-/+H]`2O:C">M!S+=:C +M"`O[?/HT]B%=GH4#G#;%6=?D+^7Y2EY7M&V@3Q\>EZ55^9WVX_SE[[*W]N/B +MYE=J_0<3KNFLUU=E+WZ?Y1I7B%%N$OK?8MGZ,>#T[?/Z*K^^2CQKC6K$:#?I +M?IY3?+S=;N4OL8MX=AK5BS$<J5[E?U^,XCF]K!X_:D`>[Z?C9P%ZYAI5B%%N +MTNW5K@RUHV>M48T8[2;=7NVJ4#MZ=AK5BS$<VFP=:D?/2:/\'3]*(3OPL:QJ +M0NWHF6M4(4:Y2;=7NS;4CIZU1C5BM)MT>[6[A-K1L].H7HSAT&:[4#MZ3AKE +M[]@@((_WT_6A=O3,-:H0H]RDVZO=$&I'SUJC&C':3;J]VHVA=O3L-*H78SBT +MV2G4CIZ31OF[0FI7I-+56:@=/7.-*L0H-^EV:E>SW]&SUJA&C':3;J=V-?L= +M/3N-ZL48#FV6_8Z>DT;YNU)J5R;3L=_1,]>H0HQRDVZO=NQW]*PUJA&CW:3; +MJQW['3T[C>K%&`YMEOV.GI-&^;M*:E<ET['?T3/7J$*,<I-NKW;L=_2L-:H1 +MH]VDVZL=^QT].XWJQ1@.;9;]CIZ31OD[?@B"/-Y/QWY'SURC"C'*3;J]VK'? +MT;/6J$:,=I-NKW;L=_3L-*H78SBT6?8[>DX:Y>\:J5V32M=DH7;TS#6J$*/< +MI-NI7<-^1\]:HQHQVDVZG=HU['?T[#2J%V,XM%GV.WI.&N7O6JE=FTS'?D?/ +M7*,*,<I-NKW:L=_1L]:H1HQVDVZO=NQW].PTJA=C.+19]CMZ3AKE[_B_4)#' +M^^G8[^B9:U0A1KE)MU<[]CMZUAK5B-%NTNW5COV.GIU&]6(,AS;+?D?/2:/\ +M'?DCY/%^.O8[>N8:58A1;M+MU8[]CIZU1C5BM)MT>[5COZ-GIU&]&,.AS;+? +MT7/2*'_72^WZ5+HV"[6C9ZY1A1CE)MU.[5KV.WK6&M6(T6[2[=2N9;^C9Z=1 +MO1C#H<VRW]%STBA_-TCMAF0Z]CMZYAI5B%%NTNW5COV.GK5&-6*TFW1[M6._ +MHV>G4;T8PZ'-LM_1<](H?S=*[<9D.O8[>N8:58A1;M+MU8[]CIZU1C5BM)MT +M>[5COZ-GIU&]&,.AS;+?T7/2*'\W2>VF9#KV.WKF&E6(46[2[=6._8Z>M48U +M8K2;='NU8[^C9Z=1O1C#H<VRW]%STJA,IF>0Q[OI+ME:N^B9:U0A1KE)MU.[ +M2^AWT;/6J$:,=I-NIW:7T.^B9Z=1O1C#H<V&?A<])XWR)1-^AR32NH1^!^%W +M4'X'X7=(\KM+Z'<0?@?E=Q!^AR2_NX1^!^%W4'X'X7<'-AOZ'83?0?D=A-\A +MB;0NH=]!^!V4WT'X'9+\[A+Z'83?0?D=A-\AR>\NH=]!^!V4WT'XW8'-AGX' +MX7=0?@?A=T@BK4OH=Q!^!^5W$'Z')+^[A'X'X7=0?@?A=TCRNTOH=Q!^!^5W +M$'YW8+.AWT'X'93?0?@=DDBKRT+MA-]!^1V$WR')[SKV.^%W4'X'X7=(\KN. +M_4[X'93?0?C=@<VRWPF_@_(["+]#$FEU['?"[Z#\#L+OD.1W'?N=\#LHOX/P +M.R3Y7<=^)_P.RN\@_.[`9MGOA-]!^1V$WR&)M#KV.^%W4'X'X7=(\KN._4[X +M'93?0?@=DORN8[\3?@?E=Q!^=V"S['?"[Z#\#L+OD$1:'?N=\#LHOX/P.R3Y +M7<=^)_P.RN\@_`Y)?M>QWPF_@_(["+\[L%GV.^%W4'X'X7=((JT^"[43?@?E +M=Q!^AR2_Z]GOA-]!^1V$WR')[WKV.^%W4'X'X7<'-LM^)_P.RN\@_`Y)I-6S +MWPF_@_(["+]#DM_U['?"[Z#\#L+OD.1W/?N=\#LHOX/PNP.;9;\3?@?E=Q!^ +MAR32ZMGOA-]!^1V$WR')[WKV.^%W4'X'X7=(\KN>_4[X'93?0?C=@<VRWPF_ +M@_(["+]#$FGU['?"[Z#\#L+OD.1W/?N=\#LHOX/P.R3Y7<]^)_P.RN\@_.[` +M9MGOA-]!^1V$WR&)M(8LU$[X'93?0?@=DOQN8+\3?@?E=Q!^AR2_&]COA-]! +M^1V$WQW8+/N=\#LHOX/P.R21UL!^)_P.RN\@_`Y)?C>PWPF_@_(["+]#DM\- +M['?"[Z#\#L+O#FR6_4[X'93?0?@=DDAK8+\3?@?E=Q!^AR2_&]COA-]!^1V$ +MWR')[P;V.^%W4'X'X7<'-LM^)_P.RN\@_`Y)I#6PWPF_@_(["+]#DM\-['?" +M[Z#\#L+OD.1W`_N=\#LHOX/PNP.;9;\3?@?E=U%,!WDLZ=SZ)Z0;L[5VKTK* +M7_FG6#OWZNI&8WT@%GU@G"FLN_IC"==TUNN+\VW>WJ1?1)QO\_8F_2+B?)NW +M-^D7$>?;O+U)OX@XWS;1+R+.MTWTBXCS;1/](N)\VT2_B#C?-M$O(LZW3?2+ +MB/-M$_TBXGS;1+^(.-\VT2\BSK=-](N(\VT3_2+B?-M$OX@XWS;1+R+.MTWT +MBXCS;1/](N)\VT2_B#C?-M$O(LZW3?2+B/-M$_TBXGS;1+^(.-\VT2\BSK=- +M](N(\VT3_2+B?-M$OX@XWS;1+R+.MTWTBXCS;1/](N)\VT2_",ZW;?2+X'S; +M1K\(SK=M](O@?-M&OPC.MVWTB^!\VT:_",ZW;?2+X'S;1K\(SK=M](O@?-M& +MOPC.MVWTB^!\VT:_",ZW;?2+X'S;1K\(SK=M](O@?-M&OPC.MVWTB^!\VT:_ +M",ZW;?2+X'S;1K\(SK=M](O@?-M&OPC.MVWTB^!\VT:_",ZW;?2+X'S;1K\( +MSK=M](O@?-M&OPC.MVWTB^!\VT:_",ZW;?2+X'S;1K^(.-^FYYOTBXCS;7J^ +M2;^(.-^FYYOTBXCS;7J^2;^(.-\VT2\BSK=-](N(\VT3_2+B?-M$OX@XWS;1 +M+R+.MTWTBXCS;1/](N)\VT2_B#C?-M$O(LZW3?2+B/-M$_TBXGS;1+^(.-\V +MT2\BSK=-](N(\VT3_2+B?-M$OX@XWS;1+R+.MTWTBXCS;1/](N)\VT2_B#C? +M-M$O(LZW3?2+B/-M$_TBXGS;1+^(.-\VT2\BSK=-](N(\VT3_2+B?-M$OPC. +MMVWTBQA-]8L83?6+&$WUBQA-]8L83?6+&$WUBQA-]8L83?6+&$WUBQA-]8L8 +M3?6+&$WUBQA-]8L83?6+&$WUBYBRS%"_B,E4OXC)5+^(R52_B,E4OXC)5+^( +MR52_B,E4OXC)5+^(R52_B,E4OXC)5+^(R52_B,E4OXC)5+^(R52_>,ZRS%"_ +M>+[Y+N&#Z6XWN^H#BV5]Z[>#WOZ]_\3UZ]/VOYAP^8+=LO9?=%I6KCD?7>%/ +MW_SXRH:+L]F&UW0W7Y[\,EWD7=->NK](.M_@)_'<?!=S#Y>/SW;Q2KH_G^2; +MHHOE"W9W5Z=SBF.;-?[RY&+Y$EOUU7/V'<:#'WZ>?_'>B.?KGM?7WB[CO-GN +M[ZS/W6[7-U']^E`]C\V[=6>[;IO.-U$]S\T1)JKWU>WJ>N/#N/DJUH/O7)]D +G^\Y=TYUM&T&U=)9U^'_[]_X3UV]/V__6A,62\(O_`X=39<Z@70`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow.gz.uu new file mode 100644 index 0000000..c5c9257 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow.gz.uu @@ -0,0 +1,128 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-ebr.qcow.gz +M'XL("%[N+50``VEM9RTV,W@R-34M-#`Y-BUE8G(N<6-O=RYO=70`K9W9CE39 +M$47?^8IDAF+*B+@C0U7)DBWYS7ZP_=IW?,X/0/YV`W6&JKA[$[2[:=0"T7<K +M\]3*1=N]=#B?[[Z=3JV<FN[4C*=]/GW[>?HNIWL_>?C]]/6??_O[^_O?OCZZ +M&Y/S3YYR/^^W,O=@Z[]U3K\_M9S.XR_,??LN:.[>J[/?\>KNO=GCW-6CNS>+ +MGU,V:`\&3VGNG%Z?D--K?NWUW;JW*W>G]^>]725OM_VUP7^XUZ>_"Y9?>GV_ +M\^O;P<'?RNMKX%,]FQL>S%T.;[>%3XUL;OHIS'KNX%,SFUN"N1X^M;*Y+9@; +MX%,[GI.??&WOYD;XE+`YA7.G,C?!IXS--0_FSFGNMLS-\"GRN1#'7?Y<5.X6 +M^!3A3D+N5O@4X4Y"[C;X%.%.0NYV^!3A3B+N!#]%N-.(.T&*4L:=1MP),K(R +M[C3B3I#OE'&G$7>"?*>,.XVX$^0[9=QIQ)T@WRGC3B/N!/E.&7<:<H=\IXP[ +M"[E#OC/&G87<(=\9X\Y"[I#OC'%G(7?(=\:XLY`[Y#MCW%G('?*=,>XLY`[Y +MSAAW%G&G^"G"71-QI\AW#>.NB;A3Y+N&<==$W"GR7<.X:R+N%/FN8=PU$7>* +M?-<P[IJ(.T6^:QAW3<2=(M\UC+LFY`[YKF'<M2%WR'<MXZX-N4.^:QEW;<@= +M\EW+N&M#[I#O6L9=&W*'?-<R[MJ0.^2[EG'7AMPAW[6,NS;BSO!3A+LNXLZ0 +M[SK&71=Q9\AW'>.NB[@SY+N.<==%W!GR7<>XZR+N#/FN8]QU$7>&?-<Q[KJ( +M.T.^ZQAW7<@=\EW'N.M#[I#O>L9='W*'?-<S[OJ0.^2[GG'7A]PAW_6,NS[D +M#OFN9]SU(7?(=SWCK@^Y0[[K&7=]Q%V#GR+<#1%W#?+=P+@;(NX:Y+N!<3=$ +MW#7(=P/C;HBX:Y#O!L;=$''7(-\-C+LAXJY!OAL8=T/$78-\-S#NAI`[Y+N! +M<9?_[WD^AWPW,N[&D#ODNY%Q-X;<(=^-C+LQY`[Y;F3<C2%WR'<CXVX,N4.^ +M&QEW8\@=\MW(N!LC[EK\%.%NBKAKD>\FQMT4<=<BWTV,NRGBKD6^FQAW4\1= +MBWPW,>ZFB+L6^6YBW$T1=RWRW<2XFR+N6N2[B7$WA=PAWTV,N_R?2?D<\MW, +MN)M#[I#O9L;=''*'?#<S[N:0.^2[F7$WA]PAW\V,NSGD#OEN9MS-(7?(=S/C +M;HZXZ_!3A+LEXJY#OEL8=TO$78=\MS#NEHB[#OEN8=PM$7<=\MW"N%LB[CKD +MNX5QMT3<=<AW"^-NB;CKD.\6QMT2<H=\MS#NUI`[Y+N5<;>&W"'?K8R[->0. +M^6YEW*TA=\AW*^-N#;E#OEL9=VO('?+=RKA;0^Z0[U;&W1IQU^.G"'<D$+HW +MAWRW,>ZVB+L>^6YCW&T1=SWRW<:XVR+N>N2[C7&W1=SUR'<;XVZ+N.N1[S;& +MW19QUR/?;8R[+>0.^6YCW.TA=\AW.^-N#[E#OML9=WO('?+=SKC;0^Z0[W;& +MW1YRAWRW,^[VD#ODNYUQMX?<(=_MC+L]XF[`3V'N)/^`SP'?R9EP)^>(NP'X +M3LZ$.SE'W`W`=\+Z0/']W8&[`?A.6'\G87\W`-\)Z^\D[.\&X#MA_9V$_=T` +M?">LOY.POQN`[X3U=Q+V=P/PG;#^3L+^;@"^$];?2=C?#<!WPOH["?N[`?A. +M6'\G87\W`-\)Z^\D[.\&X#MA_9V$_=T`?">LOY.POQOQ4X2[L+\;D>]8?R=A +M?S<BW['^3L+^;D2^8_V=A/W=B'S'^CL)^[L1^8[U=Q+V=R/R'>OO).SO1N0[ +MUM])V-^-R'>LOY.POQN1[UA_)V%_-R+?L?Y.POYN1+YC_9V$_=V(?,?Z.PG[ +MNQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6WTG8WTWX*<)=V-]-R'>LOY.POYN0[UA_ +M)V%_-R'?L?Y.POYN0KYC_9V$_=V$?,?Z.PG[NPGYCO5W$O9W$_(=Z^\D[.\F +MY#O6WTG8WTW(=ZR_D["_FY#O6'\G87\W(=^Q_D["_FY"OF/]G83]W81\Q_H[ +M"?N["?F.]7<2]G<3\AWK[R3L[V;\%.$N[.]FY#O6WTG8W\W(=ZR_D["_FY'O +M6'\G87\W(]^Q_D["_FY&OF/]G83]W8Q\Q_H["?N[&?F.]7<2]G<S\AWK[R3L +M[V;D.];?2=C?S<AWK+^3L+^;D>]8?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S' +M^CL)^[L9^8[U=Q+V=PM^BG`7]G<+\AWK[R3L[Q;D.];?2=C?+<AWK+^3L+]; +MD.]8?R=A?[<@W['^3L+^;D&^8_V=A/W=@GS'^CL)^[L%^8[U=Q+V=POR'>OO +M).SO%N0[UM])V-\MR'>LOY.POUN0[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V" +M?,?Z.PG[NQ4_1;@+^[L5^8[U=Q+V=ROR'>OO).SO5N0[UM])V-^MR'>LOY.P +MOUN1[UA_)V%_MR+?L?Y.POYN1;YC_9V$_=V*?,?Z.PG[NQ7YCO5W$O9W*_(= +MZ^\D[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83] +MW8:?(MR%_=V&?,?Z.PG[NPWYCO5W$O9W&_(=Z^\D[.\VY#O6WTG8WVW(=ZR_ +MD["_VY#O6'\G87^W(=^Q_D["_FY#OF/]G83]W89\Q_H["?N[#?F.]7<2]G<; +M\AWK[R3L[S;D.];?2=C?;<AWK+^3L+_;D.]8?R=A?[<AW['^3L+^;L=/$>[" +M_FY'OF/]G83]W8Y\Q_H["?N['?F.]7<2]G<[\AWK[R3L[W;D.];?2=C?[<AW +MK+^3L+_;D>]8?R=A?[<CW['^3L+^;D>^8_V=A/W=CGS'^CL)^[L=^8[U=Q+V +M=SOR'>OO).SO=N0[UM])V-_MR'>LOY.PO]N1[UA_)U%_9V?\%.9.\P_<W*G. +M`=]]>PISIZZ_R_?]G4YE#OA.67^GKK\[)>Y.MV4.^$Y9?Z>NOSLE[DZ_E3G@ +M.V7]G;K^[G0YG!WPG;+^3EU_5\ZNS@'?*>OOU/5W8`[X3EE_IZZ_`W/`=\KZ +M.W7]79Y[7.>`[Y3U=^KZN\=YKG('?*>LOU/7WSU.W#VNW`'?*>OOU/5WCQ-W +MCRMWP'?*^CMU_=WCR^'L@.^4]7?J^KMR=G4.^$Y9?Z>NOP-SP'?*^CMU_=UQ +M#MU_IZR_4]??Y;DG=0[YCO5WZOJ[)WFN<(?NOU/6WZGK[YXD[IX4[M#]=\KZ +M.W7]W9/$W9/"';K_3EE_IZZ_>W(YG!WR'>OOU/5WY>SJ'/(=Z^_4]7=@#OF. +M]7?J^CLPAWS'^CMU_5V>>UKGD.]8?Z>NOWN:YRIWR'>LOU/7WSU-W#VMW"'? +ML?Y.77_W-''WM'*'?,?Z.W7]W=/+X>R0[UA_IZZ_*V=7YY#O6'^GKK\#<\AW +MK+]3U]\=Y]#]=\KZ.W7]79Y[5N>0[UA_IZZ_>Y;G"G?H_CME_9VZ_NY9XNY9 +MX0[=?Z>LOU/7WSU+W#TKW*'[[Y3U=^KZNV>7P]DAW['^3EU_5\ZNSB'?L?Y. +M77\'YI#O6'^GKK\#<\AWK+]3U]_EN>=U#OF.]7?J^KOG>:YRAWS'^CMU_=WS +MQ-WSRAWR'>OOU/5WSQ-WSRMWR'>LOU/7WSV_',X.^8[U=^KZNW)V=0[YCO5W +MZOH[,(=\Q_H[=?W=<0[=?Z>LOU/7W^6Y%W4.^8[U=^KZNQ=YKG"'[K]3UM^I +MZ^]>).Y>%.[0_7?*^CMU_=V+Q-V+PAVZ_TY9?Z>NOWMQ.9P=\AWK[]3U=^7L +MZASR'>OOU/5W8`[YCO5WZOH[,(=\Q_H[=?U=GGM9YY#O6'^GKK][F><J=\AW +MK+]3U]^]3-R]K-PAW['^3EU_]S)Q][)RAWS'^CMU_=W+R^'LD.]8?Z>NORMG +M5^>0[UA_IZZ_`W/(=ZR_4]??'>?0_7?*^CMU_5V>>U7GD.]8?Z>NOWN5YPIW +MZ/X[9?V=NO[N5>+N5>$.W7^GK+]3U]^]2MR]*MRA^^^4]7?J^KM7E\/9(=^Q +M_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_4]??Y;G7=0[YCO5WZOJ[ +MUWFN<H=\Q_H[=?W=Z\3=Z\H=\AWK[]3U=Z\3=Z\K=\AWK+]3U]^]OAS.#OF. +M]7?J^KMR=G4.^8[U=^KZ.S"'?,?Z.W7]W7$.W7^GK+]3U]_EN:LZAWS'^CMU +M_=U5GBO<H?OOE/5WZOJ[J\3=5>$.W7^GK+]3U]]=)>ZN"G?H_CME_9VZ_N[J +M<C@[Y#O6WZGK[\K9U3GD.];?J>OOP!SR'>OOU/5W8`[YCO5WZOJ[//>FSB'? +ML?Y.77_W)L]5[I#O6'^GKK][D[A[4[E#OF/]G;K^[DWB[DWE#OF.]7?J^KLW +ME\/9(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_.\ZA^^^4]7?J^KL\][;. +M(=^Q_DY=?_<VSQ7NT/UWROH[=?W=V\3=V\(=NO].67^GKK][F[A[6[A#]]\I +MZ^_4]7=O+X>S0[YC_9VZ_JZ<79U#OF/]G;K^#LPAW['^3EU_!^:0[UA_IZZ_ +MRW/OZASR'>OOU/5W[_)<Y0[YCO5WZOJ[=XF[=Y4[Y#O6WZGK[]XE[MY5[I#O +M6'^GKK][=SF<'?(=Z^_4]7?E[.H<\AWK[]3U=V`.^8[U=^KZN^,<NO].67^G +MKK_+<^_K'/(=Z^\TZN\,W7^GK+_3J+\S=/^=LOY.H_[.T/UWROH[C?H[0_?? +M*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.R7]W8<ZAWS'^CMU_=V' +M/%>Y0[YC_9VZ_NY#XNY#Y0[YCO5WZOJ[#XF[#Y4[Y#O6WZGK[SY<#F>'?,?Z +M.W7]73F[.H=\Q_H[=?T=F$.^8_V=NO[N.(?NOU/6WUG^@9L[USG@.V/]W;=? +M>,!=]M.Y<(?NOS/6WYGK[\YI[URX0_??&>OOS/5WY\3=N7"'[K\SUM^9Z^_. +ME\/9`=\9Z^_,]7?E[.H<\)VQ_LY<?P?F@.^,]7?F^CLP!WQGK+\SU]_E.:ES +MP'?&^CMS_9WDN<H=\)VQ_LY<?R?IY4GE#OC.6']GKK^3Q)U4[H#OC/5WYOH[ +MN1S.#OC.6']GKK\K9U?G@.^,]7?F^CLP!WQGK+\SU]\=Y]#]=\;Z.W/]79[3 +M.H=\Q_H[<_V=YKG"';K_SEA_9ZZ_T\2=%N[0_7?&^CMS_9TF[K1PA^Z_,];? +MF>OO]'(X.^0[UM^9Z^_*V=4YY#O6WYGK[\`<\AWK[\SU=V`.^8[U=^;ZNSQG +M=0[YCO5WYOH[RW.5.^0[UM^9Z^\L<6>5.^0[UM^9Z^\L<6>5.^0[UM^9Z^_L +M<C@[Y#O6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5WQSET_YVQ_LY<?Y?GFCJ' +M?,?Z.W/]79/G"G?H_CMC_9VY_JY)W#6%.W3_G;'^SEQ_UR3NFL(=NO_.6']G +MKK]K+H>S0[YC_9VY_JZ<79U#OF/]G;G^#LPAW['^SEQ_!^:0[UA_9ZZ_RW-M +MG4.^8_V=N?ZNS7.5.^0[UM^9Z^_:Q%U;N4.^8_V=N?ZN3=RUE3OD.];?F>OO +MVLOA[)#O6']GKK\K9U?GD.]8?V>NOP-SR'>LOS/7WQWGT/UWQOH[<_U=GNOJ +M'/(=Z^_,]7==GBO<H?OOC/5WYOJ[+G'7%>[0_7?&^CMS_5V7N.L*=^C^.V/] +MG;G^KKL<S@[YCO5WYOJ[<G9U#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/ +M]74.^8[U=^;ZNS[/5>Z0[UA_9ZZ_ZQ-W?>4.^8[U=^;ZNSYQUU?ND.]8?V>N +MO^LOA[-#OF/]G;G^KIQ=G4.^8_V=N?X.S"'?L?[.7']WG$/WWQGK[\SU=WEN +MJ'/(=ZR_,]??#7FN<(?NOS/6WYGK[X;$W5"X0_??&>OOS/5W0^)N*-RA^^^, +M]7?F^KOA<C@[Y#O6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[ +M/#?6.>0[UM^9Z^_&/%>Y0[YC_9VY_FY,W(V5.^0[UM^9Z^_&Q-U8N4.^8_V= +MN?YNO!S.#OF.]7?F^KMR=G4.^8[U=^;Z.S"'?,?Z.W/]W7$.W7]GK+\SU]_E +MN8]U#OF.]7?F^KN/>:YPA^Z_,];?F>OO/B;N/A;NT/UWQOH[<_W=Q\3=Q\(= +MNO_.6']GKK_[>#F<'?(=Z^_,]7?E[.H<\AWK[\SU=V`.^8[U=^;Z.S"'?,?Z +M.W/]79[[5.>0[UA_9ZZ_^Y3G*G?(=ZR_,]???4K<?:K<(=^Q_LY<?_<I<?>I +M<H=\Q_H[<_W=I\OA[)#O6']GKK\K9U?GD.]8?V>NOP-SR'>LOS/7WQWGT/UW +MQOH[<_U=GOM<YY#O6']GKK_[G.<*=^C^.V/]G;G^[G/B[G/A#MU_9ZR_,]?? +M?4[<?2[<H?OOC/5WYOJ[SY?#V2'?L?[.7']7SJ[.(=^Q_LY<?P?FD.]8?V>N +MOP-SR'>LOS/7W^6Y+W4.^8[U=^;ZNR]YKG*'?,?Z.W/]W9?$W9?*'?(=Z^_, +M]7=?$G=?*G?(=ZR_,]???;D<S@[YCO5WYOJ[<G9U#OF.]7?F^CLPAWS'^CMS +M_=UQ#MU_9ZR_,]??Y;GK.H=\Q_H[<_W==9XKW*'[[XSU=^;ZN^O$W77A#MU_ +M9ZR_,]??72?NK@MWZ/X[8_V=N?[N^G(X.^0[UM^9Z^_*V=4YY#O6WYGK[\`< +M\AWK[\SU=V`.^8[U=^;ZNSQW4^>0[UA_9ZZ_N\ESE3OD.];?F>OO;A)W-Y4[ +MY#O6WYGK[VX2=S>5.^0[UM^9Z^]N+H>S0[YC_9VY_JZ<79U#OF/]G;G^#LPA +MW['^SEQ_=YAKSO@IS%V3?^#F;NL<\%W#^KO&]7>W>>Y4YH#OOCV%N6M<?W>; +MN+N]+7/`=PWK[QK7W]TF[FY_*W/`=PWK[QK7W]U>#F>'_KSM<N+T%[Z^=]^^ +M/KKZ,=BB:XBB08&#=W,_/F8_4KBI39Q\^^F=C-+SB]3?%.^_OIL[5J[OSZ$_ +MYOD/O5WT)S/_9+!M3]-T&/Q7?GWHYJ`_\OJZ'_]3JM'3>0)_Y[_P]2_O'_Z5 +M!_L?G]VV/S7MJ>U.@_[J*_S/7_\-OKX]^NS^?V_X;@Y\=A_.Y1=<?CL[S-W< +MF_O^V=WO_9-GN??4?>[N__C>W/7[>[_?]NBS6^>^^VI#OT#?[)_\V>T/]T/> +M_SK_N$+93N?\GU/<O:3EZWNJKP_U^`_>[D]>W^GX=G_\^T#_\)^7>W,:O-W3 +MP[FYF`5\"8/3NSZ^.O3GT?^1+\;AEL-?_.1^'WGXR;V;TS]7!,,/LWS_76P" +A?^>_\/4?[Q_^=3?8I,$_[02;;_2=SX_^!PM'3SM0J``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow2.gz.uu new file mode 100644 index 0000000..304b694 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-ebr.qcow2.gz +M'XL("%[N+50``VEM9RTV,W@R-34M-#`Y-BUE8G(N<6-O=S(N;W5T`*V8VY+3 +M,`R&[_<IS!D6*+'DI`F'%A:6&>[@`KA.3T_1X=FI:R5V%"G>=M)V,NVX_S=R +M_%E-6A3A84QIC:N,:\QA8TZ?Z04F^3!\F>.O[S\6Z>-X$V"V4%+"P'+?XP:L +M?Q$'&JZPXP$KXY+J4,!!EQJ#<CBG5C<U(.!N;\ZG[KP8-4O@-<"`4Q?CJOH@ +MU,<3[LKZ8.[Z4#Y_99?C`]5T?1CJXZFEAJNS.!!2C89KLS@44AL-M\WBG)#: +M:3AEYR:X4D@=%)S-J'+"54+*:CC(XI9""C6<R^)J(:5Y9_/>-4)*\\[FO6N% +ME.:=S7NW$5*:=S;OW59(:=[9O'<[(:5Y!XIW)N+V0DKS#IAWCPCW..(.0DKS +M#IAW3PCWM,=9*:5Y!\R[9X1['G%"OP/-.V#>O2#<RX@3^AUHW@'S[A7A;B-. +MZ'>@>0?,N]>$>Q-Q0K\#S3M@WKT=>6>%?@>:=\B\>T>L(N*$?H>:=\B\LX2# +MB!/Z'6K>(?,."><B3NAWJ'F'S+N2<%7$"?T.->^0>;<D7!UQ0K]#S3MDWC6$ +M>Q]Q0K]#S3MDWGT@W,>($_H=:MXA\^X3X581)_0[U+QSS+LUX3Y'G-#OG.:= +M8]Y](=Q=Q`G]SFG>.>;=5\)]ZW$@I7KOBD)^$>Y^M&=AWNM/%Z^/K7#4!R:` +M]27`J0H#KIEUPF78&Q<"Y0D'G-\;83)MV9ELR6?*;VW<%6E]ZV#S*L7MYI[N +MX3)@69JV'0%_=_7!9!F7U[?<^V&_*UOAJ`\<[Q;#9P>LP[\#2[_)RLK4\-`* +M_][_$=:WGN^&+^#T?P=HH"NX[X@CW#K!^0N,0_+-=%L-O$O?)[C5(G;F$V[R +MWP%_R[.7!M3)EO/*4O>]I;<U66=_I>UOB+H?6W:EW*^OB?4)O04&TYVHSXRG +MZW_$^YMMMAX>!YGIFB%NTW<680DS9V\UKFX[\V)8OC,>N',]9+AS`P[F;03- +DN;.<##Q]:WS4!XX_%\-G`#H"SG8&7>5_>V_^`UMI__/2%``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-ebr.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-ebr.raw.gz.uu new file mode 100644 index 0000000..024a0b2 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-ebr.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-ebr.raw.gz +M'XL("%[N+50``VEM9RTV,W@R-34M-#`Y-BUE8G(N<F%W+F]U=`"ME,T.@R`, +MQ^\^1<\[&$"9[*+)DMUWV79&IT_APZ\5=2#XE4"%2`J__$L+C)D&@#WXK3OZ +M=-'ZY)(,-%Z?!_(@T.`:VL5IF98T9AU-:9QQ#<[;@+X*#5MIX[ZQP^W.`:4$ +MK3W@:](G(J>C:,F="V`Z,*X[^GOJV@140\'(`G()\@I*'%7X>;P#^56,QPK8 +MX,0>;A)L*BB$JRQ<AL[.6FDJ<=QEUYW];^%*TR=<OJ4.3X*U(<=JL#)NL2@T +M=Y^=9^`M\`R8&GW"!<[YA;^^FR]#..%NZ`,_7$VXPEW/+9S8"1=<7#V_+($4 +M[IQ>Z:MK(B>#+V_&P9M+$/?F&IR(^Q#<AI<%*Q!7^>.ZHW^FKAE@/@*CG2"] +,?(PE/\L2J-?E!@`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhd.gz.uu new file mode 100644 index 0000000..4a2ad29 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-ebr.vhd.gz +M'XL("%_N+50``VEM9RTV,W@R-34M-#`Y-BUE8G(N=FAD+F]U=`"METUOXR`0 +MAN_Y%2/UUH.%QX#=2R)5S9Y7JMJ>L6M7/>R'FCWDX!^_C(%D\%>:EI@@K&$> +MWH$!"R'<#T`7H#O0+6A%[5*"OH.R`K!&7W"H<_\*??/G=]O\>S]F_M=O'"P7 +MW"MV)W\L0-I!2D!#@^A7:D,?,-G-_NWV_==;P*''A8&E!HF@+$1.QJG$21V1 +M?MP_/HS5%5-U9R\W3M=!T;$>!5>793N.D];+]J>BH9.#S%"BE\C`<9$Z)49> +M3.;<I+)@YW!ZS>L:W.W&KX5+%9L8I:T%Z!Q*I+9-FS`/DV)3Y7CX:SX.[4@? +M+J2*9HLQMLGE<-&G"H;.7H$D@6OAPD`YC'$SJ?*MV=.QG_0-.PE"!0,.X<>S +M=T8!UZ=SL3+GRXNQJ,^LQO6%@.OZ>N#*[J@;OSL$&$4U[=+<[U7OW]CW=D;? +MSFW;+<>]I@ZWNPZH%!@S`3X%?4WBY:@J,MNS4YB9>MG0WV?Q<P(.":-*.LZ5 +MA@H_J_!E_SRSOI59.`ZN#]CA\!(N".:G?8S;,5SAMAM/U;,7SSO>9KBM^P>< +M7%-'9T([9U@,5B5.%E.-_/@Z0]Y"7H"HO`UCX&E]X:SO;BH#HW!7],$T7$.X +M,NZ?,QQ>"!=B7'TZ66:6\,+L;:?JFL2+48]WQB=W+D'BG>MPF/8@,,/)8C/0 +M]IK6RX;^9Q8_#HC^4Y3LVX;^,$VF4'I@,H46V"96:-)^/[17F.BB0+B$%P7" +D);PH$"[A18%P"2\*A$MX42!<THN"ME=`(3;_`?39ZI==#@`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhdf.gz.uu new file mode 100644 index 0000000..c48c7d2 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-ebr.vhdf.gz +M'XL("%_N+50``VEM9RTV,W@R-34M-#`Y-BUE8G(N=FAD9BYO=70`K94[;\,@ +M$(#W_(J3NF6(``,F2R)%3>=*5=O9<7&4H>W2H8-_?#EC',[&>508C$`'G^_% +MF3'_`+@WV><%[6KTM(OEHJ/QP_U`G@1Z7(VG.&ZK%(Y%@TL<!USMUC:AW]8U +M]VQBW$=N<YO[@$I!54V`KT$_D3D<I46Q%,"JQ#@O:'<KV@+0=`FC2I`*E`8C +M;M7P??^6B*]A/)?!'B>NX8+"/H-2N&V$*YRPB7;Z3.Q/Q7D7SR/<QK\!)R]I +MYSS!;$HP:ZS*FRS&-7HNCC-P"[P`9GJ9H,`AOG#6;SU50Q!S+^@'4W,KQ)5T +M/X]PXHJY0'&'H;(D0GC%>YNI=G7F8/#QS;CQYB*$WER/$WD+P;JK+"X#W:[I +M."]HGU>T>:#L@=D\:/I_FRY`-Z`M:(7S4H)>0VEBH*"9U-;?7[;^.?W&$48< +M]\4@V?&\*/"VZ!)$A1_1'SB/]'O8'Y>GSV/`A5(5/BPU.ETYB)R8:ZBY3[N7 +MQ[%VQ=1)AGB/HYYQV7.&$^]M8YP<C+6V*X'\W,F"")*E"G&*C4[]-[8>IS.G +.BOOO+OX`/$*Q[A`)```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-ebr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-ebr.vmdk.gz.uu new file mode 100644 index 0000000..3ad6aa6 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-ebr.vmdk.gz.uu @@ -0,0 +1,84 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-ebr.vmdk.gz +M'XL("%_N+50``VEM9RTV,W@R-34M-#`Y-BUE8G(N=FUD:RYO=70`K5S1;N3& +M$7SW5PSDMSPL6,LEN7PX.W'.`8(@@!$[]FO(Y3`68M\==$*0`_3QX9!3HR)% +M'FFK=:L#^]A=V]U#M735!679].'<I767B[MTKBA=!C?\T_1R6?YL#*]+NO'T +MM[=___'$CS^>3D]?3&`(41*"3.'$F+W/TVGQ0;CSYZ)F-X;7>1<N#U'MB\`( +M=]ZXL0DW],.=UT*873/>[L*%P+D$Y&9PQ4I-F\5^+KL_?!&;%_++0P[#\9:U +MJW)7MM%T93':N:O.X[W,58-3/P!^Z=[>?_R/>^L_WA[N/SR^C_F=P]D.SI<R +M^)>W@#`45I7A(MP(<'6`*+W+.Y<CW'9/#W^Y_\6?_NL?/MZ_?_<&+/<<SO:2 +MNTL=T@G^V?-K9H0WR5R)\![NZ<]_??LF/KG9Z4/S0+@0-20RO/=0A^*6I0N? +M+U]C=O[=8T#LXT?*+IQM;$XQOO<E7!075]5N3*<(V.?A=A=+'GMW>_#-H__A +MTP?_YN[7]^]2[\+9AI;5(]!U;%3NBCQ`Q=)"^XJ`&!Z;\=3<TR_WCS_?W[X? +MROSH[TY?.L*5H7?#`5YC7E/50TBY>;)#VD_?_N]QJ-=U\63O"3<F,18QO'=Q +M=D45L(8#S(?>Y;G+KRX?X8>$ATHN"$[NZ?V[TS]^<BCSZ\5]_]V?_D&XZP`W +M>`X)#B%#0;.:BJG^8OE8NJ?OOW5WH<@??O;C$TBX>OHR"\[3.6`TS^$B=FV" +M#T/L$FZ,)^O>-H^-^Z;YZ$]?OGW[33K9)A1[&5]#:CZ@E!-T>+['=@Z-FTYZ +M.NCQ*+JN/35=\^'1/X3C34?1AJ>UBY6&8[T\'^/\?:KQI/KPQ+BG-^[NOAO. +M-,#^V[__E7"WZ3$>\@B/1#T&YN%B>'I&>!_?87IBPC$%./_X\.ET^_3+_;MN +M^$)S;PC73;T;TAE.<THJY;1,*KWMT+L[/*<V8!/.AQ9-25WC%\:`->7QW(5\ +M>!7A%;OP].GTLV^Z(2UW=RZ*NW04_?(HM$6++DP'/?1B.HJ8V*?31W^+<'D6 +M#["?-6?**3S*PY,\930?H(_O'\;4ROQ.YW&^_%[VVGE\>?$MM?J=@!.<=7YE +MMO?]C*]\!N@$+'O.KPSY7<2ST*A2C&H&-_PT<?IN^/S7\/E!X,(C=A7/6J,: +M,=HCW2O#]XN;>'8:Y<7H#\%=8HOX`PKD>FPJC5QO)#BWZ%T1>T?/0J-*,:H9 +MW%;ORM@[>M8:U8C1KF:W++:*O:-GIU%>C/X0W#7VCC^`0:['WM'(L[6?\I:] +MJV/OZ%EH5"E&-8/;ZET3>T?/6J,:,=K5[);%MK%W].PTRHO1'X*[Q=YQK$"N +MQ][1R/7&9N^ZV#MZ%AI5BE'-X+9ZYV/OZ%EK5"-&NYK=LM@^]HZ>G49Y,?HC +M<%46>W>1WO%Z[!V-7&]L]:[BO*-GH5&E&-4,;J-W%><=/6N-:L1H5[-;%LMY +M1\].H[P8_2$XSKM">L?KL7<T<KVQV3O..WH6&E6*4<W@MGK'>4?/6J,:,=K5 +M[);%<M[1L],H+T9_"([SKI3>\7KL'8U<;VSVCO..GH5&E6)4,[BMWG'>T;/6 +MJ$:,=C6[9;&<=_3L-,J+T1^"X[SCCTZ0Z[%W-'*]L=D[SCMZ%AI5BE'-X+9Z +MQWE'SUJC&C':U>R6Q7+>T;/3*"]&?P3NFL7>7:5WO!Y[1R/7&UN]NW+>T;/0 +MJ%*,:@:WT;LKYQT]:XUJQ&A7LUL6RWE'STZCO!C](3C.NUIZQ^NQ=S1RO;'9 +M.\X[>A8:58I1S>"V>L=Y1\]:HQHQVM7LEL5RWM&STR@O1G\(CO..__&"7(^] +MHY'KC<W><=[1L]"H4HQJ!K?5.\X[>M8:U8C1KF:W+);SCIZ=1GDQ^D-PG'=D +M+2'78^]HY'ICLW><=_0L-*H4HYK!;?6.\XZ>M48U8K2KV2V+Y;RC9Z=17HS^ +M"%R=Q=[=I'>\'GM'(]<;6[VK.>_H66A4*48U@]OH7<UY1\]:HQHQVM7LEL5R +MWM&STR@O1G\(CO.ND][QFJQVZEWW`F[9.\X[>A8:58I1S>"V>L=Y1\]:HQHQ +MVM7LEL5RWM&STR@O1G\(CO/.2^]X/?:.1JXW-GO'>4?/0J-*,:H9W%;O.._H +M66M4(T:[FMVR6,X[>G8:Y<7H#\%QWO72.UZ/O:.1ZXW-WG'>T;/0J%*,:@:W +MU3O..WK6&M6(T:YFMRR6\XZ>G49Y,?HC<$TV]2[MW"#7H7?)R/7&5N^:..^2 +M9Z%1I1C5#&ZC=TV<=\FSUJA&C'8UNV6Q<=XESTZCO!C](;@X[R#\'92_@_!W +MV.7OFCCO(/P=E+^#\'?8Y>^:..\@_!V4OX/P=RO9+8N-\P["WT'Y.PA_=P`N +MSCL(?P?E[R#\'7;YNR;..PA_!^7O(/P==OF[)LX["'\'Y>\@_-U*=LMBX[R# +M\'=0_@["WQV`B_,.PM]!^3L(?X==_JZ)\P["WT'Y.PA_AUW^KHGS#L+?0?D[ +M"'^WDMVRV#CO(/P=E+^#\'?[<&T6>R?\'92_@_!WV.7O6LX[X>^@_!V$O\,N +M?]=RW@E_!^7O(/S=2G;+8CGOA+^#\G<0_NX`'.>=\'=0_@["WV&7OVLY[X2_ +M@_)W$/X.N_Q=RWDG_!V4OX/P=RO9+8OEO!/^#LK?0?B[`W"<=\+?0?D["'^' +M7?ZNY;P3_@[*WT'X.^SR=RWGG?!W4/X.PM^M9+<LEO-.^#LH?P?A[P[`<=X) +M?P?E[R#\'7;YNY;S3O@[*'\'X>^PR]^UG'?"WT'Y.PA_MY+=LEC..^'OH/P= +MA+_;A[MEL7?"WT'Y.PA_AUW^[L9Y)_P=E+^#\'?8Y>]NG'?"WT'Y.PA_MY+= +MLEC..^'OH/P=A+\[`,=Y)_P=E+^#\'?8Y>]NG'?"WT'Y.PA_AUW^[L9Y)_P= +ME+^#\'<KV2V+Y;P3_@[*WT'XNP-PG'?"WT'Y.PA_AUW^[L9Y)_P=E+^#\'?8 +MY>]NG'?"WT'Y.PA_MY+=LEC..^'OH/P=A+\[`,=Y)_P=E+^#\'?8Y>]NG'?" +MWT'Y.PA_AUW^[L9Y)_P=E+^#\'<KV2V+Y;P3_@[*WT'XNWVX+HN]$_X.RM]! +M^#OL\G<=YYWP=U#^#L+?89>_ZSCOA+^#\G<0_FXENV6QG'?"WT'Y.PA_=P". +M\T[X.RA_!^'OL,O?=9QWPM]!^3L(?X==_J[CO!/^#LK?0?B[E>R6Q7+>"7\' +MY>\@_-T!.,X[X>^@_!V$O\,N?]=QW@E_!^7O(/P==OF[CO-.^#LH?P?A[U:R +M6Q;+>2?\'92_@_!W!^`X[X2_@_)W$/X.N_Q=QWDG_!V4OX/P=]CE[SK..^'O +MH/P=A+];R6Y9+.>=\'=0_@["W^W#^6SJ79+@0:Y'&2.-7&\\C4T;/MWPF;EG +MN#CO5A5]*_^4>N?6LWNAQ3\&][+826Z(46Z8-A%3N;\/<((SED/B&KN^#WA$ +M#HFT+N?K57)(I'4Y7Z^20R*MR_EZE1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F) +M'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6Y +MB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1U +MN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD +M=;F)'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%U +MN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76Y +MC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F- +M'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T< +M$FE=GCWW[O?+(9'6Y?1\E1P2:5U.SU?)(9'6Y?1\E1P2:5UN(H=$6I>;R"&1 +MUN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@A +MD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO( +M(9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>; +MR"&1UN4F<DBD=;F)'!)<E]O((<%UN8T<$MY4#@EO*H>$-Y5#PIO*(>%-Y9#P +MIG)(>%,Y)+RI'!+>5`X);RJ'A#>50\*;RB'A3>60\*9R2/199BB'1&\JAT1O +M*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\J +MAT1O*H=$;RJ'/&=99BB'/&>F<LCSRU]-?`SN9;&3W/""]K<#8K-[%XQ/WDA6 +M->-_X?(^F'DO<+?!]BOY?3W\&3Z^4KC.NMS^MP$6A6N:%X#_9'[GSZ;QV_.K +MQO]=3+]*]N7?VS>>OCG-_Q#P.C[.115^*VY1NNOY:(8_??OC(L,)SDSN.L'M +M/LZ)M.RWX+X6N/#MNQ?/V2_NUN=.KP7NJ^F3<)?/9:?[I&/%&O^F[6MV7<3I +M.8=O$X&]XW_*SG/`=+[N.;_Z91KG6;F?R<^]+#=\B]3?-:OG,9NJ&^6Z.5R; +M)LO*$>YT[ZN7V=V,#P/+KXR#7[D!9/Z5.\&=;0=!/4Z62:3Q\N_M&T_?G>9_ +7)L!+!#3KX"7\'I'LB_\#:C6@$!Y@```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu new file mode 100644 index 0000000..624c326 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu @@ -0,0 +1,132 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-gpt.qcow.gz +M'XL(",8S(E0``VEM9RTV,W@R-34M-#`Y-BUG<'0N<6-O=RYO=70`K9W;;AS7 +MM47?_16ENT1)5*^UJJJK=$^`!,B;$YSS=@Z0NCX&G7=]?-CDOI"KY]2*(=J$ +M(4.HB>ZMP4'9'MX\'.[^:)I.FK9OVK'9Y^;F[].'-/?^YN%'\^/O?_W;]?T_ +M?OQV-R:'GSSE_K[51M/<@ZT_-V5.ST\MS6'\+^9N/@3-W7MU]@=>W;TW>SEW +M]=O=F\7/*1NT!X--FCNDUR?D]-K_[O5]=V]7[D[O\=ZNDK?;L<'^P>#O:>Z? +MZ?4I>;M'-C<\F#NYMZOD[8YL;OHI+$I@F=G<$LRU\*F5S6W!7`>?VO&<_.37 +M]FZNAT\)FX.?M]=-F3O"IXS-M0_F#M<9Z#PWP*<(=Q)R-\*G"'<2<C?!IPAW +M$G(WPZ<(=Q)RM\"G"'<2<K?"IPAW&G*WP:<(=^3KQ3WN=O@4X4XC[@0_1;C3 +MB#M!OE/&G4;<"?*=,NXTXDZ0[Y1QIQ%W@GRGC#N-N!/D.V7<6<2=(-\9X\XB +M[@3YSAAW%G*'?&>,.PNY0[XSQIV%W"'?&>/.0NZ0[XQQ9R%WR'?&N+.0.^0[ +M8]RU(7?(=RWCK@VY0[YK&7=MQ)WBIPAW;<2=(M^UC+LVXDZ1[UK&71MQI\AW +M+>.NC;A3Y+N6<==&W"GR7<NXZR+N%/FN8]QU$7>*?-<Q[KJ0.^2[CG'7A=PA +MWW6,NR[D#OFN8]QU(7?(=QWCK@NY0[[K&'==R!WR7<>XZT/ND.]ZQET?<H=\ +MUS/N^H@[PT\1[OJ(.T.^ZQEW?<2=(=_UC+L^XLZ0[WK&71]Q9\AW/>.NC[@S +MY+N><7>,N#/DNR/C[AAQ9\AW1\;=,>0.^>[(N#N&W"'?'1EWQY`[Y+LCX^X8 +M<H=\=V3<'4/ND.^.C+MCR!WRW9%Q-X3<(=\-C+LAY`[Y;F#<#1%W+7Z*<#=$ +MW+7(=P/C;HBX:Y'O!L;=$''7(M\-C+LAXJY%OAL8=T/$78M\-S#N\K_^YG/( +M=R/C;HRX:Y'O1L;=&'*'?#<R[L:0.^2[D7$WAMPAWXV,NS'D#OEN9-R-(7?( +M=R/C;@RY0[X;&7=3R!WRW<2XFT+ND.\FQMT4<=?AIPAW4\1=AWPW,>ZFB+L. +M^6YBW$T1=QWRW<2XFR+N.N2[B7$W1=QUR'<3XR[_9T@^AWPW,^[FB+L.^6YF +MW,TA=\AW,^-N#KE#OIL9=W/('?+=S+B;0^Z0[V;&W1QRAWPW,^[FD#ODNYEQ +MMX3<(=\MC+LEY`[Y;F'<+1%W/7Z*<+=$W/7(=POC;HFXZY'O%L;=$G'7(]\M +MC+LEXJY'OEL8=TO$78]\MS#NUHB['OEN9=RM$7<]\MW*N%M#[I#O5L;=&G*' +M?+<R[M:0.^2[E7&WAMPAWZV,NS7D#OEN9=RM(7?(=ROC;@NY0[[;&'=;R!WR +MW<:XVR+NCO@IPMT6<7=$OML8=UO$W1'Y;F/<;1%W1^2[C7&W1=P=D>\VQMT6 +M<7=$OML8=WO$W1'Y;F?<[1%W1^2[G7&WA]PAW^V,NSWD#OEN9]SM(7?(=SOC +M;@^Y0[[;&7=[R!WRW<ZXVT/ND.]VPIWD'_`YX#LY$.[D$'('?"<'PIT<(NX& +M_!3F3L+^;@"^$];?2=C?#<!WPOH["?N[`?A.6'\G87\W`-\)Z^\D[.\&X#MA +M_9V$_=T`?">LOY.POQN`[X3U=Q+V=P/PG;#^3L+^;@"^$];?2=C?#<!WPOH[ +M"?N[`?A.6'\G87\W`-\)Z^\D[.\&X#MA_9V$_=V`?,?Z.PG[NP'YCO5W$O9W +M(WZ*<!?V=R/R'>OO).SO1N0[UM])V-^-R'>LOY.POQN1[UA_)V%_-R+?L?Y. +MPOYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6WTG8WXW( +M=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N["3]%N`O[ +MNPGYCO5W$O9W$_(=Z^\D[.\FY#O6WTG8WTW(=ZR_D["_FY#O6'\G87\W(=^Q +M_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK[R3L[R;D.];?2=C? +M3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=C)\BW(7]W8Q\Q_H[ +M"?N[&?F.]7<2]G<S\AWK[R3L[V;D.];?2=C?S<AWK+^3L+^;D>]8?R=A?S<C +MW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R'>OO).SO9N0[UM]) +MV-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYNP4\1[L+^;D&^8_V=A/W=@GS' +M^CL)^[L%^8[U=Q+V=POR'>OO).SO%N0[UM])V-\MR'>LOY.POUN0[UA_)V%_ +MMR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D[.\6Y#O6 +MWTG8WRW(=ZR_D["_6Y#O6'\G87^WXJ<(=V%_MR+?L?Y.POYN1;YC_9V$_=V* +M?,?Z.PG[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O6'\G +M87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2]G<K\AWK[R3L[U;D +M.];?2=C?K<AWK+^3L+_;\%.$N["_VY#O6'\G87^W(=^Q_D["_FY#OF/]G83] +MW89\Q_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C?;<AWK+^3L+_;D.]8 +M?R=A?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR'>OO).SO +M-N0[UM])V-_M^"G"7=C?[<AWK+^3L+_;D>]8?R=A?[<CW['^3L+^;D>^8_V= +MA/W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM])V-_MR'>LOY.PO]N1 +M[UA_)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.\T_<'--G0.^NWD*<Z>NO\OW +MZ365.^`[9?V=NOZN2=PUF3L[X*<P=^KZNR9QU_RSS`'?*>OOU/5WS<F=G:'[ +M[Y3U=^KZNW)V=0[X3EE_IZZ_`W/`=\KZ.W7]'9@#OE/6WZGK[_+<DSH'?*>L +MOU/7WSW)<TV9`[Y3UM^IZ^^>).Z>5.Z`[Y3U=^KZNR>)NR>5.^`[9?V=NO[N +MR>GB[(#OE/5WZOJ[<G9U#OA.67^GKK\#<\!WROH[=?T=F`.^4];?J>OO\MS3 +M.H=\Q_H[=?W=TSQ7N4.^8_V=NO[N:>+N:>$.W7^GK+]3U]\]3=P]+=RA^^^4 +M]7?J^KNG)W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8?Z>N +MO\MSS^H<\AWK[]3U=\_R7.$.W7^GK+]3U]\]2]P]J]PAW['^3EU_]RQQ]ZQR +MAWS'^CMU_=VST\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_ +M4]??Y;GG=0[YCO5WZOJ[YWFN<H=\Q_H[=?W=\\3=\\(=NO].67^GKK][GKA[ +M7KA#]]\IZ^_4]7?/3_[LT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC_9VZ_@[, +M(=^Q_DY=?Y?G7M0YY#O6WZGK[U[DN<(=NO].67^GKK][D;A[4;E#OF/]G;K^ +M[D7B[D7E#OF.]7?J^KL7IXNS0[YC_9VZ_JZ<79U#OF/]G;K^#LPAW['^3EU_ +M!^:0[UA_IZZ_RW,OZQSR'>OOU/5W+_-<Y0[YCO5WZOJ[EXF[EX4[=/^=LOY. +M77_W,G'WLG"'[K]3UM^IZ^]>GOS9H?OOE/5WZOJ[<G9U#OF.]7?J^CLPAWS' +M^CMU_1V80[YC_9VZ_B[/O:ISR'>LOU/7W[W*<X4[=/^=LOY.77_W*G'WJG*' +M?,?Z.W7]W:O$W:O*'?(=Z^_4]7>O3A=GAWS'^CMU_5TYNSJ'?,?Z.W7]'9A# +MOF/]G;K^#LPAW['^3EU_E^=>USGD.];?J>OO7N>YRAWR'>OOU/5WKQ-WKPMW +MZ/X[9?V=NO[N=>+N=>$.W7^GK+]3U]^]/OFS0_??*>OOU/5WY>SJ'/(=Z^_4 +M]7=@#OF.]7?J^CLPAWS'^CMU_5V>>U/GD.]8?Z>NOWN3YPIWZ/X[9?V=NO[N +M3>+N3>4.^8[U=^KZNS>)NS>5.^0[UM^IZ^_>G"[.#OF.]7?J^KMR=G4.^8[U +M=^KZ.S"'?,?Z.W7]'9A#OF/]G;K^+L]=U3GD.];?J>OOKO)<Y0[YCO5WZOJ[ +MJ\3=5>$.W7^GK+]3U]]=)>ZN"G?H_CME_9VZ_N[JY,\.W7^GK+]3U]^5LZMS +MR'>LOU/7WX$YY#O6WZGK[\`<\AWK[]3U=WGN;9U#OF/]G;K^[FV>*]RA^^^4 +M]7?J^KNWB;NWE3OD.];?J>OOWB;NWE;ND.]8?Z>NOWM[NC@[Y#O6WZGK[\K9 +MU3GD.];?J>OOP!SR'>OOU/5W8`[YCO5WZOJ[//>NSB'?L?Y.77_W+L]5[I#O +M6'^GKK][E[A[5[A#]]\IZ^_4]7?O$G?O"G?H_CME_9VZ_N[=R9\=NO].67^G +MKK\K9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+<^SJ'?,?Z.W7]W?L\ +M5[A#]]\IZ^_4]7?O$W?O*W?(=ZR_4]??O4_<O:_<(=^Q_DY=?_?^='%VR'>L +MOU/7WY6SJW/(=ZR_4]??@3GD.];?J>OOP!SR'>OOU/5W>>ZZSB'?L?Y.H_[. +MT/UWROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.XWZ +M.T/WWRGK[S3J[PS=?Z>LOU/2WWVH<\AWK+]3U]]]R'.%.W3_G;+^3EU_]R%Q +M]Z%RAWS'^CMU_=V'Q-V'RAWR'>OOU/5W'TX79X=\Q_H[=?U=.;LZAWS'^CMU +M_1V80[YC_9VZ_@[,(=^Q_L[R#]S<H<X!WQGK[VY^X@%WV4^'RAWPG;'^SEQ_ +M=TA[A\(=NO_.6']GKK\[).X.A3MT_YVQ_LY<?W<X^;-#]]\9Z^_,]7?E[.H< +M\)VQ_LY<?P?F@.^,]7?F^CLP!WQGK+\SU]_E.:ESP'?&^CMS_9WDN<(=NO_. +M6']GKK^3]/*D<@=\9ZR_,]??2>).*G?`=\;Z.W/]G9PNS@[XSEA_9ZZ_*V=7 +MYX#OC/5WYOH[,`=\9ZR_,]??@3G@.V/]G;G^+L]IG4.^8_V=N?Y.\USE#OF. +M]7?F^CM-W&GA#MU_9ZR_,]??:>)."W?H_CMC_9VY_DY/_NS0_7?&^CMS_5TY +MNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>LSB'?L?[.7']G>:YPA^Z_ +M,];?F>OO+'%GE3OD.];?F>OO+'%GE3OD.];?F>OO['1Q=LAWK+\SU]^5LZMS +MR'>LOS/7WX$YY#O6WYGK[\`<\AWK[\SU=WFNK7/(=ZR_,]??M7FN<H=\Q_H[ +M<_U=F[AK"W?H_CMC_9VY_JY-W+6%.W3_G;'^SEQ_UY[\V:'[[XSU=^;ZNW)V +M=0[YCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSW5U#OF.]7?F^KLNSQ7NT/UW +MQOH[<_U=E[CK*G?(=ZR_,]??=8F[KG*'?,?Z.W/]77>Z.#OD.];?F>OORMG5 +M.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\U]<YY#O6WYGK[_H\5[E#OF/] +MG;G^KD_<]84[=/^=L?[.7'_7)^[ZPAVZ_\Y8?V>NO^M/_NS0_7?&^CMS_5TY +MNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>.=0[YCO5WYOJ[8YXKW*'[ +M[XSU=^;ZNV/B[EBY0[YC_9VY_NZ8N#M6[I#O6']GKK\[GB[.#OF.]7?F^KMR +M=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L\-=0[YCO5WYOJ[(<]5[I#O +M6']GKK\;$G=#X0[=?V>LOS/7WPV)NZ%PA^Z_,];?F>OOAI,_.W3_G;'^SEQ_ +M5\ZNSB'?L?[.7'\'YI#O6']GKK\#<\AWK+\SU]_EN;'.(=^Q_LY<?S?FN<(= +MNO_.6']GKK\;$W=CY0[YCO5WYOJ[,7$W5NZ0[UA_9ZZ_&T\79X=\Q_H[<_U= +M.;LZAWS'^CMS_1V80[YC_9VY_@[,(=^Q_LY<?Y?G/M8YY#O6WYGK[S[FN<H= +M\AWK[\SU=Q\3=Q\+=^C^.V/]G;G^[F/B[F/A#MU_9ZR_,]???3SYLT/WWQGK +M[\SU=^7LZASR'>OOS/5W8`[YCO5WYOH[,(=\Q_H[<_U=GOM4YY#O6']GKK_[ +ME.<*=^C^.V/]G;G^[E/B[E/E#OF.]7?F^KM/B;M/E3OD.];?F>OO/ITNS@[Y +MCO5WYOJ[<G9U#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:YSR'>LOS/7 +MWWW.<Y4[Y#O6WYGK[SXG[CX7[M#]=\;Z.W/]W>?$W>?"';K_SEA_9ZZ_^WSR +M9X?NOS/6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[//>ESB'? +ML?[.7'_W)<\5[M#]=\;Z.W/]W9?$W9?*'?(=Z^_,]7=?$G=?*G?(=ZR_,]?? +M?3E=G!WR'>OOS/5WY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^UKG +MD.]8?V>NO_N:YRIWR'>LOS/7WWU-W'TMW*'[[XSU=^;ZNZ^)NZ^%.W3_G;'^ +MSEQ_]_7DSP[=?V>LOS/7WY6SJW/(=ZR_,]??@3GD.];?F>OOP!SR'>OOS/5W +M>>Y;G4.^8_V=N?[N6YXKW*'[[XSU=^;ZNV^)NV^5.^0[UM^9Z^^^)>Z^5>Z0 +M[UA_9ZZ_^W:Z.#OD.];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7=M +M_H&;^U[G@.]:UM^UKK_[GN<J=\!W-T]A[EK7WWU/W'W/W+4'_!3YOL?NS7[/ +MO?%UF4/?;[L\%<S=^^/';U=W@^B^*CK8^N^/FT\O?UZTZ+ZJ7WE]W>WYM=H< +M)O!7_A,__GS]\,\R>'MWT!\8S*_PX5S^!>GN[@ZZC::V&W?NZ>,@]][P^9L> +M"W_#3Z[OS:'OS?PKYX>N^_G98-<UTW0Q^+_Y]=U>]]-V3=LW[9@N<FREZ;3I +MVC)W^UZ[Y?[K^\M?_];\_J=__,]Y[/_JV[V][F>^>?[FMW#6;.Z0#D+?[O_[ +MMWLW=_OE>_>GG>>,SCW!<[=?OM>?S*$//M?^[*F#TE=W\6M[-]<='CXUW'_J +M_-L,:_:IF58R]]7-H6\?_RODW=X<,/?-\>8?6F]^@R?-LI]_L/;G;[[;##>? +M)G?_:49O_U^FL3G*^?^RNQG\\:^_7__K;NS]];_?IM=W=W.`X`_^$^ST[FX. +M&-C;S?]YD;_=YN$<^)W>KYW>^?<K<_=HIS<F6-`'_PEZ>M/=Z>%#.I\>_)3Y +M<?\:T?MSX/<KOW)Z_>U7C?/7V`G\E?_$C]^O'_YY-]BFP4=[A3>#RR-^=ISG +M'O&SXSSWB)\=Y[E'_>PX#S[B9\=Y[A$_.\YSC_C9<9Y[U,^.F\';?^?X2%_$ +MSW-R]V5R7YM!F\W<ZV-?CNOK>_AV[_Z=(_O2_Y,OXO@78WO$+^+GN9]_$=_^ +;Z)M]Q"_BY[E'_2+>'HXWWOOM/_VP*B?UK``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu new file mode 100644 index 0000000..b082a2d --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu @@ -0,0 +1,26 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-gpt.qcow2.gz +M'XL("+X[(U0``VEM9RTV,W@R-34M-#`Y-BUG<'0N<6-O=S(N;W5T`*V92V_4 +M,!"`[_T5+F]:6.)7DN51:$LK]=8BN'')\UB)*PK\=N+8B9/)3-PNWK6BKJSY +M9#O?C)TT2>R',<V92IG:L[9D_6_7!)O]6#;6W5W?[.:?[LC">$)$(1U*3K@% +MZ]+C!(5+^+J#X[C9Z"2"$V/4&A3"*7)T6QT([N1H6+KA9N0@0AX"M#CR9APT +M/F''!R/4@>,3L<<G\?738QSL2+?')^WX8%1&X?(@3B!1>PI7!'$2B2HI7!7$ +M*22JIG!-$*>1J);`\8`J/2Y%HCB%$T%<AD1)"J>"N!R)HKSC8>_V2!3E'0][ +M5R!1E'<\[%V)1%'>\;!W%1)%><?#WM5(%.6=(+QC'M<@491W`GAW['!//*Y% +MHBCO!/#NJ<,]FW`<BZ*\$\"[YP[WPN.0>B<H[P3P[J7#O?(XI-X)RCL!O'OM +M<"<>A]0[07DG@'>G#O?&XY!Z)RCO!/#N[<H[CM0[07DG@7?O'"OQ.*3>2<H[ +M";SC#B<\#JEWDO).`N^DPRF/0^J=I+R3P#OM<*G'(?5.4MY)X%WF<+G'(?5. +M4MY)X-W>X=Y['%+O).6=!-Y]<+B/'H?4.TEY)X%WGQSNS..0>B<I[Q3P[K/# +M??$XI-XIRCL%O#MWN`N/0^J=HKQ3P+M+A_LZX006-7F7)'ASN*M5S@JDWJGT +M@;CK-8Y^6#GD.*O\<9LC5[IC`Y@_'DCNM<J>4^)-6-L)&ZL*Y$IW=!>[Y7<" +M#KG[".`XPB7.35C;W+4/C$W#VM8UNU(N.)\=$)`)'^]FN#KR^@WI]@B@UJPH +M5L`?X_B&=.OSR[X;Z.W60S'0@FDUX8:YZFH^OJOK&W9[_NV[@?WTTQW2+2M8 +MQ5F1LP*.CE/3_8W9IVVZ92U<[1$G*=QT+`,X<[S(Z@T<UECWA\"IK:CII<,# +M[JW%Z609-2];9ILH)6L+5M0$[@S@TLCF*=-=IBRK6-J8]TE5:_ZH4_.4QO(^ +M3>RV+88SUIYEW)S=>F!W?[>[M["WNU^G;GR*.R.P1G=0JZ>&RIQ3T\W\@P`Q +M7;;$8:^1_FOU3%TN=;35VSM9L$9WD*M7V-7#%\FL'IHRW;AJ8\*-N#+NZG'[ +M"C,Q]7M]I3NZV]WR:X'*`:.-4*5M%3$[#"YB=AA<Q.PPN*C988`1L\/@(F:' +MP47,#H.+FAT]L$GB;>(&9]PK,E8+\YRX^'_!UG;<#8^/Z^DV8FOKW]C$\9O1 +E1-S$#6YS$\\:>K+V\Q=,-N(F;G!1-W&5F>/WT3\!FKQU%1H````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu new file mode 100644 index 0000000..d413df2 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-gpt.raw.gz +M'XL("`+&'50``VEM9RTV,W@R-34M-#`Y-BUG<'0N<F%W+F]U=`"MEC]O@S`0 +MQ?=\BI>U52W;V`262JW42MW2JMW:@3]FC-2=#U\?A@2(C1KIP$)(Q_UR]_#C +M(F4X`*,AJ\@U'>B?Q?+L=W>[@:;JVX#^]ZF$%5!X8,`U/B@U/>,<NFY<4@U9 +M(5E):#7>3SAQ.?9BAFO/6=<K'9CC1,!-[7:W`:U%55T!OZ;Z]/`Z+$P.4T+[ +MYR6,@M6PYHP;>K7-O+Z7US<<GSX^"?9]:5=[:5#[_!95!K<22:IDNS_K=@-. +M4U:W5GO"94G</H[+**O=P,56&F>VLL(>^M^[#3@KEUG%/"MSJ#-T%:HV@7M< +MX7+FG6<H7.<X-,@=K$+3T4V;0RF@\#8I!HB&]B66."CHFH#]Z5V<`NQ!_-Z/ +M]1DU[HC82@=2ZIEAJQ2I=@^TMS?;Q1*7<:M7D'J63;URW"RQE0XDU:N">G&1 +M2+VH9?I)M<DA$Z[F54\-4\/[PW^_KZ_I0'\4RS,`S0ADJ]!H/S;XW$$X1G<0 +MCM$=A&-U!P$9W4$X1G<0CM$=A&-UAP<ZR3?$":?"F.Q:%!HN6]67&L>7^I;M +I.KTU^C>&>/QE.,8A3KCM(>YN;99QB!..=8@;_W]*RMT?5F[7A(@+```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu new file mode 100644 index 0000000..0dfa2d8 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-gpt.vhd.gz +M'XL("`+&'50``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FAD+F]U=`"MF#MOW#`, +M@/?[%2RZI:ACR9+L6UHT:`)T2U];A_@A!QEZ?5R&#/[Q%67Y(5MRX81W@LZ& +MS,\D15$\I6G_`5`9J!:4!B7Q.A>@CI`7`&;0-6Y[YFZAJW^==/WX\)2X3W?H +M82R=2_GB*,\S$.8E.?`27Z(:O(9NP"2OK^\O'G[>#SCN<,.+A0+!01J(6+U' +MI:-V2+JY^OK1(N\F[;*U=I-4_].VD+6S)[)!NSO;OY\;*XR4>1Y;#JF$5$S- +MN_$&)F,7OI/I0FJF9LBI,V-#.+4EM0=W<7!ST8>*"8S<],9U#'*.UR9L!C^L +MF@F5I_/O\N]9+_3CD5!1HWYL-9;%S>4N5/CPL--`8#AOF0N6\KC$!4+E1=Y3 +MOMPPN\8))G#<#;?F^]Z;4##73[%TP^?QR8CJ5Z)^9FVE9:"/#W17B?\=@56U +M#SAXT,>-!E<U^L_F$:TGB_H@F1R;;4Q(.O-?U1#/;]7N`TH)9;D"?A_TJ^UT +M2)OPCA@8)CD(!M(DORF<K>VRGNMW??,);C]\^8:P'Y.Y-89+PZ&HH3Y"6RVT +M6Z^T[=Q2\S[Z>!LT-HOB+L,X7&QMLX$+M3A.;$FYK6R'L3+UI8JY5*:ARJ`M +MH6PBN'<+''5>UCA<*<AKW,(E@]KNY8T"Q@`*LTP*"^'`C8IF8S>[<(7`[O0Y +M.?6PM\F?-TX_S5Q$A%I\(.8];?-R$3,WGQ)VQ%SP<=1Y61?H/4GFO:,+EE"+ +M#T2]5_;>"SL)O1=:NN.NEB2O?%Q%ZSUF=PVS/DS^7O?Q@>XV\;\]D+MMB&Q? +MXRZ1DFDH')!,0^'6+Z&&3&].YMY95FY2B#(,X@@S#.((,PSB2#,,`@DS#.(( +M,PSB"#,,XD@SC*(MA)0KA+("-,,_+I4?-?&2IBN2<Z_8I6>N+82BY=-&(12> +M#,I"2/VO$&IUS-B1LS"6L!!2U(60<HF4Z"Q##8706H?GG&6HH1":O?@%9QDJ +@7`@]]RP#<81G&8@C/,M`''&H,%.['/X!4B?R+P`3```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu new file mode 100644 index 0000000..820c91d --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu @@ -0,0 +1,19 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-gpt.vhdf.gz +M'XL("`/&'50``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FAD9BYO=70`K9<[;]PP +M#,?W^Q0LLJ6HHK=]2XL&38!NZ6OK$#^D($.O*-JA@S]\1<EWEGR2T0MD$X8/ +MM'[FGR9-'Z5A`Y`<:)<YEAW3+4GW:7>]\S367P9T]\<05D#B@`$W."?E>(TQ +M8.ULE/E58;$S09=SCR/+1DF$&^-5*RL[8AP)N*-<>QE0*>BZ,^"W8WS</PX% +M4H/<`W?74Y`,%`<E3SBO70UQ?'?W'^'A_>>O"/N^R.7,.4<.[0##'FR_BH[] +MO]R`<P%A]KG-BA5%W$T>)Q`W;N!R5L;)K56AABX1JVBZJHU7"0.]`-M!-Q9P +M;U<X7;GR)+I[#<T`VH!B,%@\&34P!M"Z-FD]A`-W(>ZA8<![!$Z'3^008&_( +MK]=S?)+-%9&SLJ.4/8FE0MN2W`9K>U,NI#A1.WLM9D]5R]Y^+I:<E1W%['4A +M>_DD8?9RK>MP<];(JQ37U\T>\U/#]8=[?Y\?RX[I@:1[`,H96"U"9>U0L3L0 +M5[$[$%>Q.Q!7M3L06+$[$%>Q.Q!7L3L05[4['-#0>D,<<5A[H@7#H!'0IU53 +M'L=32WZ'P&X2N89OC?Z-(9Y_&*;B$$?<YA"WIB3VQ%F)K3C$$5=UB.OY\UL+ +MT+Z_M,+S1H)V+=7&0+[4C`<./P]F^//\-\Z>]F]F6#Z25X;KN<#"U*Y%.KR) +M'O$\BN_J[NGZ^<?3$<=G5<<;8T6[*G80>297IW+O;[]\\,C');K,:TJOLN?B +M%#81/D?WZ(_O8K'R)-98<,JI7"SYD3BRA8PX7RKQQ2]]M@%7NU3<7X/=/VC0 +&,#.S#0`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu new file mode 100644 index 0000000..8292403 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu @@ -0,0 +1,88 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-gpt.vmdk.gz +M'XL("`/&'50``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FUD:RYO=70`K5Q=C]S& +M$7SWKYB<'QPDR(*U_%H^*(B=LP,C"*#(3O*2ARR_XD-L23D=C`C8'Q\..357 +MO+LY4KX^\;3;VN[:Z9YE<U5=8)8M/\X5K2L*5_2NK%P&-_W3<K@LOS>FXWCB +M"Y<_7__E[P?^_/IPN'RV@,%'20@RA1-C]3Z7PX,?PAV?BUJ],!W'3;C<1[6/ +M`@/<,?%"$JZ87CP^%<+5G>>7>_]$X%P$<BNX\HF<DLD^M[K??!:*Y]>7^S5, +MVULUKLY=U0;35>5LYZX^SJ]EKIZ<Q@GP<W=]\^$_[GKXT-W>O+][%]9W]'L[ +M.1>5]Z\ZCS`E5E?^B7_!PS4>HAI<WKL<_F5WN?WFYL?A\/-P^^'FW=M78+I' +MO[=%[HK&+\?[9_?'RO!ODKD*_CW<Y8_?7K\*G]SL\/Y\2S@?-2UD>N\I#\6M +M*N=_'Q_SZH:W=QYQ##]Q=7YO0W'*^;T+_Z0L7-VX>3FEQSY.+_<AY;EVW>UP +MOAN^__A^>'7UT[NWL79^;WW)FAGH-!<J=V7NH4)JOGRE1_0?FWG7W.7'F[L? +M;KKOIC0_#%>'SQWA*E^[:0-/85U+UE-(E=S9:=F7K_]W-^7K^K"S-X2;%S$G +M,;UW>71E[;&F#9RWXNCRPC^;_FE:\)1)`>_D+N_>'M[\8SK%?;&^>_WE&\*= +MIJC)<UK@%#(EM,JI7/(O'WXLW>6[K]V53_+['X;Y$TBX9CG-O/.R#YC-HW\2 +MJK;`^R96^!?FG777Y[NS^^K\83A\?GW]5=S9LT^VF(]I:8-'J19H__F>RSD5 +M;MGI9:/GK>C[]G#NS^_OAEN_O7$K6E^B/F3JM[6XW\;U^]3S3HW^$^,NK]S5 +M33_MJ8?]]_#N)\)UR\=X6H?_2#1S8.Z?3)^>&7X([[!\8OPV>;CA[O;CH?OX +MX\W;?CK1W"O"]4OMIN7D65A47-/#1<6WG6IWE=TO;<(FW.!+M"SJ%$Z,"6M9 +MQWT5_">F]$>HPN7CX8?AW$_+<E?'LKR*6S$^W`HMT8,J+!L]U6+9BK"PCX</ +M0Q?@\BQLX+@JSK(FEU<NS\.*U@WT[MWMO+0JO])^G#^\EKVT'Q>/+JGU+P1< +MX*S75V4/KF>YQA5BE"M`?Q7+IM\_3+^O[]=7^?55XEEKU$F,9@7WKPGB_>-T +M*_\1.XMGJU&=&/V>ZE6^M0WB.3ZL'K]J0)ZGX?A=@)ZY1A5BE"NX5.W*4#MZ +MUAIU$J-9P:5J5X7:T;/5J$Z,?E>R=:@=/4>-\@_\*H5LQ]>RZA1J1\]<HPHQ +MRA5<JG9-J!T]:XTZB=&LX%*U.X?:T;/5J$Z,?E>R;:@=/4>-\@]L$)#G:;@N +MU(Z>N4858I0KN%3M^E`[>M8:=1*C6<&E:C>$VM&SU:A.C'Y7LF.H'3U'C?(/ +MA=2NV(*KLU`[>N8:58A1KN`2M:O9[^A9:]1)C&8%EZA=S7Y'SU:C.C'Z7<FR +MW]%SU"C_4$KMRDTX]CMZYAI5B%&NX%*U8[^C9ZU1)S&:%5RJ=NQW]&PUJA.C +MWY4L^QT]1XWR#Y74KMJ$8[^C9ZY1A1CE"BY5._8[>M8:=1*C6<&E:L=^1\]6 +MHSHQ^EW)LM_1<]0H_\`O09#G:3CV.WKF&E6(4:[@4K5COZ-GK5$G,9H57*IV +M['?T;#6J$Z/?E2S['3U'C?(/)&0@SY-PIRS4CIZY1A5BE"NX1.U.['?TK#7J +M)$:S@DO4[L1^1\]6HSHQ^EW)LM_1<]0H_]!([9I-./8[>N8:58A1KN!2M6._ +MHV>M42<QFA5<JG;L=_1L-:H3H]^5+/L=/4>-\@_\+Q3D>1J._8Z>N4858I0K +MN%3MV._H66O428QF!9>J'?L=/5N-ZL3H=R7+?D?/4:/\`_E'R/,T'/L=/7.- +M*L0H5W"IVK'?T;/6J),8S0HN53OV.WJV&M6)T>]*EOV.GJ-&^8=.:M=MP359 +MJ!T]<XTJQ"A7<(G:->QW]*PUZB1&LX)+U*YAOZ-GJU&=&/VN9-GOZ#EJE'_H +MI7;])AS['3USC2K$*%=PJ=JQW]&SUJB3&,T*+E4[]CMZMAK5B='O2I;]CIZC +M1OF'06HW;,*QW]$SUZA"C'(%EZH=^QT]:XTZB=&LX%*U8[^C9ZM1G1C]KF39 +M[^@Y:I1_&*5VXR8<^QT]<XTJQ"A7<*G:L=_1L]:HDQC-"BY5._8[>K8:U8G1 +M[TJ6_8Z>HT9E,CV#/$_"G;.E=M$SUZA"C'(%EZC=.?2[Z%EKU$F,9@67J-TY +M]+OHV6I4)T:_*]G0[Z+GJ%&^9,+?89/2.H=^!^'OH/P=A+_#)G]W#OT.PM]! +M^3L(?X=-_NX<^AV$OX/R=Q#^;D>RH=]!^#LH?P?A[[!):9U#OX/P=U#^#L+? +M89._.X=^!^'OH/P=A+_#)G]W#OT.PM]!^3L(?[<CV=#O(/P=E+^#\'?8I+3. +MH=]!^#LH?P?A[[#)WYU#OX/P=U#^#L+?89._.X=^!^'OH/P=A+_;D6SH=Q#^ +M#LK?0?@[;%):;19J)_P=E+^#\'?8Y.]:]COA[Z#\'82_PR9_U[+?"7\'Y>\@ +M_-V.9-GOA+^#\G<0_@Z;E%;+?B?\'92_@_!WV.3O6O8[X>^@_!V$O\,F?]>R +MWPE_!^7O(/S=CF39[X2_@_)W$/X.FY16RWXG_!V4OX/P=]CD[UKV.^'OH/P= +MA+_#)G_7LM\)?P?E[R#\W8YDV>^$OX/R=Q#^#IN45LM^)_P=E+^#\'?8Y.]: +M]COA[Z#\'82_PR9_U[+?"7\'Y>\@_-V.9-GOA+^#\G<0_@Z;E%:7A=H)?P?E +M[R#\'3;YNX[]3O@[*'\'X>^PR=]U['?"WT'Y.PA_MR-9]COA[Z#\'82_PR:E +MU;'?"7\'Y>\@_!TV^;N._4[X.RA_!^'OL,G?=>QWPM]!^3L(?[<C6?8[X>^@ +M_!V$O\,FI=6QWPE_!^7O(/P=-OF[COU.^#LH?P?A[[#)WW7L=\+?0?D["'^W +M(UGV.^'OH/P=A+_#)J75L=\)?P?E[R#\'3;YNX[]3O@[*'\'X>^PR=]U['?" +MWT'Y.PA_MR-9]COA[Z#\'82_PR:EU6>A=L+?0?D["'^'3?ZN9[\3_@[*WT'X +M.VSR=SW[G?!W4/X.PM_M2);]3O@[*'\'X>^P26GU['?"WT'Y.PA_ATW^KF>_ +M$_X.RM]!^#ML\G<]^YWP=U#^#L+?[4B6_4[X.RA_!^'OL$EI]>QWPM]!^3L( +M?X=-_JYGOQ/^#LK?0?@[;/)W/?N=\'=0_@["W^U(EOU.^#LH?P?A[[!):?7L +M=\+?0?D["'^'3?ZN9[\3_@[*WT'X.VSR=SW[G?!W4/X.PM_M2);]3O@[*'\7 +MQ720YP+GEM\`-V1+[9Z4E#_Q3[%V[LG5#=;ZP''<"Y@_G:[?XY@NLF>7\>GK +MPZQ?C#./I>J_#'"!,ZX?XOQ=RG0?]ZGZ2L3Y.X\7Z2L1Y^\\7J2O1)R_\WB1 +MOA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[ +MB;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3Y +MNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$ +M^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$IR_V^@KP?F[C;X2G+_;Z"O! +M^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'Y +MNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[ +MC;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N- +MOA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2<?Y.SQ?I*Q'G[_1\D;X2<?Y.SQ?I +M*Q'G[_1\D;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G +M[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1 +MY^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K +M$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA*<O]OH*S&8ZBLQ +MF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8 +MZBLQF.HK,9CJ*S%FF:&^$J.IOA*CJ;X2HZF^$J.IOA*CJ;X2HZF^$J.IOA*C +MJ;X2HZF^$J.IOA*CJ;X2HZF^$J.IOA*CJ;X2HZF^\IAEF:&^\OCH7L<[X1XG +MN^@#CS#55QZ/SR[CT]=7S/5;[J[Z^._T"Y>O#NL_$1#MIP%RA6LX)ES`GQN+ +MUFL8W#B&8U'.W6<8[V+]1,*_/@A<;UR__?N['&7ISN='@'_C^N;]+4I_/^:B +MF6_.RSOSED6$FW,O.UW?U]]\ZUY_^>9[#_;/^W3GVSMWN2?;BMJCK%>'=+I_ +M>O/X["CFVSM/U3_63R:;)^&^>.ID*^;;.X_],W!/'6FXXKFH3[T3>#'?WEFC +M5'WK\L&UN1O/[MPGX'[_`*XR_N3-=YYM*U=W_O[!)5PWW^RYKSPM[4[3:;*< +M$T=W[+T2H88[^CLR'RYO_WIXNX#][O#?WX;U+7>>Q=-'^H54]8KY+N^G5+IU +MHF&OV[S`Y=;5\]]7VM*L>DWXL#QUI%](5N^\5"]Q59NJ]]2I.\'QJO:K-5QK +M6[UROFHLPI/'?Z=?N+P^K/\L@$4`-%MAX6\I:'=V>#C#L\/#&9X='L[T[/"` +MAF>'AS,\.SR<X=GAX4S/CL+?,-+N(N[AL'QCKBLWUOX+Q&H9R<OQY?#S]+W" +M_WRQ2G?F').7_F<NXD]OQF!X$?=PSU[$QR&9+'\>)&MX$?=PIA?QPM^],_OL +)_ZT-&`6T90`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow.gz.uu new file mode 100644 index 0000000..2a4ea04 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow.gz.uu @@ -0,0 +1,128 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-mbr.qcow.gz +M'XL("&'N+50``VEM9RTV,W@R-34M-#`Y-BUM8G(N<6-O=RYO=70`K9W)CE79 +M$47G]16/'I+N1<1M:3)3EFS),WM@>UJW';\/0/YV`WF:S+A[$Y0+0*5$67?K +MO9.+1:E8.IS/=]].IU9.37=JQM,^G[[^//V0T[V?//QQ^O+/O_W]W?UO7WZ[ +M&Y/S#YYR/^^W,O=@Z[]U3K\]M9S.XT_,??TA:.[>J[,_\.KNO=GCW-5O=V\6 +M/Z=LT!X,GM+<.;T^(:?7_-SKNW5O5^Y.[]>]725OM_VYP7^XUZ=_"):?>GU_ +M\.O;P<'?R^MKX%,]FQL>S%T.;[>%3XUL;OHAS'KNX%,SFUN"N1X^M;*Y+9@; +MX%,[GI,??&WOYD;XE+`YA7.G,C?!IXS--0_FSFGNMLS-\"GRZT(<=_G71>5N +M@4\1[B3D;H5/$>XDY&Z#3Q'N).1NAT\1[B3B3O!3A#N-N!.D*&7<:<2=(",K +MXTXC[@3Y3AEW&G$GR'?*N-.(.T&^4\:=1MP)\ITR[C3B3I#OE'&G(7?(=\JX +MLY`[Y#MCW%G('?*=,>XLY`[YSAAW%G*'?&>,.PNY0[XSQIV%W"'?&>/.0NZ0 +M[XQQ9Q%WBI\BW#41=XI\US#NFH@[1;YK&'=-Q)TBWS6,NR;B3I'O&L9=$W&G +MR'<-XZZ)N%/DNX9QUT3<*?)=P[AK0NZ0[QK&71MRAWS7,N[:D#ODNY9QUX;< +M(=^UC+LVY`[YKF7<M2%WR'<MXZX-N4.^:QEW;<@=\EW+N&LC[@P_1;CK(NX, +M^:YCW'41=X9\US'NNH@[0[[K&'==Q)TAWW6,NR[BSI#O.L9=%W%GR'<=XZZ+ +MN#/DNXYQUX7<(=]UC+L^Y`[YKF?<]2%WR'<]XZX/N4.^ZQEW?<@=\EW/N.M# +M[I#O>L9='W*'?-<S[OJ0.^2[GG'71]PU^"G"W1!QUR#?#8R[(>*N0;X;&'=# +MQ%V#?#<P[H:(NP;Y;F#<#1%W#?+=P+@;(NX:Y+N!<3=$W#7(=P/C;@BY0[X; +M&'?Y?\_S.>2[D7$WAMPAWXV,NS'D#OEN9-R-(7?(=R/C;@RY0[X;&7=CR!WR +MW<BX&T/ND.]&QMT8<=?BIPAW4\1=BWPW,>ZFB+L6^6YBW$T1=RWRW<2XFR+N +M6N2[B7$W1=RUR'<3XVZ*N&N1[R;&W11QUR+?38R[*>0.^6YBW.4_)N5SR'<S +MXVX.N4.^FQEW<\@=\MW,N)M#[I#O9L;=''*'?#<S[N:0.^2[F7$WA]PAW\V, +MNSGBKL-/$>Z6B+L.^6YAW"T1=QWRW<*X6R+N.N2[A7&W1-QUR'<+XVZ)N.N0 +M[Q;&W1)QUR'?+8R[)>*N0[Y;&'=+R!WRW<*X6T/ND.]6QMT:<H=\MS+NUI`[ +MY+N5<;>&W"'?K8R[->0.^6YEW*TA=\AW*^-N#;E#OEL9=VO$78^?(MR10.C> +M'/+=QKC;(NYZY+N-<;=%W/7(=QOC;HNXZY'O-L;=%G'7(]]MC+LMXJY'OML8 +M=UO$78]\MS'NMI`[Y+N-<;>'W"'?[8R[/>0.^6YGW.TA=\AW.^-N#[E#OML9 +M=WO('?+=SKC;0^Z0[W;&W1YRAWRW,^[VB+L!/X6YD_P!GP.^DS/A3LX1=P/P +MG9P)=W*.N!N`[X3U@>+[NP-W`_"=L/Y.POYN`+X3UM])V-\-P'?"^CL)^[L! +M^$Y8?R=A?S<`WPGK[R3L[P;@.V']G83]W0!\)ZR_D["_&X#OA/5W$O9W`_"= +ML/Y.POYN`+X3UM])V-\-P'?"^CL)^[L!^$Y8?R=A?S?BIPAW87\W(M^Q_D[" +M_FY$OF/]G83]W8A\Q_H["?N[$?F.]7<2]G<C\AWK[R3L[T;D.];?2=C?C<AW +MK+^3L+\;D>]8?R=A?S<BW['^3L+^;D2^8_V=A/W=B'S'^CL)^[L1^8[U=Q+V +M=R/R'>OO).SO1N0[UM])V-^-R'>LOY.POYOP4X2[L+^;D.]8?R=A?S<AW['^ +M3L+^;D*^8_V=A/W=A'S'^CL)^[L)^8[U=Q+V=Q/R'>OO).SO)N0[UM])V-]- +MR'>LOY.POYN0[UA_)V%_-R'?L?Y.POYN0KYC_9V$_=V$?,?Z.PG[NPGYCO5W +M$O9W$_(=Z^\D[.\FY#O6WTG8W\WX*<)=V-_-R'>LOY.POYN1[UA_)V%_-R/? +ML?Y.POYN1KYC_9V$_=V,?,?Z.PG[NQGYCO5W$O9W,_(=Z^\D[.]FY#O6WTG8 +MW\W(=ZR_D["_FY'O6'\G87\W(]^Q_D["_FY&OF/]G83]W8Q\Q_H["?N[&?F. +M]7<2]G<S\AWK[R3L[Q;\%.$N[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W +M(-^Q_D["_FY!OF/]G83]W8)\Q_H["?N[!?F.]7<2]G<+\AWK[R3L[Q;D.];? +M2=C?+<AWK+^3L+];D.]8?R=A?[<@W['^3L+^;D&^8_V=A/W=@GS'^CL)^[L% +M^8[U=Q+V=RM^BG`7]G<K\AWK[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A +M?[<BW['^3L+^;D6^8_V=A/W=BGS'^CL)^[L5^8[U=Q+V=ROR'>OO).SO5N0[ +MUM])V-^MR'>LOY.POUN1[UA_)V%_MR+?L?Y.POYN1;YC_9V$_=V*?,?Z.PG[ +MNPT_1;@+^[L-^8[U=Q+V=QOR'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_ +M)V%_MR'?L?Y.POYN0[YC_9V$_=V&?,?Z.PG[NPWYCO5W$O9W&_(=Z^\D[.\V +MY#O6WTG8WVW(=ZR_D["_VY#O6'\G87^W(=^Q_D["_FY#OF/]G83]W8Z?(MR% +M_=V.?,?Z.PG[NQWYCO5W$O9W._(=Z^\D[.]VY#O6WTG8W^W(=ZR_D["_VY'O +M6'\G87^W(]^Q_D["_FY'OF/]G83]W8Y\Q_H["?N['?F.]7<2]G<[\AWK[R3L +M[W;D.];?2=C?[<AWK+^3L+_;D>]8?R=A?[<CW['^3J+^SL[X*<R=Y@_<W*G. +M`=]]?0ISIZZ_R_?]G4YE#OA.67^GKK\[)>Y.MV4.^$Y9?Z>NOSLE[DZ_ESG@ +M.V7]G;K^[G0YG!WPG;+^3EU_5\ZNS@'?*>OOU/5W8`[X3EE_IZZ_`W/`=\KZ +M.W7]79Y[5.>`[Y3U=^KZNT=YKG('?*>LOU/7WSU*W#VJW`'?*>OOU/5WCQ)W +MCRIWP'?*^CMU_=VCR^'L@.^4]7?J^KMR=G4.^$Y9?Z>NOP-SP'?*^CMU_=UQ +M#MU_IZR_4]??Y;G'=0[YCO5WZOJ[QWFN<(?NOU/6WZGK[QXG[AX7[M#]=\KZ +M.W7]W>/$W>/"';K_3EE_IZZ_>WPYG!WR'>OOU/5WY>SJ'/(=Z^_4]7=@#OF. +M]7?J^CLPAWS'^CMU_5V>>U+GD.]8?Z>NOWN2YRIWR'>LOU/7WSU)W#VIW"'? +ML?Y.77_W)''WI'*'?,?Z.W7]W9/+X>R0[UA_IZZ_*V=7YY#O6'^GKK\#<\AW +MK+]3U]\=Y]#]=\KZ.W7]79Y[6N>0[UA_IZZ_>YKG"G?H_CME_9VZ_NYIXNYI +MX0[=?Z>LOU/7WSU-W#TMW*'[[Y3U=^KZNZ>7P]DAW['^3EU_5\ZNSB'?L?Y. +M77\'YI#O6'^GKK\#<\AWK+]3U]_EN6=U#OF.]7?J^KMG>:YRAWS'^CMU_=VS +MQ-VSRAWR'>OOU/5WSQ)WSRIWR'>LOU/7WSV[',X.^8[U=^KZNW)V=0[YCO5W +MZOH[,(=\Q_H[=?W=<0[=?Z>LOU/7W^6YYW4.^8[U=^KZN^=YKG"'[K]3UM^I +MZ^^>)^Z>%^[0_7?*^CMU_=WSQ-WSPAVZ_TY9?Z>NOWM^.9P=\AWK[]3U=^7L +MZASR'>OOU/5W8`[YCO5WZOH[,(=\Q_H[=?U=GGM1YY#O6'^GKK][D><J=\AW +MK+]3U]^]2-R]J-PAW['^3EU_]R)Q]Z)RAWS'^CMU_=V+R^'LD.]8?Z>NORMG +M5^>0[UA_IZZ_`W/(=ZR_4]??'>?0_7?*^CMU_5V>>UGGD.]8?Z>NOWN9YPIW +MZ/X[9?V=NO[N9>+N9>$.W7^GK+]3U]^]3-R]+-RA^^^4]7?J^KN7E\/9(=^Q +M_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_4]??Y;E7=0[YCO5WZOJ[ +M5WFN<H=\Q_H[=?W=J\3=J\H=\AWK[]3U=Z\2=Z\J=\AWK+]3U]^]NAS.#OF. +M]7?J^KMR=G4.^8[U=^KZ.S"'?,?Z.W7]W7$.W7^GK+]3U]_EN:LZAWS'^CMU +M_=U5GBO<H?OOE/5WZOJ[J\3=5>$.W7^GK+]3U]]=)>ZN"G?H_CME_9VZ_N[J +M<C@[Y#O6WZGK[\K9U3GD.];?J>OOP!SR'>OOU/5W8`[YCO5WZOJ[//>ZSB'? +ML?Y.77_W.L]5[I#O6'^GKK][G;A[7;E#OF/]G;K^[G7B[G7E#OF.]7?J^KO7 +ME\/9(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_.\ZA^^^4]7?J^KL\]Z;. +M(=^Q_DY=?_<FSQ7NT/UWROH[=?W=F\3=F\(=NO].67^GKK][D[A[4[A#]]\I +MZ^_4]7=O+H>S0[YC_9VZ_JZ<79U#OF/]G;K^#LPAW['^3EU_!^:0[UA_IZZ_ +MRW-OZQSR'>OOU/5W;_-<Y0[YCO5WZOJ[MXF[MY4[Y#O6WZGK[]XF[MY6[I#O +M6'^GKK][>SF<'?(=Z^_4]7?E[.H<\AWK[]3U=V`.^8[U=^KZN^,<NO].67^G +MKK_+<^_J'/(=Z^\TZN\,W7^GK+_3J+\S=/^=LOY.H_[.T/UWROH[C?H[0_?? +M*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.R7]W?LZAWS'^CMU_=W[ +M/%>Y0[YC_9VZ_NY]XNY]Y0[YCO5WZOJ[]XF[]Y4[Y#O6WZGK[]Y?#F>'?,?Z +M.W7]73F[.H=\Q_H[=?T=F$.^8_V=NO[N.(?NOU/6WUG^P,V=ZQSPG;'^[NLG +M'G"7_70NW*'[[XSU=^;ZNW/:.Q?NT/UWQOH[<_W=.7%W+MRA^^^,]7?F^KOS +MY7!VP'?&^CMS_5TYNSH'?&>LOS/7WX$YX#MC_9VY_@[,`=\9Z^_,]7=Y3NH< +M\)VQ_LY<?R=YKG('?&>LOS/7WTEZ>5*Y`[XSUM^9Z^\D<2>5.^`[8_V=N?Y. +M+H>S`[XSUM^9Z^_*V=4YX#MC_9VY_@[,`=\9Z^_,]7?'.73_G;'^SEQ_E^>T +MSB'?L?[.7'^G>:YPA^Z_,];?F>OO-'&GA3MT_YVQ_LY<?Z>).RW<H?OOC/5W +MYOH[O1S.#OF.]7?F^KMR=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L]9 +MG4.^8_V=N?[.\ESE#OF.]7?F^CM+W%GE#OF.]7?F^CM+W%GE#OF.]7?F^CN[ +M',X.^8[U=^;ZNW)V=0[YCO5WYOH[,(=\Q_H[<_W=<0[=?V>LOS/7W^6YILXA +MW['^SEQ_U^2YPAVZ_\Y8?V>NOVL2=TWA#MU_9ZR_,]??-8F[IG"'[K\SUM^9 +MZ^^:R^'LD.]8?V>NORMG5^>0[UA_9ZZ_`W/(=ZR_,]??@3GD.];?F>OO\EQ; +MYY#O6']GKK]K\USE#OF.]7?F^KLV<==6[I#O6']GKK]K$W=MY0[YCO5WYOJ[ +M]G(X.^0[UM^9Z^_*V=4YY#O6WYGK[\`<\AWK[\SU=\<Y=/^=L?[.7'^7Y[HZ +MAWS'^CMS_5V7YPIWZ/X[8_V=N?ZN2]QUA3MT_YVQ_LY<?]<E[KK"';K_SEA_ +M9ZZ_ZRZ'LT.^8_V=N?ZNG%V=0[YC_9VY_@[,(=^Q_LY<?P?FD.]8?V>NO\MS +M?9U#OF/]G;G^KL]SE3OD.];?F>OO^L1=7[E#OF/]G;G^KD_<]94[Y#O6WYGK +M[_K+X>R0[UA_9ZZ_*V=7YY#O6']GKK\#<\AWK+\SU]\=Y]#]=\;Z.W/]79X; +MZASR'>OOS/5W0YXKW*'[[XSU=^;ZNR%Q-Q3NT/UWQOH[<_W=D+@;"G?H_CMC +M_9VY_FZX',X.^8[U=^;ZNW)V=0[YCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XN +MSXUU#OF.]7?F^KLQSU7ND.]8?V>NOQL3=V/E#OF.]7?F^KLQ<3=6[I#O6']G +MKK\;+X>S0[YC_9VY_JZ<79U#OF/]G;G^#LPAW['^SEQ_=YQ#]]\9Z^_,]7=Y +M[D.=0[YC_9VY_NY#GBO<H?OOC/5WYOJ[#XF[#X4[=/^=L?[.7'_W(7'WH7"' +M[K\SUM^9Z^\^7`YGAWS'^CMS_5TYNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^ +MSEQ_E^<^UCGD.];?F>OO/N:YRAWR'>OOS/5W'Q-W'RMWR'>LOS/7WWU,W'VL +MW"'?L?[.7'_W\7(X.^0[UM^9Z^_*V=4YY#O6WYGK[\`<\AWK[\SU=\<Y=/^= +ML?[.7'^7YS[5.>0[UM^9Z^\^Y;G"';K_SEA_9ZZ_^Y2X^U2X0_??&>OOS/5W +MGQ)WGPIWZ/X[8_V=N?[NT^5P=LAWK+\SU]^5LZMSR'>LOS/7WX$YY#O6WYGK +M[\`<\AWK[\SU=WGN<YU#OF/]G;G^[G.>J]PAW['^SEQ_]SEQ][ERAWS'^CMS +M_=WGQ-WGRAWR'>OOS/5WGR^'LT.^8_V=N?ZNG%V=0[YC_9VY_@[,(=^Q_LY< +M?W><0_??&>OOS/5W>>ZZSB'?L?[.7']WG><*=^C^.V/]G;G^[CIQ=UVX0_?? +M&>OOS/5WUXF[Z\(=NO_.6']GKK^[OAS.#OF.]7?F^KMR=G4.^8[U=^;Z.S"' +M?,?Z.W/]'9A#OF/]G;G^+L_=U#GD.];?F>OO;O)<Y0[YCO5WYOJ[F\3=3>4. +M^8[U=^;ZNYO$W4WE#OF.]7?F^KN;R^'LD.]8?V>NORMG5^>0[UA_9ZZ_`W/( +M=ZR_,]??'>::,WX*<]?D#]S<;9T#OFM8?]>X_NXVSYW*'/#=UZ<P=XWK[VX3 +M=[>W90[XKF']7>/ZN]O$W>WO90[XKF']7>/ZN]O+X>S0W[==3IQ^XLL[]^W+ +M;U??!]OO7]M&3^<)_)-_XLM?WCW\7@:_WVOT!P:_O6$Y#.8WW-[=:_2]K9O: +M!-[7G][9+;V]1>KOLO??\,T=?-?O[LVAOS?ZSYP?NHKH1X-M>YJFP^"_\NM# +M5Q']F=?7;;_XZ]M_!Z;M3TU[:KO3H#_["O_SUW^[5W@W!V3P_[WANSD@@X=S +M^067WQ\/<S?WYK[)8+_W;Y[EWE/WN;O_\;VYZW?W?@/OD0SJW#<!;N@3],W^ +M8AGTAPLG[W^=O]_);*=S_O,9=]%I^?J>ZNM#@?^#M_N#UW<ZOMWO_X'1/_SW +MY=Z<!F_W]'!N+F8!7\+@]*Z/KP[]!?=_YHMQN#;Q)W_E?AMY^"OW;DY_K0B& +H[V;Y]MOB!/[)/_'E'^\>?K\;;-+@+SO!YBM]Y_-O_P.[1]$3H:@````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow2.gz.uu new file mode 100644 index 0000000..4524f2b --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-mbr.qcow2.gz +M'XL("&+N+50``VEM9RTV,W@R-34M-#`Y-BUM8G(N<6-O=S(N;W5T`*V8VY+3 +M,`Q`W_<KS!T6*+'DW+BTL+#,\`8/P'-Z^XH.WTY2*[&C2/&VDS:3:<?5&=D^ +M4I-DF7\9DUOC"N-J<]R:]CL=8*(OX\.<?GW_L8I?IQL/LYD2)0R4AP$W8OT+ +M.-!PF9T.6!D798<"#OJH*2B%<VIV<P,"[O;FO'3GS:A8!%X#]#AU,Z[*#WQ^ +M/,)=F1\LG1_*ZY?W<7R@F,\/?7X\JM1P51('0E2MX9HD#H6HK8;;)7%.B-IK +M.*5R(UPN1!T5G$VHTN(*(<IJ.$CB2B$*-9Q+XBHA2O/.IKVKA2C-.YOVKA&B +M-.]LVKNM$*5Y9]/>[80HS3N;]FXO1&G>@>*=";B#$*5Y!\R[1X1[''!'(4KS +M#IAW3PCW=,!9*4KS#IAWSPCW/."$?@>:=\"\>T&XEP$G]#O0O`/FW2O"W0:< +MT.]`\PZ8=Z\)]R;@A'X'FG?`O'L[\<X*_0XT[Y!Y]XY86<`)_0XU[Y!Y9PD' +M`2?T.]2\0^8=$LX%G-#O4/,.F7<YX8J`$_H=:MXA\ZXD7!5P0K]#S3MDWM6$ +M>Q]P0K]#S3MDWGT@W,>`$_H=:MXA\^X3X=8!)_0[U+QSS+L-X3X'G-#OG.:= +M8]Y](=Q=P`G]SFG>.>;=5\)]&W`@10W>99E\$.Y^4K.P[/6G"]?'5CCK`S/` +MZA+@7(8>5R\ZX=Q/N-.@$<[ZP.EN-7X/P'.Q70"L:`7'.)IP[HO-KTZ3]Z5A +MJ4!H>CL;RBR>\,:7QWH5X?8+K]^Y/BX`YKEIF@GP=Y\?S*9Q>7[E8>']K?SC +MAK*KVKPP%3PTP[_W?Z9"M[C%*MCC],<---`G/+38"6X3X;HKEF/TR[A.1][% +MGR/<>A5:?8N;?=S0W4,=I`%ULOFRLE1#LQILC?:YNW3O[K#Z?V]VZ3WLKPGY +M"<T*1M.=R<],I]M=%0QW[VP_.APDIFO&N.W0680M3*S>>IK=;N'-L+PR'EBY +M'61<N1X'RS:"^MQ96@/;7TW/^L#IYVK\]D!'P,56T!7=?]O-?U_U;%8C%0`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-mbr.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-mbr.raw.gz.uu new file mode 100644 index 0000000..b3375d7 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-mbr.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-mbr.raw.gz +M'XL("&+N+50``VEM9RTV,W@R-34M-#`Y-BUM8G(N<F%W+F]U=`"ME,V.A"`, +MQ^\^1<][(`5E92Y.LLG>][(S9\;5I_#AMUAURN#'F$"18`J__$L+B-P`*@/H +M5\9MQ_"E8AN*CV*DZ<<YH$-`G0`5`1G7$HX6D$QOPUCVX3>,P8&AM_3?37/N +M,!!!7<FH-4K@_I9=:=]VC#C9GN'VYX#6@O<)\'?69W9EG-=7=YGSZ\:"L354 +M%NPG./.NPOOW[44AXW2N@!EGCG"S8*Z@-=Q5X$IR]F(E5^*T2]:=G`M<P]^, +MJ_;4T4E@M^;8#-;F+19'%N^3>0;=@2X!W>0S,7#)+SSU75(9)@IW1Q^DX?J` +MJ^/U6N#,0;@0XQ[+R[*2PH/3:U)U;>9DZ->;\>;-#9#XYC+.Y'T(+N/+0A5( +<J])QVS'\J-@86$W`;"<87C[$XA^HPB9UY08````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhd.gz.uu new file mode 100644 index 0000000..695a3e9 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-mbr.vhd.gz +M'XL("&+N+50``VEM9RTV,W@R-34M-#`Y-BUM8G(N=FAD+F]U=`"METMOW"`0 +MQ^_[*4;J+0<+CP&3RZX4-3U7JMJ>L6-'.?2A;@\Y^,.7,>`%OS;;S)I%6,"/ +M/\S#0@C_`]`5Z!YT!UI1NY:@[Z$V`*XS%!SK,KS"T/[ZV;5_7UZ+\!L.'E:* +M=%8^G>9C!=(M4@-:6D0_41N&B"D^/#[?O?QXCC@,N+BPU"`1E(/(Q3I&3.J( +M].GAR\>YNFJI[C++K]/W4/7)B"I55Q2G%"?=+#>>BH9>CC)CR5ZRCA27J5-B +M-BN1N7:HR6;7<'IOUBVXNT.PA7<5YQBUJP7H$FJDMG.;>`Z+XESE]?S;_CEW +M,WVXX2HZ,<:\3VYO%X.K8!P<%$@2N+==&"GG.6[%5=YU>CJ?)T/#'8)0L0/' +M[>>G=T%!JD^78N?,MXVQJ<^2/A=;PJ[4VQW#0Y$_$[!I;@,:X:,CQTT;;MH0 +M'0*LHIJBM`RQ&LZO=>_=BD%./FR/R?DU3\SV;?K;@$J!M0O@UZBOW95QNSYC +MF.UK1H=1-:5SI<'@6Q5^?_RV$K_&;J2#_\M^QN(U7!2<9OL<=TIPE0^W"R5) +M3IG?I>T$=_3_B)-[ZB@G=&L=FYM5S,YBS6Q>:F<H.R@K$";T80Z<[`L7??=+ +M&9AM=T<?++=K"5?GX\L$AU>V"SFNF3++B@FOG-YQJ:YE-D8SCXPW1BY!\LCU +M..1-!';,+,X#W:AEO=TQ?"[RQP,Q?(K8OFT8DBF;0AF`;`H=L&-6:'F_'SHH +L9+HH$([QHD`XQHL"X1@O"H1CO"@0CO&B0#C6BX)V5T`A#O\`HP_9YET.```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhdf.gz.uu new file mode 100644 index 0000000..1e1f537 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-mbr.vhdf.gz +M'XL("&+N+50``VEM9RTV,W@R-34M-#`Y-BUM8G(N=FAD9BYO=70`K94];\,@ +M$(;W_(J3NF6P``,F2R)%3>=*5=O9<7"4(>W2H8-_?.^,[8"Q\U%A",(Z>/(> +M=YP9<P^`%,#*B7'>T&RSL#6+Y:*E\?UC0,.`\0B8(=#A*L3A`I19*AKSFEYI +M)`.C7N&[[>:N0X.$;(,-GW7FX0[#KKC/&UJ<_US<K1\#*@5E&0'?>WWBJHS' +M]14V<7Q-FS"J`*E`:3#B7H6?NX^10H?CJ1QV.'$+UPMV&32%VWBX'(VUM])E +M8K?+SSM_[N'6[M?CY#5U>!+,3AEFG55ID\5@"_?Y<09N@>?`3&<3(7"(+UST +MK6(9(G#WBCZ(W2T)5X3KN8<3-]R%$+<?*LM$"&^<WCI65R4.!A_?C#MO+D'" +MF^MP(FTA6+65!3,05\7CO*%YS<+F@+(#)CM!TWW;=`ZZ!FU!*YH7$O0*"N,# +M19A)3?7]9:N?TZ\?8<)Q5PPF.^T7.=T678`HZ4_T@>:>OJ?=<7DZ'WM<7ZKZ +M/Y::#ETA1$;NFM#=E^W;\UA='A^2"4Z/DTZ_[*'CP>EM?)P<G+6V+8'\TH.7 +=P#!9J@BGV&C7?V/K<#IQJN!W=_$'S:-I2Q`)```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-mbr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-mbr.vmdk.gz.uu new file mode 100644 index 0000000..5ebc9fc --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-mbr.vmdk.gz.uu @@ -0,0 +1,84 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-mbr.vmdk.gz +M'XL("&/N+50``VEM9RTV,W@R-34M-#`Y-BUM8G(N=FUD:RYO=70`K5S1;N3& +M$7SW5PSDMSPL6,LEN7PX.W'.`8(@@!$[]FO(Y3`68M\==$*0`_3QX9!3HR)% +M'FFK=:L#^]A=V]U#M735!679].'<I767B[MTKBA=!C?\T_1R6?YL#*]+NO'T +MM[=___'$CS^>3D]?3&`(41*"3.'$F+W/TVGQ0;CSYZ)F-X;7>1<N#U'MB\`( +M=]ZXL0DW],.=UT*873/>[L*%P+D$Y&9PQ4I-F\5^+KL_?!&;%_++0P[#\9:U +MJW)7MM%T93':N:O.X[W,58-3/P!^Z=[>?_R/>^L_WA[N/SR^C_F=P]D.SI<R +M^)>W@#`45I7A(MP(<'6`*+W+.Y<CW'9/#W^Y_\6?_NL?/MZ_?_<&+/<<SO:2 +MNTL=T@G^V?-K9H0WR5R)\![NZ<]_??LF/KG9Z4/S0+@0-20RO/=0A^*6I0N? +M+U]C=O[=8T#LXT?*+IQM;$XQOO<E7!075]5N3*<(V.?A=A=+'GMW>_#-H__A +MTP?_YN[7]^]2[\+9AI;5(]!U;%3NBCQ`Q=)"^XJ`&!Z;\=3<TR_WCS_?W[X? +MROSH[TY?.L*5H7?#`5YC7E/50TBY>;)#VD_?_N]QJ-=U\63O"3<F,18QO'=Q +M=D45L(8#S(?>Y;G+KRX?X8>$ATHN"$[NZ?V[TS]^<BCSZ\5]_]V?_D&XZP`W +M>`X)#B%#0;.:BJG^8OE8NJ?OOW5WH<@??O;C$TBX>OHR"\[3.6`TS^$B=FV" +M#T/L$FZ,)^O>-H^-^Z;YZ$]?OGW[33K9)A1[&5]#:CZ@E!-T>+['=@Z-FTYZ +M.NCQ*+JN/35=\^'1/X3C34?1AJ>UBY6&8[T\'^/\?:KQI/KPQ+BG-^[NOAO. +M-,#^V[__E7"WZ3$>\@B/1#T&YN%B>'I&>!_?87IBPC$%./_X\.ET^_3+_;MN +M^$)S;PC73;T;TAE.<THJY;1,*KWMT+L[/*<V8!/.AQ9-25WC%\:`->7QW(5\ +M>!7A%;OP].GTLV^Z(2UW=RZ*NW04_?(HM$6++DP'/?1B.HJ8V*?31W^+<'D6 +M#["?-6?**3S*PY,\930?H(_O'\;4ROQ.YW&^_%[VVGE\>?$MM?J=@!.<=7YE +MMO?]C*]\!N@$+'O.KPSY7<2ST*A2C&H&-_PT<?IN^/S7\/E!X,(C=A7/6J,: +M,=HCW2O#]XN;>'8:Y<7H#\%=8HOX`PKD>FPJC5QO)#BWZ%T1>T?/0J-*,:H9 +MW%;ORM@[>M8:U8C1KF:W++:*O:-GIU%>C/X0W#7VCC^`0:['WM'(L[6?\I:] +MJV/OZ%EH5"E&-8/;ZET3>T?/6J,:,=K5[);%MK%W].PTRHO1'X*[Q=YQK$"N +MQ][1R/7&9N^ZV#MZ%AI5BE'-X+9ZYV/OZ%EK5"-&NYK=LM@^]HZ>G49Y,?HC +M<%46>W>1WO%Z[!V-7&]L]:[BO*-GH5&E&-4,;J-W%><=/6N-:L1H5[-;%LMY +M1\].H[P8_2$XSKM">L?KL7<T<KVQV3O..WH6&E6*4<W@MGK'>4?/6J,:,=K5 +M[);%<M[1L],H+T9_"([SKI3>\7KL'8U<;VSVCO..GH5&E6)4,[BMWG'>T;/6 +MJ$:,=C6[9;&<=_3L-,J+T1^"X[SCCTZ0Z[%W-'*]L=D[SCMZ%AI5BE'-X+9Z +MQWE'SUJC&C':U>R6Q7+>T;/3*"]&?P3NFL7>7:5WO!Y[1R/7&UN]NW+>T;/0 +MJ%*,:@:WT;LKYQT]:XUJQ&A7LUL6RWE'STZCO!C](3C.NUIZQ^NQ=S1RO;'9 +M.\X[>A8:58I1S>"V>L=Y1\]:HQHQVM7LEL5RWM&STR@O1G\(CO..__&"7(^] +MHY'KC<W><=[1L]"H4HQJ!K?5.\X[>M8:U8C1KF:W+);SCIZ=1GDQ^D-PG'=D +M+2'78^]HY'ICLW><=_0L-*H4HYK!;?6.\XZ>M48U8K2KV2V+Y;RC9Z=17HS^ +M"%R=Q=[=I'>\'GM'(]<;6[VK.>_H66A4*48U@]OH7<UY1\]:HQHQVM7LEL5R +MWM&STR@O1G\(CO.ND][QFJQVZEWW`F[9.\X[>A8:58I1S>"V>L=Y1\]:HQHQ +MVM7LEL5RWM&STR@O1G\(CO/.2^]X/?:.1JXW-GO'>4?/0J-*,:H9W%;O.._H +M66M4(T:[FMVR6,X[>G8:Y<7H#\%QWO72.UZ/O:.1ZXW-WG'>T;/0J%*,:@:W +MU3O..WK6&M6(T:YFMRR6\XZ>G49Y,?HC<$TV]2[MW"#7H7?)R/7&5N^:..^2 +M9Z%1I1C5#&ZC=TV<=\FSUJA&C'8UNV6Q<=XESTZCO!C](;@X[R#\'92_@_!W +MV.7OFCCO(/P=E+^#\'?8Y>^:..\@_!V4OX/P=RO9+8N-\P["WT'Y.PA_=P`N +MSCL(?P?E[R#\'7;YNR;..PA_!^7O(/P==OF[)LX["'\'Y>\@_-U*=LMBX[R# +M\'=0_@["WQV`B_,.PM]!^3L(?X==_JZ)\P["WT'Y.PA_AUW^KHGS#L+?0?D[ +M"'^WDMVRV#CO(/P=E+^#\'?[<&T6>R?\'92_@_!WV.7O6LX[X>^@_!V$O\,N +M?]=RW@E_!^7O(/S=2G;+8CGOA+^#\G<0_NX`'.>=\'=0_@["WV&7OVLY[X2_ +M@_)W$/X.N_Q=RWDG_!V4OX/P=RO9+8OEO!/^#LK?0?B[`W"<=\+?0?D["'^' +M7?ZNY;P3_@[*WT'X.^SR=RWGG?!W4/X.PM^M9+<LEO-.^#LH?P?A[P[`<=X) +M?P?E[R#\'7;YNY;S3O@[*'\'X>^PR]^UG'?"WT'Y.PA_MY+=LEC..^'OH/P= +MA+_;A[MEL7?"WT'Y.PA_AUW^[L9Y)_P=E+^#\'?8Y>]NG'?"WT'Y.PA_MY+= +MLEC..^'OH/P=A+\[`,=Y)_P=E+^#\'?8Y>]NG'?"WT'Y.PA_AUW^[L9Y)_P= +ME+^#\'<KV2V+Y;P3_@[*WT'XNP-PG'?"WT'Y.PA_AUW^[L9Y)_P=E+^#\'?8 +MY>]NG'?"WT'Y.PA_MY+=LEC..^'OH/P=A+\[`,=Y)_P=E+^#\'?8Y>]NG'?" +MWT'Y.PA_AUW^[L9Y)_P=E+^#\'<KV2V+Y;P3_@[*WT'XNWVX+HN]$_X.RM]! +M^#OL\G<=YYWP=U#^#L+?89>_ZSCOA+^#\G<0_FXENV6QG'?"WT'Y.PA_=P". +M\T[X.RA_!^'OL,O?=9QWPM]!^3L(?X==_J[CO!/^#LK?0?B[E>R6Q7+>"7\' +MY>\@_-T!.,X[X>^@_!V$O\,N?]=QW@E_!^7O(/P==OF[CO-.^#LH?P?A[U:R +M6Q;+>2?\'92_@_!W!^`X[X2_@_)W$/X.N_Q=QWDG_!V4OX/P=]CE[SK..^'O +MH/P=A+];R6Y9+.>=\'=0_@["W^W#^6SJ79+@0:Y'&2.-7&\\C4T;/MWPF;EG +MN#CO5A5]*_^4>N?6LWNAQ3\&][+826Z(46Z8-A%3N;\/<((SED/B&KN^#WA$ +M#HFT+N?K57)(I'4Y7Z^20R*MR_EZE1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F) +M'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6Y +MB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1U +MN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD +M=;F)'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%U +MN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76Y +MC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F- +M'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T< +M$FE=GCWW[O?+(9'6Y?1\E1P2:5U.SU?)(9'6Y?1\E1P2:5UN(H=$6I>;R"&1 +MUN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@A +MD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO( +M(9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>; +MR"&1UN4F<DBD=;F)'!)<E]O((<%UN8T<$MY4#@EO*H>$-Y5#PIO*(>%-Y9#P +MIG)(>%,Y)+RI'!+>5`X);RJ'A#>50\*;RB'A3>60\*9R2/199BB'1&\JAT1O +M*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\J +MAT1O*H=$;RJ'/&=99BB'/&>F<LCSRU]-?`SN9;&3W/`RECO][M*7?V_?>/KF +M-/^3`-'^-L!)$+<$9,$7C(_RR'XUX_\)\SZ8>2\%WP;;KQ3\]?!G^/CJ)'"= +M<?_0_S;`HG!-\P+PG\SO_-DT?GM^E3<^W^OXP!15^#6[1>FNYZ,9_O3MCXL, +M)S@S_>P$M_OUD5C0?@ON:X$+/P_TXCG[3>#ZW.FUP'TU?1+N\KGL=$%UK%CC +M7]U]S:Z+.#WG\'TGT('\7]YY#IC.USWG5[],XSPK]S/YN9?EAN^Y^LMK]3QF +M8WJC7#>':]-D63G"G>Y]]3*[F_%A8/F5<?`K-X#,OW(GN+/M(*C'R3*I/E[^ +>O7WCZ;O3_,\$>(F`9AV\A%],DGWQ?Q6YC7-O8``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow.gz.uu new file mode 100644 index 0000000..bfa03be --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow.gz.uu @@ -0,0 +1,126 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-pc98.qcow.gz +M'XL("&/N+50``VEM9RTV,W@R-34M-#`Y-BUP8SDX+G%C;W<N;W5T`*V=VXX4 +M67-&[^<IBC,TIXJ(S*I,#MW(DBWY#E_8OOWK>#T/@/SLAF9W[NZH]4TP&A@T +M`A7Y*2MK]0+-+&W6ZY_?5JO15L-F-<RK\W[U_>?MNZWN_>3A]]6W__J/_WQW +M_]NW/WZ.V?HOKDH_WYZ6N0=;_]?G_,=5A]5Z_H6Y[]^-YN[=7?R-N[OW9B_G +MKO[X^6;Y.E>#\6!PU>;6[?Y,/+WAU^[O2WJ[]O/I_;ZWZ^+MCFIP\V#P:YO[ +M5[L__UNP_-+]_<W/=XN#?R[W-^!5DYJ;_Y(^7X]XU4[-[8NY#5YU4'/'8FZ+ +M5YW4W+F8F^`J4Q^%%5^YOI[Q*O&%9L47FJ]W>)7X0K,[PM,7VM=E;H]7;=3< +M0^[^=<'=`:\2W%G)W1&O$MQ9R=T)KQ+<6<G=&:\2W%G%G=%5KKCSBCLC1;GB +MSBONC(SLBCNON#/RG2ONO.+.R'>NN/.*.R/?N>+.*^Z,?.>*.Z^X,_*=*^Z\ +MY(Y\%XJ[*+DCWX7B+DKNR'>AN(N2._)=*.ZBY(Y\%XJ[*+DCWX7B+DKNR'>A +MN(N2._)=*.ZBXL[IJD%Q-U3<.?EN4-P-%7=.OAL4=T/%G9/O!L7=4''GY+M! +M<3=4W#GY;E#<#15W3KX;%'=#Q9V3[P;%W5!R1[X;%7=CR1WY;E3<C25WY+M1 +M<3>6W)'O1L7=6')'OAL5=V/)'?EN5-R-)7?DNU%Q-Y;<D>]&Q=U8<1=TU49Q +MMZFX"_+=1G&WJ;@+\MU&<;>IN`ORW49QMZFX"_+=1G&WJ;@+\MU&<;>IN`OR +MW49QMZFX"_+=1G&W*;DCWVT5=]N2._+=5G&W+;DCWVT5=]N2._+=5G&W+;DC +MWVT5=]N2._+=5G&W+;DCWVT5=]N2._+=5G&WK;@;Z*I)<3=5W`WDNTEQ-U7< +M#>2[27$W5=P-Y+M)<3=5W`WDNTEQ-U7<#>2[27$W5=P-Y+M)<3=5W`WDNTEQ +M-Y7<D>_N_BL\O%!Q1[Z;%7=SR1WY;E;<S25WY+M9<3>7W)'O9L7=7')'OIL5 +M=W/)'?EN5MS-)7?DNUEQ-U?<C7353G&WJ[@;R7<[Q=VNXFXDW^T4=[N*NY%\ +MMU/<[2KN1O+=3G&WJ[@;R7<[Q=VNXFXDW^T4=[N*NY%\MU/<[4KNR'=W_S<4 +M7JBX(]_M%7?[DCORW5YQMR^Y(]_M%7?[DCORW5YQMR^Y(]_M%7?[DCORW5YQ +MMR^Y(]_M%7?[BKL-7750W!TJ[C;DNX/B[E!QMR'?'11WAXJ[#?GNH+@[5-QM +MR'<'Q=VAXFY#OCLH[@X5=QORW4%Q=ZBXVY#O#HJ[0\D=^>ZHN#N6W)'OCHJ[ +M8\D=^>ZHN#N6W)'OCHJ[8\D=^>ZHN#N6W)'OCHJ[8\D=^>ZHN#N6W)'OCHJ[ +M8\7=EJY:.J#+%PKNMN2[D^+N5'&W)=^=%'>GBKLM^>ZDN#M5W&W)=R?%W:GB +M;DN^.RGN3A5W6_+=27%WJKC;DN].BKM3R1WY[JRX.Y?<D>_.BKMSR1WY[JRX +M.Y?<D>_.BKMSR1WY[JRX.Y?<D>_.BKMSR1WY[JRX.Y?<D>_.BKMSQ=T$5]G= +M#^"%@KL)?&<J.+0J./0)?&<J.+1UQ=T$OK.UX,YR?W?!W02^,]7?6=G?3>`[ +M4_V=E?W=!+XSU=]9V=]-X#M3_9V5_=T$OC/5WUG9WTW@.U/]G97]W02^,]7? +M6=G?3>`[4_V=E?W=!+XSU=]9V=]-X#M3_9V5_=T$OC/5WUG9WTW@.U/]G97] +MW4Q7J?[.ROYN)M^I_L[*_FXFWZG^SLK^;B;?J?[.ROYN)M^I_L[*_FXFWZG^ +MSLK^;B;?J?[.ROYN)M^I_L[*_FXFWZG^SLK^;B;?J?[.ROYN)M^I_L[*_FXF +MWZG^SLK^;B;?J?[.ROYN)M^I_L[*_FXFWZG^SLK^;B;?J?[.ROYN1U>I_L[* +M_FY'OE/]G97]W8Y\I_H[*_N['?E.]7=6]G<[\IWJ[ZSL[W;D.]7?6=G?[<AW +MJK^SLK_;D>]4?V=E?[<CWZG^SLK^;D>^4_V=E?W=CGRG^CLK^[L=^4[U=U;V +M=SORG>KOK.SO=N0[U=]9V=_MR'>JO[.RO]N1[U1_9V5_MZ>K5']G97^W)]^I +M_L[*_FY/OE/]G97]W9Y\I_H[*_N[/?E.]7=6]G=[\IWJ[ZSL[_;D.]7?6=G? +M[<EWJK^SLK_;D^]4?V=E?[<GWZG^SLK^;D^^4_V=E?W=GGRG^CLK^[L]^4[U +M=U;V=WORG>KOK.SO]N0[U=]9V=_MR7>JO[.ROSO05:J_L[*_.Y#O5']G97]W +M(-^I_L[*_NY`OE/]G97]W8%\I_H[*_N[`_E.]7=6]G<'\IWJ[ZSL[P[D.]7? +M6=G?'<AWJK^SLK\[D.]4?V=E?W<@WZG^SLK^[D"^4_V=E?W=@7RG^CLK^[L# +M^4[U=U;V=P?RG>KOK.SO#N0[U=]9V=\=Z2K5WUG9WQW)=ZJ_L[*_.Y+O5']G +M97]W)-^I_L[*_NY(OE/]G97]W9%\I_H[*_N[(_E.]7=6]G='\IWJ[ZSL[X[D +M.]7?6=G?'<EWJK^SLK\[DN]4?V=E?W<DWZG^SLK^[DB^4_V=E?W=D7RG^CLK +M^[LC^4[U=U;V=T?RG>KOK.SO3G25ZN^L[.].Y#O5WUG9WYW(=ZJ_L[*_.Y'O +M5']G97]W(M^I_L[*_NY$OE/]G97]W8E\I_H[*_N[$_E.]7=6]G<G\IWJ[ZSL +M[T[D.]7?6=G?G<AWJK^SLK\[D>]4?V=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG +M^CLK^[L3^4[U=U;V=V>Z2O5W5O9W9_*=ZN^L[._.Y#O5WUG9WYW)=ZJ_L[*_ +M.Y/O5']G97]W)M^I_L[*_NY,OE/]G97]W9E\I_H[*_N[,_E.]7=6]G=G\IWJ +M[ZSL[\[D.]7?6=G?G<EWJK^SLK\[D^]4?V=E?W<FWZG^SLK^[DR^4_V=E?W= +MF7RG^CNK^KM8PU5^]P-XX0%W=YRL^ASXSE5_YZF_6[6]U7J9`]^YZN\\]7>K +MQMWJZS('OG/5WWGJ[U:-N]6?RQSXSE5_YZF_@V<'OG/5WWGJ[V`.?.>JO_/4 +MW\$<^,Y5?^>IOX,Y\)VK_LY3?_>HS3WJ<^`[5_V=I_[N4;N]1YT[\)VK_LY3 +M?_>H<?>H<P>^<]7?>>KO'C7N'G7NP'>N^CM/_1T\._"=J_[.4W\'<^`[5_V= +MI_X.YL!WKOH[3_W=Y1R=?^>JO_/4WSUN<X_['/E.]7>>^KO'C;O'"W=T_IVK +M_LY3?_>X<?=XX8[.OW/5WWGJ[QXW[AXOW-'Y=Z[Z.T_]'3P[\IWJ[SSU=S!' +MOE/]G:?^#N;(=ZJ_\]3?P1SY3O5WGOJ[)VWN29\CWZG^SE-_]Z1Q]Z1S1[Y3 +M_9VG_NY)X^Y)YXY\I_H[3_W=D\;=D\X=^4[U=Y[Z.WAVY#O5WWGJ[V".?*?Z +M.T_]'<R1[U1_YZF_NYRC\^]<]7>>^KNG;>YIGR/?J?[.4W_WM''W=.&.SK]S +MU=]YZN^>-NZ>+MS1^7>N^CM/_=W3QMW3A3LZ_\Y5?^>IOX-G1[Y3_9VG_@[F +MR'>JO_/4W\$<^4[U=Y[Z.Y@CWZG^SE-_]ZS-/>MSY#O5WWGJ[YXU[IYU[LAW +MJK_SU-\]:]P]Z]R1[U1_YZF_>]:X>]:Y(]^I_LY3?P?/CGRG^CM/_1W,D>]4 +M?^>IOX,Y\IWJ[SSU=Y=S=/Z=J_[.4W_WO,T][W/D.]7?>>KOGC?NGB_<T?EW +MKOH[3_W=\\;=\X4[.O_.57_GJ;][WKA[OG!'Y]^YZN\\]7?P[,AWJK_SU-_! +M'/E.]7>>^CN8(]^I_LY3?P=SY#O5WWGJ[UZTN1=]CGRG^CM/_=V+QMV+SAWY +M3O5WGOJ[%XV[%YT[\IWJ[SSU=R\:=R\Z=^0[U=]YZN_@V9'O5'_GJ;^#.?*= +MZN\\]7<P1[Y3_9VG_NYRCLZ_<]7?>>KO7K:YEWV.?*?Z.T_]W<O&W<N%.SK_ +MSE5_YZF_>]FX>[EP1^??N>KO//5W+QMW+Q?NZ/P[5_V=I_X.GAWY3O5WGOH[ +MF"/?J?[.4W\'<^0[U=]YZN]@CGRG^CM/_=VK-O>JSY'O5'_GJ;][U;A[U;DC +MWZG^SE-_]ZIQ]ZIS1[Y3_9VG_NY5X^Y5YXY\I_H[3_T=/#ORG>KO//5W,$>^ +M4_V=I_X.YLAWJK_SU-]=SM'Y=Z[Z.T_]W56;N^ISY#O5WWGJ[ZX:=U<+=W3^ +MG:O^SE-_=]6XNUJXH_/O7/5WGOJ[J\;=U<(=G7_GJK_SU-_!LR/?J?[.4W\' +M<^0[U=]YZN]@CGRG^CM/_1W,D>]4?^>IOWO=YE[W.?*=ZN\\]7>O&W>O.W?D +M.]7?>>KO7C?N7G?NR'>JO_/4W[UNW+WNW)'O5'_GJ;^#9T>^4_V=I_X.YLAW +MJK_SU-_!'/E.]7>>^KO+.3K_SE5_YZF_>]/FWO0Y\IWJ[SSU=V\:=V\6[NC\ +M.U?]G:?^[DWC[LW"'9U_YZJ_\]3?O6G<O5FXH_/O7/5WGOH[>';D.]7?>>KO +M8(Y\I_H[3_T=S)'O5'_GJ;^#.?*=ZN\\]7=OV]S;/D>^4_V=I_[N;>/N;>>. +M?*?Z.T_]W=O&W=O.'?E.]7>>^KNWC;NWG3ORG>KO//5W\.S(=ZJ_\]3?P1SY +M3O5WGOH[F"/?J?[.4W]W.4?GW[GJ[[SJ[X+.OW/5WWG5WP6=?^>JO_.JOPLZ +M_\Y5?^=5?Q=T_IVK_LZK_B[H_#M7_9U7_5W0^7>N^CNO^KN@\^]<]7=>]7=! +MY]^YZN\\]7?OV];[/D>^4_V=I_[N?>/N?>>.?*?Z.T_]W?O&W?O.'?E.]7>> +M^KOWC;OWG3ORG>KO//5W\.S(=ZJ_\]3?P1SY3O5WGOH[F"/?J?[.4W]W.4?G +MW\7=#^"%!]RMV]RZSX'OOE_%W$7J[]:-N_7"'9U_%ZJ_B]3?K1MWZX4[.O\N +M5'\7J;];-^[6"W=T_EVH_BY2?P?/#GP7JK^+U-_!'/@N5'\7J;^#.?!=J/XN +M4G\'<^"[4/U=I/[.VISU.?!=J/XN4G]GC3OKW('O0O5WD?H[:]Q9YPY\%ZJ_ +MB]3?6>/..G?@NU#]7:3^#IX=^"Y4?Q>IOX,Y\%VH_BY2?P=SX+M0_5VD_NYR +MCLZ_"]7?1>KOO,UYGR/?J?XN4G_GC3M?N*/S[T+U=Y'Z.V_<^<(=G7\7JK^+ +MU-]YX\X7[NC\NU#]7:3^#IX=^4[U=Y'Z.Y@CWZG^+E)_!W/D.]7?1>KO8(Y\ +MI_J[2/U=M+GH<^0[U=]%ZN^B<1>=._*=ZN\B]7?1N(O.'?E.]7>1^KMHW$7G +MCGRG^KM(_1T\._*=ZN\B]7<P1[Y3_5VD_@[FR'>JOXO4WUW.T?EWH?J[2/W= +MT.:&/D>^4_U=I/YN:-P-"W=T_EVH_BY2?S<T[H:%.SK_+E1_%ZF_&QIWP\(= +MG7\7JK^+U-_!LR/?J?XN4G\'<^0[U=]%ZN]@CGRG^KM(_1W,D>]4?Q>IOQO; +MW-CGR'>JOXO4WXV-N[%S1[Y3_5VD_FYLW(V=._*=ZN\B]7=CXV[LW)'O5'\7 +MJ;^#9T>^4_U=I/X.YLAWJK^+U-_!'/E.]7>1^KO+.3K_+E1_%ZF_V[2Y39\C +MWZG^+E)_MVG<;1;NZ/R[4/U=I/YNT[C;+-S1^7>A^KM(_=VF<;=9N*/S[T+U +M=Y'Z.WAVY#O5WT7J[V".?*?ZNTC]'<R1[U1_%ZF_@SGRG>KO(O5WVS:W[7/D +M.]7?1>KOMHV[;>>.?*?ZNTC]W;9QM^W<D>]4?Q>IO]LV[K:=._*=ZN\B]7?P +M[,AWJK^+U-_!'/E.]7>1^CN8(]^I_BY2?W<Y1^??A>KO(O5W4YN;^ASY3O5W +MD?J[J7$W+=S1^7>A^KM(_=W4N)L6[NC\NU#]7:3^;FK<30MW=/Y=J/XN4G\' +MSXY\I_J[2/T=S)'O5'\7J;^#.?*=ZN\B]7<P1[Y3_5VD_FYN<W.?(]^I_BY2 +M?S<W[N;.'?E.]7>1^KNY<3=W[LAWJK^+U-_-C;NY<T>^4_U=I/X.GAWY3O5W +MD?H[F"/?J?XN4G\'<^0[U=]%ZN\NY^C\NU#]7:3^[D.;^]#GR'>JOXO4WWUH +MW'U8N*/S[T+U=Y'ZNP^-NP\+=W3^7:C^+E)_]Z%Q]V'ACLZ_"]7?1>KOX-F1 +M[U1_%ZF_@SGRG>KO(O5W,$>^4_U=I/X.YLAWJK^+U-]];',?^QSY3O5WD?J[ +MCXV[CYT[\IWJ[R+U=Q\;=Q\[=^0[U=]%ZN\^-NX^=N[(=ZJ_B]3?P;,CWZG^ +M+E)_!W/D.]7?1>KO8(Y\I_J[2/W=Y1R=?Q>JOXO4WWUJ<Y_Z'/E.]7>1^KM/ +MC;M/"W=T_EVH_BY2?_>I<?=IX8[.OPO5WT7J[SXU[CXMW-'Y=Z'ZNTC]'3P[ +M\IWJ[R+U=S!'OE/]7:3^#N;(=ZJ_B]3?P1SY3O5WD?J[SVWN<Y\CWZG^+E)_ +M][EQ][ES1[Y3_5VD_NYSX^YSYXY\I_J[2/W=Y\;=Y\X=^4[U=Y'Z.WAVY#O5 +MWT7J[V".?*?ZNTC]'<R1[U1_%ZF_NYRC\^]"]7>1^KOK-G?=Y\AWJK^+U-]= +M-^ZN%^[H_+M0_5VD_NZZ<7>]<$?GWX7J[R+U=]>-N^N%.SK_+E1_%ZF_@V=' +MOE/]7:3^#N;(=ZJ_B]3?P1SY3O5WD?H[F"/?J?XN4G]WT^9N^ASY3O5WD?J[ +MF\;=3>>.?*?ZNTC]W4WC[J9S1[Y3_5VD_NZF<7?3N2/?J?XN4G\'SXY\I_J[ +M2/T=S)'O5'\7J;^#.?*=ZN\B]7<7<\,:KAKN?@`O/.#N+NC]TN?`=X/J[[Z_ +M\("[+XV[+^ME#GPWJ/YN2/W=EW9[7[XN<^"[0?5W0^KOOC3NOORYS('O!M7? +M#:F_@V='?]^V^BCZ"]_>I6_?_KBZ'1QO/]O!5^L=_%N_\.W?WCW\9QF\/9OG +M;PR.XVIW.?C?[0V/MV?SS,/J,-#[:O8S_89OEC?\<X[^KO=_\OR&W_S\MO3% +M]D_N<'OZS7<XW=[AN%T-XVK<K";_U3O\WW__GW2'/^=^VT?R<PYT\'#N[H:7 +MWSHOYF[NS?W0P?G>K[P/V^I@_0]^]W]\;^[ZW;W?PB?209_[(<X3O2#?[&_6 +MP71QY.3]S_GV+.=8K>_^UXT_'%P^WU6_/TK\'[S=O[B_U>7;O?TCQO;AK[=[ +M<UZ\W=7#N=L_8MS[/!]\A,73N[Z\._HK[O_)AW%Q<.(O?N7^&'GXE?MSSG^O +J".9;L_SX[70'_]8O?/OZ[N$_/P>'-OC;GN#P'9?U^H__!PSBQAVCJ``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow2.gz.uu new file mode 100644 index 0000000..be431e6 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-pc98.qcow2.gz +M'XL("&/N+50``VEM9RTV,W@R-34M-#`Y-BUP8SDX+G%C;W<R+F]U=`"MF-MR +MTS`00-_S%>(.!8*U*_G")2F%,L,;/`#/B9M\189O)XH42U[O6FU0XO$TH^Z9 +ME?9H(Z>J_$LIJY6IE>G4?JN.G\,%*ODPOM3AY[?OR_1U6'B8KH0H9J#9#;@1 +MZV_$@82K]'1`\[@D.V1P<(Z:@G(X(V8W-\#@KA:GI3L5HR41>`G0X\1B7)0? +M^/QHA+DP/RB='_+K9\]Q=*">SP]]?C2JD7!M%@=,5"?A-ED<,E%;"==G<8:) +MNI-PPLY-<):)V@LXG5'EB*N9*"WA((MKF"B4<":+:YDHR3N=]ZYCHB3O=-Z[ +M#1,E>:?SWFV9*,D[G?>N9Z(D[W3>NSLF2O(.!.]4Q.V8*,D[(-X]"KC'$;=G +MHB3O@'CW).">#CC-14G>`?'N6<`]CSBFWX'D'1#O7@3<RXAC^AU(W@'Q[E7` +M744<T^]`\@Z(=Z\#[DW$,?T.).^`>/=VXIUF^AU(WB'Q[EU@51'']#N4O$/B +MG0XXB#BFWZ'D'1+O,.!,Q#']#B7OD'AG`ZZ..*;?H>0=$N^:@&LCCNEW*'F' +MQ+LNX-Y''-/O4/(.B7<?`NYCQ#']#B7OD'CW*>!6$<?T.Y2\,\2[=<!=1QS3 +M[XSDG2'>?0ZXFXAC^IV1O#/$NR\!]W7``1<U>%=5_!5PMY,]"V7/GR:>CS5S +MEP=F@.U#@',9>EQ7=,+63]AIL&'N\L#A9CE^#\"3,`\`6JLV4^`O/V'KA>F, +MZ@TWK[!/M#SA=;I^MK0PUI6DZ/H!^X3V'QDVN\(9MOX'A\;M6UNK%NZ;X9_; +MWU.EC[AB)?$X^0>','!.>&BR$]PZP;DSRS[YSU0VU>O8X-._$]QJ&9O]$3?[ +M@X-[BMIQ`^)D;5E9VJ%=G:^TSN[P[IZQSM_?Y/`]U%?%_)AV!:/ISN2GIM-U +MYX+A^9W4P^$@,UTUQKES05K/40DSJ[>:9M<7+H:F.^.>.]=!QCO7XZ!L(^A. +CG>5HH.OBD[L\</BQ'+\]T`1@L14TM?MV6_P#%UJW"245```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-pc98.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-pc98.raw.gz.uu new file mode 100644 index 0000000..3e69394 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-pc98.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-pc98.raw.gz +M'XL("&3N+50``VEM9RTV,W@R-34M-#`Y-BUP8SDX+G)A=RYO=70`K91-CX,@ +M$(;O_HKWO`<#(U2]M$F3WO>RNV=K]%?XXY<O+2-^M`F@B!EX\@XSC!"^`8H@ +MNHUQWS#=2]ZGXJMP-#E^!M0:70K\,4"'(ZNO5>@5S&SUH!K=3":&J0SM%KXS +M3AIC"@J[=@T+KEQPP5V5^?Q('`KY7&$]9%;8.(6ZAM+0%S3TKL*_Q^]*H<=E +M"XG'T1EN%AR29P-WBW"5,8[1RCC9T$M40_B)YQ'NZM\9IX[4F9,0PY9AUUF= +M-UD:T_F^.,Z0`V0%T00;<>`27[STM:D,8NX>Z$/J;F=Q-5\O(QR=N`N.>UI< +M%$\6PI/3NZ;J^LS!D.N;\>;-M1!^<SV.\A:"UE46DX&VBB?COF'Z+GGW0!6` +0V4[05CXABG]2`B^9YP8````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhd.gz.uu new file mode 100644 index 0000000..056cb49 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-pc98.vhd.gz +M'XL("&3N+50``VEM9RTV,W@R-34M-#`Y-BUP8SDX+G9H9"YO=70`K9=-3^P@ +M%(;W\RM.XLY%0T^!,ALG,>K:Q.A=,[VM<7'5."Y<],?+*3"%TG8<+],.H0$> +MWO,!!,;L#T!6(#N0+4A!]9J#W$*M`$RC>W$H2_<)??/VVC:?+U^%^_4;"RM9 +M."H>3N.Q`FXFJ0$U32+_4AUZCRDN;I\O7_X]>QPZG)^82^`(PD!X,H]B1W5$ +MNKM^N)FJJU)UXR@[3]=!U04]JE!=4>Q"'#>C3']Z)71\D.G?Z"-J"'&1.L$F +MHP*9<TX-C)W#R;51Y^`N-RX6-E5,8M2F9"!+J)'J)FV\'Y+7I,K7X5U_'-J) +M/EQ(%1D$8]K&E\U%ERKH.SL%G`2NF0L#Y3#%S:3*?WE/QN.XJQ@G,.$;<#`_ +M]MZ(@E"?+-F*SY>#L:A/DSZSMIB>*9<;^NLB?H[`?7<>4`C0*?#1&]R0OBV' +MAL_YW2W9)&-&@W=Q?)N%[/MU?-O,_D.]*N1\A4IE5J@&A:*F#5U(4/A3A7]N +MGV96L-+90F)Q>`KG!8?[?8S;!;C*+KB1$B0;-"54K?L(ZP'NROX]CJ^IHUVA +MG6M8-%9D3A:M)N/".$/90ED!4ZX-8^`QOC#JVZ8R,#)W11^DYFK"U7'_,L#A +M"7,AQNW=R>M[1B$\X;VK5%V3.1C[Z<KXX<HE2+QR+0[S;@1ZV%E,!M(NGI3+ +M#?U]$3\6B.XPRG:ZH3L]LBGD#IA-(7?G1T:%NEE-MG.S4#J%F:X*A,MX52!< +CQJL"X3)>%0B7\:I`N(Q7!<)EO2I(<PED;/,-H6X,)U\.```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhdf.gz.uu new file mode 100644 index 0000000..8662222 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-pc98.vhdf.gz +M'XL("&3N+50``VEM9RTV,W@R-34M-#`Y-BUP8SDX+G9H9&8N;W5T`*V5.V^# +M,!#']WR*D[IE0'YCED2*FLZ5JK8SI2;*D';IT($/7QL;XL.01V5,B-'A'_][ +M^"#$'P""`:EGKLN&;E?@T:W6JYY&V_N`4D*=`E\ML,<QIZ\2T`BPL\D)O.UG +M-#%T13BVX7_`46M,06'5HF'$%2,NN"LRQX^1BT+N5UB:S`IUKU"6("1(!9K= +MJO!]_S91Z''94N)Q[!IN$!R*9P:WC7#<&MOHR;C8H*'`3;B)YQ%NXW\#3EQ2 +M9R-!S)QAT5F9MUBT'7A=G&>@!B@'HH.-8>"87SCKJU(9#+E[01^D[M8.5^+G +M:81C5]P%C/MPN"B?*(57HK=)U369DT&G.^/&G>L@>.=Z',O;"*J^L]@*=%T\ +MN2X;NN<"#P\4`9@M@CI\W10'U8(RH*2;EP)4!:6.@0Q74M=\?YGFY_@;9]CA +MJ&\&LZ=;S[C;+:H$5KN7J$\WC_0][`_KX^DPX(96-;Q8*!=T:2$B<5=C=Y]V +M+X]3=3P-DD;1HTYGW/:LXRAZVQ@G1F>-Z5L@/9_H!AEF6Y7#23)9]=_<>IS* +/7"KVP[OZ`WO*69D2"0`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-pc98.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-pc98.vmdk.gz.uu new file mode 100644 index 0000000..c3521af --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-pc98.vmdk.gz.uu @@ -0,0 +1,84 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-pc98.vmdk.gz +M'XL("&7N+50``VEM9RTV,W@R-34M-#`Y-BUP8SDX+G9M9&LN;W5T`*U<78_< +MQA%\]Z\8G-_RL&`MOY8/LA-'#A`$`8S8L5]#+LGX$%L23H<@`O;'AT-.S16Y +MI$C[^K0GL,7NVNZ>W;Y3=6&39/IR+FM<EKFL=7GA$KCAGZ:'2](78WAD\<;M +M;V___N.)7W\\G6Y?3&#P41*"1.'$F#W/[;3X(MSY<U&S&\/CO`N7^JCF+C#` +MG3=N;,(-_7#GM1!F5X^W6W\A<"X"N1E<OE+39K&?R^X/7X3F^?Q2G\-PO$7E +MRM0533!=D8]VZLKS>"]QY>#4#X!?NK>/'__CWG8?KT^/'Y[?A_S._FP'YZSP +M_L75(PR%E86_\#<\7.4ABLZEK4OA;[O;TU\>?^E._^V>/CZ^?_<&+/?LSS9+ +M75;Y=+Q_\O*8&?Y)$E?`/X>[_?FO;]^$5VYR^E`_$<Y'#8D,SSW4H;A%X?SW +M_6/,KGOW[!'[\!6S\V<;FI./SYWYBSQS9>7&='*/?1YNMZ'DL7?7IZY^[G[X +M]*%[\_#K^W>Q=_YL?<NJ$>@R-BIU>>JA0FF^?;E']"^;\=3<[9?'YY\?K]\/ +M97[L'DY?.L(5OG?#`5Y"7E/50TBQ>;)#VK=O__<\U.O:<+*/A!N3&(L8GCL_ +MN[ST6,,!ID/OTM2E%Y>.\$/"0R49O).[O7]W^L=/#D5ZR=SWW_WI'X2[#'"# +MYY#@$#(4-*LIG^K/ER]+=_O^6_?@B_SAYVY\!1*NFMYFWGDZ!XSFV5^$KDWP +M?HAE_L9XLNYM_5R[;^J/W>G+MV^_B2=;^V*S\3&DUGF48H+VK^^QG4/CII.> +M#GH\BK9M3G5;?WCNGOSQQJ-H_*NU#97Z8\U>CG'^/.5X4KU_Q;C;&_?PV`YG +MZF'_W;W_E7#7Z64\Y.%?$M48F/J+X=4SPG?A&:97C#\F#]<]/WTZ73_]\OBN +M'=YH[@WAVJEW0SK#:4Y)Q9R62<6G'7KW@)?4!FS"=;Y%4U*7\,88L*8\7KJ0 +M#H_</T(7;I]./W=U.Z3E'LYY_A"/HE\>A;9HT87IH(=>3$<1$OMT^MA=`UR: +MA`/L9\V9<O(OY>&5/&4T'Z#/[Y_&U(KT0>=QNOQ9]MIYG-W]2"U_)^`$9YU? +MD>S]/.,CG0$Z`4M>\BM\?IEXYAI5B%'.X(;?)D[?#=__&KX_")Q_B5W$L]*H +M6HSF2/<*__/B*IZM1G5B](?@LM`B_H("N1Z;2B/5&Q'.+7J7A][1,]>H0HQR +M!K?5NR+TCIZ51M5B-*O9+8LM0^_HV6I4)T9_".X2>L=?P"#78^]HI,G:;WG+ +MWE6A=_3,-:H0HYS!;?6N#KVC9Z51M1C-:G;+8IO0.WJV&M6)T1^"NX;><:Q` +MKL?>T4CUQF;OVM`[>N8:58A1SN"V>M>%WM&STJA:C&8UNV6Q?>@=/5N-ZL3H +MC\"52>A=)KWC]=@[&JG>V.I=R7E'SURC"C'*&=Q&[TK..WI6&E6+T:QFMRR6 +M\XZ>K49U8O2'X#CO<ND=K\?>T4CUQF;O.._HF6M4(48Y@]OJ'><=/2N-JL5H +M5K-;%LMY1\]6HSHQ^D-PG'>%]([78^]HI'ICLW><=_3,-:H0HYS!;?6.\XZ> +ME4;58C2KV2V+Y;RC9ZM1G1C](3C.._[J!+D>>T<CU1N;O>.\HV>N4848Y0QN +MJW><=_2L-*H6HUG-;EDLYQT]6XWJQ.B/P%V2T+N+]([78^]HI'ICJW<7SCMZ +MYAI5B%'.X#9Z=^&\HV>E4;48S6IVRV(Y[^C9:E0G1G\(CO.NDM[Q>NP=C51O +M;/:.\XZ>N4858I0SN*W><=[1L]*H6HQF-;MEL9QW]&PUJA.C/P3'><?_>$&N +MQ][12/7&9N\X[^B9:U0A1CF#V^H=YQT]*XVJQ6A6LUL6RWE'SU:C.C'Z0W"< +M=V0M(==C[VBD>F.S=YQW],PUJA"CG,%M]8[SCIZ51M5B-*O9+8OEO*-GJU&= +M&/T1N"H)O;M*[W@]]HY&JC>V>E=QWM$SUZA"C'(&M]&[BO..GI5&U6(TJ]DM +MB^6\HV>K49T8_2$XSKM6>L=KLMJQ=^T=W+)WG'?TS#6J$*.<P6WUCO..GI5& +MU6(TJ]DMB^6\HV>K49T8_2$XSKM.>L?KL7<T4KVQV3O..WKF&E6(4<[@MGK' +M>4?/2J-J,9K5[);%<M[1L]6H3HS^$!SG72^]X_78.QJIWMCL'><=/7.-*L0H +M9W!;O>.\HV>E4;48S6IVRV(Y[^C9:E0G1G\$KDZFWL6=&^3:]RX:J=[8ZET= +MYEWTS#6J$*.<P6WTK@[S+GI6&E6+T:QFMRPVS+OHV6I4)T9_""[,.PA_!^7O +M(/P==OF[.LP["'\'Y>\@_!UV^;LZS#L(?P?E[R#\W4IVRV+#O(/P=U#^#L+? +M'8`+\P["WT'Y.PA_AUW^K@[S#L+?0?D["'^'7?ZN#O,.PM]!^3L(?[>2W;+8 +M,.\@_!V4OX/P=P?@PKR#\'=0_@["WV&7OZO#O(/P=U#^#L+?89>_J\.\@_!W +M4/X.PM^M9+<L-LP["'\'Y>\@_-T^7).$W@E_!^7O(/P==OF[AO-.^#LH?P?A +M[[#+WS6<=\+?0?D["'^WDMVR6,X[X>^@_!V$OSL`QWDG_!V4OX/P=]CE[QK. +M.^'OH/P=A+_#+G_7<-X)?P?E[R#\W4IVRV(Y[X2_@_)W$/[N`!SGG?!W4/X. +MPM]AE[]K..^$OX/R=Q#^#KO\7<-Y)_P=E+^#\'<KV2V+Y;P3_@[*WT'XNP-P +MG'?"WT'Y.PA_AUW^KN&\$_X.RM]!^#OL\G<-YYWP=U#^#L+?K62W+);S3O@[ +M*'\'X>_VX:Y)Z)WP=U#^#L+?89>_NW+>"7\'Y>\@_!UV^;LKYYWP=U#^#L+? +MK62W+);S3O@[*'\'X>\.P''>"7\'Y>\@_!UV^;LKYYWP=U#^#L+?89>_NW+> +M"7\'Y>\@_-U*=LMB.>^$OX/R=Q#^[@`<YYWP=U#^#L+?89>_NW+>"7\'Y>\@ +M_!UV^;LKYYWP=U#^#L+?K62W+);S3O@[*'\'X>\.P''>"7\'Y>\@_!UV^;LK +MYYWP=U#^#L+?89>_NW+>"7\'Y>\@_-U*=LMB.>^$OX/R=Q#^;A^N34+OA+^# +M\G<0_@Z[_%W+>2?\'92_@_!WV.7O6LX[X>^@_!V$OUO);EDLYYWP=U#^#L+? +M'8#CO!/^#LK?0?@[[/)W+>>=\'=0_@["WV&7OVLY[X2_@_)W$/YN);MEL9QW +MPM]!^3L(?W<`CO-.^#LH?P?A[[#+W[6<=\+?0?D["'^'7?ZNY;P3_@[*WT'X +MNY7LEL5RW@E_!^7O(/S=`3C..^'OH/P=A+_#+G_7<MX)?P?E[R#\'7;YNY;S +M3O@[*'\'X>]6LEL6RWDG_!V4OX/P=_MP73+U+DKP(->CC)%&JC=N8].&;S=\ +M)^X%+LR[547?RC_%WKGU[.ZT^,?@[HN=Y(88Y89Q$S&5^_L`)SAC.20NH>O[ +M@$?DD(CK<CY>)8=$7)?S\2HY).*ZG(]7R2$1U^4F<DC$=;F)'!)Q76XBAT1< +MEYO((1'7Y29R2,1UN8D<$G%=;B*'1%R7F\@A$=?E)G)(Q'6YB1P2<5UN(H=$ +M7)>;R"$1U^4F<DC$=;F)'!)Q76XBAT1<EYO((1'7Y29R2,1UN8D<$G%=;B*' +M1%R7F\@A$=?E)G)(Q'6YB1P2<5UN(H=$7)>;R"$1U^4F<DC$=;F)'!)Q76XB +MAT1<EYO((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T< +M$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P2 +M7)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)< +ME]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7 +MV\@A$=?ER4OO?K\<$G%=3L]7R2$1U^7T?)4<$G%=3L]7R2$1U^4F<DC$=;F) +M'!)Q76XBAT1<EYO((1'7Y29R2,1UN8D<$G%=;B*'1%R7F\@A$=?E)G)(Q'6Y +MB1P2<5UN(H=$7)>;R"$1U^4F<DC$=;F)'!)Q76XBAT1<EYO((1'7Y29R2,1U +MN8D<$G%=;B*'1%R7F\@A$=?E)G)(Q'6YB1P2<5UN(H=$7)>;R"$1U^4F<DC$ +M=;F)'!)Q76XBAT1<EYO((<%UN8T<$ER7V\@AT9G*(=&9RB'1F<HAT9G*(=&9 +MRB'1F<HAT9G*(=&9RB'1F<HAT9G*(=&9RB'1F<HAT9G*(=&9RB'1)XFA'!*] +MJ1P2O:D<$KVI'!*]J1P2O:D<$KVI'!*]J1P2O:D<$KVI'!*]J1P2O:D<$KVI +M'!*]J1P2O:D<$KVI'/*<)(FA'/*<F,HAS_<?37P,[K[826Z8C>5.GUUZ__?V +MC=LWI_F?"(C^MP'FN:OO`?\9"L[&3Q.N,G?-UNI*I^/$=L%?S_J7G8WEFEEF +MW+\B^6PBOSW#LC/.\#)FF)?^@W;SPEW.1S/\Z=L?%QE.<&9',L'MOD,B#]IO +MP7TM</XW@EX\9Y\%?H5+.8WU6N"^FKX)EWTN.UU1'2O6^,.[+\EE$:?G['_R +M>$*0_\\[SP'C^;J7_*K[-,ZS<C^3G[LOU__4U8^OU?.8#>J-<MT<SO_4U?.< +M'>%.][ZZS^YJ?!A8OC,.OG,]R/R=.\&=;0=!-4Z62?=Q__?VC=MWI_F?"3`+ +3@&8=S/Q'DR1?_!^)[K:L<6`````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.qcow.gz.uu new file mode 100644 index 0000000..50e4d02 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-vtoc8.qcow.gz +M'XL(",PS(E0``VEM9RTV,W@R-34M-#`Y-BUV=&]C."YQ8V]W+F]U=`"MG<EN +M'%<21??^BM(L49)5$?%RTDAT-PSTH@$W^@><0]4ZT:M>^..;DMX@1MZK\"03 +M!@4Z+XI/AT>R??!X/G_]<3IU<DK]*4VGZW*Z^WE^D],W/[G_=OKUWS_]\\=O +M?_SZP]<Q.7_GJ7L_E],PGJ8\=V_K?VU./S^UGLY3./?E3=#<-Z_.?O.KN_?) +M'N=N?OCZR>+G]+<-GMSKD]]Q>E_>#+Z^<YU3^%1B<]V]N=L\]W.=^XM/3\GI +M];]M\!=W>OI[3R]Z?799X7,#&QSO#>[N]=EE@T]-;&[^+LQVN<"G%C:W!G-7 +M^-3&YB[?G[OBIZYX3K[SB_%U#OW:2OEZ/WY`X=RISJ&O#"E?3\</I'MSYSQW +M6^?05X:4KZ?C!_I[<S__6(`N<PD^1;B3B+MK!Y\BW$G$W;6'3Q'N).+N.L"G +M"'<2<C?"IPAW&G(WP:<(=QIR-\.G"'<:<K?`IPAW&G*'?*>,.PVY0[Y3QIV& +MW"'?*>-.0^Z0[Y1QIP%W"?Y>IHP["[A+\/<R8]Q9P%V"?Q(PQIT%W"7X)P%C +MW%G`73HCWQGCS@+NTAGYSAAW%G"7SLAWQKBS@+MT1KXSQIV%W"'?&>,NA=PA +MWR7&70JY0[Y+C+L4<H=\EQAW*>0.^2XQ[E+('?)=8MRED#ODN\2X2R%WR'>) +M<9<B[@0_1;CK(NX$^:YCW'41=X)\US'NNH@[0;[K&'==Q)T@WW6,NR[B3I#O +M.L9=%W$GR'<=XZZ+N!/DNXYQUX7<(=]UC+L^Y`[YKF?<]2%WR'<]XZX/N4.^ +MZQEW?<@=\EW/N.M#[I#O>L9='W*'?-<S[OJ0.^2[GG'71]PI?HIP-T3<*?+= +MP+@;(NX4^6Y@W`T1=XI\-S#NAH@[1;X;&'=#Q)TBWPV,NR'B3I'O!L;=$'&G +MR'<#XVX(N4.^&QAW8\@=\MW(N!M#[I#O1L;=&'*'?#<R[L:0.^2[D7$WAMPA +MWXV,NS'D#OEN9-R-(7?(=R/C;HRX,_P4X:[\YWD^AWPW,>ZFB#M#OIL8=U/$ +MG2'?38R[*>+.D.\FQMT4<6?(=Q/C;HJX,^2[B7$W1=P9\MW$N)M"[I#O)L;= +M''*'?#<S[N:0.^2[F7$WA]PAW\V,NSGD#OEN9MS-(7?(=S/C;@ZY0[Z;&7=S +MR!WRW<RXFR/N$GZ*<%?^-RF?0[Y;&'=+Q%U"OEL8=TO$74*^6QAW2\1=0KY; +M&'=+Q%U"OEL8=TO$74*^6QAW2\1=0KY;&'=+R!WRW<*X6T/ND.]6QMT:<H=\ +MMS+NUI`[Y+N5<;>&W"'?K8R[->0.^6YEW*TA=\AW*^-N#;E#OEL9=VO$78>? +M(MQM$7<=\MW&N-LB[CKDNXUQMT7<=<AW&^-NB[CKD.\VQMT6<=<AWVV,NRWB +MKD.^VQAW6\1=AWRW,>ZVD#ODNXUQ=PFY0[Z[,.XN(7?(=Q?&W27D#OGNPKB[ +MA-PAWUT8=Y>0.^2["^/N$G*'?'=AW%U"[I#O+HR[2\1=CY\BW%TC[GKDNROC +M[AIQUR/?71EWUXB['OGNRKB[1MSUR'=7QMTUXJY'OKLR[JX1=SWRW95Q=XVX +MZY'OKHR[:\@=\MV5<"?E'3X'?"=GPIV<0^Z`[^1,N)-SR!WPG9P)=W(.N0.^ +M$];?2=3?I1[X3EA_)U%_EWK@.V']G43]7>J![X3U=Q+U=W?_E@*?(MQ%_5T: +M@.^$]7<2]7=I`+X3UM])U-^E`?A.6'\G47^7!N`[8?V=1/U=&H#OA/5W$O5W +M:0"^$];?2=3?I0'X3EA_)U%_EP;@.V']G43]71J0[UA_)U%_EP;D.];?2=3? +MI0'YCO5W$O5W:4"^8_V=1/U=&I#O6'\G47^7!N0[UM])U-^E`?F.]7<2]G<C +M?HIP%_9W(_(=Z^\D[.]&Y#O6WTG8WXW(=ZR_D["_&Y'O6'\G87\W(M^Q_D[" +M_FY$OF/]G83]W8A\Q_H["?N[$?F.]7<2]G<C\AWK[R3L[T;D.];?2=C?C<AW +MK+^3L+\;D>]8?R=A?S<BW['^3L+^;D2^8_V=A/W=B'S'^CL)^[L)/T6X"_N[ +M"?F.]7<2]G<3\AWK[R3L[R;D.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^ +M3L+^;D*^8_V=A/W=A'S'^CL)^[L)^8[U=Q+V=Q/R'>OO).SO)N0[UM])V-]- +MR'>LOY.POYN0[UA_)V%_-R'?L?Y.POYN0KYC_9V$_=V,GR+<A?W=C'S'^CL) +M^[L9^8[U=Q+V=S/R'>OO).SO9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_-R/? +ML?Y.POYN1KYC_9V$_=V,?,?Z.PG[NQGYCO5W$O9W,_(=Z^\D[.]FY#O6WTG8 +MW\W(=ZR_D["_FY'O6'\G87\W(]^Q_D["_F[!3Q'NPOYN0;YC_9V$_=V"?,?Z +M.PG[NP7YCO5W$O9W"_(=Z^\D[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W +M(-^Q_D["_FY!OF/]G83]W8)\Q_H["?N[!?F.]7<2]G<+\AWK[R3L[Q;D.];? +M2=C?+<AWK+^3L+];D.]8?R=A?[?BIPAW87^W(M^Q_D["_FY%OF/]G83]W8I\ +MQ_H["?N[%?F.]7<2]G<K\AWK[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A +M?[<BW['^3L+^;D6^8_V=A/W=BGS'^CL)^[L5^8[U=Q+V=ROR'>OO).SO5N0[ +MUM])V-^MR'>LOY.PO]OP4X2[L+_;D.]8?R=A?[<AW['^3L+^;D.^8_V=A/W= +MAGS'^CL)^[L-^8[U=Q+V=QOR'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_ +M)V%_MR'?L?Y.POYN0[YC_9V$_=V&?,?Z.PG[NPWYCO5W$O9W&_(=Z^\D[.\V +MY#O6WTG8WUWP4X2[L+^[(-^Q_D["_NZ"?,?Z.PG[NPOR'>OO).SO+LAWK+^3 +ML+^[(-^Q_D["_NZ"?,?Z.PG[NPOR'>OO).SO+LAWK+_3\HZ;.[4YX+N[IS!W +MZOJ[<M_?J7$'?*>LOU/7WYTR=Z?&'?"=LOY.77]WRMR=&G?`=\KZ.W7]W6D_ +MG!WPG;+^3EU_5\^NS0'?*>OOU/5W8`[X3EE_IZZ_.\ZA^^^4]7?J^KLR]Z#- +M`=\IZ^_4]7</RESE#MU_IZR_4]??/<C</:C<H?OOE/5WZOJ[!YF[!Y4[=/^= +MLOY.77_W8#^<'?"=LOY.77]7SZ[-`=\IZ^_4]7=@#OA.67^GKK\#<\!WROH[ +M=?U=F7O8YI#O6'^GKK][6.8:=\AWK+]3U]\]S-P];-PAW['^3EU_]S!S][!Q +MAWS'^CMU_=W#_7!VR'>LOU/7W]6S:W/(=ZR_4]??@3GD.];?J>OO#G/=&3]% +MN'/]79E[U.:0[UA_IZZ_>U3F3G4.^8[U=^KZNT>9NT>W=0[YCO5WZOJ[1YF[ +M1[_4.>0[UM^IZ^\>[8>S0[YC_9VZ_JZ>79M#OF/]G;K^#LPAW['^3EU_!^:0 +M[UA_IZZ_*W./VQSR'>OOU/5WC\M<XP[YCO5WZOJ[QYF[QXT[Y#O6WZGK[QYG +M[AXW[I#O6'^GKK][O!_.#OF.]7?J^KMZ=FT.^8[U=^KZ.S"'?,?Z.W7]W7$. +MW7^GK+]3U]^5N2=M#OF.]7?J^KLG9:YRA^Z_4];?J>OOGF3NGE3NT/UWROH[ +M=?W=D\S=D\H=NO].67^GKK][LA_.#OF.]7?J^KMZ=FT.^8[U=^KZ.S"'?,?Z +M.W7]'9A#OF/]G;K^KLP];7/(=ZR_4]??/2USC3OD.];?J>OOGF;NGC;ND.]8 +M?Z>NOWN:N7O:N$.^8_V=NO[NZ7XX.^0[UM^IZ^_JV;4YY#O6WZGK[\`<\AWK +M[]3U=\<Y=/^=LOY.77]7YIZU.>0[UM^IZ^^>E;G*';K_3EE_IZZ_>Y:Y>U:Y +M0_??*>OOU/5WSS)WSRIWZ/X[9?V=NO[NV7XX.^0[UM^IZ^_JV;4YY#O6WZGK +M[\`<\AWK[]3U=V`.^8[U=^KZNS+WO,TAW['^3EU_][S,->Z0[UA_IZZ_>YZY +M>]ZX0[YC_9VZ_NYYYNYYXP[YCO5WZOJ[Y_OA[)#O6'^GKK^K9]?FD.]8?Z>N +MOP-SR'>LOU/7WQWGT/UWROH[=?U=F7O1YI#O6'^GKK][4>8J=^C^.V7]G;K^ +M[D7F[D7E#MU_IZR_4]??O<C<O:C<H?OOE/5WZOJ[%_OA[)#O6'^GKK^K9]?F +MD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[\K<39M#OF/]G;K^[J;,->Z0[UA_ +MIZZ_N\G<W33ND.]8?Z>NO[O)W-TT[I#O6'^GKK^[V0]GAWS'^CMU_5T]NS:' +M?,?Z.W7]'9A#OF/]G;K^[CB'[K]3UM^IZ^_*W,LVAWS'^CMU_=W+,E>Y0_?? +M*>OOU/5W+S-W+RMWZ/X[9?V=NO[N9>;N9>4.W7^GK+]3U]^]W`]GAWS'^CMU +M_5T]NS:'?,?Z.W7]'9A#OF/]G;K^#LPAW['^3EU_5^9>M3GD.];?J>OO7I6Y +MQAWR'>OOU/5WKS)WKQIWR'>LOU/7W[W*W+UJW"'?L?Y.77_W:C^<'?(=Z^_4 +M]7?U[-H<\AWK[]3U=V`.^8[U=^KZN^,<NO].67^GKK\K<Z_;'/(=Z^_4]7>O +MRUSE#MU_IZR_4]??O<[<O:[<H?OOE/5WZOJ[UYF[UY4[=/^=LOY.77_W>C^< +M'?(=Z^_4]7?U[-H<\AWK[]3U=V`.^8[U=^KZ.S"'?,?Z.W7]79G[L<TAW['^ +M3J/^KD/WWRGK[S3J[SIT_YVR_DZC_JY#]]\IZ^\TZN\Z=/^=LOY.H_ZN0_?? +M*>OO-.KO.G3_G;+^3J/^KD/WWRGK[Y3T=V_:'/(=Z^_4]7=ORESE#MU_IZR_ +M4]??O<G<O:G<H?OOE/5WZOJ[-YF[-Y4[=/^=LOY.77_W9C^<'?(=Z^_4]7?U +M[-H<\AWK[]3U=V`.^8[U=^KZ.S"'?,?Z.ROON+ESFP.^,];?W7W@'G?%3^?& +M'?"=L?[.7']WSGOGQAWPG;'^SEQ_=\[<G1MWP'?&^CMS_=UY/YP=\)VQ_LY< +M?U?/KLT!WQGK[\SU=V`.^,Y8?V>NOSO.H?OOC/5WYOJ[,B=M#OC.6']GKK^3 +M,E>Y0_??&>OOS/5WDE^>5.[0_7?&^CMS_9UD[J1RA^Z_,];?F>OO9#^<'?"= +ML?[.7']7SZ[-`=\9Z^_,]7=@#OC.6']GKK\#<\!WQOH[<_U=F=,VAWS'^CMS +M_9V6N<8=\AWK[\SU=YJYT\8=\AWK[\SU=YJYT\8=\AWK[\SU=[H?S@[YCO5W +MYOJ[>G9M#OF.]7?F^CLPAWS'^CMS_=UQ#MU_9ZR_,]??E3EK<\AWK+\SU]]9 +MF:O<H?OOC/5WYOH[R]Q9Y0[=?V>LOS/7WUGFSBIWZ/X[8_V=N?[.]L/9(=^Q +M_LY<?U?/KLTAW['^SEQ_!^:0[UA_9ZZ_`W/(=ZR_,]??E;G4YI#O6']GKK]+ +M9:YQAWS'^CMS_5W*W*7&'?(=Z^_,]7<I<Y<:=\AWK+\SU]^E_7!VR'>LOS/7 +MW]6S:W/(=ZR_,]??@3GD.];?F>OOCG/H_CMC_9VY_J[,=6T.^8[U=^;ZNZ[, +M5>[0_7?&^CMS_5V7N>LJ=^C^.V/]G;G^KLO<=94[=/^=L?[.7'_7[8>S0[YC +M_9VY_JZ>79M#OF/]G;G^#LPAW['^SEQ_!^:0[UA_9ZZ_*W-]FT.^8_V=N?ZN +M+W.-.^0[UM^9Z^_ZS%W?N$.^8_V=N?ZNS]SUC3OD.];?F>OO^OUP=LAWK+\S +MU]_5LVMSR'>LOS/7WX$YY#O6WYGK[XYSZ/X[8_V=N?ZNS`UM#OF.]7?F^KNA +MS%7NT/UWQOH[<_W=D+D;*G?H_CMC_9VY_F[(W`V5.W3_G;'^SEQ_-^R'LT.^ +M8_V=N?ZNGEV;0[YC_9VY_@[,(=^Q_LY<?P?FD.]8?V>NORMS8YM#OF/]G;G^ +M;BQSC3OD.];?F>OOQLS=V+A#OF/]G;G^;LS<C8T[Y#O6WYGK[\;]<';(=ZR_ +M,]??U;-K<\AWK+\SU]^!.>0[UM^9Z^^.<^C^.V/]G;G^KLQ-;0[YCO5WYOJ[ +MJ<Q5[M#]=\;Z.W/]W92YFRIWZ/X[8_V=N?YNRMQ-E3MT_YVQ_LY<?S?MA[-# +MOF/]G;G^KIY=FT.^8_V=N?X.S"'?L?[.7'\'YI#O6']GKK\K<V_;'/(=Z^_, +M]7=ORUSC#OF.]7?F^KNWF;NWC3OD.];?F>OOWF;NWC;ND.]8?V>NOWN['\X. +M^8[U=^;ZNWIV;0[YCO5WYOH[,(=\Q_H[<_W=<0[=?V>LOS/7WY6Y=VT.^8[U +M=^;ZNW=EKG*'[K\SUM^9Z^_>9>[>5>[0_7?&^CMS_=V[S-V[RAVZ_\Y8?V>N +MOWNW'\X.^8[U=^;ZNWIV;0[YCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?ZNS+UO +M<\AWK+\SU]^]+W.-.^0[UM^9Z^_>9^[>-^Z0[UA_9ZZ_>Y^Y>]^X0[YC_9VY +M_N[]?C@[Y#O6WYGK[^K9M3GD.];?F>OOP!SR'>OOS/5WQSET_YVQ_LY<?U?F +M/K0YY#O6WYGK[SZ4N<H=NO_.6']GKK_[D+G[4+E#]]\9Z^_,]7<?,G<?*G?H +M_CMC_9VY_N[#?C@[Y#O6WYGK[^K9M3GD.];?F>OOP!SR'>OOS/5W8`[YCO5W +MYOJ[,O>QS2'?L?[.7'_WL<PU[I#O6']GKK_[F+G[V+A#OF/]G;G^[F/F[F/C +M#OF.]7?F^KN/^^'LD.]8?V>NOZMGU^:0[UA_9ZZ_`W/(=ZR_,]??'>?0_7?& +M^CMS_5V9^]3FD.]8?V>NO_M4YBIWZ/X[8_V=N?[N4^;N4^4.W7]GK+\SU]]] +MRMQ]JMRA^^^,]7?F^KM/^^'LD.]8?V>NOZMGU^:0[UA_9ZZ_`W/(=ZR_,]?? +M@3GD.];?I?*.F[MM<\!WB?5WR?5WMV6N<0=\=_<4YBZY_NXV<W?;N`.^2ZR_ +M2ZZ_N\W<W3;N@.\2Z^_J6YD[],;H_KOV5##WS8]??[CY,MB?/W\X]:=!3WWW +M^2WIJ;-32I_+CR\9Q08'?_KOY?*W__Q#[5_?OKX>W;GTYU[???;D^X/CZ3R= +MS@H'O\Y]P]X4SGWO]7V=0]_K_4_,H>_U#N<^4W?W!YB[WS(N;NZ7;^;0]WK_ +M,[\8QZLYRA]3SO8'/MUZ-8>U?_CZY;>M.[N0.6ESG_Q<^W35/:6G]CQX=2?X +MZMJ7VG+W;X5V_ZGO?K)_1W/H6]O_<530U1QX;IM/RQTG<KJN?`Y=S?%G4!F^ +F#'Z6Y@S^SC_PZ\\_WO_KZV#*@W_9*TQW7CF??_@_"8E_G;^F```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.qcow2.gz.uu new file mode 100644 index 0000000..32a7f31 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-vtoc8.qcow2.gz +M'XL(",0[(U0``VEM9RTV,W@R-34M-#`Y-BUV=&]C."YQ8V]W,BYO=70`K9C; +M;M-`$(;O\Q3+J4"!DIW9=6Q.A1XB<8$$X@6(8_L!N$/*P[.Q-QE[/.--(J=6 +MI-3]/\VNO_ZUNUQV+V.\-2XSKC!-:<+G>(#I?1@>9O=K_?VF_]HM.IA=*JG1 +M"6M6Q1$W8/TC'&BX$!>^)>)ZTZ&`@T-J#$KAG#K=U`D!=[UHMZZ]&#E+X"7` +M#J=>C(OF@VX^GG`7S@=SSX?R_OD+Y\/YY\-Z*L<'SU+S82.D5AHN3^&<E"HT +MW":)LT*JU'#;)`Z$5*7AZB0.A52CX&Q2%>>$E-5PD,1Y(84:SB5QF9#R&B[I +MG5L)*<T[F_8N%U*:=S;M72&D-.]LVKN-D-*\LVGO2B&E>0>*=X9P6R&E>0?, +MNR<1]Y1PE9#2O`/FW;.(>TZX6DAIW@'S[D7$71%.Z#O0O`/FW<N(>W7$>2FE +M>0?,N]<1=TTXH>]`\PZ8=V\B[BWAA+X#S3M@WKT;>>>%O@/-.V3>O8^L)>&$ +MOD/-.V3>V8@#P@E]AYIWR+S#B'.$$_H.->^0>><C+B.<T'>H>8?,NU7$Y803 +M^@XU[Y!Y5T3<!\()?8>:=\B\^QAQGP@G]!UJWB'S[G/$?2&<T'>H>>>8=[<1 +M]Y5P0M\YS3O'O/L6<7>$$_K.:=XYYMU]Q#T03N@[IWGGF'>/$;<F7#/K_:>C +M^W<KO.LG)H#Y^4#UCV/`%;,NV'<+#AN]`I/Y_1&4\+B_DJ&3]@WC*A&X_EO7 +M=[\?`'_TYO-S/Q!XVK_E8(,48-[>CH.V?WZP?T42-S5?A]O,M=P.5YZ*"_4= +M;NVKVM0UP_WIX;8S7PP[6FY]N//'"Y9K#\M%^N&F;;[0?PJN]\MVRW&T7&`I +M^D>-E:8SXG35$5=NJ?-.V;U["3?Y9'O^WIW<?-7&E,$3:YJMCH/)(<Y6)<M; +C8+AG"4_!XW?]Q.[GS?"K`[H(G&W"\(`67HO_;MD=L>$3```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.raw.gz.uu new file mode 100644 index 0000000..941ae5b --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-vtoc8.raw.gz +M'XL("`;&'50``VEM9RTV,W@R-34M-#`Y-BUV=&]C."YR87<N;W5T`*V206[# +M(!!%]S[%7W=A,8!MO*J45ME5JM0+U#9P@*PY?$AP0HRQXT0>T`AIYC_-%\-8 +M"$#6:#CJZG(E1R4@)00'A']I^);DPAU/QAS^OKGX*:_AB@`C7YSWCZK%@BN3 +M<,7'"%03':T#%5@+QK/`@&NCJGV*6YLOX+J][`9<OQ57^ZRA#8Q)</\/N&'G +MSZ"970,*#_&&7;K9%;'9VDL6=@E'$?>9XJ)=GJ@XHCXS';+3Z3NN'R#%5+5J +M]BN',[NN"MFM.-VA]WM"L,,RCJ\.\>JJ-%I=@97OZC)YN>!^R^D)P'X$[C4A +.-4K5C!5GC7NA2P,%```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhd.gz.uu new file mode 100644 index 0000000..7c4a413 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-vtoc8.vhd.gz +M'XL("`;&'50``VEM9RTV,W@R-34M-#`Y-BUV=&]C."YV:&0N;W5T`*V6S6[; +M,`S'[WD*`KOU8,B4+-NG`NO6VX`!>X')MEP4P]:AW:&'//Q(6XXE?ZU9F0B. +M#(D__2E1#)4:/P!6@^W!>K`%]TL#MH:R`J#!T'!XYN$5SNW3+]_^>7S-PN=\ +M&F&YBJU2<[9'#886*0$=+V([[L-YPF0?/C_<//Y\F'`8<-/"QH)!*`AB%NOD +M4*F+.B;=?_SV::E.+]7%5ORCH>]!]]$,':O+LML89\B*YG.ST(\RIY:\)`,Q +M+E%7J(55I'1K4R-GMW#VR.H:W,TIG,48*A08)3T5V!Q*Y#Z%S;0/JT:A\OKR +MVSV_^(4^W`D5>]&7K\;:?7<QA`I.DX,"BN7FT%T8*#^6N%6HO'/W;&IGTDV* +M7\89M#NJV'?7SKN'TZ91(]6J/#J,;/!7K7"H#JR.<#ON.G:7;BL%"">58KZV +M&@$T];K-_;M_]IXN+NHOB3ZW$RS_?1RN2NS^<=DJ4#4GL=WC</5L5;__[CHG +MY>Z(:]Z*HYRA.N@\>+_`?8]PK?!A-"MW_1#_:DB_5[O;3.[J>?)XKRBS[^"B +MO'R[Q+7)58L;PFR_H0XVU7477-."T:G5H;-W6S@O&BI-_U9<YZ"A.,FA/\C* +M[:&(:T,%0UX12U0HK5!WE>=A^BM7;N.Y/W#^FJ7?$6B"0C&7"2BKT`:@F$)+ +M1:2HPK*K4?24JZ!0J&YFG&#=S#C!NIEQ@G4SXP3K9L8)ULV,$ZV;"4BQ=_H+ +(%O'FLVP-```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhdf.gz.uu new file mode 100644 index 0000000..d5ecd33 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-vtoc8.vhdf.gz +M'XL("`?&'50``VEM9RTV,W@R-34M-#`Y-BUV=&]C."YV:&1F+F]U=`"ME+UN +MPR`4A?<\Q9&Z98C,C[$]1>I/MDJ5^@*U#409VDI5APY^^&*P8R#832-CA(C@ +M?)Q++C?+7`.X0$$A\KYSBIR!<S`*,#.3,%NBCN[PI=3]ZR-ESSO;NHV#$;-X +MN7]0S2YTNZAUF^T`+`,=60:6R"ID-`ETN&I257_BEOPY7+U6N`[77(L39I20 +M"DI%N#</UZ[\9Y"+<!6(F[`;PB5CN&S:K'4_,CV'(Q-N'^.F<&FDHICT"7=( +MNI-G7-."LU"U&.Q#"J=6316BK\7)&HW)$P+=SN/HHHG_IDHA2PO,S:XZ,<XO +M="^[\'/`9@"NY9"40^43#$)#*%O\&`H.4:$H?2`-\@9=^_FAVN_3CW>#%M=7 +M/I.]R=[KJ:FEYI`"M.X/$;*?>_[NGH[;T_MQQ-$AJO%@4Z//I3E^$F48[L$4 +MYM@=BR_)5[DW:'PR'3X:__;V/HZ?@S4%2#?6YMB#'\%"*OLL+L\BU<UOP^+$ +/RJEB<F_S"YNC6FHN!P`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vmdk.gz.uu new file mode 100644 index 0000000..06f3b92 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vmdk.gz.uu @@ -0,0 +1,83 @@ +# $FreeBSD$ +begin 644 img-63x255-4096-vtoc8.vmdk.gz +M'XL("`?&'50``VEM9RTV,W@R-34M-#`Y-BUV=&]C."YV;61K+F]U=`"M7%UO +MW<81?<^O(.P^%$4A<,BY).^#43=1`A1%@"`.VM?P8]D(36Q#%HH:T(_O+KEG +M=:A[Z66C<:A`XSMSM#/D/9+/'*@LUS]%H4.A6NA4G)JBE,+_U7H59?T4^&M, +M+SS^_?;[?]S0G\>O5C`)550B)<-1L/DZCS?/_@"N^E+5Y@5_55FXVK\HPT5A +MA*MV7MB%TS"[:R4X75_X!LHI?$)P;Q-0L8$[7>EIM]DOG>Y/7\7A^9>K.IS! +MW][F7+1UT0PQ+)K3$M=%6RVOE47KDV8/^+JXO?OT[^+6?1KO[SX^?(CGJ\*] +M]<G:A/QF#`B^L;8)GX07`MPY0#2NJ*>BEO!R\7C_W=VO[N8_[O[3W8?W;P3M +M5N'>:EWH.1PGY)=/UR8(7Z0L&@E?HWC\YF^W;^*36]Y\[.\!%ZK\0?S7]GTP +M;M,4X>/R6D[GWC\$Q#G^2:<+]S8.Y[1\;0V?G+1HS\5RG%/`KOS+4VQYF=UX +M[_H']]/GC^[-J]\^O$^S"_<VC.R\`'7+H.KB5`>HV%H8WRD@AL=FN6O%XZ]W +M#[_<C>]\FY_<JYO7!>":,#M_`[MXKK5K7]+LWEE_[,=O__O@^RVF>&?O`+<< +M8FG"?^U359S:@%7[\?DJ?Q]KWVP5_LH?V'>B$I**QP_O;W[\IQ^T^.C=#W_] +M$7"=A_.9_H"^Q#>TZ>FT]G]Z_E@6C^^^+5Z%)G_ZQ2U/(.#.X3%>D]?[($M8 +MA4_BU%;X0&(:7ECN;'';/_3%U_TG=_/Z]O;K=&?[T*PNES^:"RC-"AV>[V6< +M?G#KG5YO]'(KIFFXZ:?^XX.[#[<WW8HA/*U3[#3<5GVZC=NOTRYW:@Y/3/'X +MIGAU-_E[&F#_Y3[\!KAQ?8S].<(C<5X*Z_")?WH6>!>_POK$A-L4X-S#_>>; +M\?.O=^\G_T8KW@!N6F?GCU/7\5#I3,\/E;ZLG]VK^NEH'AMP+HQH/507WQ@> +M:SW'TQ3\LQ*>F#2%Q\\WO[A^\L<J7E6GTZMT*^;GMX)']&P*ZXWVLUAO13S8 +MYYM/;HQP=1EOX+P9SGJFHFZ>1K`ET(</]\O1&M\S\7']_'O92_E8+[ZEM@S( +MWY?F`]]^-)Q/"$[:WWF^%>[B>^T+VVW*W+?'ZX!OKY^O,;X=<@KOW!/E-ES7 +M4M!M`'_P(#_[CX^;\\DIO'//E-ESU4#!F#G?"A?>N1-E.JZ:GS4J6;CPSA7* +MK+BJID`OX,)/*:7_>$MP<YP=,ANN:BGH-G`[LUL>E3-E]EPU4#`>:79Y5";* +M=%PUEYL?([,_-DI3Q=DAL^*JF@*]@+LRNZ:.LT-FPU4M!=T&;F]V&F>'S)ZK +M!@K&0\V>XNR0Z;AJ+K<_)M=9N";.#ID55]44Z`7<M=FU<7;(;+BJI:#;P.W- +MKHNS0V;/50,%XZ%FSW%VR'1<-9=;\M<L7!]GA\R*JVH*]`+NVNS`=\ALN*JE +MH-O`[<T.?(?,GJL&"L9#S8+OD.FX:J8@7*<L'/@.F157U13H!=RUV8'OD-EP +M54M!MX';F5U;QMDAL^>J@8+Q2+,M^`Z9CJMF"L+59.'`=\BLN*JF0"_@KLRN +M!=\AL^&JEH)N`[<W._`=,GNN&B@8#S4+OD.FXZJ9@G"U63CP'3(KKJHIT`NX +M:[,#WR&SX:J6@FX#MS<[\!TR>ZX:*!@/-0N^0Z;CJKG<_(!;=EDX\!TR*ZZJ +M*=`+N&NS`]\AL^&JEH)N`[<W._`=,GNN&B@8#S4+OD.FXZJ9@G"=LW#@.V16 +M7%53H!=PUV8'OD-FPU4M!=T&;F=V71EGA\R>JP8*QB/-=N`[9#JNFBD(5Y^% +M`]\AL^*JF@*]@+LRNPY\A\R&JUH*N@W<WNS`=\CLN6J@8#S4+/@.F8ZKYG+[ +MS^,A"P>^0V;%534%>@%W;7;@.V0V7-52T&W@]F8'OD-FSU4#!>.A9L%WR'1< +M-9?;?\./63CP'3(KKJHIT`NX:[,#WR&SX:J6@FX#MS<[\!TR>ZX:*!@/-0N^ +M0Z;CJIF"<$U9./`=,BNNJBG0"[AKLP/?(;/AJI:";@.W,[MS&6>'S)ZK!@K& +M(\V>P7?(=%PU4Q`NEX4#WR&SXJJ:`KV`NS*[,_@.F0U7M11T&[B]V8'OD-ES +MU4#!>*A9\!TR'5?-%(1KSL*![Y!9<55-@5[`79L=^`Z9#5>U%'0;N+W9@>^0 +MV7/50,%XJ%GP'3(=5\WE1J=,F[Y]N,AW*;/BJIH"O8"[-KO(=RFSX:J6@FX# +MMS>[R'<IL^>J@8+Q4+.1[U*FXZIYNQF5K*1UCGPGI-\)ZW="^IUD];MSY#LA +M_4Y8OQ/2[R2KW_5EG!WI=\+ZG9!^EV^VCWPGI-\)ZW="^IUD):T^\IV0?B>L +MWPGI=Y+5[_K(=T+ZG;!^)Z3?25:_ZR/?">EWPOJ=D'YWH-G(=T+ZG;!^)Z3? +M25;2ZB/?">EWPOJ=D'XG6?VNCWPGI-\)ZW="^IUD];L^\IV0?B>LWPGI=P>: +MC7PGI-\)ZW>;;4M6TNK!=Z3?">MW0OJ=9/6['GQ'^IVP?B>DWTE6O^O!=Z3? +M">MW0OK=@6;!=Z3?">MW0OJ=9"6M'GQ'^IVP?B>DWTE6O^O!=Z3?">MW0OJ= +M9/6[H8RS(_U.6+\3TN_RS0[@.]+OA/4[(?U.LI+6`+XC_4Y8OQ/2[R2KWPW@ +M.]+OA/4[(?U.LOK=`+XC_4Y8OQ/2[PXT"[XC_4Y8OQ/2[R0K:0W@.]+OA/4[ +M(?U.LOK=`+XC_4Y8OQ/2[R2KWPW@.]+OA/4[(?WN0+/@.]+OA/4[WBA+5M(: +MP'>DWPGK=T+ZG63UNP%\1_J=L'XGI-])5K\;P'>DWPGK=T+ZW8%FP7>DWPGK +M=T+ZG60EK0%\1_J=L'XGI-])5K\;P'>DWPGK=T+ZG63UN[&,LR/]3EB_$]+O +M\LV.X#O2[X3U.R']3K*2U@B^(_U.6+\3TN\DJ]^-X#O2[X3U.R']3K+ZW0B^ +M(_U.6+\3TN\.-`N^(_U.6+\3TN\D*VF-X#O2[X3U.R']3K+ZW0B^(_U.6+\3 +MTN\DJ]^-X#O2[X3U.R'][D"SX#O2[X3U._:&2E;2&L%WI-\)ZW="^IUD];L1 +M?$?ZG;!^)Z3?25:_&\%WI-\)ZW="^MV!9L%WI-\)ZW="^IUD):T1?$?ZG;!^ +M)Z3?25:_&\%WI-\)ZW="^IUD];NIC+,C_4Y8OQ/2[_+-3N`[TN^$]3LA_4ZR +MDM8$OB/]3EB_$]+O)*O?3>`[TN^$]3LA_4ZR^MT$OB/]3EB_$]+O#C0+OB/] +M3EB_$]+O)"MI3>`[TN^$]3LA_4ZR^MT$OB/]3EB_$]+O)*O?3>`[TN^$]3LA +M_>Y`L^`[TN^$]3LA_:XJK\,53W"1[RHJ>:JJ*=`MG(<H_$?I/]X27.2[E,G7 +ME;]*LRNN-SM^J6H?[G)VJS^P7DQIS&I\T**B?\Y6W7/`<,0_^(\_IO/5BRFM +M(KCZV/G^')^Z;;MU8VS7K)<=K9E=L^Z,[9J:UOFX7F37U+3.Q_4BNZ:F=3ZN +M%]DU-:WS3>R:FM;Y)G9-3>M\$[NFIG6^B5U3TSK?Q*ZI:9UO8M?4M,XWL6MJ +M6N>;V#4UK?--[)J:UODF=DU-ZWP3NZ:F=;Z)75/3.M_$KJEIG6]BU]2TSC>Q +M:VI:YYO8-36M\TWLFIK6^29V34WK?!.[IJ9UOHE=4],ZW\2NJ6F=;V+7U+3. +M-[%K:EKGF]@U-:WS3>R:FM;Y)G9-3>M\$[NFIG6^B5U3L<ZWL6LJUODV=DW% +M.M_&KJE8Y]O8-17K?!N[IF*=;V/75*SS;>R:BG6^C5U3L<ZWL6LJUODV=DW% +M.M_&KJE8Y]O8-17K?!N[IF*=;V/75*SS;>R:BG6^C5U3L<ZWL6LJUODV=DW% +M.M_&KJE8Y]O8-17K?!N[IF*=;V/75*SS;>R:BG6^C5U3L<ZWL6LJUODV=DW% +M.M_&KJE8Y]O8-17K?!N[IF*=;V/75*SS;>R:BG6^C5U3TSH?F2^R:VI:YR/S +M179-3>M\9+[(KJEIG8_,%]DU-:WS3>R:FM;Y)G9-3>M\$[NFIG6^B5U3TSK? +MQ*ZI:9UO8M?4M,XWL6MJ6N>;V#4UK?--[)J:UODF=DU-ZWP3NZ:F=;Z)75/3 +M.M_$KJEIG6]BU]2TSC>Q:VI:YYO8-36M\TWLFIK6^29V34WK?!.[IJ9UOHE= +M4],ZW\2NJ6F=;V+7U+3.-[%K:EKGF]@U-:WS3>R:FM;Y)G9-3>M\$[NFIG6^ +MB5U3L<ZWL6LJUODV=DV=3.V:.IG:-74RM6OJ9&K75%>6AG9-=:9V376F=DUU +MIG9-=:9V376F=DUUIG9-=:9V376F=DUUIG9-=:9V376F=DUUIG9-=:9V376F +M=DUUIG9-G<O2T*ZILZE=4V=3NZ;.IG9-G4WMFCJ;VC5U-K5KZFQJU]39U*ZI +MLZE=4V=3NZ;.IG9-G8WMFET97M8&O['W%'X/[&GYG;!U^.V?=?C]UM<`O[MW +M[NMWMU7]/9^ON_A-UB\^7[>IDR\#=LM2M-I]6+KR_%1USL)]Z7PK7&_5[@HW +M'(5;-S>3*YQ[!O<SP5D_+'+1KH/"6_^.=@7MDN`T+V_6>MZ#DR>XOSR'>VKW +M^;NM*I[JKYRNN'JZ*<$-8_C5V,>G]\TU.&?ZJ,A\%&[JB\$_)U+,XSY<]<5# +H_/^/2K\`KOZ`R__OO^"_9VS_6P$U`IJ=4/U[HRR_^A][EZ;PS5\````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-apm.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-apm.qcow.gz.uu new file mode 100644 index 0000000..d037063 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-apm.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-63x255-512-apm.qcow.gz +M'XL("+4S(E0``VEM9RTV,W@R-34M-3$R+6%P;2YQ8V]W+F]U=`"MG=F.'=EQ +M1=_[*RYGLCC=B,B1LP2Y`3\8:%O0LY0C($"V$[(`O_#C7<4Z0U7<O1F4NZE" +M@T0A-[).+:X6I,7#\_GVQ^G4RJGI3LUXVN?3]:_3AYSN_.+^Q^GKO__\KV_N +M_OCZT^V8G+_SE/MUHR=)<_>V?E_G].:IY70>?V#N^@/.W7D[^R?>[LX7>SEW +M]=/M%XN?4S9H]P9/:>Z<WD_(Z34_]GY?W)<KMZ?WVWVY2K[<E@UV]P9_27-_ +M2>^GY,OMV=QP;^YP7ZZ2+W=D<]-W85$"R\SFEF"N@4^M;&X+YEKXU([GY#O? +MV]NY#CXE;$[AW*G,]?`I8W/-O;GSFPQTGAO@4X0[";D;X5.$.PFYF^!3A#L) +MN9OA4X0[";E;X%.$.PFY6^%3A#L-N=O@4X0[#;G;X5.$.XVX$_P4X4XC[@3Y +M3AEW&G$GR'?*N-.(.T&^4\:=1MP)\ITR[C3B3I#OE'%G$7>"?&>,.XNX$^0[ +M8]Q9R!WRG3'N+.0.^<X8=Q9RAWQGC#L+N4.^,\:=A=PAWQGCSD+ND.^,<=>$ +MW"'?-8R[)N0.^:YAW#41=XJ?(MPU$7>*?-<P[IJ(.T6^:QAW3<2=(M\UC+LF +MXDZ1[QK&71-QI\AW#>.NC;A3Y+N6<==&W"GR7<NX:T/ND.]:QET;<H=\US+N +MVI`[Y+N6<=>&W"'?M8R[-N0.^:YEW+4A=\AW+>.N"[E#ONL8=UW('?)=Q[CK +M(NX,/T6XZR+N#/FN8]QU$7>&?-<Q[KJ(.T.^ZQAW7<2=(=]UC+LNXLZ0[SK& +M71]Q9\AW/>.NC[@SY+N><=>'W"'?]8R[/N0.^:YGW/4A=\AW/>.N#[E#ONL9 +M=WW('?)=S[CK0^Z0[WK&W1!RAWPW,.Z&D#ODNX%Q-T3<-?@IPMT0<=<@WPV, +MNR'BKD&^&QAW0\1=@WPW,.Z&B+L&^6Y@W`T1=PWRW<"XR__S-Y]#OAL9=V/$ +M78-\-S+NQI`[Y+N1<3>&W"'?C8R[,>0.^6YDW(TA=\AW(^-N#+E#OAL9=V/( +M'?+=R+B;0NZ0[R;&W11RAWPW,>ZFB+L6/T6XFR+N6N2[B7$W1=RUR'<3XVZ* +MN&N1[R;&W11QUR+?38R[*>*N1;Z;&'?Y_X;D<\AW,^-NCKAKD>]FQMT<<H=\ +M-S/NYI`[Y+N9<3>'W"'?S8R[.>0.^6YFW,TA=\AW,^-N#KE#OIL9=TO('?+= +MPKA;0NZ0[Q;&W1)QU^&G"'=+Q%V'?+<P[I:(NP[Y;F'<+1%W'?+=PKA;(NXZ +MY+N%<;=$W'7(=POC;HVXZY#O5L;=&G'7(=^MC+LUY`[Y;F7<K2%WR'<KXVX- +MN4.^6QEW:\@=\MW*N%M#[I#O5L;=&G*'?+<R[K:0.^2[C7&WA=PAWVV,NRWB +MKL=/$>ZVB+L>^6YCW&T1=SWRW<:XVR+N>N2[C7&W1=SUR'<;XVZ+N.N1[S;& +MW1YQUR/?[8R[/>*N1[[;&7=[R!WRW<ZXVT/ND.]VQMT><H=\MS/N]I`[Y+N= +M<;>'W"'?[8R[/>0.^6XGW$G^"9\#OI,SX4[.(7?`=W(FW,DYXF[`3V'N).SO +M!N`[8?V=A/W=`'PGK+^3L+\;@.^$]7<2]G<#\)VP_D["_FX`OA/6WTG8WPW` +M=\+Z.PG[NP'X3EA_)V%_-P#?">OO).SO!N`[8?V=A/W=`'PGK+^3L+\;@.^$ +M]7<2]G<#\)VP_D["_FX`OA/6WTG8WPW(=ZR_D["_&Y#O6'\G87\WXJ<(=V%_ +M-R+?L?Y.POYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6 +MWTG8WXW(=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N[ +M$?F.]7<2]G<C\AWK[R3L[T;D.];?2=C?C<AWK+^3L+^;\%.$N["_FY#O6'\G +M87\W(=^Q_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK[R3L[R;D +M.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=A'S'^CL) +M^[L)^8[U=Q+V=Q/R'>OO).SO)N0[UM])V-_-^"G"7=C?S<AWK+^3L+^;D>]8 +M?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R'>OO).SO +M9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYN1KYC_9V$_=V,?,?Z +M.PG[NQGYCO5W$O9W,_(=Z^\D[.\6_!3A+NSO%N0[UM])V-\MR'>LOY.POUN0 +M[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D +M[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W(-^Q_D["_FY!OF/]G83]W8)\ +MQ_H["?N[!?F.]7<2]G<K?HIP%_9W*_(=Z^\D[.]6Y#O6WTG8WZW(=ZR_D["_ +M6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2]G<K\AWK +M[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A?[<BW['^3L+^;D6^8_V=A/W= +MBGS'^CL)^[L-/T6X"_N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C?;<AWK+^3 +ML+_;D.]8?R=A?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR +M'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_)V%_MR'?L?Y.POYN0[YC_9V$ +M_=V.GR+<A?W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM])V-_MR'>L +MOY.PO]N1[UA_)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.PG[NQWYCO5W$O9W +M._(=Z^\D[.]VY#O6WTG8W^W(=ZR_T_P3-W>J<\!WUT]A[M3U=_D^O5/E#OA. +M67^GKK\[)>Y.F3L[XZ<P=^KZNU/B[O27,@=\IZR_4]??G0YW=H;NOU/6WZGK +M[\K9U3G@.V7]G;K^#LP!WRGK[]3U=V`.^$Y9?Z>NO\MS#^H<\)VR_DY=?_<@ +MSYW*'/"=LOY.77_W(''WH'('?*>LOU/7WSU(W#VHW`'?*>OOU/5W#XZ+LP.^ +M4];?J>OORMG5.>`[9?V=NOX.S`'?*>OOU/5W8`[X3EE_IZZ_RW,/ZQSR'>OO +MU/5W#_-<Y0[YCO5WZOJ[AXF[AX4[=/^=LOY.77_W,''WL'"'[K]3UM^IZ^\> +M'O[LT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC_9VZ_@[,(=^Q_DY=?Y?G'M4Y +MY#O6WZGK[Q[EN<(=NO].67^GKK][E+A[5+E#OF/]G;K^[E'B[E'E#OF.]7?J +M^KM'Q\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_4]??Y;G' +M=0[YCO5WZOJ[QWFN<H=\Q_H[=?W=X\3=X\(=NO].67^GKK][G+A[7+A#]]\I +MZ^_4]7>/#W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8?Z>N +MO\MS3^H<\AWK[]3U=T_R7.$.W7^GK+]3U]\]2=P]J=PAW['^3EU_]R1Q]Z1R +MAWS'^CMU_=V3X^+LD.]8?Z>NORMG5^>0[UA_IZZ_`W/(=ZR_4]??@3GD.];? +MJ>OO\MS3.H=\Q_H[=?W=TSQ7N4.^8_V=NO[N:>+N:>$.W7^GK+]3U]\]3=P] +M+=RA^^^4]7?J^KNGAS\[=/^=LOY.77]7SJ[.(=^Q_DY=?P?FD.]8?Z>NOP-S +MR'>LOU/7W^6Y9W4.^8[U=^KZNV=YKG"'[K]3UM^IZ^^>)>Z>5>Z0[UA_IZZ_ +M>Y:X>U:Y0[YC_9VZ_N[9<7%VR'>LOU/7WY6SJW/(=ZR_4]??@3GD.];?J>OO +MP!SR'>OOU/5W>>YYG4.^8_V=NO[N>9ZKW"'?L?Y.77_W/''WO'"'[K]3UM^I +MZ^^>)^Z>%^[0_7?*^CMU_=WSPY\=NO].67^GKK\K9U?GD.]8?Z>NOP-SR'>L +MOU/7WX$YY#O6WZGK[_+<BSJ'?,?Z.W7]W8L\5[A#]]\IZ^_4]7<O$G<O*G?( +M=ZR_4]??O4C<O:C<(=^Q_DY=?_?BN#@[Y#O6WZGK[\K9U3GD.];?J>OOP!SR +M'>OOU/5W8`[YCO5WZOJ[/'=5YY#O6'^GKK^[RG.5.^0[UM^IZ^^N$G=7A3MT +M_YVR_DY=?W>5N+LJW*'[[Y3U=^KZNZO#GQVZ_TY9?Z>NORMG5^>0[UA_IZZ_ +M`W/(=ZR_4]??@3GD.];?J>OO\MS+.H=\Q_H[=?W=RSQ7N$/WWRGK[]3U=R\3 +M=R\K=\AWK+]3U]^]3-R]K-PAW['^3EU_]_*X.#OD.];?J>OORMG5.>0[UM^I +MZ^_`'/(=Z^_4]7=@#OF.]7?J^KL\]ZK.(=^Q_DY=?_<JSU7ND.]8?Z>NOWN5 +MN'M5N$/WWRGK[]3U=Z\2=Z\*=^C^.V7]G;K^[M7ASP[=?Z>LOU/7WY6SJW/( +M=ZR_4]??@3GD.];?J>OOP!SR'>OOU/5W>>YUG4.^8_V=NO[N=9XKW*'[[Y3U +M=^KZN]>)N]>5.^0[UM^IZ^]>)^Y>5^Z0[UA_IZZ_>WU<G!WR'>OOU/5WY>SJ +M'/(=Z^_4]7=@#OF.]7?J^CLPAWS'^CMU_5V>>U/GD.]8?Z=1?V?H_CME_9U& +M_9VA^^^4]7<:]7>&[K]3UM]IU-\9NO].67^G47]GZ/X[9?V=1OV=H?OOE/5W +M&O5WANZ_4];?*>GOWM8YY#O6WZGK[][FN<(=NO].67^GKK][F[A[6[E#OF/] +MG;K^[FWB[FWE#OF.]7?J^KNWQ\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_ +MIZZ_`W/(=ZR_L_P3-W>N<\!WQOJ[ZT_<XR[[Z5RY`[XSUM^9Z^_.:>]<N$/W +MWQGK[\SU=^?$W;EPA^Z_,];?F>OOSH<_.W3_G;'^SEQ_5\ZNS@'?&>OOS/5W +M8`[XSEA_9ZZ_`W/`=\;Z.W/]79Z3.@=\9ZR_,]??29XKW*'[[XSU=^;Z.TFO +M)Y4[X#MC_9VY_DX2=U*Y`[XSUM^9Z^_DN#@[X#MC_9VY_JZ<79T#OC/6WYGK +M[\`<\)VQ_LY<?P?F@.^,]7?F^KL\IW4.^8[U=^;Z.\USE3OD.];?F>OO-'&G +MA3MT_YVQ_LY<?Z>).RW<H?OOC/5WYOH[/?S9H?OOC/5WYOJ[<G9U#OF.]7?F +M^CLPAWS'^CMS_1V80[YC_9VY_B[/69U#OF/]G;G^SO)<X0[=?V>LOS/7WUGB +MSBIWR'>LOS/7WUGBSBIWR'>LOS/7W]EQ<7;(=ZR_,]??E;.K<\AWK+\SU]^! +M.>0[UM^9Z^_`'/(=Z^_,]7=YKJESR'>LOS/7WS5YKG*'?,?Z.W/]79.X:PIW +MZ/X[8_V=N?ZN2=PUA3MT_YVQ_LY<?]<<_NS0_7?&^CMS_5TYNSJ'?,?Z.W/] +M'9A#OF/]G;G^#LPAW['^SEQ_E^?:.H=\Q_H[<_U=F^<*=^C^.V/]G;G^KDW< +MM94[Y#O6WYGK[]K$75NY0[YC_9VY_JX]+LX.^8[U=^;ZNW)V=0[YCO5WYOH[ +M,(=\Q_H[<_T=F$.^8_V=N?XNSW5U#OF.]7?F^KLNSU7ND.]8?V>NO^L2=UWA +M#MU_9ZR_,]??=8F[KG"'[K\SUM^9Z^^ZPY\=NO_.6']GKK\K9U?GD.]8?V>N +MOP-SR'>LOS/7WX$YY#O6WYGK[_)<7^>0[UA_9ZZ_Z_-<X0[=?V>LOS/7W_6) +MN[YRAWS'^CMS_5V?N.LK=\AWK+\SU]_UQ\79(=^Q_LY<?U?.KLXAW['^SEQ_ +M!^:0[UA_9ZZ_`W/(=ZR_,]??Y;FASB'?L?[.7'\WY+G*'?(=Z^_,]7=#XFXH +MW*'[[XSU=^;ZNR%Q-Q3NT/UWQOH[<_W=</BS0_??&>OOS/5WY>SJ'/(=Z^_, +M]7=@#OF.]7?F^CLPAWS'^CMS_5V>&^L<\AWK[\SU=V.>*]RA^^^,]7?F^KLQ +M<3=6[I#O6']GKK\;$W=CY0[YCO5WYOJ[\;@X.^0[UM^9Z^_*V=4YY#O6WYGK +M[\`<\AWK[\SU=V`.^8[U=^;ZNSSWKLXAW['^SEQ_]R[/5>Z0[UA_9ZZ_>Y>X +M>U>X0_??&>OOS/5W[Q)W[PIWZ/X[8_V=N?[NW>'/#MU_9ZR_,]??E;.K<\AW +MK+\SU]^!.>0[UM^9Z^_`'/(=Z^_,]7=Y[GV=0[YC_9VY_NY]GBO<H?OOC/5W +MYOJ[]XF[]Y4[Y#O6WYGK[]XG[MY7[I#O6']GKK][?UR<'?(=Z^_,]7?E[.H< +M\AWK[\SU=V`.^8[U=^;Z.S"'?,?Z.W/]79[[4.>0[UA_9ZZ_^Y#G*G?(=ZR_ +M,]???4C<?2C<H?OOC/5WYOJ[#XF[#X4[=/^=L?[.7'_WX?!GA^Z_,];?F>OO +MRMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\]['.(=^Q_LY<?_<QSQ7N +MT/UWQOH[<_W=Q\3=Q\H=\AWK[\SU=Q\3=Q\K=\AWK+\SU]]]/"[.#OF.]7?F +M^KMR=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L]]JG/(=ZR_,]???<IS +ME3OD.];?F>OO/B7N/A7NT/UWQOH[<_W=I\3=I\(=NO_.6']GKK_[=/BS0_?? +M&>OOS/5WY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^USGD.]8?V>N +MO_N<YPIWZ/X[8_V=N?[N<^+N<^4.^8[U=^;ZN\^)N\^5.^0[UM^9Z^\^'Q=G +MAWS'^CMS_5TYNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^KLD_<7-?ZASP7</Z +MN\;U=U_R7.4.^.[Z*<Q=X_J[+XF[+YF[YHR?(G_OL?MBO^3>^$V90W_?=GDJ +MF+OSX^M/5]\&VV_OU[2G5D]GK4_<7/\V?&_P7_[C9N:!>[_V-W^_;_?+7)]6 +MLUX\9W<'Y?XGOO[R;W[P=N[F_9IOX=CU1W?]WZ?;'WJ_WQW'WS8PA_Z^\O_7 +MEWL[9Y=OUWZS2B>G4Z^GOCEU8_IG=RVI[>;3Z>W^?$Q__\=?__'7__ZO/^>Y +MFW]?=.O-P_T_\W;_.1WP[=#?5_YKOK?-#WYO<Z*1?^?>_][FW[DM^K/EO^[] +MOGT[NIN#O_Y&7'\T>FKMU#0W?SSBU+8WGVOM<O#GOV_;[__XA]=_^OF/=\\/ +M_7'P7_5^W0^<G]XYO]O?)'?/[W3W_="?W?IU[_?=\^OMU/>`S7I^__._MR#F +K]_NMSV](YW>>P#_Y)[[^\N;^?VX'FS3XF[UA<[[^!I]_^C_<Q@LX=*8````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-apm.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-apm.qcow2.gz.uu new file mode 100644 index 0000000..290ead4 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-apm.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-512-apm.qcow2.gz +M'XL("*H[(U0``VEM9RTV,W@R-34M-3$R+6%P;2YQ8V]W,BYO=70`K9A);]LP +M$$;O^15,]Z9-*LZ0E-P]FX$>"J0->@Z\R$"`+D8:H!?_^%+6R)2I&3$VY`A" +M#.)[&`^?QZ:SK'XH9;4R3IF16DR5?TX7J-:3[4NMOHV_G+0?JX,:IC,AQ2P8 +MW."V6.<!!Q(NT]T%S>-:U2&#@R;5!:5P1JRN;X'!'1VL6[?>C")*X#[`&B=N +MQE[U05U?G#![U@=#UX=\_VR3BQ=<?WU8UQ>G<@E7)''`I$82;I+$(9.:2KA9 +M$F>8U%S"E4F<95(+`:<3JGB<8U):PD$2ES,IE'`FB2N8E.2=3GLW8E*2=SKM +MW81)2=[IM'=3)B5YI]/>S9B4Y)U.>S=G4I)W('BG`JYD4I)W$'EW2+A'`;=@ +M4I)W$'GWF'!/-CC-I23O(/+N*>&>!1PS[T#R#B+OGA/N1<`Q\PXD[R#R[B7A +MC@*.F7<@>0>1=Z\(]SK@F'D'DG<0>7?<\4XS\PXD[S#R[@VQLH!CYAU*WF'D +MG28<!!PS[U#R#B/OD'`FX)AYAY)W&'EG"><"CIEW*'F'D7<YX8J`8^8=2MYA +MY-V(<&\#CIEW*'F'D7?O"/<^X)AYAY)W&'GW@7`?`XZ9=RAY9R+O/A'N<\`Q +M\\Y(WIG(NU/"G04<,^^,Y)V)O#LGW,4&!UQJXUV6\1?A+COO61CV^Z<)WX\U +M<Y<7>H#%+L"^"FO<:-`7;.L7['?`0CA'9>M/R*(7>/F]PAQNUV>'/A#86A@_ +MF<V\DT/IP.<75E=?F?[96AC_=O#3U%]NIIQ]4'VGR^7/DL')I]O=CU,>A]WJ +M[&+]OY<E!Y4;Y49T=POERFJ9JKM93N[N;^]O__R^:7#5!Z2;5^%\E^I^399L +M=7;@O34/W-MFJ@`!M_=6-?69H=TSZ^UP5>/]1OC+CTN+U93S7S.4M=6:Q2YP +M?%>69]<7QS_&U^W^F6%_;+#^1)7N'[3Z5[])VOU3[?K<T/USO?W+4>4YXV;H +KW]]_M8A-?4/WKZ#^^9-Z]RXOK*Y.MO]JH"'@8!4:5TWG@_\+*`W"Y1,````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-apm.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-apm.raw.gz.uu new file mode 100644 index 0000000..b47d4c6 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-apm.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-512-apm.raw.gz +M'XL("/7%'50``VEM9RTV,W@R-34M-3$R+6%P;2YR87<N;W5T`*V3S6K#,!"$ +M[WZ*Z;50(\DKJ3FFM+D50D//P=0.!-K4I(%>]/"5(HG(/PDN:+T(BV4_QK-K +MQGP`)"$%F$T64G`PPN4^2)B7M]+&71G#%![&V8VNZ[AR$*:X]T#ARI*!FE%? +ME0)YOV#6KT.@QSE]Q*&92_4!)6?I6W;=9SN!$[D^U^.JL3JY.[]S0`MH@EJ$ +M4^V@6E<.ZK9=?3SM3_OOPS;BR.)4XYKU?]1]U=VD.IEYMC1SMA27,@#[LT74 +M1[EWC\[C4,YX.PB;)"`K$$$T5KAT-7L?`5?'MGW:/#^\KS:I?T29]:D9_HG$ +M/_^3I/XAU:=R^Z=N^J<K:#VQFQ?_?G[](D9]N?U[#/ZQ>N*\7C#KLO]X(`5@ +/-H4D'+#X`^%)]I"G!0`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-apm.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-apm.vhd.gz.uu new file mode 100644 index 0000000..68c3838 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-apm.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-512-apm.vhd.gz +M'XL("/;%'50``VEM9RTV,W@R-34M-3$R+6%P;2YV:&0N;W5T`*U66VO;,!1^ +MSZ\XT+="@Z['W=/86/,V*"M[;HTCE\#:AB:P/OC'5T>76HYES\WD"$5&/I\^ +M?><B,>8?`)2`+:`!U#2N%.`7J*X![&1HPO4\O$+7O#R;YKA[6X>G6WDPSE*K +MH3G9"PG*+E*!J&D1W-(8N@BSOKAYO-P]/48X$>#BP@I!"=`61(W60?;!CI`V +MW^]^.,B'GIT<L^NM_%_;@FR3+V1D]^#ZK^EFE;6RWU.K0&I',[;!RV""X/0Z +M>2*<9B=6"<V<J,EF<W`X9_49N,M5\(4/%1L8E>VM=!PJ06,;-E&'4;.A\G;8 +MUZ\'<\)/3(0*?O#CHSDYO5T10D7$CP,#1>$\MUUP*,=3N$RH_)=Z.+1386!% +M8#I."+?]H7H]%*3\D+,9S:>=,<FO)GXV-;6(R>Z:_->&;WX1##MU1SWAW;/U +M:VC:9HC:YJ*B?^'#B>[V9S9<&N*G.(4Q17)#,;R$W[?]_H_)P(E2V_5P<LQ. +MMR'G7-+Y$NUZ7[IU&]G=VVP[[HZ[E^?["$>%BDJM0US.[JG>9]GIPKXU"WT; +MDT8$P*%O(?(SI6//.'<@"4\GI.[/(+&UQ#7-V?<1X.;5&'L*7?W>W*7Z&566 +M'V<+]!.)?CY)4OW2VL*G#O'S^<WJ1X=)E8G-7K_#7Q^(D5]I_430C]69?GJB +MNUT/?QY0A&):K#J+OOJ58:@"8#&&JL_A4@PYSCKSLU[&P+#051>GJ\PY5UV" +I*WC5Q5"R)JW\W]*K+H:25>BJ2W`%K[H$5_2JBZZ@KMX!;=,CGA\-```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-apm.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-apm.vhdf.gz.uu new file mode 100644 index 0000000..6096dac --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-apm.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-512-apm.vhdf.gz +M'XL("/;%'50``VEM9RTV,W@R-34M-3$R+6%P;2YV:&1F+F]U=`"M54UKPD`0 +MO?LK!GH3&I+=R<2>^D'U5I!*SQI,(H&JP0KM(3^^^ZF[211;=AV6#9-]OGEO +M=Q+'>@!@"BF#6$1L@JOY_-P):*?OD1AQ9$<[TF#)M5V7X:+.:$=C#<AD.HT! +MB]X^[@(F?J*=OW4!-9SDAPEDL0Q:`Z4W\7MNFL]R`(Z%*E?#\3Z[M%+K!"!C +MD"'0@YFI`BIEVK!;-OGA6!_K_6YIX5#`42$W9W]AM\V;079I8&_Q1F_1+)@! +M]+T%RP]#GSU4=I`47A@A`AFD'!"!%8)X*G/BN0<X.Y3ER^+U_F.V</5##,R/ +M;M"/.?KI2^+J!RX_"JT?7=4OXY!E`V?SK-_7MSZ(EE]H_29&OS@?F"\GVGGD +M_S0@&L!@#,ET9^+FKDL1N>T!$Q>0G>U5@.O]KEP?ZQ_W!I/ISE4U''(_X_); +M0!FP7+680JX=?G?3S;C>;BR<[7[VCX77)XN[59)?[DP8K"!79W:\+Q)UU!,\ +M>>45;MBMU/SH%HNG8LL*4-.TX3UX"0GWY)NAX53W<U_^K[<:C@(?%?&A'/T" +(P78/5M('```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-apm.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-apm.vmdk.gz.uu new file mode 100644 index 0000000..89cfd3e --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-apm.vmdk.gz.uu @@ -0,0 +1,83 @@ +# $FreeBSD$ +begin 644 img-63x255-512-apm.vmdk.gz +M'XL("/;%'50``VEM9RTV,W@R-34M-3$R+6%P;2YV;61K+F]U=`"MG%MOY,81 +MA=_]*PCYQ0B0`<_P_K!`[,@&@L#`PNLDCPZOL9#U2I"$)`O,CP^;[-,ZE,1M +MPBIEY)G:J:KIKJ9*RE<'3-/U*TGR+LGS)!^2HDQ2)/,_K8\DS9Z,^7&N^<;E +MK]<__OW$KV].I\M7:S*X*`E!JNG$V'S.Y?3LB^G.7XK:O#$_SM%TF8OJ7@3Z +M=.>=-W;3Y?.;Y]="N+IV>7MP+R1=$A(EFW3%*WO:W>R75O>'KWSQW/HRMX;Y +M>,LFJ;*D[+R9E,5B9TEU7MY+DVIVFN:$7R?7-P__3J['A_[^YN[QUJ_O[,YV +M=LY+YU_V+L.\L:IT+]P;+EWC4I1CD@U)!O=V<KG_X>;C>/K/>/]P<_OI';C= +MLSO;/$ORQBW'^:=/CXWA/B1-2KC/2"Y__LOU.W_EIJ>[]I[I7-2\D/FSYWUH +MWK),W/?+Q[*Z\=.CRSCYK[`Z=[:^.,7RV;E[4>1)U23+<@J7^SR_/?@M+[7K +M[\?V<?SY\]WX[NJWVT^A=NYL7<F:)5&]%"I+BLRE\EMSY2M<1G?9+*>67#[> +M//YZTW^8M_DP7IV^3IBN=+6;#[#VZUIW/8>4NR<[+_OR_?\>Y_TF@S_9&Z9; +M%K%L8O[LXIP4E<LU'^!R%.<DR]VK^9_F!<\[R>&<DLOMI]-/_YA_Q%VQ/KS_ +M]B>FJ^>HV7->X!PR;VBSIV+=?_'\LDPN'[Y/KMPF?_YU7*Y`IFO6'S/GO)X# +M%O/L7OBJK>E=$\O=&\O))M?M8YM\USZ,IZ^OK[\+)]NZS>;+8U[:Z+*4:VIW +M?2_EG`NWGO1ZT,M1#$-W:H?V[G&\=\<;CJ)S)1K\3MVQYD_'N/V<:CFIR5TQ +MR>5=<G4SS&?JTOYKO/V-Z?KU,I[7X2Z)9@G,W(OYZEG2C_X3UBO&'9-+-S[> +M?S[UGS_>?!KF'[3D'=,-:^WFY62I7U18T_-%A8^=:W>5/BUMSLUTHRO1NJC: +M_V#,N=9U/%7!73&%>_@J7#Z??AW;85Y6<G4NBJMP%-/SH]`2/:O">M!S+=:C +M\`O[?'H8>Y\N2_T!3IOBK&M*LC+),K^B;0-]O+U?EE9F5]J/L^>_R][:C_,7 +MOU*KWYEP36>]OC)]]OLLT[A<C&*3T/T62^?O/\W?[Y_65[KUE>)9:50M1K-) +M]\\YQ=W+[9;N$FO%L].H7HSA2/5*U]I&\9R>5X]_:D!>[Z?CWP+TS#0J%Z/8 +MI-NK7>%K1\]*HVHQFDVZO=J5OG;T[#2J%V,XM-G*UXZ>DT:Y)_XIA?3`GV5E +M[6M'STRC<C&*3;J]VC6^=O2L-*H6H]FDVZM=ZVM'STZC>C&&0YOM?.WH.6F4 +M>V*#@+S>3]?[VM$STZA<C&*3;J]V@Z\=/2N-JL5H-NGV:C?ZVM&STZA>C.'0 +M9B=?.WI.&N6><JE='DM7I;YV],PT*A>CV*3;J5W%?D?/2J-J,9I-NIW:5>QW +M].PTJA=C.+19]CMZ3AKEG@JI71%-QWY'STRC<C&*3;J]VK'?T;/2J%J,9I-N +MKW;L=_3L-*H78SBT6?8[>DX:Y9Y*J5T93<=^1\],HW(QBDVZO=JQW]&STJA: +MC&:3;J]V['?T[#2J%V,XM%GV.WI.&N6>^$<0Y/5^.O8[>F8:E8M1;-+MU8[] +MCIZ51M5B-)MT>[5COZ-GIU&]&,.AS;+?T7/2*/=$(`-YO9NN3GWMZ)EI5"Y& +ML4FW4[N:_8Z>E4;58C2;=#NUJ]GOZ-EI5"_&<&BS['?TG#3*/352NR::COV. +MGIE&Y6(4FW1[M6._HV>E4;48S2;=7NW8[^C9:50OQG!HL^QW])PTRCWQ_T)! +M7N^G8[^C9Z91N1C%)MU>[=COZ%EI5"U<FW5SOV.WIV&M6+,1S:+/L=/2>- +M<D_DCY#7^^G8[^B9:50N1K%)MU<[]CMZ5AI5B]%LTNW5COV.GIU&]6(,AS;+ +M?D?/2:/<4R^UZV/IFM37CIZ91N5B%)MT.[5KV._H66E4+4:S2;=3NX;]CIZ= +M1O5B#(<VRWY'STFCW-,@M1NBZ=COZ)EI5"Y&L4FW5SOV.WI6&E6+T6S2[=6. +M_8Z>G4;U8@R'-LM^1\])H]S3*+4;H^G8[^B9:50N1K%)MU<[]CMZ5AI5B]%L +MTNW5COV.GIU&]6(,AS;+?D?/2:/<TR2UFZ+IV._HF6E4+D:Q2;=7._8[>E8: +M58O1;-+MU8[]CIZ=1O5B#(<VRWY'STFC4IF>05[OIFO3M7;!,].H7(QBDVZG +M=JWO=\&STJA:C&:3;J=VK>]WP;/3J%Z,X=!F?;\+GI-&N9()OT,4:;6^WT'X +M'93?0?@=HORN]?T.PN^@_`["[Q#E=ZWO=Q!^!^5W$'YW8+.^WT'X'93?0?@= +MHDBK]?T.PN^@_`["[Q#E=ZWO=Q!^!^5W$'Z'*+]K?;^#\#LHOX/PNP.;]?T. +MPN^@_`["[Q!%6JWO=Q!^!^5W$'Z'*+]K?;^#\#LHOX/P.T3Y7>O['83?0?D= +MA-\=V*SO=Q!^!^5W$'Z'*-+J4E\[X7=0?@?A=XCRNX[]3O@=E-]!^!VB_*YC +MOQ-^!^5W$'YW8+/L=\+OH/P.PN\015H=^YWP.RB_@_`[1/E=QWXG_`[*[R#\ +M#E%^U['?";^#\CL(OSNP6?8[X7=0?@?A=X@BK8[]3O@=E-]!^!VB_*YCOQ-^ +M!^5W$'Z'*+_KV.^$WT'Y'83?'=@L^YWP.RB_@_`[1)%6QWXG_`[*[R#\#E%^ +MU['?";^#\CL(OT.4WW7L=\+OH/P.PN\.;);]3O@=E-]!^!VB2*M/?>V$WT'Y +M'83?(<KO>O8[X7=0?@?A=XCRNY[]3O@=E-]!^-V!S;+?";^#\CL(OT,4:?7L +M=\+OH/P.PN\0Y7<]^YWP.RB_@_`[1/E=SWXG_`[*[R#\[L!FV>^$WT'Y'83? +M(8JT>O8[X7=0?@?A=XCRNY[]3O@=E-]!^!VB_*YGOQ-^!^5W$'YW8+/L=\+O +MH/P.PN\015H]^YWP.RB_@_`[1/E=SWXG_`[*[R#\#E%^U[/?";^#\CL(OSNP +M6?8[X7=0?@?A=X@BK2'UM1-^!^5W$'Z'*+\;V.^$WT'Y'83?(<KO!O8[X7=0 +M?@?A=P<VRWXG_`[*[R#\#E&D-;#?";^#\CL(OT.4WPWL=\+OH/P.PN\0Y7<# +M^YWP.RB_@_"[`YMEOQ-^!^5W$'Z'*-(:V.^$WT'Y'83?(<KO!O8[X7=0?@?A +M=XCRNX']3O@=E-]!^-V!S;+?";^#\CL(OT,4:0WL=\+OH/P.PN\0Y7<#^YWP +M.RB_@_`[1/G=P'XG_`[*[R#\[L!FV>^$WT'Y71#305Y+NF3]]NG&=*W=JY+R +M5_XIU"YY=76CL3X0BSXPS!367?V^A&LZZ_6%^38?;](O(LRW^7B3?A%AOLW' +MF_2+"/-M/MZD7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI% +MA/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z +M183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF +M^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?!.?;-OI%<+YM +MHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC +M7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-? +M!.?;-OI%<+YMHU\$Y]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU\$ +MY]LV^D5POFVC7P3GVS;Z17"^;:-?!.?;-OI%<+YMHU]$F&_3\TWZ183Y-CW? +MI%]$F&_3\TWZ183Y-CW?I%]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH +M%Q'FVR;Z183YMHE^$6&^;:)?1)AOF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^; +MZ!<1YMLF^D6$^;:)?A%AOFVB7T28;YOH%Q'FVR;Z183YMHE^$6&^;:)?1)AO +MF^@7$>;;)OI%A/FVB7X18;YMHE]$F&^;Z!<1YMLF^D6$^;:)?A%AOFVB7P3G +MVS;Z18RF^D6,IOI%C*;Z18RF^D6,IOI%C*;Z18RF^D6,IOI%C*;Z18RF^D6, +MIOI%C*;Z18RF^D6,IOI%C*;Z14QI:JA?Q&2J7\1DJE_$9*I?Q&2J7\1DJE_$ +M9*I?Q&2J7\1DJE_$9*I?Q&2J7\1DJE_$9*I?Q&2J7\1DJE_$9*I?/*=I:JA? +M/+^XE_#!="\WN^H#\V5]>>'N7:KW^EWO:OR%A-__Y-)\\VQ]N?GZEOOUNMNK +M#B_B,DV([1N7]S^^5K]\N5]OOMS6U-W&=+U?[X'U?7MW]W%\)=V+>S'_WNVN +MZ;*7JRLF?Z/?Y?Z=.>^6RWL*%Q-7]\M=>_]X\WAS^^D7IEONUSOXV[@>7]UO +M[=VKJS.^%W.>'SQ;$I&S3[@]VX3KL[[W9YXOQU'R?L>%NXMNL=Q1]SS,"R_< +M>T7V,N$/]^/XW8?K/_[MAP]:OSPW7E]YH'XJA5M_2+1^B:[/6GN<EU^L7Y4E +M5?7*M?E4OX?_KA<BUV==O]K7S]W?^<5_]]^XO#]M_[<FS'U"LQ7F[N:SZ5?_ +)!]R'M=*37@`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-bsd.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-bsd.qcow.gz.uu new file mode 100644 index 0000000..97e3920 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-bsd.qcow.gz.uu @@ -0,0 +1,126 @@ +# $FreeBSD$ +begin 644 img-63x255-512-bsd.qcow.gz +M'XL("+8S(E0``VEM9RTV,W@R-34M-3$R+6)S9"YQ8V]W+F]U=`"MG<F.&TFR +M1??U%=0\2S2S(!FA&0V\!_2N>_/>MCBN^0'J?V\-$>Z9QG/+JM&E$H044G%! +M>AX=`:H#UWK]Z]MJM;'5L%T-T^IR6'W_^?S=5G=^<O_[ZML___?O;^]^^_;; +MKS%;_\%3Z>>[TVJ:Y^YM_:O/^8^GCJOU]"?FOG\WFKOSZN(_>'5WWNSMW,O? +M?KU9?L[58-P;7,USZ_GUF3B]X<^]OJ_I[=JOT_OKWJZ+M[M1@]M[@_^8YWZ? +M7Y^+M[M3<^.]N6MZNR[>[J3F]G\(BPM8#FKN6,P-^-1)S9V+N0T^=>$Y^X.O +M[:^Y+3YE:LYQ;M7F=OA4J+GAWMSZ[0+T,C?B4X([*[F;\"G!G97<[?$IP9V5 +MW!WP*<&=E=P=\2G!G97<G?`IP9V7W)WQ*<&=E]Q=\"G!G5?<&3\EN/.*.R/? +MN>+.*^Z,?.>*.Z^X,_*=*^Z\XL[(=ZZX\XH[(]^YXBXJ[HQ\%XJ[J+@S\ETH +M[J+DCGP7BKLHN2/?A>(N2N[(=Z&XBY([\ETH[J+DCGP7BKLHN2/?A>)N*+DC +MWPV*NZ'DCGPW*.Z&BCOGIP1W0\6=D^\&Q=U0<>?DNT%Q-U3<.?EN4-P-%7=. +MOAL4=T/%G9/O!L7=IN+.R7<;Q=VFXL[)=QO%W:;DCGRW4=QM2N[(=QO%W:;D +MCGRW4=QM2N[(=QO%W:;DCGRW4=QM2N[(=QO%W;;DCGRW5=QM2^[(=UO%W;;B +M+O@IP=VVXB[(=UO%W;;B+LAW6\7=MN(NR'=;Q=VVXB[(=UO%W;;B+LAW6\7= +MKN(NR'<[Q=VNXB[(=SO%W:[DCGRW4]SM2N[(=SO%W:[DCGRW4]SM2N[(=SO% +MW:[DCGRW4]SM2N[(=SO%W5AR1[X;%7=CR1WY;E3<C15W`S\EN!LK[@;RW:BX +M&RON!O+=J+@;*^X&\MVHN!LK[@;RW:BX&RON!O+=J+A;_OI;SY'O)L7=5'$W +MD.\FQ=U4<D>^FQ1W4\D=^6Y2W$TE=^2[27$WE=R1[R;%W51R1[Z;%'=3R1WY +M;E+<[4ONR'=[Q=V^Y(Y\MU?<[2ON-OR4X&Y?<;<AW^T5=_N*NPWY;J^XVU?< +M;<AW>\7=ON)N0[[;*^[V%7<;\MU><;?\;T@]1[X[*.X.%7<;\MU!<7<HN2/? +M'11WAY([\MU!<7<HN2/?'11WAY([\MU!<7<HN2/?'11WAY([\MU!<7<LN2/? +M'15WQY([\MU1<7>LN-OR4X*[8\7=EGQW5-P=*^ZVY+NCXNY8<;<EWQT5=\>* +MNRWY[JBX.U;<;<EW1\7=J>)N2[X[*>Y.%7=;\MU)<7<JN2/?G11WIY([\MU) +M<7<JN2/?G11WIY([\MU)<7<JN2/?G11WIY([\MU)<7<NN2/?G15WYY([\MU9 +M<7>NN-OQ4X*[<\7=CGQW5MR=*^YVY+NSXNY<<;<CWYT5=^>*NQWY[JRX.U?< +M[<AW9\7=I>)N1[Z[*.XN%7<[\MU%<7<IN2/?711WEY([\MU%<7<IN2/?711W +MEY([\MU%<7<IN2/?711WEY([\MU%<&?+!WH.?&=KP9VM2^[`=[86W-FZXF[D +MIY@[*_N[$7QGJK^SLK\;P7>F^CLK^[L1?&>JO[.ROQO!=Z;Z.RO[NQ%\9ZJ_ +ML[*_&\%WIOH[*_N[$7QGJK^SLK\;P7>F^CLK^[L1?&>JO[.ROQO!=Z;Z.RO[ +MNQ%\9ZJ_L[*_&\%WIOH[*_N[$7QGJK^SLK\;R7>JO[.ROQO)=ZJ_L[*_F_@I +MP5W9WTWD.]7?6=G?3>0[U=]9V=]-Y#O5WUG9WTWD.]7?6=G?3>0[U=]9V=]- +MY#O5WUG9WTWD.]7?6=G?3>0[U=]9V=]-Y#O5WUG9WTWD.]7?6=G?3>0[U=]9 +MV=]-Y#O5WUG9WTWD.]7?6=G?3>0[U=]9V=]-Y#O5WUG9W^WY*<%=V=_MR7>J +MO[.RO]N3[U1_9V5_MR??J?[.ROYN3[Y3_9V5_=V>?*?Z.RO[NSWY3O5W5O9W +M>_*=ZN^L[._VY#O5WUG9W^W)=ZJ_L[*_VY/O5']G97^W)]^I_L[*_FY/OE/] +MG97]W9Y\I_H[*_N[/?E.]7=6]G=[\IWJ[ZSL[P[\E."N[.\.Y#O5WUG9WQW( +M=ZJ_L[*_.Y#O5']G97]W(-^I_L[*_NY`OE/]G97]W8%\I_H[*_N[`_E.]7=6 +M]G<'\IWJ[ZSL[P[D.]7?6=G?'<AWJK^SLK\[D.]4?V=E?W<@WZG^SLK^[D"^ +M4_V=E?W=@7RG^CLK^[L#^4[U=U;V=T=^2G!7]G='\IWJ[ZSL[X[D.]7?6=G? +M'<EWJK^SLK\[DN]4?V=E?W<DWZG^SLK^[DB^4_V=E?W=D7RG^CLK^[LC^4[U +M=U;V=T?RG>KOK.SOCN0[U=]9V=\=R7>JO[.ROSN2[U1_9V5_=R3?J?[.RO[N +M2+Y3_9V5_=V1?*?Z.RO[NQ,_);@K^[L3^4[U=U;V=R?RG>KOK.SO3N0[U=]9 +MV=^=R'>JO[.ROSN1[U1_9V5_=R+?J?[.RO[N1+Y3_9V5_=V)?*?Z.RO[NQ/Y +M3O5W5O9W)_*=ZN^L[.].Y#O5WUG9WYW(=ZJ_L[*_.Y'O5']G97]W(M^I_L[* +M_NY$OE/]G97]W9F?$MR5_=V9?*?Z.RO[NS/Y3O5W5O9W9_*=ZN^L[._.Y#O5 +MWUG9WYW)=ZJ_L[*_.Y/O5']G97]W)M^I_L[*_NY,OE/]G97]W9E\I_H[*_N[ +M,_E.]7=6]G=G\IWJ[ZSL[\[D.]7?6=G?G<EWJK^SLK\[D^]4?V=E?W<FWZG^ +MSLK^[L)/">[*_NY"OE/]G97]W85\I_H[*_N["_E.]7=6]G<7\IWJ[ZSL[R[D +M.]7?6=G?7<AWJK^SLK^[D.]4?V=E?W<AWZG^SLK^[D*^4_V=E?W=A7RG^CLK +M^[L+^4[U=U;V=Q?RG>KOK.SO+N0[U=_Y\D&:6_4Y\-WWIY@[3_W=<I_>JG,' +MOG/5WWGJ[U8S=ZN%NUCS4\R=I_YN-7.W^KW-@>]<]7>>^KO5-9U=T/UWKOH[ +M3_U=.[L^![YSU=]YZN]@#GSGJK_SU-_!'/C.57_GJ;];YA[T.?"=J_[.4W_W +M8)E;M3GPG:O^SE-_]V#F[D'G#GSGJK_SU-\]F+E[T+D#W[GJ[SSU=P^N-V<' +MOG/5WWGJ[]K9]3GPG:O^SE-_!W/@.U?]G:?^#N;`=Z[Z.T_]W3+WL,^1[U1_ +MYZF_>[C,=>[(=ZJ_\]3?/9RY>]BXH_OO7/5WGOJ[AS-W#QMW=/^=J_[.4W_W +M\)K/CNZ_<]7?>>KOVMGU.?*=ZN\\]7<P1[Y3_9VG_@[FR'>JO_/4WRUSC_H< +M^4[U=Y[ZNT?+7...[K]SU=]YZN\>S=P]ZMR1[U1_YZF_>S1S]ZAS1[Y3_9VG +M_N[1]>;LR'>JO_/4W[6SZW/D.]7?>>KO8(Y\I_H[3_T=S)'O5'_GJ;];YA[W +M.?*=ZN\\]7>/E[G.'?E.]7>>^KO',W>/&W=T_YVK_LY3?_=XYNYQXX[NOW/5 +MWWGJ[QY?\]G1_7>N^CM/_5T[NSY'OE/]G:?^#N;(=ZJ_\]3?P1SY3O5WGOJ[ +M9>Y)GR/?J?[.4W_W9)EKW-']=Z[Z.T_]W9.9NR>=._*=ZN\\]7=/9NZ>=.[( +M=ZJ_\]3?/;G>G!WY3O5WGOJ[=G9]CGRG^CM/_1W,D>]4?^>IOX,Y\IWJ[SSU +M=\O<TSY'OE/]G:?^[NDRU[DCWZG^SE-_]W3F[FGCCNZ_<]7?>>KOGL[</6W< +MT?UWKOH[3_W=TVL^.[K_SE5_YZF_:V?7Y\AWJK_SU-_!'/E.]7>>^CN8(]^I +M_LY3?[?,/>MSY#O5WWGJ[YXM<XT[NO_.57_GJ;][-G/WK'-'OE/]G:?^[MG, +MW;/.'?E.]7>>^KMGUYNS(]^I_LY3?]?.KL^1[U1_YZF_@SGRG>KO//5W,$>^ +M4_V=I_YNF7O>Y\AWJK_SU-\]7^8Z=^0[U=]YZN^>S]P];]S1_7>N^CM/_=WS +MF;OGC3NZ_\Y5?^>IOWM^S6=']]^YZN\\]7?M[/H<^4[U=Y[Z.Y@CWZG^SE-_ +M!W/D.]7?>>KOEKD7?8Y\I_H[3_W=BV6N<4?WW[GJ[SSU=R]F[EYT[LAWJK_S +MU-^]F+E[T;DCWZG^SE-_]^)Z<W;D.]7?>>KOVMGU.?*=ZN\\]7<P1[Y3_9VG +M_@[FR'>JO_/4WRUS+_L<^4[U=Y[ZNY?+7.>.?*?Z.T_]W<N9NY>-.[K_SE5_ +MYZF_>SES][)Q1_??N>KO//5W+Z_Y[.C^.U?]G:?^KIU=GR/?J?[.4W\'<^0[ +MU=]YZN]@CGRG^CM/_=TR]ZK/D>]4?^>IOWNUS#7NZ/X[5_V=I_[NU<S=J\X= +M^4[U=Y[ZNU<S=Z\Z=^0[U=]YZN]>76_.CGRG^CM/_5T[NSY'OE/]G:?^#N;( +M=ZJ_\]3?P1SY3O5WGOJ[9>YUGR/?J?[.4W_W>IGKW)'O5'_GJ;][/7/WNG%' +M]]^YZN\\]7>O9^Y>-^[H_CM7_9VG_N[U-9\=W7_GJK_SU-^UL^MSY#O5WWGJ +M[V".?*?Z.T_]'<R1[U1_YZF_6^;>]#GRG>KO//5W;Y:YQAW=?^>JO_/4W[V9 +MN7O3N2/?J?[.4W_W9N;N3>>.?*?Z.T_]W9OKS=F1[U1_YZF_:V?7Y\AWJK_S +MU-_!'/E.]7>>^CN8(]^I_LY3?[?,O>USY#O5WWG5WP7=?^>JO_.JOPNZ_\Y5 +M?^=5?Q=T_YVK_LZK_B[H_CM7_9U7_5W0_7>N^CNO^KN@^^]<]7=>]7=!]]^Y +MZN]<]'?O^ASY3O5WGOJ[=\M<XX[NOW/5WWGJ[][-W+WKW)'O5'_GJ;][-W/W +MKG-'OE/]G:?^[MWUYNS(=ZJ_\]3?M;/K<^0[U=]YZN]@CGRG^CM/_1W,D>]4 +M?Q?+!VENW>?`=Z'ZN^^?N,?=XJ=UYPY\%ZJ_B]3?K>>]=>..[K\+U=]%ZN_6 +M,W?KQAW=?Q>JOXO4WZVO^>SH_KM0_5VD_JZ=79\#WX7J[R+U=S`'O@O5WT7J +M[V`.?!>JOXO4WRUSUN?`=Z'ZNTC]G2USC3NZ_RY4?Q>IO[/YY5GG#GP7JK^+ +MU-_9S)UU[L!WH?J[2/V=76_.#GP7JK^+U-^UL^MSX+M0_5VD_@[FP'>A^KM( +M_1W,@>]"]7>1^KMESOL<^4[U=Y'Z.U_F.G?D.]7?1>KO?.;.&W=T_UVH_BY2 +M?^<S=]ZXH_OO0O5WD?H[O^:SH_OO0O5WD?J[=G9]CGRG^KM(_1W,D>]4?Q>I +MOX,Y\IWJ[R+U=\M<]#GRG>KO(O5WL<PU[NC^NU#]7:3^+F;NHG-'OE/]7:3^ +M+F;NHG-'OE/]7:3^+JXW9T>^4_U=I/ZNG5V?(]^I_BY2?P=SY#O5WT7J[V". +M?*?ZNTC]W3(W]#GRG>KO(O5WPS+7N2/?J?XN4G\WS-P-C3NZ_RY4?Q>IOQMF +M[H;&'=U_%ZJ_B]3?#==\=G3_7:C^+E)_U\ZNSY'O5'\7J;^#.?*=ZN\B]7<P +M1[Y3_5VD_FZ9V_0Y\IWJ[R+U=YMEKG%']]^%ZN\B]7>;F;M-YXY\I_J[2/W= +M9N9NT[DCWZG^+E)_M[G>G!WY3O5WD?J[=G9]CGRG^KM(_1W,D>]4?Q>IOX,Y +M\IWJ[R+U=\O<ML^1[U1_%ZF_VRYSG3ORG>KO(O5WVYF[;>..[K\+U=]%ZN^V +M,W?;QAW=?Q>JOXO4WVVO^>SH_KM0_5VD_JZ=79\CWZG^+E)_!W/D.]7?1>KO +M8(Y\I_J[2/W=,K?K<^0[U=]%ZN]VRUSCCNZ_"]7?1>KO=C-WN\X=^4[U=Y'Z +MN]W,W:YS1[Y3_5VD_FYWO3D[\IWJ[R+U=^WL^ASY3O5WD?H[F"/?J?XN4G\' +M<^0[U=]%ZN^6N;'/D>]4?Q>IOQN7N<X=^4[U=Y'ZNW'F;FS<T?UWH?J[2/W= +M.',W-N[H_KM0_5VD_FZ\YK.C^^]"]7>1^KMV=GV.?*?ZNTC]'<R1[U1_%ZF_ +M@SGRG>KO(O5WR]S4Y\AWJK^+U-]-RUSCCNZ_"]7?1>KOIIF[J7-'OE/]7:3^ +M;IJYFSIWY#O5WT7J[Z;KS=F1[U1_%ZF_:V?7Y\AWJK^+U-_!'/E.]7>1^CN8 +M(]^I_BY2?[?,O>]SY#O5WT7J[]XO<YT[\IWJ[R+U=^]G[MXW[NC^NU#]7:3^ +M[OW,W?O&'=U_%ZJ_B]3?O;_FLZ/[[T+U=Y'ZNW9V?8Y\I_J[2/T=S)'O5'\7 +MJ;^#.?*=ZN\B]7?+W(<^1[Y3_5VD_N[#,M>XH_OO0O5WD?J[#S-W'SIWY#O5 +MWT7J[S[,W'WHW)'O5'\7J;_[<+TY._*=ZN\B]7?M[/H<^4[U=Y'Z.Y@CWZG^ +M+E)_!W/D.]7?1>KOEKF/?8Y\I_J[2/W=QV6N<T>^4_U=I/[NX\S=Q\8=W7\7 +MJK^+U-]]G+G[V+BC^^]"]7>1^KN/UWQV=/]=J/XN4G_7SJ[/D>]4?Q>IOX,Y +M\IWJ[R+U=S!'OE/]7:3^;IG[U.?(=ZJ_B]3??5KF&G=T_UVH_BY2?_=IYNY3 +MYXY\I_J[2/W=IYF[3YT[\IWJ[R+U=Y^N-V='OE/]7:3^KIU=GR/?J?XN4G\' +M<^0[U=]%ZN]@CGRG^KM(_=TR][G/D>]4?Q>IO_N\S'7NR'>JOXO4WWV>N?O< +MN*/[[T+U=Y'ZN\\S=Y\;=W3_7:C^+E)_]_F:SX[NOPO5WT7J[]K9]3GRG>KO +M(O5W,$>^4_U=I/X.YLAWJK^+U-\M<U_Z'/E.]7>1^KLORUSCCNZ_"]7?1>KO +MOLS<?>G<D>]4?Q>IO_LR<_>E<T>^4_U=I/[NR_7F[,AWJK^+U-^UL^MSY#O5 +MWT7J[V".?*?ZNTC]'<R1[U1_-RP?I+FO?0Y\-ZC^;DC]W==EKG,'OOO^%',W +MI/[NZ\S=UX6[8<U/,7=#ZN^^SMQ]_;W-T;^WW8Y(?N+;V_3MVV\O?PYN?KZ^ +MP5?K/?RH/_'M;V_O_]<&?UX(L]FMALUJLUV-_F=?X?__S_^E5_AK[B][P[_F +MZ!\8OS>WO.`FO)NY+W?F?@C^<N=7KNW.4T?K?UP?QYL_NG]\^_SVCI$W="%, +MG_M!])D^(=\L_0/C_PTL-Y>NW/TZ_[QD-U;KY2_<T\V5[>N[ZJ^/(N9[;_</ +M7M_J]NW^E.CN_J^W.W->O-W5_;F?$KWS];SW)2Q.[_/MJZ-_Q/N_^6+<7!WR +M)W_G_ABY_SOWUYS_M2+8_33+#\_MX4?]B6__>'O_OU^#P\_!W_X-BB07FH&E +"```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-bsd.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-bsd.qcow2.gz.uu new file mode 100644 index 0000000..3663da0 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-bsd.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-63x255-512-bsd.qcow2.gz +M'XL("*P[(U0``VEM9RTV,W@R-34M-3$R+6)S9"YQ8V]W,BYO=70`K9C;DM,P +M#(;O^Q3F#`N46').'+:PL,QP!S=PW7;;I^CP[*QK)4H4*5XZ:3N9Z;C_-W+\ +M64E:%.GE7.E=J%QHW7'G[K_3!]S@R_CC3K^^_U@/7Z=5@OG"2"D#]:''C5A_ +M&0<6KO#3`:_C!M6A@H,N-07E<,&L;FY`P5VMSJ?NO!B-2.`EP(0S%^.B^B#5 +M)Q/APOI@Z?I0/W]EEY,#U7Q]F.J3J=K"-5D<**G6PFVS.%12.PNWS^*"DKJS +M<,;.'>!*)74T<#ZCRCVN4E+>PD$65RLIM'`ABVN4E.6=SWO7*BG+.Y_W;JND +M+.]\WKN=DK*\\WGO]DK*\L[GO;M34I9W8'CG&'=04I9W(+Q[1+C'C#LJ*<L[ +M$-X](=S3'N>UE.4=".^>$>XYXY1^!Y9W(+Q[0;B7C%/Z'5C>@?#N%>&N&*?T +M.["\`^'=:\*]89S2[\#R#H1W;R?>>:7?@>4="N_>$:M@G-+OT/(.A7>><,`X +MI=^AY1T*[Y!P@7%*OT/+.Q3>E82K&*?T.[2\0^%=3;B&<4J_0\L[%-ZUA'O/ +M.*7?H>4="N\^$.XCXY1^AY9W*+S[1+AKQBG]#BWO@O!N0[C/C%/Z7;"\"\*[ +M+X2[89S2[X+E71#>?27<MQX'6JKWKBCT#^%N)WL6EKW_#'Q_[)6C/3`#;/X' +M.%=APK6+3KA,$XX:;)6C/7"Z68_?/?"\PF4=5[6L7`,/K?#/[>_IA,L%5SCA +M[,=1&N@*[K?@!+<9X.(5[3CXY7`=W=[S]A\2![CKQ.MPLX^C\1[[H`V8DRT7 +ME@4:D1NN<[RUBW?@77<7MV;]^CJN3Y$91M.=J<]-IQNO&OW3G5B/B(/,=-T8 +M%Z\:8E_R$F;.WF9:W7[AQ4"Y,QZX<R-DO',3#I9M!)#^ERKBKZ9'>^#T<SU^ +5)V`@X&)G,%2Q]ZW^`:W<QSE#$P`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-bsd.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-bsd.raw.gz.uu new file mode 100644 index 0000000..31141a5 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-bsd.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-63x255-512-bsd.raw.gz +M'XL("/;%'50``VEM9RTV,W@R-34M-3$R+6)S9"YR87<N;W5T`*V4.PZ#,`Q` +M=T[AN4.4;TD7*E7JWJF=*853Y/!-@!2;$.@0!R(BVT_^X'`^"8"6P-N-/:]P +M-T:7JT[52),!:&K0!LP9K#?GRT,.1.%>]R?#XF:<V//*X]A*(DX>X6+`:LCA +MK@BGO')`EEP@KTZ`ZN<#_D:X9GHC3N]%YRO!^RU%-EE3JG:QMW;EA_L,H@>A +M@-M9)RGPUU]8XKND84B2[DY\D*;;!EQ-[07"R8-T@>+>`8?Z25IX4+TFC:XK +MW`RUGHP_)S=`Z.1..%GV(I#CS>+_0&^5[GF%>S"Z)J">@<4J6'^L)U9?N.5M +%L04%```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-bsd.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-bsd.vhd.gz.uu new file mode 100644 index 0000000..2e7c657 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-bsd.vhd.gz.uu @@ -0,0 +1,17 @@ +# $FreeBSD$ +begin 644 img-63x255-512-bsd.vhd.gz +M'XL("/?%'50``VEM9RTV,W@R-34M-3$R+6)S9"YV:&0N;W5T`*V7/6_#(!"& +M]_R*D[IEL/`98W=IHJCI7*E2.[O$CC+T0TV'#/[QY6R(#W\E;;$)PH)[>(\[ +M$!&B?0!4`JH"58)*J9U)4+>0Y0"FTQ9LZMA^0JT_WDO]?3A%]JD7+2P6W,HW +M)WM,0)I),L"")E$[:D/M,-'-=K\\O.T=#BW.32P52(340.1@GER<U1'I8?-T +MWU>7#-5U5NT\505)Q48D7%T4K3A.&BLSGHJ"2C8R7?$^O`Z.\]2EHF?%9(XM +M*G-V#*?FK'Z#6RYL+-I4,8F1F5J`BB%#:INT<>LP*"953L?/XNM8]O3A1*HH +M%HQ^GYQV%VVJH!ML%4@2..<N-)1C'S>2*O]:/>7;2=LPBR!2UX&-^_[J=2C@ +M^E0L9M9\.AB3^@K29_:6*$;JZ8YZ$_GO&:@)F&:TW5,%.5Z[@B_;Y['XZHET +M^>/NT'@)YP3ST\#'K1@N:</145CR@HXA*;MO.8*[,[]UAY-SZBAGRK&.26?3 +MP,FL\YX=CS/$)<0)B)QE-0.>XPN=OMNA#/3<G=$'0W<+PF7^^)CA\(*[X.-> +M[;G,!G<AO+!ZZZ$Z'3@8N_[.N'+G$L3?N2T.PQX$V)PL)@/-J&$]W5$_1O[; +M`M$>5<'./G1'52B%T@*#*33`,K!"+&>3[;=9J*S"0!=)P@6\2!(NX$62<`$O +=DH0+>)$D7,"+).&"7B25^8L@Q.('-E=QRWT,```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-bsd.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-bsd.vhdf.gz.uu new file mode 100644 index 0000000..c102a9f --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-bsd.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-63x255-512-bsd.vhdf.gz +M'XL("/?%'50``VEM9RTV,W@R-34M-3$R+6)S9"YV:&1F+F]U=`"ME#M/PS`0 +M@/?\BI/8.D1^QUUH55%F)"280W"J#L#"P.`?CR^)&U^>",5VHEAW]^4>]C'6 +M#@`E@)43[WF!/^5T^FR7-32!0%V`TJ`-V*#.^D4V1.!?SR]Y.GR'XTM6\[A\ +M,").K.&BP[*>PQT2G`S".M%D/+&J.$C7[]4$[CX\QQZGEKP+F6!N2C`;K-XJ +M=[&V=F"7UAFX`RZ!V4XF*/!67^C]VX_=$"3<!?]@'&Z)N(+J\P0G5L(%BGM# +M'"?*?0E7LG<<>U=M7`PYO!E_O+D(H3>WQ8EM&X%H.DLX@4%K_)X7^*><SA:H +M.N!F&;1=[S,23`W&@='X72@P>RAL"A3T)/GJZ]-5W]>?M,*(XVTSF%QH+R3> +M%E.`*/$GYAV_$__NSI?=]>,2<;%5Q1\K@TG7`:)&X5H:[N/I^6'HG1PGR9+L +M<?0S;7LA<)*]0XI3MV"=:UH@[Q?9$,%DJT*<9@.K_]:VQ9F-CTHX?-DO_`G/ +%>S`'```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-bsd.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-bsd.vmdk.gz.uu new file mode 100644 index 0000000..79b142e --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-bsd.vmdk.gz.uu @@ -0,0 +1,81 @@ +# $FreeBSD$ +begin 644 img-63x255-512-bsd.vmdk.gz +M'XL("/?%'50``VEM9RTV,W@R-34M-3$R+6)S9"YV;61K+F]U=`"MG%MO(\<1 +MA=_]*QKR6QZ(.9S[PR:.(P<(@@"&;=BOYMQB(?;N0BL$68`_/M,S?5IG1(U[ +M8)7,7;*65<7NZF&)_NJ`6;;^.%=TKBA<,;BR<AG<_$_KS67YLS'?BOC$]9_W +M__KQQ)^O3J?K%VLR^"@)0:;IQ-B\SO7TXH?ISK\7M7EBOIV3Z7(?U=T$AG3G +MG2=VT\WU<.?70KBZR_+TX!](.A<3N4VZ\I4][6[V]U;WIR]"\?SZ<K^&^7BK +MUM6YJ[I@NJI<[-S5Y^6YS-6STS0G_-+=/WSZC[L?/_6/#Q^?/H3UG?W9SLY% +MY?VKWF>8-U97_H%_PJ=K?8IJ=/G@<OBGW?7Q[P^_CJ?_CH^?'CZ\?P=N]^S/ +MMLA=T?KE>/_L^;8Q_(MDKH)_#7?]VS_NWX4K-SM]O#PRG8^:%S*_]KP/S5M5 +MSO^YO2VK&]\_^8Q3^(FK\V<;BE,NKUWX!V7AZM8MRRE][O/\]!"VO-2N?QPO +M3^,/GS^.[^Y^^_`^ULZ?K2]9NR1JED+EKLQ]JK`U7[[29_27S7)J[OKKP],O +M#_WW\S8_C7>G+QW35;YV\P$V85WKKN>0:O=DYV5?O_G?T[Q?-X23?6"Z91'+ +M)N;7+L^NK'VN^0#SN79Y[O+&Y4OZ><'S3@IX)W?]\/[TW4\.5=X4[OMO__H= +MTS5SNMES7N`<,F]HLZ=RW7_Y\K)TU^^_<7=^DS_\,BY7(-.UZ]O,.Z_G@,4\ +M^P>A:FMZW\0*_\1RLN[^\G1Q7U\^C:<O[^^_CB=[\9LMEMN\M-%GJ=;4_OI> +MRCD7;CWI]:"7HQB&[G09+A^?QD=_O/$H.G^U#F&G_EB+YV/<ODZ]G-3DKQAW +M?>?N'H;Y3'W:?X\??F.Z?KV,YW7X2Z)=`G/_8+YZEO1C>(7UBO''Y-.-3X^? +M3_WG7Q_>#_,;S;UCNF&MW;R<^3371<4UO5Q4?-FY=G=X7MJ<F^E&7Z)U44UX +M8\RYUG4\5R&?;Z6_A2I</Y]^&2_#O"QW=R[+NW@4T\NCT!*]J,)ZT',MUJ,( +M"_M\^C3V(5V>A0.<-L59U^0OY?E*7E>T;:!/'QZ7I57YG?;C_.7OLK?VX^+F +M5VK]!Q.NZ:S75V4O?I_E&E>(46X2^M]BV?HQX/3M\_HJO[Y*/&N-:L1H-^E^ +MGE-\O-UNY2^QBWAV&M6+,1RI7N5_7XSB.;VL'C]J0![OI^-G`7KF&E6(46[2 +M[=6N#+6C9ZU1C1CM)MU>[:I0.WIV&M6+,1S:;!UJ1\])H_P=/THA._"QK&I" +M[>B9:U0A1KE)MU>[-M2.GK5&-6*TFW1[M;N$VM&STZA>C.'09KM0.WI.&N7O +MV"`@C_?3]:%V],PUJA"CW*3;J]T0:D?/6J,:,=I-NKW:C:%V].PTJA=C.+39 +M*=2.GI-&^;M":E>DTM59J!T]<XTJQ"@WZ79J5[/?T;/6J$:,=I-NIW8U^QT] +M.XWJQ1@.;9;]CIZ31OF[4FI7)M.QW]$SUZA"C'*3;J]V['?TK#6J$:/=I-NK +M'?L=/3N-ZL48#FV6_8Z>DT;YNTIJ5R73L=_1,]>H0HQRDVZO=NQW]*PUJA&C +MW:3;JQW['3T[C>K%&`YMEOV.GI-&^3M^"((\WD_'?D?/7*,*,<I-NKW:L=_1 +ML]:H1HQVDVZO=NQW].PTJA=C.+19]CMZ3AKE[QJI79-*UV2A=O3,-:H0H]RD +MVZE=PWY'SUJC&C':3;J=VC7L=_3L-*H78SBT6?8[>DX:Y>]:J5V;3,=^1\]< +MHPHQRDVZO=JQW]&SUJA&C':3;J]V['?T[#2J%V,XM%GV.WI.&N7O^+]0D,?[ +MZ=COZ)EK5"%&N4FW5SOV.WK6&M6(T6[2[=6._8Z>G4;U8@R'-LM^1\])H_P= +M^2/D\7XZ]CMZYAI5B%%NTNW5COV.GK5&-6*TFW1[M6._HV>G4;T8PZ'-LM_1 +M<](H?]=+[?I4NC8+M:-GKE&%&.4FW4[M6O8[>M8:U8C1;M+MU*YEOZ-GIU&] +M&,.AS;+?T7/2*'\W2.V&9#KV.WKF&E6(46[2[=6._8Z>M48U8K2;='NU8[^C +M9Z=1O1C#H<VRW]%STBA_-TKMQF0Z]CMZYAI5B%%NTNW5COV.GK5&-6*TFW1[ +MM6._HV>G4;T8PZ'-LM_1<](H?S=)[:9D.O8[>N8:58A1;M+MU8[]CIZU1C5B +MM)MT>[5COZ-GIU&]&,.AS;+?T7/2J$RF9Y#'N^DNV5J[Z)EK5"%&N4FW4[M+ +MZ'?1L]:H1HQVDVZG=I?0[Z)GIU&]&,.AS89^%STGC?(E$WZ')-*ZA'X'X7=0 +M?@?A=TCRNTOH=Q!^!^5W$'Z')+^[A'X'X7=0?@?A=P<V&_H=A-]!^1V$WR&) +MM"ZAWT'X'93?0?@=DOSN$OH=A-]!^1V$WR')[RZAWT'X'93?0?C=@<V&?@?A +M=U!^!^%W2"*M2^AW$'X'Y7<0?H<DO[N$?@?A=U!^!^%W2/*[2^AW$'X'Y7<0 +M?G=@LZ'?0?@=E-]!^!V22*O+0NV$WT'Y'83?(<GO.O8[X7=0?@?A=TCRNX[] +M3O@=E-]!^-V!S;+?";^#\CL(OT,2:77L=\+OH/P.PN^0Y'<=^YWP.RB_@_`[ +M)/E=QWXG_`[*[R#\[L!FV>^$WT'Y'83?(8FT.O8[X7=0?@?A=TCRNX[]3O@= +ME-]!^!V2_*YCOQ-^!^5W$'YW8+/L=\+OH/P.PN^01%H=^YWP.RB_@_`[)/E= +MQWXG_`[*[R#\#DE^U['?";^#\CL(OSNP6?8[X7=0?@?A=T@BK3X+M1-^!^5W +M$'Z')+_KV>^$WT'Y'83?(<GO>O8[X7=0?@?A=P<VRWXG_`[*[R#\#DFDU;/? +M";^#\CL(OT.2W_7L=\+OH/P.PN^0Y'<]^YWP.RB_@_"[`YMEOQ-^!^5W$'Z' +M)-+JV>^$WT'Y'83?(<GO>O8[X7=0?@?A=TCRNY[]3O@=E-]!^-V!S;+?";^# +M\CL(OT,2:?7L=\+OH/P.PN^0Y'<]^YWP.RB_@_`[)/E=SWXG_`[*[R#\[L!F +MV>^$WT'Y'83?(8FTABS43O@=E-]!^!V2_&Y@OQ-^!^5W$'Z')+\;V.^$WT'Y +M'83?'=@L^YWP.RB_@_`[))'6P'XG_`[*[R#\#DE^-[#?";^#\CL(OT.2WPWL +M=\+OH/P.PN\.;);]3O@=E-]!^!V22&M@OQ-^!^5W$'Z')+\;V.^$WT'Y'83? +M(<GO!O8[X7=0?@?A=P<VRWXG_`[*[R#\#DFD-;#?";^#\CL(OT.2WPWL=\+O +MH/P.PN^0Y'<#^YWP.RB_@_"[`YMEOQ-^!^5W44P'>2SIW/HGI!NSM7:O2LI? +M^:=8._?JZD9C?2`6?6"<*:R[^F,)UW36ZXOS;=[>I%]$G&_S]B;](N)\F[<W +MZ1<1Y]N\O4F_B#C?-M$O(LZW3?2+B/-M$_TBXGS;1+^(.-\VT2\BSK=-](N( +M\VT3_2+B?-M$OX@XWS;1+R+.MTWTBXCS;1/](N)\VT2_B#C?-M$O(LZW3?2+ +MB/-M$_TBXGS;1+^(.-\VT2\BSK=-](N(\VT3_2+B?-M$OX@XWS;1+R+.MTWT +MBXCS;1/](N)\VT2_B#C?-M$O(LZW3?2+B/-M$_TBXGS;1+\(SK=M](O@?-M& +MOPC.MVWTB^!\VT:_",ZW;?2+X'S;1K\(SK=M](O@?-M&OPC.MVWTB^!\VT:_ +M",ZW;?2+X'S;1K\(SK=M](O@?-M&OPC.MVWTB^!\VT:_",ZW;?2+X'S;1K\( +MSK=M](O@?-M&OPC.MVWTB^!\VT:_",ZW;?2+X'S;1K\(SK=M](O@?-M&OPC. +MMVWTB^!\VT:_",ZW;?2+X'S;1K\(SK=M](O@?-M&OX@XWZ;GF_2+B/-M>KY) +MOX@XWZ;GF_2+B/-M>KY)OX@XWS;1+R+.MTWTBXCS;1/](N)\VT2_B#C?-M$O +M(LZW3?2+B/-M$_TBXGS;1+^(.-\VT2\BSK=-](N(\VT3_2+B?-M$OX@XWS;1 +M+R+.MTWTBXCS;1/](N)\VT2_B#C?-M$O(LZW3?2+B/-M$_TBXGS;1+^(.-\V +MT2\BSK=-](N(\VT3_2+B?-M$OX@XWS;1+R+.MTWTBXCS;1/](N)\VT2_",ZW +M;?2+&$WUBQA-]8L83?6+&$WUBQA-]8L83?6+&$WUBQA-]8L83?6+&$WUBQA- +M]8L83?6+&$WUBQA-]8L83?6+F++,4+^(R52_B,E4OXC)5+^(R52_B,E4OXC) +M5+^(R52_B,E4OXC)5+^(R52_B,E4OXC)5+^(R52_B,E4OXC)5+]XSK+,4+]X +MOODNX8/I;C>[Z@.+97WKMX/>_KW_Q/7KT_:_F'#Y@MVR]E]T6E:N.1]=X4_? +M_/C*AHNSV8;7=#=?GOPR7>1=TUZZOT@ZW^`G\=Q\%W,/EX_/=O%*NC^?Y)NB +MB^4+=G=7IW.*8YLU_O+D8OD26_75<_8=QH,??IY_\=Z(Y^N>U]?>+N.\V>[O +MK,_=;M<W4?WZ4#V/S;MU9[MNF\XW43W/S1$FJO?5[>IZX\.X^2K6@^]<GV3[ +FSEW3G6T;0;5TEG7X?_OW_A/7;T_;_]:$Q9+PB_\#AU-ESJ!=```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow.gz.uu new file mode 100644 index 0000000..39509f6 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow.gz.uu @@ -0,0 +1,128 @@ +# $FreeBSD$ +begin 644 img-63x255-512-ebr.qcow.gz +M'XL("%+N+50``VEM9RTV,W@R-34M-3$R+65B<BYQ8V]W+F]U=`"MG=F.5-D1 +M1=_YBF2&8LJ(N"-#5<F2+?G-?K#]VG=\S@]`_G8#=8:JN'L3M+MIU`+1=ROS +MU,I%V[UT.)_OOIU.K9R:[M2,IWT^??MY^BZG>S]Y^/WT]9]_^_O[^]^^/KH; +MD_-/GG(_[[<R]V#KOW5.OS^UG,[C+\Q]^RYH[MZKL]_QZNZ]V>/<U:.[-XN? +M4S9H#P9/:>Z<7I^0TVM^[?7=NK<K=Z?WY[U=)6^W_;7!?[C7I[\+EE]Z?;_S +MZ]O!P=_*ZVO@4SV;&Q[,70YOMX5/C6QN^BG,>N[@4S.;6X*Y'CZULKDMF!O@ +M4SN>DY]\;>_F1OB4L#F%<Z<R-\&GC,TU#^;.:>ZVS,WP*?*Y$,==_EQ4[A;X +M%.%.0NY6^!3A3D+N-O@4X4Y"[G;X%.%.(NX$/T6XTX@[08I2QIU&W`DRLC+N +M-.).D.^4<:<1=X)\IXP[C;@3Y#MEW&G$G2#?*>-.(^X$^4X9=QIRAWRGC#L+ +MN4.^,\:=A=PAWQGCSD+ND.^,<6<A=\AWQKBSD#OD.V/<6<@=\ITQ[BSD#OG. +M&'<6<:?X*<)=$W&GR'<-XZZ)N%/DNX9QUT3<*?)=P[AK(NX4^:YAW#41=XI\ +MUS#NFH@[1;YK&'=-Q)TBWS6,NR;D#OFN8=RU(7?(=RWCK@VY0[YK&7=MR!WR +M7<NX:T/ND.]:QET;<H=\US+NVI`[Y+N6<=>&W"'?M8R[-N+.\%.$NR[BSI#O +M.L9=%W%GR'<=XZZ+N#/DNXYQUT7<&?)=Q[CK(NX,^:YCW'41=X9\US'NNH@[ +M0[[K&'==R!WR7<>XZT/ND.]ZQET?<H=\US/N^I`[Y+N><=>'W"'?]8R[/N0. +M^:YGW/4A=\AW/>.N#[E#ONL9=WW$78.?(MP-$7<-\MW`N!LB[AKDNX%Q-T3< +M-<AW`^-NB+AKD.\&QMT0<=<@WPV,NR'BKD&^&QAW0\1=@WPW,.Z&D#ODNX%Q +ME__O>3Z'?#<R[L:0.^2[D7$WAMPAWXV,NS'D#OEN9-R-(7?(=R/C;@RY0[X; +M&7=CR!WRW<BX&R/N6OP4X6Z*N&N1[R;&W11QUR+?38R[*>*N1;Z;&'=3Q%V+ +M?#<Q[J:(NQ;Y;F+<31%W+?+=Q+B;(NY:Y+N)<3>%W"'?38R[_)])^1SRW<RX +MFT/ND.]FQMT<<H=\-S/NYI`[Y+N9<3>'W"'?S8R[.>0.^6YFW,TA=\AW,^-N +MCKCK\%.$NR7BKD.^6QAW2\1=AWRW,.Z6B+L.^6YAW"T1=QWRW<*X6R+N.N2[ +MA7&W1-QUR'<+XVZ)N.N0[Q;&W1)RAWRW,.[6D#ODNY5QMX;<(=^MC+LUY`[Y +M;F7<K2%WR'<KXVX-N4.^6QEW:\@=\MW*N%M#[I#O5L;=&G'7XZ<(=R00NC>' +M?+<Q[K:(NQ[Y;F/<;1%W/?+=QKC;(NYZY+N-<;=%W/7(=QOC;HNXZY'O-L;= +M%G'7(]]MC+LMY`[Y;F/<[2%WR'<[XVX/N4.^VQEW>\@=\MW.N-M#[I#O=L;= +M'G*'?+<S[O:0.^2[G7&WA]PAW^V,NSWB;L!/8>XD_X#/`=_)F7`GYXB[`?A. +MSH0[.4?<#<!WPOI`\?W=@;L!^$Y8?R=A?S<`WPGK[R3L[P;@.V']G83]W0!\ +M)ZR_D["_&X#OA/5W$O9W`_"=L/Y.POYN`+X3UM])V-\-P'?"^CL)^[L!^$Y8 +M?R=A?S<`WPGK[R3L[P;@.V']G83]W0!\)ZR_D["_&_%3A+NPOQN1[UA_)V%_ +M-R+?L?Y.POYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6 +MWTG8WXW(=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N[ +M$?F.]7<2]G<C\AWK[R3L[T;D.];?2=C?3?@IPEW8WTW(=ZR_D["_FY#O6'\G +M87\W(=^Q_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK[R3L[R;D +M.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=A'S'^CL) +M^[L)^8[U=Q+V=Q/R'>OO).SO9OP4X2[L[V;D.];?2=C?S<AWK+^3L+^;D>]8 +M?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R'>OO).SO +M9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYN1KYC_9V$_=V,?,?Z +M.PG[NQGYCO5W$O9W"WZ*<!?V=POR'>OO).SO%N0[UM])V-\MR'>LOY.POUN0 +M[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D +M[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W(-^Q_D["_FY!OF/]G83]W8)\ +MQ_H["?N[%3]%N`O[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6WTG8WZW(=ZR_D["_ +M6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2]G<K\AWK +M[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A?[<BW['^3L+^;D6^8_V=A/W= +MAI\BW(7]W89\Q_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C?;<AWK+^3 +ML+_;D.]8?R=A?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR +M'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_)V%_MR'?L?Y.POYNQT\1[L+^ +M;D>^8_V=A/W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM])V-_MR'>L +MOY.PO]N1[UA_)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.PG[NQWYCO5W$O9W +M._(=Z^\D[.]VY#O6WTG8W^W(=ZR_D["_VY'O6'\G47]G9_P4YD[S#]S<J<X! +MWWU["G.GKK_+]_V=3F4.^$Y9?Z>NOSLE[DZW90[X3EE_IZZ_.R7N3K^5.>`[ +M9?V=NO[N=#F<'?"=LOY.77]7SJ[.`=\IZ^_4]7=@#OA.67^GKK\#<\!WROH[ +M=?U=GGM<YX#OE/5WZOJ[QWFN<@=\IZR_4]??/4[</:[<`=\IZ^_4]7>/$W>/ +M*W?`=\KZ.W7]W>/+X>R`[Y3U=^KZNW)V=0[X3EE_IZZ_`W/`=\KZ.W7]W7$. +MW7^GK+]3U]_EN2=U#OF.]7?J^KLG>:YPA^Z_4];?J>OOGB3NGA3NT/UWROH[ +M=?W=D\3=D\(=NO].67^GKK][<CF<'?(=Z^_4]7?E[.H<\AWK[]3U=V`.^8[U +M=^KZ.S"'?,?Z.W7]79Y[6N>0[UA_IZZ_>YKG*G?(=ZR_4]??/4W</:W<(=^Q +M_DY=?_<T<?>T<H=\Q_H[=?W=T\OA[)#O6'^GKK\K9U?GD.]8?Z>NOP-SR'>L +MOU/7WQWGT/UWROH[=?U=GGM6YY#O6'^GKK][EN<*=^C^.V7]G;K^[EGB[EGA +M#MU_IZR_4]??/4O</2O<H?OOE/5WZOJ[9Y?#V2'?L?Y.77]7SJ[.(=^Q_DY= +M?P?FD.]8?Z>NOP-SR'>LOU/7W^6YYW4.^8[U=^KZN^=YKG*'?,?Z.W7]W?/$ +MW?/*'?(=Z^_4]7?/$W?/*W?(=ZR_4]??/;\<S@[YCO5WZOJ[<G9U#OF.]7?J +M^CLPAWS'^CMU_=UQ#MU_IZR_4]??Y;D7=0[YCO5WZOJ[%WFN<(?NOU/6WZGK +M[UXD[EX4[M#]=\KZ.W7]W8O$W8O"';K_3EE_IZZ_>W$YG!WR'>OOU/5WY>SJ +M'/(=Z^_4]7=@#OF.]7?J^CLPAWS'^CMU_5V>>UGGD.]8?Z>NOWN9YRIWR'>L +MOU/7W[U,W+VLW"'?L?Y.77_W,G'WLG*'?,?Z.W7]W<O+X>R0[UA_IZZ_*V=7 +MYY#O6'^GKK\#<\AWK+]3U]\=Y]#]=\KZ.W7]79Y[5>>0[UA_IZZ_>Y7G"G?H +M_CME_9VZ_NY5XNY5X0[=?Z>LOU/7W[U*W+TJW*'[[Y3U=^KZNU>7P]DAW['^ +M3EU_5\ZNSB'?L?Y.77\'YI#O6'^GKK\#<\AWK+]3U]_EN==U#OF.]7?J^KO7 +M>:YRAWS'^CMU_=WKQ-WKRAWR'>OOU/5WKQ-WKRMWR'>LOU/7W[V^',X.^8[U +M=^KZNW)V=0[YCO5WZOH[,(=\Q_H[=?W=<0[=?Z>LOU/7W^6YJSJ'?,?Z.W7] +MW56>*]RA^^^4]7?J^KNKQ-U5X0[=?Z>LOU/7WUTE[JX*=^C^.V7]G;K^[NIR +M.#OD.];?J>OORMG5.>0[UM^IZ^_`'/(=Z^_4]7=@#OF.]7?J^KL\]Z;.(=^Q +M_DY=?_<FSU7ND.]8?Z>NOWN3N'M3N4.^8_V=NO[N3>+N3>4.^8[U=^KZNS>7 +MP]DAW['^3EU_5\ZNSB'?L?Y.77\'YI#O6'^GKK\[SJ'[[Y3U=^KZNSSWMLXA +MW['^3EU_]S;/%>[0_7?*^CMU_=W;Q-W;PAVZ_TY9?Z>NOWN;N'M;N$/WWRGK +M[]3U=V\OA[-#OF/]G;K^KIQ=G4.^8_V=NOX.S"'?L?Y.77\'YI#O6'^GKK_+ +M<^_J'/(=Z^_4]7?O\ESE#OF.]7?J^KMWB;MWE3OD.];?J>OOWB7NWE7ND.]8 +M?Z>NOWMW.9P=\AWK[]3U=^7LZASR'>OOU/5W8`[YCO5WZOJ[XQRZ_TY9?Z>N +MO\MS[^L<\AWK[S3J[PS=?Z>LO].HOS-T_YVR_DZC_L[0_7?*^CN-^CM#]]\I +MZ^\TZN\,W7^GK+_3J+\S=/^=LOY.H_[.T/UWROH[)?W=ASJ'?,?Z.W7]W8<\ +M5[E#OF/]G;K^[D/B[D/E#OF.]7?J^KL/B;L/E3OD.];?J>OO/EP.9X=\Q_H[ +M=?U=.;LZAWS'^CMU_1V80[YC_9VZ_NXXA^Z_4];?6?Z!FSO7.>`[8_W=MU]X +MP%WVT[EPA^Z_,];?F>OOSFGO7+A#]]\9Z^_,]7?GQ-VY<(?NOS/6WYGK[\Z7 +MP]D!WQGK[\SU=^7LZASPG;'^SEQ_!^:`[XSU=^;Z.S`'?&>LOS/7W^4YJ7/` +M=\;Z.W/]G>2YRAWPG;'^SEQ_)^GE2>4.^,Y8?V>NOY/$G53N@.^,]7?F^CNY +M',X.^,Y8?V>NORMG5^>`[XSU=^;Z.S`'?&>LOS/7WQWGT/UWQOH[<_U=GM,Z +MAWS'^CMS_9WFN<(=NO_.6']GKK_3Q)T6[M#]=\;Z.W/]G2;NM'"'[K\SUM^9 +MZ^_T<C@[Y#O6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[/&=U +M#OF.]7?F^CO+<Y4[Y#O6WYGK[RQQ9Y4[Y#O6WYGK[RQQ9Y4[Y#O6WYGK[^QR +M.#OD.];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7?'.73_G;'^SEQ_E^>:.H=\ +MQ_H[<_U=D^<*=^C^.V/]G;G^KDG<-84[=/^=L?[.7'_7).Z:PAVZ_\Y8?V>N +MOVLNA[-#OF/]G;G^KIQ=G4.^8_V=N?X.S"'?L?[.7'\'YI#O6']GKK_+<VV= +M0[YC_9VY_J[-<Y4[Y#O6WYGK[]K$75NY0[YC_9VY_JY-W+65.^0[UM^9Z^_: +MR^'LD.]8?V>NORMG5^>0[UA_9ZZ_`W/(=ZR_,]??'>?0_7?&^CMS_5V>Z^H< +M\AWK[\SU=UV>*]RA^^^,]7?F^KLN<=<5[M#]=\;Z.W/]79>XZPIWZ/X[8_V= +MN?ZNNQS.#OF.]7?F^KMR=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L_U +M=0[YCO5WYOJ[/L]5[I#O6']GKK_K$W=]Y0[YCO5WYOJ[/G'75^Z0[UA_9ZZ_ +MZR^'LT.^8_V=N?ZNG%V=0[YC_9VY_@[,(=^Q_LY<?W><0_??&>OOS/5W>6ZH +M<\AWK+\SU]\->:YPA^Z_,];?F>OOAL3=4+A#]]\9Z^_,]7=#XFXHW*'[[XSU +M=^;ZN^%R.#OD.];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\ +M-]8YY#O6WYGK[\8\5[E#OF/]G;G^;DS<C94[Y#O6WYGK[\;$W5BY0[YC_9VY +M_FZ\',X.^8[U=^;ZNW)V=0[YCO5WYOH[,(=\Q_H[<_W=<0[=?V>LOS/7W^6Y +MCW4.^8[U=^;ZNX]YKG"'[K\SUM^9Z^\^)NX^%N[0_7?&^CMS_=W'Q-W'PAVZ +M_\Y8?V>NO_MX.9P=\AWK[\SU=^7LZASR'>OOS/5W8`[YCO5WYOH[,(=\Q_H[ +M<_U=GOM4YY#O6']GKK_[E.<J=\AWK+\SU]]]2MQ]JMPAW['^SEQ_]REQ]ZER +MAWS'^CMS_=VGR^'LD.]8?V>NORMG5^>0[UA_9ZZ_`W/(=ZR_,]??'>?0_7?& +M^CMS_5V>^USGD.]8?V>NO_N<YPIWZ/X[8_V=N?[N<^+N<^$.W7]GK+\SU]]] +M3MQ]+MRA^^^,]7?F^KO/E\/9(=^Q_LY<?U?.KLXAW['^SEQ_!^:0[UA_9ZZ_ +M`W/(=ZR_,]??Y;DO=0[YCO5WYOJ[+WFN<H=\Q_H[<_W=E\3=E\H=\AWK[\SU +M=U\2=U\J=\AWK+\SU]]]N1S.#OF.]7?F^KMR=G4.^8[U=^;Z.S"'?,?Z.W/] +MW7$.W7]GK+\SU]_EN>LZAWS'^CMS_=UUGBO<H?OOC/5WYOJ[Z\3==>$.W7]G +MK+\SU]]=)^ZN"W?H_CMC_9VY_N[Z<C@[Y#O6WYGK[\K9U3GD.];?F>OOP!SR +M'>OOS/5W8`[YCO5WYOJ[/'=3YY#O6']GKK^[R7.5.^0[UM^9Z^]N$G<WE3OD +M.];?F>OO;A)W-Y4[Y#O6WYGK[VXNA[-#OF/]G;G^KIQ=G4.^8_V=N?X.S"'? +ML?[.7']WF&O.^"G,79-_X.9NZQSP7</ZN\;U=[=Y[E3F@.^^/86Y:UQ_=YNX +MN[TM<\!W#>OO&M??W2;N;G\K<\!W#>OO&M??W5X.9X?^O.URXO07OKYWW[X^ +MNOHQV*)KB*)!@8-W<S\^9C]2N*E-G'S[Z9V,TO.+U-\4[[^^FSM6KN_/H3_F +M^0^]7?0G,_]DL&U/TW08_%=^?>CFH#_R^KH?_U.JT=-Y`G_GO_#U+^\?_I4' +M^Q^?W;8_->VI[4Z#_NHK_,]?_PV^OCWZ[/Y_;_AN#GQV'\[E%UQ^.SO,W=R; +M^_[9W>_]DV>Y]]1][N[_^-[<]?M[O]_VZ+-;Y[[[:D._0-_LG_S9[0_W0][_ +M.O^X0ME.Y_R?4]R]I.7K>ZJO#_7X#][N3U[?Z?AV?_S[0/_PGY=[<QJ\W=/# +MN;F8!7P)@].[/KXZ].?1_Y$OQN&6PU_\Y'X?>?C)O9O3/U<$PP^S?/]=;`)_ +@Y[_P]1_O'_YU-]BDP3_M!)MO])W/C_X'"T=/.U"H```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow2.gz.uu new file mode 100644 index 0000000..71e3879 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-512-ebr.qcow2.gz +M'XL("%+N+50``VEM9RTV,W@R-34M-3$R+65B<BYQ8V]W,BYO=70`K9C;DM,P +M#(;O]RG,&18HL>2D"8<6%I89[N`"N$Y/3]'AV:EK)784*=YVTG8R[;C_-W+\ +M64U:%.%A3&F-JXQKS&%C3I_I!2;Y,'R9XZ_O/Q;IXW@38+904L+`<M_C!JQ_ +M$0<:KK#C`2OCDNI0P$&7&H-R.*=6-S4@X&YOSJ?NO!@U2^`UP(!3%^.J^B#4 +MQQ/NROI@[OI0/G]EE^,#U71]&.KCJ:6&J[,X$%*-AFNS.!12&PVWS>*<D-II +M.&7G)KA22!T4G,VH<L)50LIJ.,CBED(*-9S+XFHAI7EG\]XU0DKSSN:]:X64 +MYIW->[<14IIW-N_=5DAIWMF\=SLAI7D'BG<FXO9"2O,.F'>/"/<XX@Y"2O,. +MF'=/"/>TQUDII7D'S+MGA'L><4*_`\T[8-Z](-S+B!/Z'6C>`?/N%>%N(T[H +M=Z!Y!\R[UX1[$W%"OP/-.V#>O1UY9X5^!YIWR+Q[1ZPBXH1^AYIWR+RSA(.( +M$_H=:MXA\PX)YR).Z'>H>8?,NY)P5<0)_0XU[Y!YMR1<'7%"OT/-.V3>-81[ +M'W%"OT/-.V3>?2#<QX@3^AUJWB'S[A/A5A$G]#O4O'/,NS7A/D><T.^<YIUC +MWGTAW%W$"?W.:=XYYMU7PGWK<2"E>N^*0GX1[GZT9V'>ZT\7KX^M<-0')H#U +M)<"I"@.NF77"9=@;%P+E"0><WQMA,FW9F6S)9\IO;=P5:7WK8/,JQ>WFGN[A +M,F!9FK8=`7]W]<%D&9?7M]S[8;\K6^&H#QSO%L-G!ZS#OP-+O\G*RM3PT`K_ +MWO\1UK>>[X8OX/1_!VB@*[COB"/<.L'Y"XQ#\LUT6PV\2]\GN-4B=N83;O+? +M`7_+LY<&U,F6\\I2][VEMS599W^E[6^(NA];=J7<KZ^)]0F]!0;3G:C/C*?K +M?\3[FVVV'AX'F>F:(6[3=Q9A"3-G;S6N;COS8EB^,QZX<SUDN',##N9M!,VY +CLYP,/'UK?-0'CC\7PV<`.@+.=@9=Y7][;_X#6VG_\](4```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-ebr.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-ebr.raw.gz.uu new file mode 100644 index 0000000..019b487 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-ebr.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-512-ebr.raw.gz +M'XL("%+N+50``VEM9RTV,W@R-34M-3$R+65B<BYR87<N;W5T`*V4S0Z#(`S' +M[SY%SSL80)GLHLF2W7?9=D:G3^'#KQ5U(/B50(5("K_\2PN,F0:`/?BM._IT +MT?KDD@PT7I\'\B#0X!K:Q6F9EC1F'4UIG'$-SMN`O@H-6VGCOK'#[<X!I02M +M/>!KTB<BIZ-HR9T+8#HPKCOZ>^K:!%1#P<@"<@GR"DH<5?AYO`/Y58S'"MC@ +MQ!YN$FPJ*(2K+%R&SLY::2IQW&77G?UOX4K3)UR^I0Y/@K4AQVJP,FZQ*#1W +MGYUGX"WP#)@:?<(%SOF%O[Z;+T,XX6[H`S]<3;C"7<\MG-@)%UQ</;\L@13N +MG%[IJVLB)X,O;\;!FTL0]^8:G(C[$-R&EP4K$%?YX[JC?Z:N&6`^`J.=(+U\ ++C"4_RQ*HU^4&```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-ebr.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-ebr.vhd.gz.uu new file mode 100644 index 0000000..eae437d --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-ebr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-512-ebr.vhd.gz +M'XL("%/N+50``VEM9RTV,W@R-34M-3$R+65B<BYV:&0N;W5T`*V736_C(!"& +M[_D5(_76@X7'@-U+(E7-GE>JVIZQ:U<][(>:/>3@'[^,@63P5YJ6F""L81[> +M@0$+(=P/0!>@.]`M:$7M4H*^@[("L$9?<*AS_PI]\^=WV_Q[/V;^UV\<+!?< +M*W8G?RQ`VD%*0$.#Z%=J0Q\PV<W^[?;]UUO`H<>%@:4&B:`L1$[&J<1)'9%^ +MW#\^C-454W5G+S=.UT'1L1X%5Y=E.XZ3ULOVIZ*ADX/,4**7R,!QD3HE1EY, +MYMRDLF#G<'K-ZQK<[<:OA4L5FQBEK07H'$JDMDV;,`^38E/E>/AK/@[M2!\N +MI(IFBS&VR>5PT:<*ALY>@22!:^'"0#F,<3.I\JW9T[&?]`T["4(%`P[AQ[-W +M1@'7IW.Q,N?+B[&HSZS&]86`Z_IZX,KNJ!N_.P08137MTMSO5>_?V/=V1M_. +M;=LMQ[VF#K>[#J@4&#,!/@5]3>+EJ"HRV[-3F)EZV=#?9_%S`@X)HTHZSI6& +M"C^K\&7_/+.^E5DX#JX/V.'P$BX(YJ=]C-LQ7.&V&T_5LQ?/.]YFN*W[!YQ< +M4T=G0CMG6`Q6)4X64XW\^#I#WD)>@*B\#6/@:7WAK.]N*@.C<%?TP31<0[@R +M[I\S'%X(%V)<?3I99I;PPNQMI^J:Q(M1CW?&)W<N0>*=ZW"8]B`PP\EB,]#V +MFM;+AOYG%C\.B/Y3E.S;AOXP3:90>F`RA1;8)E9HTGX_M%>8Z*)`N(07!<(E +CO"@0+N%%@7`)+PJ$2WA1(%S2BX*V5T`A-O\!]-GJEUT.```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-ebr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-ebr.vhdf.gz.uu new file mode 100644 index 0000000..edf4354 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-ebr.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-512-ebr.vhdf.gz +M'XL("%/N+50``VEM9RTV,W@R-34M-3$R+65B<BYV:&1F+F]U=`"ME3MOPR`0 +M@/?\BI.Z98@``R9+(D5-YTI5V]EQ<92A[=*A@W]\.6,<SL9Y5!B,0`>?[\69 +M,?\`N#?9YP7M:O2TB^6BH_'#_4">!'I<C:<X;JL4CD6#2QP'7.W6-J'?UC7W +M;&+<1VYSF_N`2D%538"O03^1.1RE1;$4P*K$."]H=RO:`M!T":-*D`J4!B-N +MU?!]_Y:(KV$\E\$>)Z[A@L(^@U*X;80KG+")=OI,[$_%>1?/(]S&OP$G+VGG +M/,%L2C!KK,J;+,8U>BZ.,W`+O`!F>IF@P"&^<-9O/55#$',OZ`=3<RO$E70_ +MCW#BBKE`<8>ALB1">,5[FZEV=>9@\/'-N/'F(H3>7(\3>0O!NJLL+@/=KNDX +M+VB?5[1YH.R!V3QH^G^;+D`WH"UHA?-2@EY#:6*@H)G4UM]?MOXY_<811ASW +MQ2#9\;PH\+;H$D2%']$?.(_T>]@?EZ?/8\"%4A4^+#4Z73F(G)AKJ+E/NY?' +ML7;%U$F&>(^CGG'9<X83[VUCG!R,M;8K@?S<R8((DJ4*<8J-3OTWMAZG,Z>* +-^^\N_@`\0K'N$`D````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-ebr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-ebr.vmdk.gz.uu new file mode 100644 index 0000000..ada1aea --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-ebr.vmdk.gz.uu @@ -0,0 +1,84 @@ +# $FreeBSD$ +begin 644 img-63x255-512-ebr.vmdk.gz +M'XL("%/N+50``VEM9RTV,W@R-34M-3$R+65B<BYV;61K+F]U=`"M7-%NY,81 +M?/=7#.2W/"Q8RR6Y?#@[<<X!@B"`$3OV:\CE,!9BWQUT0I`#]/'AD%.C(D4> +M::MUJP/[V%W;W4.U=-4%9=GTX=RE=9>+NW2N*%T&-_S3]')9_FP,KTNZ\?2W +MMW__\<2//YY.3U],8`A1$H),X<28O<_3:?%!N//GHF8WAM=Y%RX/4>V+P`AW +MWKBQ"3?TPYW70IA=,][NPH7`N03D9G#%2DV;Q7XNNS]\$9L7\LM##L/QEK6K +M<E>VT71E,=JYJ\[CO<Q5@U,_`'[IWMY__(][ZS_>'NX_/+Z/^9W#V0[.ES+X +ME[>`,!16E>$BW`AP=8`HO<L[ER/<=D\/?[G_Q9_^ZQ\^WK]_]P8L]QS.]I*[ +M2QW2"?[9\VMFA#?)7(GP'N[ISW]]^R8^N=GI0_-`N!`U)#*\]U"'XI:E"Y\O +M7V-V_MUC0.SC1\HNG&UL3C&^]R5<%!=7U6Y,IPC8Y^%V%TL>>W=[\,VC_^'3 +M!__F[M?W[U+OPMF&EM4CT'5L5.Z*/$#%TD+[BH`8'IOQU-S3+_>//]_?OA_* +M_.CO3E\ZPI6A=\,!7F->4]5#2+EYLD/:3]_^[W&HUW7Q9.\)-R8Q%C&\=W%V +M116PA@/,A][EN<NO+A_AAX2'2BX(3N[I_;O3/WYR*//KQ7W_W9_^0;CK`#=X +M#@D.(4-!LYJ*J?YB^5BZI^^_=7>AR!]^]N,32+AZ^C(+SM,Y8#3/X2)V;8(/ +M0^P2;HPGZ]XVCXW[IOGH3U^^??M-.MDF%'L97T-J/J"4$W1XOL=V#HV;3GHZ +MZ/$HNJX]-5WSX=$_A.--1]&&I[6+E89CO3P?X_Q]JO&D^O#$N*<W[NZ^&\XT +MP/[;O_^5<+?I,1[R"(]$/0;FX6)X>D9X']]A>F+",04X__CPZ73[],O]NV[X +M0G-O"-=-O1O2&4YS2BKEM$PJO>W0NSL\IS9@$\Z'%DU)7>,7QH`UY?'<A7QX +M%>$5N_#TZ?2S;[HA+7=W+HJ[=!3]\BBT18LN3`<]]&(ZBIC8I]-'?XMP>18/ +ML)\U9\HI/,K#DSQE-!^@C^\?QM3*_$[G<;[\7O;:>7QY\2VU^IV`$YQU?F6V +M]_V,KWP&Z`0L>\ZO#/E=Q+/0J%*,:@8W_#1Q^F[X_-?P^4'@PB-V%<]:HQHQ +MVB/=*\/WBYMX=AKEQ>@/P5UBB_@#"N1Z;"J-7&\D.+?H71%[1\]"HTHQJAG< +M5N_*V#MZUAK5B-&N9K<LMHJ]HV>G45Z,_A#<-?:./X!!KL?>T<BSM9_REKVK +M8^_H66A4*48U@]OJ71-[1\]:HQHQVM7LEL6VL7?T[#3*B]$?@KO%WG&L0*[' +MWM'(]<9F[[K8.WH6&E6*4<W@MGKG8^_H66M4(T:[FMVRV#[VCIZ=1GDQ^B-P +M519[=Y'>\7KL'8U<;VSUKN*\HV>A4:48U0QNHW<5YQT]:XUJQ&A7LUL6RWE' +MSTZCO!C](3C.NT)ZQ^NQ=S1RO;'9.\X[>A8:58I1S>"V>L=Y1\]:HQHQVM7L +MEL5RWM&STR@O1G\(CO.NE-[Q>NP=C5QO;/:.\XZ>A4:58E0SN*W><=[1L]:H +M1HQV-;MEL9QW].PTRHO1'X+CO../3I#KL7<T<KVQV3O..WH6&E6*4<W@MGK' +M>4?/6J,:,=K5[);%<M[1L],H+T9_!.Z:Q=Y=I7>\'GM'(]<;6[V[<M[1L]"H +M4HQJ!K?1NROG'3UKC6K$:%>S6Q;+>4?/3J.\&/TA.,Z[6GK'Z[%W-'*]L=D[ +MSCMZ%AI5BE'-X+9ZQWE'SUJC&C':U>R6Q7+>T;/3*"]&?PB.\X[_\8)<C[VC +MD>N-S=YQWM&ST*A2C&H&M]4[SCMZUAK5B-&N9K<LEO..GIU&>3'Z0W"<=V0M +M(==C[VCD>F.S=YQW]"PTJA2CFL%M]8[SCIZU1C5BM*O9+8OEO*-GIU%>C/X( +M7)W%WMVD=[P>>T<CUQM;O:LY[^A9:%0I1C6#V^A=S7E'SUJC&C':U>R6Q7+> +MT;/3*"]&?PB.\ZZ3WO&:K';J7?<";MD[SCMZ%AI5BE'-X+9ZQWE'SUJC&C': +MU>R6Q7+>T;/3*"]&?PB.\\Y+[W@]]HY&KC<V>\=Y1\]"HTHQJAG<5N\X[^A9 +M:U0C1KN:W;)8SCMZ=AKEQ>@/P7'>]=([7H^]HY'KC<W><=[1L]"H4HQJ!K?5 +M.\X[>M8:U8C1KF:W+);SCIZ=1GDQ^B-P33;U+NW<(->A=\G(]<96[YHX[Y)G +MH5&E&-4,;J-W39QWR;/6J$:,=C6[9;%QWB7/3J.\&/TAN#CO(/P=E+^#\'?8 +MY>^:..\@_!V4OX/P=]CE[YHX[R#\'92_@_!W*]DMBXWS#L+?0?D["']W`"[. +M.PA_!^7O(/P==OF[)LX["'\'Y>\@_!UV^;LFSCL(?P?E[R#\W4IVRV+CO(/P +M=U#^#L+?'8"+\P["WT'Y.PA_AUW^KHGS#L+?0?D["'^'7?ZNB?,.PM]!^3L( +M?[>2W;+8..\@_!V4OX/P=_MP;19[)_P=E+^#\'?8Y>]:SCOA[Z#\'82_PRY_ +MUW+>"7\'Y>\@_-U*=LMB.>^$OX/R=Q#^[@`<YYWP=U#^#L+?89>_:SGOA+^# +M\G<0_@Z[_%W+>2?\'92_@_!W*]DMB^6\$_X.RM]!^+L#<)QWPM]!^3L(?X== +M_J[EO!/^#LK?0?@[[/)W+>>=\'=0_@["WZUDMRR6\T[X.RA_!^'O#L!QW@E_ +M!^7O(/P==OF[EO-.^#LH?P?A[[#+W[6<=\+?0?D["'^WDMVR6,X[X>^@_!V$ +MO]N'NV6Q=\+?0?D["'^'7?[NQGDG_!V4OX/P=]CE[VZ<=\+?0?D["'^WDMVR +M6,X[X>^@_!V$OSL`QWDG_!V4OX/P=]CE[VZ<=\+?0?D["'^'7?[NQGDG_!V4 +MOX/P=RO9+8OEO!/^#LK?0?B[`W"<=\+?0?D["'^'7?[NQGDG_!V4OX/P=]CE +M[VZ<=\+?0?D["'^WDMVR6,X[X>^@_!V$OSL`QWDG_!V4OX/P=]CE[VZ<=\+? +M0?D["'^'7?[NQGDG_!V4OX/P=RO9+8OEO!/^#LK?0?B[?;@NB[T3_@[*WT'X +M.^SR=QWGG?!W4/X.PM]AE[_K..^$OX/R=Q#^;B6[9;&<=\+?0?D["']W`([S +M3O@[*'\'X>^PR]]UG'?"WT'Y.PA_AUW^KN.\$_X.RM]!^+N5[);%<MX)?P?E +M[R#\W0$XSCOA[Z#\'82_PRY_UW'>"7\'Y>\@_!UV^;N.\T[X.RA_!^'O5K); +M%LMY)_P=E+^#\'<'X#COA+^#\G<0_@Z[_%W'>2?\'92_@_!WV.7O.LX[X>^@ +M_!V$OUO);EDLYYWP=U#^#L+?[</Y;.I=DN!!KD<9(XU<;SR-31L^W?"9N6>X +M..]6%7TK_Y1ZY]:S>Z'%/P;WLMA);HA1;I@V$5.YOP]P@C.60^(:N[X/>$0. +MB;0NY^M5<DBD=3E?KY)#(JW+^7J5'!)I76XBAT1:EYO((9'6Y29R2*1UN8D< +M$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F) +M'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6Y +MB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1U +MN8D<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76Y +MC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F- +M'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T< +M$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P2 +M:5V>/??N]\LAD=;E]'R5'!)I74[/5\DAD=;E]'R5'!)I76XBAT1:EYO((9'6 +MY29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1 +MUN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@A +MD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO( +M(9'6Y29R2*1UN8D<$ER7V\@AP76YC1P2WE0."6\JAX0WE4/"F\HAX4WED/"F +M<DAX4SDDO*D<$MY4#@EO*H>$-Y5#PIO*(>%-Y9#PIG)(]%EF*(=$;RJ'1&\J +MAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ' +M1&\JAT1O*H<\9UEF*(<\9Z9RR//+7TU\#.YEL9/<\(+VMP-BLWL7C$_>2%8U +MXW_A\CZ8>2]PM\'V*_E]/?P9/KY2N,ZZW/ZW`1:%:YH7@/]D?N?/IO';\ZO& +M_UU,OTKVY=_;-YZ^.<W_$/`Z/LY%%7XK;E&ZZ_EHAC]]^^,BPPG.3.XZP>T^ +MSHFT[+?@OA:X\.V[%\_9+^[6YTZO!>ZKZ9-PE\]EI_ND8\4:_Z;M:W9=Q.DY +MAV\3@;WC?\K.<\!TONXYO_IE&N=9N9_)S[TL-WR+U-\UJ^<QFZH;Y;HY7)LF +MR\H1[G3OJY?9W8P/`\NOC(-?N0%D_I4[P9UM!T$]3I9)I/'R[^T;3]^=YG\F +6P$L$-.O@)?P>D>R+_P-J-:`0'F`````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu new file mode 100644 index 0000000..4753ee6 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu @@ -0,0 +1,132 @@ +# $FreeBSD$ +begin 644 img-63x255-512-gpt.qcow.gz +M'XL("+HS(E0``VEM9RTV,W@R-34M-3$R+6=P="YQ8V]W+F]U=`"MG<MN7-F1 +M1>?U%5=OB9*HC(C[U-MNM`'/RH9[UH.ZKQQU&]ES?7PSR?,@(_=6V!!51$$% +MX6YD'BTNJE2KC@Z'NV]-TTG3]DT[-<>EN?GG]"'-O7]X^-'\^-M?_GI]_]N/ +MW^[&Y/"3I]P_M]I(FGNP]><ZI^>GUN8P_0MS-Q]P[MZKLW_CU=U[LY=S5[_= +MO5G\G+)!>S#8I+E#>GU"3J_]UU[?=_=VY>[T'N_M*GF['1OL'PS^GN;^2*]/ +MR=L=V-SX8.[DWJZ2MSNQN?FGL"B!96%S:S#7PJ<V-K<'<QU\ZHCGY"<_MW=S +M/7Q*V)S"N:;,#?`I8W/M@[G#=08ZSXWP*<*=A-Q-\"G"G83<S?`IPIV$W"WP +M*<*=A-RM\"G"G83<;?`IPIV&W.WP*<*=AMP=X5.$.XVX$_P4X4XC[@3Y3AEW +M&G$GR'?*N-.(.T&^4\:=1MP)\ITR[C3B3I#OE'%G$7>"?&>,.XNX$^0[8]Q9 +MR!WRG3'N+.0.^<X8=Q9RAWQGC#L+N4.^,\:=A=PAWQGCSD+ND.^,<=>&W"'? +MM8R[-N0.^:YEW+41=XJ?(MRU$7>*?-<R[MJ(.T6^:QEW;<2=(M^UC+LVXDZ1 +M[UK&71MQI\AW+>.NB[A3Y+N.<==%W"GR7<>XZT+ND.\ZQET7<H=\US'NNI`[ +MY+N.<=>%W"'?=8R[+N0.^:YCW'4A=\AW'>.N#[E#ONL9=WW('?)=S[CK(^X, +M/T6XZR/N#/FN9]SU$7>&?-<S[OJ(.T.^ZQEW?<2=(=_UC+L^XLZ0[WK&W1!Q +M9\AW`^-NB+@SY+N!<3>$W"'?#8R[(>0.^6Y@W`TA=\AW`^-N"+E#OAL8=T/( +M'?+=P+@;0NZ0[P;&W1ARAWPW,N[&D#ODNY%Q-T;<M?@IPMT8<=<BWXV,NS'B +MKD6^&QEW8\1=BWPW,N[&B+L6^6YDW(T1=RWRW<BXR[_]S>>0[R;&W11QUR+? +M38R[*>0.^6YBW$TA=\AW$^-N"KE#OIL8=U/('?+=Q+B;0NZ0[R;&W11RAWPW +M,>[FD#ODNYEQ-X?<(=_-C+LYXJ[#3Q'NYHB[#OEN9MS-$7<=\MW,N)LC[CKD +MNYEQ-T?<=<AW,^-NCKCKD.]FQEW^SY!\#OEN8=PM$7<=\MW"N%M"[I#O%L;= +M$G*'?+<P[I:0.^2[A7&WA-PAWRV,NR7D#OEN8=PM(7?(=POC;@VY0[Y;&7=K +MR!WRW<JX6R/N>OP4X6Z-N.N1[U;&W1IQUR/?K8R[->*N1[Y;&7=KQ%V/?+<R +M[M:(NQ[Y;F7<;1%W/?+=QKC;(NYZY+N-<;>%W"'?;8R[+>0.^6YCW&TA=\AW +M&^-N"[E#OML8=UO('?+=QKC;0NZ0[S;&W1YRAWRW,^[VD#ODNYUQMT?<#?@I +MPMT><3<@W^V,NSWB;D"^VQEW>\3=@'RW,^[VB+L!^6YGW.T1=P/RW<ZX.T;< +M#<AW1\;=,>)N0+X[,NZ.(7?(=T?&W3'D#OGNR+@[AMPAWQT9=\>0.^2[(^/N +M&'*'?'=DW!U#[I#OCH0[R=_A<\!W<B#<R2'D#OA.#H0[.43<C?@IS)V$_=T( +M?">LOY.POQN![X3U=Q+V=R/PG;#^3L+^;@2^$];?2=C?C<!WPOH["?N[$?A. +M6'\G87\W`M\)Z^\D[.]&X#MA_9V$_=T(?">LOY.POQN![X3U=Q+V=R/PG;#^ +M3L+^;@2^$];?2=C?C<!WPOH["?N[$?F.]7<2]G<C\AWK[R3L[R;\%.$N[.\F +MY#O6WTG8WTW(=ZR_D["_FY#O6'\G87\W(=^Q_D["_FY"OF/]G83]W81\Q_H[ +M"?N["?F.]7<2]G<3\AWK[R3L[R;D.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<A +MW['^3L+^;D*^8_V=A/W=A'S'^CL)^[L)^8[U=Q+V=S-^BG`7]G<S\AWK[R3L +M[V;D.];?2=C?S<AWK+^3L+^;D>]8?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S' +M^CL)^[L9^8[U=Q+V=S/R'>OO).SO9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_ +M-R/?L?Y.POYN1KYC_9V$_=V,?,?Z.PG[NP4_1;@+^[L%^8[U=Q+V=POR'>OO +M).SO%N0[UM])V-\MR'>LOY.POUN0[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V" +M?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G +M87^W(-^Q_D["_FY!OF/]G83]W8J?(MR%_=V*?,?Z.PG[NQ7YCO5W$O9W*_(= +MZ^\D[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83] +MW8I\Q_H["?N[%?F.]7<2]G<K\AWK[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8 +M?R=A?[<BW['^3L+^;L-/$>["_FY#OF/]G83]W89\Q_H["?N[#?F.]7<2]G<; +M\AWK[R3L[S;D.];?2=C?;<AWK+^3L+_;D.]8?R=A?[<AW['^3L+^;D.^8_V= +MA/W=AGS'^CL)^[L-^8[U=Q+V=QOR'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0 +M[UA_)V%_M^.G"'=A?[<CW['^3L+^;D>^8_V=A/W=CGS'^CL)^[L=^8[U=Q+V +M=SOR'>OO).SO=N0[UM])V-_MR'>LOY.PO]N1[UA_)V%_MR/?L?Y.POYN1[YC +M_9V$_=V.?,?Z.PG[NQWYCO5W$O9W._(=Z^\D[.]VY#O6WTG8W^W(=ZR_D["_ +M.^*G"'=A?W=$OF/]G83]W1'YCO5W$O9W1^0[UM])V-\=D>]8?R=A?W=$OF/] +MG83]W1'YCO5W$O9W1^0[UM])V-\=D>]8?R=A?W=$OF/]G83]W1'YCO5W$O9W +M1^0[UM])V-\=D>]8?R=A?W=$OF/]G>;ON+FFS@'?W3R%N5/7W^7[])K*'?"= +MLOY.77_7).Z:S)T=\%.8.W7]79.X:_XH<\!WROH[=?U=<W)G9^C^.V7]G;K^ +MKIQ=G0.^4];?J>OOP!SPG;+^3EU_!^:`[Y3U=^KZNSSWI,X!WRGK[]3U=T_R +M7%/F@.^4]7?J^KLGB;LGE3O@.V7]G;K^[DGB[DGE#OA.67^GKK][<KHX.^`[ +M9?V=NOZNG%V=`[Y3UM^IZ^_`'/"=LOY.77\'YH#OE/5WZOJ[//>TSB'?L?Y. +M77_W-,]5[I#O6'^GKK][FKA[6KA#]]\IZ^_4]7=/$W=/"W?H_CME_9VZ_N[I +MR9\=NO].67^GKK\K9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+<LSJ' +M?,?Z.W7]W;,\5[A#]]\IZ^_4]7?/$G?/*G?(=ZR_4]??/4O</:O<(=^Q_DY= +M?_?L='%VR'>LOU/7WY6SJW/(=ZR_4]??@3GD.];?J>OOP!SR'>OOU/5W>>YY +MG4.^8_V=NO[N>9ZKW"'?L?Y.77_W/''WO'"'[K]3UM^IZ^^>)^Z>%^[0_7?* +M^CMU_=WSDS\[=/^=LOY.77]7SJ[.(=^Q_DY=?P?FD.]8?Z>NOP-SR'>LOU/7 +MW^6Y%W4.^8[U=^KZNQ=YKG"'[K]3UM^IZ^]>).Y>5.Z0[UA_IZZ_>Y&X>U&Y +M0[YC_9VZ_N[%Z>+LD.]8?Z>NORMG5^>0[UA_IZZ_`W/(=ZR_4]??@3GD.];? +MJ>OO\MS+.H=\Q_H[=?W=RSQ7N4.^8_V=NO[N9>+N9>$.W7^GK+]3U]^]3-R] +M+-RA^^^4]7?J^KN7)W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?F +MD.]8?Z>NO\MSK^H<\AWK[]3U=Z_R7.$.W7^GK+]3U]^]2MR]JMPAW['^3EU_ +M]RIQ]ZIRAWS'^CMU_=VKT\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_ +M`W/(=ZR_4]??Y;G7=0[YCO5WZOJ[UWFN<H=\Q_H[=?W=Z\3=Z\(=NO].67^G +MKK][G;A[7;A#]]\IZ^_4]7>O3_[LT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC +M_9VZ_@[,(=^Q_DY=?Y?GWM0YY#O6WZGK[][DN<(=NO].67^GKK][D[A[4[E# +MOF/]G;K^[DWB[DWE#OF.]7?J^KLWIXNS0[YC_9VZ_JZ<79U#OF/]G;K^#LPA +MW['^3EU_!^:0[UA_IZZ_RW-7=0[YCO5WZOJ[JSQ7N4.^8_V=NO[N*G%W5;A# +M]]\IZ^_4]7=7B;NKPAVZ_TY9?Z>NO[LZ^;-#]]\IZ^_4]7?E[.H<\AWK[]3U +M=V`.^8[U=^KZ.S"'?,?Z.W7]79Y[6^>0[UA_IZZ_>YOG"G?H_CME_9VZ_NYM +MXNYMY0[YCO5WZOJ[MXF[MY4[Y#O6WZGK[]Z>+LX.^8[U=^KZNW)V=0[YCO5W +MZOH[,(=\Q_H[=?T=F$.^8_V=NOXNS[VK<\AWK+]3U]^]RW.5.^0[UM^IZ^_> +M)>[>%>[0_7?*^CMU_=V[Q-V[PAVZ_TY9?Z>NOWMW\F>'[K]3UM^IZ^_*V=4Y +MY#O6WZGK[\`<\AWK[]3U=V`.^8[U=^KZNSSWOLXAW['^3EU_]S[/%>[0_7?* +M^CMU_=W[Q-W[RAWR'>OOU/5W[Q-W[RMWR'>LOU/7W[T_79P=\AWK[]3U=^7L +MZASR'>OOU/5W8`[YCO5WZOH[,(=\Q_H[=?U=GKNN<\AWK+_3J+\S=/^=LOY. +MH_[.T/UWROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ +M.XWZ.T/WWRGK[Y3T=Q_J'/(=Z^_4]7<?\ESA#MU_IZR_4]???4C<?:C<(=^Q +M_DY=?_<A<?>A<H=\Q_H[=?W=A]/%V2'?L?Y.77]7SJ[.(=^Q_DY=?P?FD.]8 +M?Z>NOP-SR'>LO[/\'3=WJ'/`=\;ZNYL?>,!=]M.A<@=\9ZR_,]??'=+>H7"' +M[K\SUM^9Z^\.B;M#X0[=?V>LOS/7WQU._NS0_7?&^CMS_5TYNSH'?&>LOS/7 +MWX$YX#MC_9VY_@[,`=\9Z^_,]7=Y3NH<\)VQ_LY<?R=YKG"'[K\SUM^9Z^\D +MO3RIW`'?&>OOS/5WDKB3RAWPG;'^SEQ_)Z>+LP.^,];?F>OORMG5.>`[8_V= +MN?X.S`'?&>OOS/5W8`[XSEA_9ZZ_RW-:YY#O6']GKK_3/%>Y0[YC_9VY_DX3 +M=UJX0_??&>OOS/5WFKC3PAVZ_\Y8?V>NO].3/SMT_YVQ_LY<?U?.KLXAW['^ +MSEQ_!^:0[UA_9ZZ_`W/(=ZR_,]??Y3FK<\AWK+\SU]]9GBO<H?OOC/5WYOH[ +M2]Q9Y0[YCO5WYOH[2]Q9Y0[YCO5WYOH[.UV<'?(=Z^_,]7?E[.H<\AWK[\SU +M=V`.^8[U=^;Z.S"'?,?Z.W/]79YKZQSR'>OOS/5W;9ZKW"'?L?[.7'_7)N[: +MPAVZ_\Y8?V>NOVL3=VWA#MU_9ZR_,]??M2=_=NC^.V/]G;G^KIQ=G4.^8_V= +MN?X.S"'?L?[.7'\'YI#O6']GKK_+<UV=0[YC_9VY_J[+<X4[=/^=L?[.7'_7 +M)>ZZRAWR'>OOS/5W7>*NJ]PAW['^SEQ_UYTNS@[YCO5WYOJ[<G9U#OF.]7?F +M^CLPAWS'^CMS_1V80[YC_9VY_B[/]74.^8[U=^;ZNS[/5>Z0[UA_9ZZ_ZQ-W +M?>$.W7]GK+\SU]_UB;N^<(?NOS/6WYGK[_J3/SMT_YVQ_LY<?U?.KLXAW['^ +MSEQ_!^:0[UA_9ZZ_`W/(=ZR_,]??Y;FASB'?L?[.7'\WY+G"';K_SEA_9ZZ_ +M&Q)W0^4.^8[U=^;ZNR%Q-U3ND.]8?V>NOQM.%V>'?,?Z.W/]73F[.H=\Q_H[ +M<_T=F$.^8_V=N?X.S"'?L?[.7'^7Y\8ZAWS'^CMS_=V8YRIWR'>LOS/7WXV) +MN[%PA^Z_,];?F>OOQL3=6+A#]]\9Z^_,]7?CR9\=NO_.6']GKK\K9U?GD.]8 +M?V>NOP-SR'>LOS/7WX$YY#O6WYGK[_+<5.>0[UA_9ZZ_F_)<X0[=?V>LOS/7 +MWTV)NZERAWS'^CMS_=V4N)LJ=\AWK+\SU]]-IXNS0[YC_9VY_JZ<79U#OF/] +MG;G^#LPAW['^SEQ_!^:0[UA_9ZZ_RW,?ZQSR'>OOS/5W'_-<Y0[YCO5WYOJ[ +MCXF[CX4[=/^=L?[.7'_W,7'WL7"'[K\SUM^9Z^\^GOS9H?OOC/5WYOJ[<G9U +M#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:ISR'>LOS/7WWW*<X4[=/^= +ML?[.7'_W*7'WJ7*'?,?Z.W/]W:?$W:?*'?(=Z^_,]7>?3A=GAWS'^CMS_5TY +MNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^<^USGD.];?F>OO/N>YRAWR +M'>OOS/5WGQ-WGPMWZ/X[8_V=N?[N<^+N<^$.W7]GK+\SU]]]/OFS0_??&>OO +MS/5WY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^U+GD.]8?V>NO_N2 +MYPIWZ/X[8_V=N?[N2^+N2^4.^8[U=^;ZNR^)NR^5.^0[UM^9Z^^^G"[.#OF. +M]7?F^KMR=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L]]K7/(=ZR_,]?? +M?<USE3OD.];?F>OOOB;NOA;NT/UWQOH[<_W=U\3=U\(=NO_.6']GKK_[>O)G +MA^Z_,];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\]ZW.(=^Q +M_LY<?_<MSQ7NT/UWQOH[<_W=M\3=M\H=\AWK[\SU=]\2=]\J=\AWK+\SU]]] +M.UV<'?(=Z^_,]7?E[.H<\AWK[\SU=V`.^8[U=^;Z.S"'?,?ZNS9_Q\U]KW/` +M=RWK[UK7WWW/<Y4[X+N;IS!WK>OOOB?NOF?NV@-^BORYQ^[-?L^]\7690W_> +M=GDJF+OW[<=O5W>#Z+ZJMF2`T>O[P[\^=%_5K[R^[O;\6FT.,_@[_X$??[Y^ +M^%<9O+T[Z-\8S*_PX5Q^P]W=W4&WT=1^X\YC^CC(_3<\UNOTP!M^<GUO#OW9 +MS+]R?NBZGY\-=ETSSQ>#_Y5?W^UU/VW7M'W33NDBQU::3INN+7.W[[5;[[^^ +M__S+7YO?__3W?YS'_KN^W=OK?G9MAO7V#Q_8W*L3^G9_^+=[-W?[Y7OPIYWG +MC,X]P7.W7[Z[G\RA#S[7_NRI@])7=_%S>S?7'1X^-=Y_:NR:49O^YM^&9CKW +M/P_FT!\?_RODW=X<L/3GG]O^YA=XTJS'\W>V_OR'[S;CS:?)W7^:T=O_EVEJ +M!CG_7W;GG]M__NWZGW=C[Z__[VUZ?7<W!PC^X#_`3N_NY@!&Q"%GB_SM-@_G +MP*_T?NWTSK]>6;I'.[TIP8(^^`_0TYOO3@\?TOE%P4^9'_>O$;T_!WZ]\DNG +M=_M_-9Z_QL[@[_P'?OQ^_?"ON\$V#3[:*VP/_?J(GQWGN4?\[#C//>)GQWGN +M43\[SH./^-EQGGO$SX[SW"-^=ISG'O6SXV;P]O<<'^F+^'GNS%YKS;PVZ]#T +M_HLX^W+\XS^NK_\7O-V[WW-D7_I_\D4<_V3LC_A%_#SW\R_B/?VYS=_<FWW$ +7+^+GN4?](MX>AAN9_O;_@'C+'O6L```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu new file mode 100644 index 0000000..26ffd0b --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu @@ -0,0 +1,26 @@ +# $FreeBSD$ +begin 644 img-63x255-512-gpt.qcow2.gz +M'XL("+`[(U0``VEM9RTV,W@R-34M-3$R+6=P="YQ8V]W,BYO=70`K9A+;YPP +M$(#O^15.WTT:BL<VC[Z3-"OE4B55>VL/+(]3%:EWVM]>C`T&,P/)UKMHE<B: +M3V/SS=@0Q^;#F.),)DSFK-FS[G][`9O\,[]8>[N[CJ:?]LC`>$Q$(0-2C+@9 +MZ]+A@,+%?#G`<=PD.X'@8(A:@K9PDLQN;0#!G1SU2]??C,R+$(<`#8Z\&0?E +M!R8_/T(>F!^$SD_@ZZ>&.'\@6<]/F/S\J)3"99LX0*)R"E=LX@02M:=PY29. +M(E$5A:LW<0J):@@<WU"EPR5(%*=PL(E+D2A!X>0F+D.B*._XMG<Y$D5YQ[>] +M*Y`HRCN^[=T>B:*\X]O>E4@4Y1W?]JY"HBCO@/"..5R-1%'>@>?=L<4]<K@& +MB:*\`\^[QQ;W9,1Q+(KR#CSOGEK<,X=#^AU0WH'GW7.+>^%P2+\#RCOPO'MI +M<2<.A_0[H+P#S[M3BWOE<$B_`\H[\+P[6WC'D7X'E'?"\^ZU9<4.A_0[07DG +M/.^XQ8'#(?U.4-X)SSMA<=+AD'XG*.^$YYVRN,3AD'XG*.^$YUUJ<9G#(?U. +M4-X)S[O<XMXX'-+O!.6=\+Q[:W'O'`[I=X+R3GC>O;>X#PZ']#M!>2<][SY: +MW">'0_J=I+R3GG?G%G?A<$B_DY1WTO/NTN(^CSC`HD;OXAB_+.YJ4;.`]#N9 +MW!.W6^+HAY5#CK/2';<Y\DL/K`"SAP/)O5::<TJX"2LS86U5@?S2`^U%-/^. +MP+YV'P`<,ISC[(25J5WSP%C7K&GL95;*!F>3`P(RX>-H@JL"KU]?;@\`*L6* +M8@'\/N37EUM77^;=0&>WZIN!`J;DB.OGJLII?E>[:W9S_O6;AOUPT^W+3>-J +M_;!4)%YVG)KNU1?$/F7*+6W\U1YP@L*-QS(/IX\7:;6"PR[6_B%P<BUJ?.EP +MCWMK<"J>1TW;%LL4RX`E):L*$O=KADL"FR?U\#YA:<F26K]/*AO]1Y7HIS26 +M=65BMFWHSU@Y2[D^NW7`]NXVNC.PL^CWJ<U/<FL$=M$#U.I)6#-")[4Q73;' +M8:^1_FOU=%_>JV"KEUM9L(L>(%>O,*N'+Y)."BV9=EBUH>`&W#[PZB5ZN*N/ +MKG\O?^F!]B::?PU06F"P#&72E`&K0^,"5H?&!:P.C0M:'1H8L#HT+F!U:%S` +MZM"XH-71`>LXW":N<=J]/&.J8KED335/@]R.V^@G.MT:UK;^E4T<OQEUP$U< +BXU8W\;0F)VL_?[W)!MS$-2[H)BY3??P^^@=.=Z`2%1H````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu new file mode 100644 index 0000000..2a259cb --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-512-gpt.raw.gz +M'XL("/G%'50``VEM9RTV,W@R-34M-3$R+6=P="YR87<N;W5T`*V534_#,`R& +M[_L5WA5$E*1)FIWXD$#B-A#<N/1C/:%)W,M_)VX:UG9Q89+3J*KD^JGM^*VE +MC`O`:)!5YDX;^@<QO_K-U6:@J?HR8/@^AK``B@",N"88I<9W#@?HNG%+-7A% +M9VE!J_0\XL1I;<4$UYZ\SC9MF.)$Q*5TN\N`UD)5G0'?4WQZ.`X+QH'9@0[O +M2S`*K`9K?G%#KK:9QO?X]`S[^]<WA'V<TM4J&%4#1D)30MLMHE-DNG?+="-. +MHY=95COA"A*WS>.*>+8T+K=IG%GSBCWTO[.-."OG7G[JY2UX#:Z!MB)QGS.< +M8^X\@^;:0=F`.X!5T'3XT#I0*L079.('2*AO"W('I0)=([`_OHACA-V(K^LQ +M/J/&CLAMVD!5S^BUCL"@_D@7YKB"NWH>JV?9JK<;FR6W:0-9O2I6+U\D4C)] +MJEI22,+5S-5S:`[Z"/_O\SMMZ/=B?D6@&8%L$8;F<XSJ0!RC.A#'J`[$L:H# +M@8SJ0!RC.A#'J`[$L:HC`+WD&^*(&X:X@;*%MH!B.<2I<=R+;W&;2=?KM=&_ +F,L3SA^$9ASCBUH=X02:;UB)9QB&..-8A'H"5E)L?B^NWCH@+```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu new file mode 100644 index 0000000..0473ed9 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-512-gpt.vhd.gz +M'XL("/G%'50``VEM9RTV,W@R-34M-3$R+6=P="YV:&0N;W5T`*U82V^<,!"^ +MYU=,U5NJ4F-LPYZJ1DVDWM)';CT$#$0KM=M'<LB!'U^/L1<,-NDFPUI>D)F/ +M;YX>F;'Q`E`%J!Y4!TKB?2E`[:"L`,RB&]S.N7N$0?\Z=/IA_YBY:S@;P7(V +MEPK%49X7(,Q'2N`U?D2U>`^#A\E>7]Z=[W_>>3CNX/R'A0+!01H0L?J.8D=V +MB'1U\?6CA;R=V!5K=I/4^-?W4/2S-PK/[M;.[^?*"B-EWL=1`I/`Q#2"AV!A +M4G9A.\D64C.:,:/.E(W!J2VI4^#.SYPOQE`Q@5&:V9@NAY+CO0D;;X?5,*'R +M>/^[_GO?+?CQ1*BH([]\M5:DU>4N5+A_V3$0&,Y;ZH)%>5C"14+E1=93H9SW +MKC&""1SWP*WZH?4F*)CS4SG;L'G:&4E^-?(SN<7JR)Q>&"ZR\'<$;)K3`+T% +M0[BCPHU&^]DZTG631F.03(8M-AS"9O9K6F+_-OUI@%)"7:\`;SP_;=TA;<'; +M86"8XB!RD*;X3>%L=9=ZSN_RZA-<?_CR#<&^3^IJ#)>NQ0PR5;=O%^S6F794 +M=Q]+-LW'Z.-]5-DB"?<NFKL:D\V02L/%1AI.;$FYK>S_"ZF6+)2JYE*5A(J# +MTM#62;@?`1QU7>YPN5%0:MS"90[:[N6M@CPW_$R:5!:$`S=^-QN[V84;!!P. +MG[/#"/8V^_/&\>MR%Q&QD5Y(6:_C6Q&!I)Y0%T(XZKK<56@]26:]G0N6V$@O +M)*U7C]:+&PE)Q5+WN*MEV:L0KJ&U7F[;1Y,?IGZOY_3"<)V%OQ&0NVV(;%_C +MKI"2,10.D(RA</E+R#`7F\X\U<O*.86HPB`<885!.,(*@W"D%08!"2L,PA%6 +M&(0CK#`(1UIA%&TCI%PCQ$KK@`*:+J21;&D&[PC?<G@XOM4^;31"<6=0-D+J +MJ4:H[Y+*^FNA+&$CI*@;(>4**=%9AO*-T)K#<\XRE&^$9A]^P5F&BC="SSW+ +:0#C"LPR$(SS+0#CB4,&^Y>P?_R=O5``3```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu new file mode 100644 index 0000000..b9a9b8a --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu @@ -0,0 +1,19 @@ +# $FreeBSD$ +begin 644 img-63x255-512-gpt.vhdf.gz +M'XL("/G%'50``VEM9RTV,W@R-34M-3$R+6=P="YV:&1F+F]U=`"METUOU#`0 +MAN_[*P9Q*R+8CNUD3XB*5N)6/GKCT'S8U4JP"(D#A_QX9NRDL;-VH,B)%7DU +M\9-YQS.9+&/^`)`"6)>XY@W3=16?T^'JX&B\?QX0GT\N;(`5`CUN0",3=(\Q +M8.T\&'>K_&(<-5OG#E>M!ZL"W!BNVHR\(<15'K?(M<\#*@5==P&\7_P3;CL4 +M2`WR"`+O9R`Y*`%*/N&<=C6$_MW<?H"[=Y^^$.SK*E=P-)H16`WZ"';<>,?S +M<D\;N1Z'#E'TA4V*K;.X-]OH>5Q-N'$'EQIYG-Q;Y7/HW_;6XQ2+5[7AJE9! +M*T`/,'99W+<(IPMGGB1SKZ$90!M0'`9+DU$#Y^@?EDGK(`($[OL1&@ZB)^!T +M_EB=/>QU]?/5[)_D<T:D1MZ0BYX4>QE!3OU%+L2XNG3T6HJ>*A:]XYPLJ9$W +M9*/7^>BE@T1.I4H7<7/4JA<QKB\</4UFK`]\?U]>\X;IKHI/#Y0SL)B'RMJA +M8'40KF!U$*Y@=1"N:'40L&!U$*Y@=1"N8'40KFAU(-"P<DV<<"[W&K<!-?0F +M=B/;CJ=E(Y9VN>#$7NO?:>+IS3`%FSCA=INX-5FQR[$16[")$ZYH$]?SY[?& +MKS-77UK1O)'TL=:T(5"L.>.`PX^S&7Z=?H?1(QSW&9$<M%[4E)BZ`='10_1( +M\\"_ES>/5Z?OCPM.S*J6!U-&8Q8C1%[(U;'<V^O/[QWR8?4N\9K2F^BAG[6- +MA,_>/;CKVU"L?!)K+*!R)M<1_8@,R40FG$N5\.;_W5N/*YTJ^-?@\`>4./-P +$LPT````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu new file mode 100644 index 0000000..ea3a546 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu @@ -0,0 +1,88 @@ +# $FreeBSD$ +begin 644 img-63x255-512-gpt.vmdk.gz +M'XL("/K%'50``VEM9RTV,W@R-34M-3$R+6=P="YV;61K+F]U=`"M7%UOW-81 +M?<^ON%4>$K3H@F?Y_6"@294`01'`C=WFI0]=?C5"'=F5A:(&]L>7E[SGZE!: +MBG0T"NW=,6?.WIE+SBIG#I@D\X]S6>.RS&6=RPN7P(W_-!\N21^,\3A6/''^ +MR_6/?S_PY^O#X?S%#`8?)2%(%$Z,Q>><#X]^"'=\+FIQ8CR.FW"ICVJ>!`:X +MX\J)5;AL/'F\%,+5G:;3G7\C<"X"N05<?B&GU62?6]WOOPC%\^M+_1K&[2UJ +M5Z:N:(+IBGRR4U<>IW.)*T>G803\TEW??/RWN^X_MG<W'^[?A_4=_=Z.SEGA +M_8O6(XR)E85_XT]XN-I#%+U+.Y?"GW;GN^]OWO6'__9W'V_>W[X"TSWZO<U2 +ME]5^.=X_>3@6AO^0Q!7PG^'.?_[A^E6X<I/#A],=X7S4N)#QL\<\%+<HG/_S +M])A6U]_>>\0A_,35^;T-Q<FGS\[\FSQS9>VFY>0>^SB>[D+*4^W:N_YTW[_] +M]*%_=?7K^]M8.[^WOF3U!%1-A4I=GGJHD)HO7^X1_64S[9H[O[NY_^6F?3.F +M^;&_.GSI"%?XVHT;6(5US5F/(<7JSH[+/G_WO_LQ7]>%G;TAW+2(*8GQL_.C +MRTN/-6[@M!5'EV;^W?A/XX+'3#)X)W=^?WOXZ>?Q%O?%>O/ZFY\(5XU1H^>X +MP#%D3&B14S[GGS^^+-WYS7?NRB?Y]I=^N@()5\^WF7>>]P&3>?1O0M5F>-_$ +M,G]BVEEW?;H_N6]/'_O#E]?7W\:=/?EDL^D8E]9[E&*&]M?W5,ZQ</-.SQL] +M;477-8=3=_IPW]_Y[8U;T?@2=2%3OZW9PS8N/Z><=FKP5XP[OW)7-]VXIQ[V +M7_W[7PG7SI?QN`Y_2=138.K?C%?/!-^'3YBO&+]-'JZ_O_MT:#^]N[GMQAO- +MO2)<-]=N7$Z:A$7%-3U>5/S8L797R</21FS"];Y$\Z*J<&.,6/,Z'JK@KYC< +M'Z$*YT^'7_I3-R[+71WS_"INQ?!X*[1$CZHP;_18BWDKPL(^'3[V;8!+D["! +MPZ(X\YI<6K@T#2M:-M#[]W?3THKT2OMQ^OB[[*7].'ORE5K^1L`9SGI]1?+H +M^RS5N$R,?`'HO\62\<^?QC^O']97^/45XEEJ5"5&O8#[YPCQX6FZA;_$3N+9 +M:%0K1K>G>H5O;;UX#H^KQU\U(._7X?B[`#U3C<K$R!=P:[7+0^WH66I4)4:] +M@%NK71%J1\]&HUHQNEW)EJ%V]!PTRK_P5RDD.WXM*ZI0.WJF&I6)D2_@UFI7 +MA]K1L]2H2HQZ`;=6NU.H'3T;C6K%Z'8EVX3:T7/0*/_"!@%YOP[7AMK1,]6H +M3(Q\`;=6NR[4CIZE1E5BU`NXM=KUH7;T;#2J%:/;E>P0:D?/0:/\2R:UR[;@ +MRB34CIZI1F5BY`NXE=J5['?T+#6J$J->P*W4KF2_HV>C4:T8W:YDV>_H.6B4 +M?\FE=ODF'/L=/5.-RL3(%W!KM6._HV>I4948]0)NK7;L=_1L-*H5H]N5+/L= +M/0>-\B^%U*[8A&._HV>J49D8^0)NK7;L=_0L-:H2HU[`K=6._8Z>C4:U8G2[ +MDF6_H^>@4?Z%OP1!WJ_#L=_1,]6H3(Q\`;=6._8[>I8:58E1+^#6:L=^1\]& +MHUHQNEW)LM_1<]`H_T)"!O)^%:Y*0NWHF6I4)D:^@%NI7<5^1\]2HRHQZ@7< +M2NTJ]CMZ-AK5BM'M2I;]CIZ#1OF76FI7;\*QW]$SU:A,C'P!MU8[]CMZEAI5 +MB5$OX-9JQWY'ST:C6C&Z7<FRW]%ST"C_PO^%@KQ?AV._HV>J49D8^0)NK7;L +M=_0L-:H2HU[`K=6._8Z>C4:U8G2[DF6_H^>@4?Z%_"/D_3H<^QT]4XW*Q,@7 +M<&NU8[^C9ZE1E1CU`FZM=NQW]&PTJA6CVY4L^QT]!XWR+ZW4KMV"JY-0.WJF +M&I6)D2_@5FI7L]_1L]2H2HQZ`;=2NYK]CIZ-1K5B=+N29;^CYZ!1_J63VG6; +M<.QW]$PU*A,C7\"MU8[]CIZE1E5BU`NXM=JQW]&ST:A6C&Y7LNQW]!PTRK_T +M4KM^$X[]CIZI1F5BY`NXM=JQW]&SU*A*C'H!MU8[]CMZ-AK5BM'M2I;]CIZ# +M1OF706HW;,*QW]$SU:A,C'P!MU8[]CMZEAI5B5$OX-9JQWY'ST:C6C&Z7<FR +MW]%ST*A$IF>0]ZMPIV2N7?1,-2H3(U_`K=3N%/I=]"PUJA*C7L"MU.X4^EWT +M;#2J%:/;E6SH=]%ST"A?,N'OL$EIG4*_@_!W4/X.PM]AD[\[A7X'X>^@_!V$ +MO\,F?W<*_0["WT'Y.PA_MR/9T.\@_!V4OX/P=]BDM$ZAWT'X.RA_!^'OL,G? +MG4*_@_!W4/X.PM]AD[\[A7X'X>^@_!V$O]N1;.AW$/X.RM]!^#ML4EJGT.\@ +M_!V4OX/P=]CD[TZAWT'X.RA_!^'OL,G?G4*_@_!W4/X.PM_M2#;T.PA_!^7O +M(/P=-BFM)@FU$_X.RM]!^#ML\G<-^YWP=U#^#L+?89._:]COA+^#\G<0_FY' +MLNQWPM]!^3L(?X=-2JMAOQ/^#LK?0?@[;/)W#?N=\'=0_@["WV&3OVO8[X2_ +M@_)W$/YN1[+L=\+?0?D["'^'34JK8;\3_@[*WT'X.VSR=PW[G?!W4/X.PM]A +MD[]KV.^$OX/R=Q#^;D>R['?"WT'Y.PA_ATU*JV&_$_X.RM]!^#ML\G<-^YWP +M=U#^#L+?89._:]COA+^#\G<0_FY'LNQWPM]!^3L(?X=-2JM-0NV$OX/R=Q#^ +M#IO\7<M^)_P=E+^#\'?8Y.]:]COA[Z#\'82_VY$L^YWP=U#^#L+?89/2:MGO +MA+^#\G<0_@Z;_%W+?B?\'92_@_!WV.3O6O8[X>^@_!V$O]N1+/N=\'=0_@[" +MWV&3TFK9[X2_@_)W$/X.F_Q=RWXG_!V4OX/P=]CD[UKV.^'OH/P=A+_;D2S[ +MG?!W4/X.PM]AD])JV>^$OX/R=Q#^#IO\7<M^)_P=E+^#\'?8Y.]:]COA[Z#\ +M'82_VY$L^YWP=U#^#L+?89/2ZI)0.^'OH/P=A+_#)G_7L=\)?P?E[R#\'3;Y +MNX[]3O@[*'\'X>]V),M^)_P=E+^#\'?8I+0Z]COA[Z#\'82_PR9_U['?"7\' +MY>\@_!TV^;N._4[X.RA_!^'O=B3+?B?\'92_@_!WV*2T.O8[X>^@_!V$O\,F +M?]>QWPE_!^7O(/P=-OF[COU.^#LH?P?A[W8DRWXG_!V4OX/P=]BDM#KV.^'O +MH/P=A+_#)G_7L=\)?P?E[R#\'3;YNX[]3O@[*'\'X>]V),M^)_P=E+^+8CK( +M>X%S\Y\`UR=S[2Y*RB_\4ZR=N[BZWEH?.`Q[`=/+Z?H]CNDB>789G[\^3/K% +M./.8J_[;`&<XX_HASM^E3`]QGZNO1)R_\WB1OA)Q_L[C1?I*Q/D[CQ?I*Q'G +M[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1 +MY^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K +M$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH +M*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH +M*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@K +MP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O! +M^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'Y +MNXV^$IR_V^@KP?F[C;X2G+_;Z"L1Y^_T?)&^$G'^3L\7Z2L1Y^_T?)&^$G'^ +M3L\7Z2L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O +M1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZB +MKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YN +MHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*\'YNXV^$KVIOA*]J;X2 +MO:F^$KVIOA*]J;X2O:F^$KVIOA*]J;X2O:F^$KVIOA*]J;X2O:F^$KVIOA*] +MJ;X2O:F^$D.2&.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQ +MF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HKCTF2&.HKCT^>=;P3[FFRLS[P +M"%-]Y?'X[#(^?WW95+_YZ:I/_UX_<?[VL/PO`J+Y/$"N<`G'A#/X>V/6>O6] +M&X9PS,JYAPSC4ZPO)/SU0>`ZX_KMW]_YR'-W.CT!_!O7-^UOEOOG,6?U]'!> +M/IDWSR+<E'O>ZOJ^^_X']_J;G]YZL'\\I#L]WGEH7=VYOO00R]7AF73?/KT[ +MLNGQSF/UC^7%9--5N*\NW6S9]'CGH7L&[M*Q#I<]%_6Y3P+/IL<[:Y2J;UV5 +MN^KHG]_;/7[R[`/0NP5<87SE34^>;0I7MO[YP3E<.SWLN2L\+>VJ\3:9[XFC +M.W9>B5#"'?T3F0_GV[\>;F>P/Q[^\X>POOG)L[A\K)]8JUYV?.Z*\(O:2-<M +MX5+KZOG?5YK<K'IUN%@N'>LG5JMWFJNW\JTV+NK2K3O"\5OM=TNXQKAZDRI_ +M%IX\_7O]Q/GU8?G?#)@%0+,59OZ1@G9WAX<SO#L\G.'=X>%,[PX/:'AW>#C# +MN\/#&=X='L[T[LC\`R/MOL0]G+_VNK'FM7^&?[Z\:M:_CL?U_?QF6MA7BW0G +MSG'UJ_^9+_'+F]$;?HE[N&>_Q(=^/=GP\RA9PR]Q#V?Z)9[YIW<F7_P?K`W? +%E+1E```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow.gz.uu new file mode 100644 index 0000000..e99d8f8 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow.gz.uu @@ -0,0 +1,128 @@ +# $FreeBSD$ +begin 644 img-63x255-512-mbr.qcow.gz +M'XL("%7N+50``VEM9RTV,W@R-34M-3$R+6UB<BYQ8V]W+F]U=`"MG<F.5=D1 +M1>?U%8\>DNY%Q&UI,E.6;,DS>V![6K<=OP]`_G8#>9K,N'L3E`M`I419=^N] +MDXM%J5@ZG,]WWTZG5DY-=VK&TSZ?OOX\_9#3O9\\_''Z\L^__?W=_6]??KL; +MD_,/GG(_[[<R]V#KOW5.OSVUG,[C3\Q]_2%H[MZKLS_PZNZ]V>/<U6]W;Q8_ +MIVS0'@R>TMPYO3XAI]?\W.N[=6]7[D[OU[U=)6^W_;G!?[C7IW\(EI]Z?7_P +MZ]O!P=_+ZVO@4SV;&Q[,70YOMX5/C6QN^B',>N[@4S.;6X*Y'CZULKDMF!O@ +M4SN>DQ]\;>_F1OB4L#F%<Z<R-\&GC,TU#^;.:>ZVS,WP*?+K0AQW^==%Y6Z! +M3Q'N).1NA4\1[B3D;H-/$>XDY&Z'3Q'N).).\%.$.XVX$Z0H9=QIQ)T@(ROC +M3B/N!/E.&7<:<2?(=\JXTX@[0;Y3QIU&W`GRG3+N-.).D.^4<:<A=\AWRKBS +MD#OD.V/<6<@=\ITQ[BSD#OG.&'<6<H=\9XP["[E#OC/&G87<(=\9X\Y"[I#O +MC'%G$7>*GR+<-1%WBGS7,.Z:B#M%OFL8=TW$G2+?-8R[)N).D>\:QET3<:?( +M=PWCKHFX4^2[AG'71-PI\EW#N&M"[I#O&L9=&W*'?-<R[MJ0.^2[EG'7AMPA +MW[6,NS;D#OFN9=RU(7?(=RWCK@VY0[YK&7=MR!WR7<NX:R/N##]%N.LB[@SY +MKF/<=1%WAGS7,>ZZB#M#ONL8=UW$G2'?=8R[+N+.D.\ZQET7<6?(=QWCKHNX +M,^2[CG'7A=PAWW6,NS[D#OFN9]SU(7?(=SWCK@^Y0[[K&7=]R!WR7<^XZT/N +MD.]ZQET?<H=\US/N^I`[Y+N><=='W#7X*<+=$''7(-\-C+LAXJY!OAL8=T/$ +M78-\-S#NAHB[!OEN8-P-$7<-\MW`N!LB[AKDNX%Q-T3<-<AW`^-N"+E#OAL8 +M=_E_S_,YY+N1<3>&W"'?C8R[,>0.^6YDW(TA=\AW(^-N#+E#OAL9=V/('?+= +MR+@;0^Z0[T;&W1AQU^*G"'=3Q%V+?#<Q[J:(NQ;Y;F+<31%W+?+=Q+B;(NY: +MY+N)<3=%W+7(=Q/C;HJX:Y'O)L;=%''7(M]-C+LIY`[Y;F+<Y3\FY7/(=S/C +M;@ZY0[Z;&7=SR!WRW<RXFT/ND.]FQMT<<H=\-S/NYI`[Y+N9<3>'W"'?S8R[ +M.>*NPT\1[I:(NP[Y;F'<+1%W'?+=PKA;(NXZY+N%<;=$W'7(=POC;HFXZY#O +M%L;=$G'7(=\MC+LEXJY#OEL8=TO('?+=PKA;0^Z0[U;&W1IRAWRW,N[6D#OD +MNY5QMX;<(=^MC+LUY`[Y;F7<K2%WR'<KXVX-N4.^6QEW:\1=CY\BW)%`Z-X< +M\MW&N-LB[GKDNXUQMT7<]<AW&^-NB[CKD>\VQMT6<=<CWVV,NRWBKD>^VQAW +M6\1=CWRW,>ZVD#ODNXUQMX?<(=_MC+L]Y`[Y;F?<[2%WR'<[XVX/N4.^VQEW +M>\@=\MW.N-M#[I#O=L;='G*'?+<S[O:(NP$_A;F3_`&?`[Z3,^%.SA%W`_"= +MG`EW<HZX&X#OA/6!XON[`W<#\)VP_D["_FX`OA/6WTG8WPW`=\+Z.PG[NP'X +M3EA_)V%_-P#?">OO).SO!N`[8?V=A/W=`'PGK+^3L+\;@.^$]7<2]G<#\)VP +M_D["_FX`OA/6WTG8WPW`=\+Z.PG[NP'X3EA_)V%_-^*G"'=A?S<BW['^3L+^ +M;D2^8_V=A/W=B'S'^CL)^[L1^8[U=Q+V=R/R'>OO).SO1N0[UM])V-^-R'>L +MOY.POQN1[UA_)V%_-R+?L?Y.POYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W +M(_(=Z^\D[.]&Y#O6WTG8WXW(=ZR_D["_F_!3A+NPOYN0[UA_)V%_-R'?L?Y. +MPOYN0KYC_9V$_=V$?,?Z.PG[NPGYCO5W$O9W$_(=Z^\D[.\FY#O6WTG8WTW( +M=ZR_D["_FY#O6'\G87\W(=^Q_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2 +M]G<3\AWK[R3L[R;D.];?2=C?S?@IPEW8W\W(=ZR_D["_FY'O6'\G87\W(]^Q +M_D["_FY&OF/]G83]W8Q\Q_H["?N[&?F.]7<2]G<S\AWK[R3L[V;D.];?2=C? +MS<AWK+^3L+^;D>]8?R=A?S<CW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U +M=Q+V=S/R'>OO).SO%OP4X2[L[Q;D.];?2=C?+<AWK+^3L+];D.]8?R=A?[<@ +MW['^3L+^;D&^8_V=A/W=@GS'^CL)^[L%^8[U=Q+V=POR'>OO).SO%N0[UM]) +MV-\MR'>LOY.POUN0[UA_)V%_MR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7Y +MCO5W$O9W*WZ*<!?V=ROR'>OO).SO5N0[UM])V-^MR'>LOY.POUN1[UA_)V%_ +MMR+?L?Y.POYN1;YC_9V$_=V*?,?Z.PG[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6 +MWTG8WZW(=ZR_D["_6Y'O6'\G87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[ +M#3]%N`O[NPWYCO5W$O9W&_(=Z^\D[.\VY#O6WTG8WVW(=ZR_D["_VY#O6'\G +M87^W(=^Q_D["_FY#OF/]G83]W89\Q_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D +M.];?2=C?;<AWK+^3L+_;D.]8?R=A?[<AW['^3L+^;D.^8_V=A/W=CI\BW(7] +MW8Y\Q_H["?N['?F.]7<2]G<[\AWK[R3L[W;D.];?2=C?[<AWK+^3L+_;D>]8 +M?R=A?[<CW['^3L+^;D>^8_V=A/W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO +M=N0[UM])V-_MR'>LOY.PO]N1[UA_)V%_MR/?L?Y.HO[.SO@IS)WF#]S<J<X! +MWWU]"G.GKK_+]_V=3F4.^$Y9?Z>NOSLE[DZW90[X3EE_IZZ_.R7N3K^7.>`[ +M9?V=NO[N=#F<'?"=LOY.77]7SJ[.`=\IZ^_4]7=@#OA.67^GKK\#<\!WROH[ +M=?U=GGM4YX#OE/5WZOJ[1WFN<@=\IZR_4]??/4K</:K<`=\IZ^_4]7>/$G>/ +M*G?`=\KZ.W7]W:/+X>R`[Y3U=^KZNW)V=0[X3EE_IZZ_`W/`=\KZ.W7]W7$. +MW7^GK+]3U]_EN<=U#OF.]7?J^KO'>:YPA^Z_4];?J>OO'B?N'A?NT/UWROH[ +M=?W=X\3=X\(=NO].67^GKK][?#F<'?(=Z^_4]7?E[.H<\AWK[]3U=V`.^8[U +M=^KZ.S"'?,?Z.W7]79Y[4N>0[UA_IZZ_>Y+G*G?(=ZR_4]??/4G</:G<(=^Q +M_DY=?_<D<?>D<H=\Q_H[=?W=D\OA[)#O6'^GKK\K9U?GD.]8?Z>NOP-SR'>L +MOU/7WQWGT/UWROH[=?U=GGM:YY#O6'^GKK][FN<*=^C^.V7]G;K^[FGB[FGA +M#MU_IZR_4]??/4W</2W<H?OOE/5WZOJ[IY?#V2'?L?Y.77]7SJ[.(=^Q_DY= +M?P?FD.]8?Z>NOP-SR'>LOU/7W^6Y9W4.^8[U=^KZNV=YKG*'?,?Z.W7]W;/$ +MW;/*'?(=Z^_4]7?/$G?/*G?(=ZR_4]??/;L<S@[YCO5WZOJ[<G9U#OF.]7?J +M^CLPAWS'^CMU_=UQ#MU_IZR_4]??Y;GG=0[YCO5WZOJ[YWFN<(?NOU/6WZGK +M[YXG[IX7[M#]=\KZ.W7]W?/$W?/"';K_3EE_IZZ_>WXYG!WR'>OOU/5WY>SJ +M'/(=Z^_4]7=@#OF.]7?J^CLPAWS'^CMU_5V>>U'GD.]8?Z>NOWN1YRIWR'>L +MOU/7W[U(W+VHW"'?L?Y.77_W(G'WHG*'?,?Z.W7]W8O+X>R0[UA_IZZ_*V=7 +MYY#O6'^GKK\#<\AWK+]3U]\=Y]#]=\KZ.W7]79Y[6>>0[UA_IZZ_>YGG"G?H +M_CME_9VZ_NYEXNYEX0[=?Z>LOU/7W[U,W+TLW*'[[Y3U=^KZNY>7P]DAW['^ +M3EU_5\ZNSB'?L?Y.77\'YI#O6'^GKK\#<\AWK+]3U]_EN5=U#OF.]7?J^KM7 +M>:YRAWS'^CMU_=VKQ-VKRAWR'>OOU/5WKQ)WKRIWR'>LOU/7W[VZ',X.^8[U +M=^KZNW)V=0[YCO5WZOH[,(=\Q_H[=?W=<0[=?Z>LOU/7W^6YJSJ'?,?Z.W7] +MW56>*]RA^^^4]7?J^KNKQ-U5X0[=?Z>LOU/7WUTE[JX*=^C^.V7]G;K^[NIR +M.#OD.];?J>OORMG5.>0[UM^IZ^_`'/(=Z^_4]7=@#OF.]7?J^KL\][K.(=^Q +M_DY=?_<ZSU7ND.]8?Z>NOWN=N'M=N4.^8_V=NO[N=>+N=>4.^8[U=^KZN]>7 +MP]DAW['^3EU_5\ZNSB'?L?Y.77\'YI#O6'^GKK\[SJ'[[Y3U=^KZNSSWILXA +MW['^3EU_]R;/%>[0_7?*^CMU_=V;Q-V;PAVZ_TY9?Z>NOWN3N'M3N$/WWRGK +M[]3U=V\NA[-#OF/]G;K^KIQ=G4.^8_V=NOX.S"'?L?Y.77\'YI#O6'^GKK_+ +M<V_K'/(=Z^_4]7=O\USE#OF.]7?J^KNWB;NWE3OD.];?J>OOWB;NWE;ND.]8 +M?Z>NOWM[.9P=\AWK[]3U=^7LZASR'>OOU/5W8`[YCO5WZOJ[XQRZ_TY9?Z>N +MO\MS[^H<\AWK[S3J[PS=?Z>LO].HOS-T_YVR_DZC_L[0_7?*^CN-^CM#]]\I +MZ^\TZN\,W7^GK+_3J+\S=/^=LOY.H_[.T/UWROH[)?W=^SJ'?,?Z.W7]W?L\ +M5[E#OF/]G;K^[GWB[GWE#OF.]7?J^KOWB;OWE3OD.];?J>OOWE\.9X=\Q_H[ +M=?U=.;LZAWS'^CMU_1V80[YC_9VZ_NXXA^Z_4];?6?[`S9WK'/"=L?[NZR<> +M<)?]="[<H?OOC/5WYOJ[<]H[%^[0_7?&^CMS_=TY<7<NW*'[[XSU=^;ZN_/E +M<';`=\;Z.W/]73F[.@=\9ZR_,]??@3G@.V/]G;G^#LP!WQGK[\SU=WE.ZASP +MG;'^SEQ_)WFN<@=\9ZR_,]??27IY4KD#OC/6WYGK[R1Q)Y4[X#MC_9VY_DXN +MA[,#OC/6WYGK[\K9U3G@.V/]G;G^#LP!WQGK[\SU=\<Y=/^=L?[.7'^7Y[3. +M(=^Q_LY<?Z=YKG"'[K\SUM^9Z^\T<:>%.W3_G;'^SEQ_IXD[+=RA^^^,]7?F +M^CN]',X.^8[U=^;ZNW)V=0[YCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSUF= +M0[YC_9VY_L[R7.4.^8[U=^;Z.TO<6>4.^8[U=^;Z.TO<6>4.^8[U=^;Z.[L< +MS@[YCO5WYOJ[<G9U#OF.]7?F^CLPAWS'^CMS_=UQ#MU_9ZR_,]??Y;FFSB'? +ML?[.7'_7Y+G"';K_SEA_9ZZ_:Q)W3>$.W7]GK+\SU]\UB;NF<(?NOS/6WYGK +M[YK+X>R0[UA_9ZZ_*V=7YY#O6']GKK\#<\AWK+\SU]^!.>0[UM^9Z^_R7%OG +MD.]8?V>NOVOS7.4.^8[U=^;ZNS9QUU;ND.]8?V>NOVL3=VWE#OF.]7?F^KOV +M<C@[Y#O6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5WQSET_YVQ_LY<?Y?GNCJ' +M?,?Z.W/]79?G"G?H_CMC_9VY_JY+W'6%.W3_G;'^SEQ_UR7NNL(=NO_.6']G +MKK_K+H>S0[YC_9VY_JZ<79U#OF/]G;G^#LPAW['^SEQ_!^:0[UA_9ZZ_RW-] +MG4.^8_V=N?ZNSW.5.^0[UM^9Z^_ZQ%U?N4.^8_V=N?ZN3]SUE3OD.];?F>OO +M^LOA[)#O6']GKK\K9U?GD.]8?V>NOP-SR'>LOS/7WQWGT/UWQOH[<_U=GAOJ +M'/(=Z^_,]7=#GBO<H?OOC/5WYOJ[(7$W%.[0_7?&^CMS_=V0N!L*=^C^.V/] +MG;G^;K@<S@[YCO5WYOJ[<G9U#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/ +MC74.^8[U=^;ZNS'/5>Z0[UA_9ZZ_&Q-W8^4.^8[U=^;ZNS%Q-U;ND.]8?V>N +MOQLOA[-#OF/]G;G^KIQ=G4.^8_V=N?X.S"'?L?[.7']WG$/WWQGK[\SU=WGN +M0YU#OF/]G;G^[D.>*]RA^^^,]7?F^KL/B;L/A3MT_YVQ_LY<?_<A<?>A<(?N +MOS/6WYGK[SY<#F>'?,?Z.W/]73F[.H=\Q_H[<_T=F$.^8_V=N?X.S"'?L?[. +M7'^7YS[6.>0[UM^9Z^\^YKG*'?(=Z^_,]7<?$W<?*W?(=ZR_,]???4S<?:S< +M(=^Q_LY<?_?Q<C@[Y#O6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5WQSET_YVQ +M_LY<?Y?G/M4YY#O6WYGK[S[EN<(=NO_.6']GKK_[E+C[5+A#]]\9Z^_,]7>? +M$G>?"G?H_CMC_9VY_N[3Y7!VR'>LOS/7WY6SJW/(=ZR_,]??@3GD.];?F>OO +MP!SR'>OOS/5W>>YSG4.^8_V=N?[N<YZKW"'?L?[.7'_W.7'WN7*'?,?Z.W/] +MW>?$W>?*'?(=Z^_,]7>?+X>S0[YC_9VY_JZ<79U#OF/]G;G^#LPAW['^SEQ_ +M=YQ#]]\9Z^_,]7=Y[KK.(=^Q_LY<?W>=YPIWZ/X[8_V=N?[N.G%W7;A#]]\9 +MZ^_,]7?7B;OKPAVZ_\Y8?V>NO[N^',X.^8[U=^;ZNW)V=0[YCO5WYOH[,(=\ +MQ_H[<_T=F$.^8_V=N?XNS]W4.>0[UM^9Z^]N\ESE#OF.]7?F^KN;Q-U-Y0[Y +MCO5WYOJ[F\3=3>4.^8[U=^;ZNYO+X>R0[UA_9ZZ_*V=7YY#O6']GKK\#<\AW +MK+\SU]\=YIHS?@ISU^0/W-QMG0.^:UA_U[C^[C;/G<H<\-W7IS!WC>OO;A-W +MM[=E#OBN8?U=X_J[V\3=[>]E#OBN8?U=X_J[V\OA[-#?MUU.G'[BRSOW[<MO +M5]\'V^]?VT9/YPG\DW_BRU_>/?Q>!K_?:_0'!K^]83D,YC?<WMUK]+VMF]H$ +MWM>?WMDMO;U%ZN^R]]_PS1U\U^_NS:&_-_K/G!^ZBNA'@VU[FJ;#X+_RZT-7 +M$?V9U]=MO_CKVW\'INU/37MJN].@/_L*__/7?[M7>#<'9/#_O>&[.2"#AW/Y +M!9??'P]S-_?FOLE@O_=OGN7>4_>YN__QO;GK=_=^`^^1#.K<-P%NZ!/TS?YB +M&?2'"R?O?YV_W\ELIW/^\QEWT6GY^I[JZT.!_X.W^X/7=SJ^W>__@=$__/?E +MWIP&;_?T<&XN9@%?PN#TKH^O#OT%]W_FBW&X-O$G?^5^&WGX*_=N3G^M"(;O +G9OGVV^($_LD_\>4?[QY^OQMLTN`O.\'F*WWG\V__`[M'T1.AJ``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow2.gz.uu new file mode 100644 index 0000000..bea1353 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-512-mbr.qcow2.gz +M'XL("%7N+50``VEM9RTV,W@R-34M-3$R+6UB<BYQ8V]W,BYO=70`K9C;DM,P +M#$#?]RO,'18HL>3<N+2PL,SP!@_`<WK[B@[?3E(KL:-(\;:3-I-IQ]49V3Y2 +MDV29?QF36^,*XVISW)KV.QU@HB_CPYQ^??^QBE^G&P^SF1(E#)2'`3=B_0LX +MT'"9G0Y8&1=EAP(.^J@I*(5S:G9S`P+N]N:\=.?-J%@$7@/T.'4SKLH/?'X\ +MPEV9'RR='\KKE_=Q?*"8SP]]?CRJU'!5$@="5*WAFB0.A:BMAMLE<4Z(VFLX +MI7(C7"Y$'16<3:C2X@HARFHX2.)*(0HUG$OB*B%*\\ZFO:N%*,T[F_:N$:(T +M[VS:NZT0I7EGT][MA"C-.YOV;B]$:=Z!XIT)N(,0I7D'S+M'A'L<<$<A2O,. +MF'=/"/=TP%DI2O,.F'?/"/<\X(1^!YIWP+Q[0;B7`2?T.]"\`^;=*\+=!IS0 +M[T#S#IAWKPGW)N"$?@>:=\"\>SOQS@K]#C3OD'GWCEA9P`G]#C7OD'EG"0<! +M)_0[U+Q#YAT2S@6<T.]0\PZ9=SGABH`3^AUJWB'SKB1<%7!"OT/-.V3>U81[ +M'W!"OT/-.V3>?2#<QX`3^AUJWB'S[A/AU@$G]#O4O'/,NPWA/@><T.^<YIUC +MWGTAW%W`"?W.:=XYYMU7PGT;<"!%#=YEF7P0[GY2L[#L]:<+U\=6..L#,\#J +M$N!<AAY7+SKAW$^XTZ`1SOK`Z6XU?@_`<[%=`*QH!<<XFG#NB\VO3I/WI6&I +M0&AZ.QO*+)[PQI?'>A7A]@NOW[D^+@#FN6F:"?!WGQ_,IG%Y?N5AX?VM_..& +MLJO:O#`5/#3#O_=_ID*WN,4JV./TQPTTT"<\M-@);A/ANBN68_3+N$Y'WL6? +M(]QZ%5I]BYM]W-#=0QVD`76R^;*R5$.S&FR-]KF[=._NL/I_;W;I/>RO"?D) +MS0I&TYW)STRGVUT5#'?O;#\Z'"2F:\:X[=!9A"U,K-YZFMUNX<VPO#(>6+D= +L9%RY'@?+-H+ZW%E:`]M?3<_ZP.GG:OSV0$?`Q5;0%=U_V\U_7_5L5B,5```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-mbr.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-mbr.raw.gz.uu new file mode 100644 index 0000000..dc6c0cb --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-mbr.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-512-mbr.raw.gz +M'XL("%;N+50``VEM9RTV,W@R-34M-3$R+6UB<BYR87<N;W5T`*V4S8Z$(`S' +M[SY%SWL@!65E+DZRR=[WLC-GQM6G\.&W6'7*X,>80)%@"K_\2PN(W``J`^A7 +MQFW'\*5B&XJ/8J3IQSF@0T"=`!4!&=<2CA:03&_#6/;A-XS!@:&W]-]-<^XP +M$$%=R:@U2N#^EEUIWW:,.-F>X?;G@-:"]PGP=]9G=F6<UU=WF?/KQH*Q-506 +M["<X\Z["^_?M12'C=*Z`&6>.<+-@KJ`UW%7@2G+V8B57XK1+UIV<"US#WXRK +M]M3126"WYM@,UN8M%D<6[Y-Y!MV!+@'=Y#,Q<,DO//5=4ADF"G=''Z3A^H"K +MX_5:X,Q!N!#C'LO+LI+"@]-K4G5MYF3HUYOQYLT-D/CF,L[D?0@NX\M"%4BK +;TG';,?RHV!A83<!L)QA>/L3B'ZC")G7E!@`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-mbr.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-mbr.vhd.gz.uu new file mode 100644 index 0000000..251e27e --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-mbr.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-512-mbr.vhd.gz +M'XL("%;N+50``VEM9RTV,W@R-34M-3$R+6UB<BYV:&0N;W5T`*V72V_<(!#' +M[_LI1NHM!PN/`9/+KA0U/5>JVIZQ8T<Y]*%N#SGXPY<QX`6_-MO,FD58P(\_ +MS,-""/\#T!7H'G0'6E&[EJ#OH38`KC,4'.LRO,+0_OK9M7]?7HOP&PX>5HIT +M5CZ=YF,%TBU2`UI:1#]1&X:(*3X\/M^]_'B..`RXN+#4(!&4@\C%.D9,ZHCT +MZ>'+Q[FZ:JGN,LNOT_=0]<F(*E57%*<4)]TL-YZ*AEZ.,F/)7K*.%)>I4V(V +M*Y&Y=JC)9M=P>F_6+;B[0["%=Q7G&+6K!>@2:J2V<YMX#HOB7.7U_-O^.7<S +M?;CA*CHQQKQ/;F\7@ZM@'!P42!*XMUT8*><Y;L55WG5Z.I\G0\,=@E"Q`\?M +MYZ=W04&J3Y=BY\RWC;&ISY(^%UO"KM3;'<-#D3\3L&EN`QKAHR/'31MNVA`= +M`JRBFJ*T#+$:SJ]U[]V*04X^;(_)^35/S/9M^MN`2H&U"^#7J*_=E7&[/F.8 +M[6M&AU$UI7.EP>!;%7Y__+82O\9NI(/_RW[&XC5<%)QF^QQW2G"5#[<+)4E. +MF=^E[01W]/^(DWOJ*"=T:QV;FU7,SF+-;%YJ9R@[*"L0)O1A#ISL"Q=]]TL9 +MF&UW1Q\LMVL)5^?CRP2'5[8+.:Z9,LN*":^<WG&IKF4V1C./C#=&+D'RR/4X +MY$T$=LPLS@/=J&6]W3%\+O+'`S%\BMB^;1B2*9M"&8!L"AVP8U9H>;\?.BAD +KNB@0CO&B0#C&BP+A&"\*A&.\*!".\:)`.-:+@G970"$._P"C#]GF70X````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-mbr.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-mbr.vhdf.gz.uu new file mode 100644 index 0000000..0ba7533 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-mbr.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-512-mbr.vhdf.gz +M'XL("%;N+50``VEM9RTV,W@R-34M-3$R+6UB<BYV:&1F+F]U=`"ME3UOPR`0 +MAO?\BI.Z9;```R9+(D5-YTI5V]EQ<)0A[=*A@W]\[XSM@+'S46$(PCIX\AYW +MG!ES#X`4P,J)<=[0;+.P-8OEHJ7Q_6-`PX#Q")@AT.$JQ.$"E%DJ&O.:7FDD +M`Z->X;OMYJY#@X1L@PV?=>;A#L.NN,\;6IS_7-RM'P,J!649`=][?>*JC,?U +M%39Q?$V;,*H`J4!I,.)>A9^[CY%"A^.I''8X<0O7"W89-(7;>+@<C;6WTF5B +MM\O/.W_NX=;NU^/D-75X$LQ.&6:=56F3Q6`+]_EQ!FZ!Y\!,9Q,A<(@O7/2M +M8ADB</>*/HC=+0E7A.NYAQ,WW(40MQ\JRT0(;YS>.E97)0X&']^,.V\N0<*; +MZW`B;2%8M94%,Q!7Q>.\H7G-PN:`L@,F.T'3?=MT#KH&;4$KFA<2]`H*XP-% +MF$E-]?UEJY_3KQ]APG%7#"8[[1<YW19=@"CI3_2!YIZ^I]UQ>3H?>UQ?JOH_ +MEIH.72%$1NZ:T-V7[=OS6%T>'Y()3H^33K_LH>/!Z6U\G!R<M;8M@?S2@Y?` +<,%FJ"*?8:-=_8^MP.G&JX'=W\0?-HVE+$`D````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-mbr.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-mbr.vmdk.gz.uu new file mode 100644 index 0000000..fe22486 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-mbr.vmdk.gz.uu @@ -0,0 +1,84 @@ +# $FreeBSD$ +begin 644 img-63x255-512-mbr.vmdk.gz +M'XL("%?N+50``VEM9RTV,W@R-34M-3$R+6UB<BYV;61K+F]U=`"M7-%NY,81 +M?/=7#.2W/"Q8RR6Y?#@[<<X!@B"`$3OV:\CE,!9BWQUT0I`#]/'AD%.C(D4> +M::MUJP/[V%W;W4.U=-4%9=GTX=RE=9>+NW2N*%T&-_S3]')9_FP,KTNZ\?2W +MMW__\<2//YY.3U],8`A1$H),X<28O<_3:?%!N//GHF8WAM=Y%RX/4>V+P`AW +MWKBQ"3?TPYW70IA=,][NPH7`N03D9G#%2DV;Q7XNNS]\$9L7\LM##L/QEK6K +M<E>VT71E,=JYJ\[CO<Q5@U,_`'[IWMY__(][ZS_>'NX_/+Z/^9W#V0[.ES+X +ME[>`,!16E>$BW`AP=8`HO<L[ER/<=D\/?[G_Q9_^ZQ\^WK]_]P8L]QS.]I*[ +M2QW2"?[9\VMFA#?)7(GP'N[ISW]]^R8^N=GI0_-`N!`U)#*\]U"'XI:E"Y\O +M7V-V_MUC0.SC1\HNG&UL3C&^]R5<%!=7U6Y,IPC8Y^%V%TL>>W=[\,VC_^'3 +M!__F[M?W[U+OPMF&EM4CT'5L5.Z*/$#%TD+[BH`8'IOQU-S3+_>//]_?OA_* +M_.CO3E\ZPI6A=\,!7F->4]5#2+EYLD/:3]_^[W&HUW7Q9.\)-R8Q%C&\=W%V +M116PA@/,A][EN<NO+A_AAX2'2BX(3N[I_;O3/WYR*//KQ7W_W9_^0;CK`#=X +M#@D.(4-!LYJ*J?YB^5BZI^^_=7>AR!]^]N,32+AZ^C(+SM,Y8#3/X2)V;8(/ +M0^P2;HPGZ]XVCXW[IOGH3U^^??M-.MDF%'L97T-J/J"4$W1XOL=V#HV;3GHZ +MZ/$HNJX]-5WSX=$_A.--1]&&I[6+E89CO3P?X_Q]JO&D^O#$N*<W[NZ^&\XT +MP/[;O_^5<+?I,1[R"(]$/0;FX6)X>D9X']]A>F+",04X__CPZ73[],O]NV[X +M0G-O"-=-O1O2&4YS2BKEM$PJO>W0NSL\IS9@$\Z'%DU)7>,7QH`UY?'<A7QX +M%>$5N_#TZ?2S;[HA+7=W+HJ[=!3]\BBT18LN3`<]]&(ZBIC8I]-'?XMP>18/ +ML)\U9\HI/,K#DSQE-!^@C^\?QM3*_$[G<;[\7O;:>7QY\2VU^IV`$YQU?F6V +M]_V,KWP&Z`0L>\ZO#/E=Q+/0J%*,:@8W_#1Q^F[X_-?P^4'@PB-V%<]:HQHQ +MVB/=*\/WBYMX=AKEQ>@/P5UBB_@#"N1Z;"J-7&\D.+?H71%[1\]"HTHQJAG< +M5N_*V#MZUAK5B-&N9K<LMHJ]HV>G45Z,_A#<-?:./X!!KL?>T<BSM9_REKVK +M8^_H66A4*48U@]OJ71-[1\]:HQHQVM7LEL6VL7?T[#3*B]$?@KO%WG&L0*[' +MWM'(]<9F[[K8.WH6&E6*4<W@MGKG8^_H66M4(T:[FMVRV#[VCIZ=1GDQ^B-P +M519[=Y'>\7KL'8U<;VSUKN*\HV>A4:48U0QNHW<5YQT]:XUJQ&A7LUL6RWE' +MSTZCO!C](3C.NT)ZQ^NQ=S1RO;'9.\X[>A8:58I1S>"V>L=Y1\]:HQHQVM7L +MEL5RWM&STR@O1G\(CO.NE-[Q>NP=C5QO;/:.\XZ>A4:58E0SN*W><=[1L]:H +M1HQV-;MEL9QW].PTRHO1'X+CO../3I#KL7<T<KVQV3O..WH6&E6*4<W@MGK' +M>4?/6J,:,=K5[);%<M[1L],H+T9_!.Z:Q=Y=I7>\'GM'(]<;6[V[<M[1L]"H +M4HQJ!K?1NROG'3UKC6K$:%>S6Q;+>4?/3J.\&/TA.,Z[6GK'Z[%W-'*]L=D[ +MSCMZ%AI5BE'-X+9ZQWE'SUJC&C':U>R6Q7+>T;/3*"]&?PB.\X[_\8)<C[VC +MD>N-S=YQWM&ST*A2C&H&M]4[SCMZUAK5B-&N9K<LEO..GIU&>3'Z0W"<=V0M +M(==C[VCD>F.S=YQW]"PTJA2CFL%M]8[SCIZU1C5BM*O9+8OEO*-GIU%>C/X( +M7)W%WMVD=[P>>T<CUQM;O:LY[^A9:%0I1C6#V^A=S7E'SUJC&C':U>R6Q7+> +MT;/3*"]&?PB.\ZZ3WO&:K';J7?<";MD[SCMZ%AI5BE'-X+9ZQWE'SUJC&C': +MU>R6Q7+>T;/3*"]&?PB.\\Y+[W@]]HY&KC<V>\=Y1\]"HTHQJAG<5N\X[^A9 +M:U0C1KN:W;)8SCMZ=AKEQ>@/P7'>]=([7H^]HY'KC<W><=[1L]"H4HQJ!K?5 +M.\X[>M8:U8C1KF:W+);SCIZ=1GDQ^B-P33;U+NW<(->A=\G(]<96[YHX[Y)G +MH5&E&-4,;J-W39QWR;/6J$:,=C6[9;%QWB7/3J.\&/TAN#CO(/P=E+^#\'?8 +MY>^:..\@_!V4OX/P=]CE[YHX[R#\'92_@_!W*]DMBXWS#L+?0?D["']W`"[. +M.PA_!^7O(/P==OF[)LX["'\'Y>\@_!UV^;LFSCL(?P?E[R#\W4IVRV+CO(/P +M=U#^#L+?'8"+\P["WT'Y.PA_AUW^KHGS#L+?0?D["'^'7?ZNB?,.PM]!^3L( +M?[>2W;+8..\@_!V4OX/P=_MP;19[)_P=E+^#\'?8Y>]:SCOA[Z#\'82_PRY_ +MUW+>"7\'Y>\@_-U*=LMB.>^$OX/R=Q#^[@`<YYWP=U#^#L+?89>_:SGOA+^# +M\G<0_@Z[_%W+>2?\'92_@_!W*]DMB^6\$_X.RM]!^+L#<)QWPM]!^3L(?X== +M_J[EO!/^#LK?0?@[[/)W+>>=\'=0_@["WZUDMRR6\T[X.RA_!^'O#L!QW@E_ +M!^7O(/P==OF[EO-.^#LH?P?A[[#+W[6<=\+?0?D["'^WDMVR6,X[X>^@_!V$ +MO]N'NV6Q=\+?0?D["'^'7?[NQGDG_!V4OX/P=]CE[VZ<=\+?0?D["'^WDMVR +M6,X[X>^@_!V$OSL`QWDG_!V4OX/P=]CE[VZ<=\+?0?D["'^'7?[NQGDG_!V4 +MOX/P=RO9+8OEO!/^#LK?0?B[`W"<=\+?0?D["'^'7?[NQGDG_!V4OX/P=]CE +M[VZ<=\+?0?D["'^WDMVR6,X[X>^@_!V$OSL`QWDG_!V4OX/P=]CE[VZ<=\+? +M0?D["'^'7?[NQGDG_!V4OX/P=RO9+8OEO!/^#LK?0?B[?;@NB[T3_@[*WT'X +M.^SR=QWGG?!W4/X.PM]AE[_K..^$OX/R=Q#^;B6[9;&<=\+?0?D["']W`([S +M3O@[*'\'X>^PR]]UG'?"WT'Y.PA_AUW^KN.\$_X.RM]!^+N5[);%<MX)?P?E +M[R#\W0$XSCOA[Z#\'82_PRY_UW'>"7\'Y>\@_!UV^;N.\T[X.RA_!^'O5K); +M%LMY)_P=E+^#\'<'X#COA+^#\G<0_@Z[_%W'>2?\'92_@_!WV.7O.LX[X>^@ +M_!V$OUO);EDLYYWP=U#^#L+?[</Y;.I=DN!!KD<9(XU<;SR-31L^W?"9N6>X +M..]6%7TK_Y1ZY]:S>Z'%/P;WLMA);HA1;I@V$5.YOP]P@C.60^(:N[X/>$0. +MB;0NY^M5<DBD=3E?KY)#(JW+^7J5'!)I76XBAT1:EYO((9'6Y29R2*1UN8D< +M$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F) +M'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6Y +MB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1U +MN8D<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76Y +MC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F- +M'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T< +M$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P2 +M:5V>/??N]\LAD=;E]'R5'!)I74[/5\DAD=;E]'R5'!)I76XBAT1:EYO((9'6 +MY29R2*1UN8D<$FE=;B*'1%J7F\@AD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1 +MUN4F<DBD=;F)'!)I76XBAT1:EYO((9'6Y29R2*1UN8D<$FE=;B*'1%J7F\@A +MD=;E)G)(I'6YB1P2:5UN(H=$6I>;R"&1UN4F<DBD=;F)'!)I76XBAT1:EYO( +M(9'6Y29R2*1UN8D<$ER7V\@AP76YC1P2WE0."6\JAX0WE4/"F\HAX4WED/"F +M<DAX4SDDO*D<$MY4#@EO*H>$-Y5#PIO*(>%-Y9#PIG)(]%EF*(=$;RJ'1&\J +MAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ'1&\JAT1O*H=$;RJ' +M1&\JAT1O*H<\9UEF*(<\9Z9RR//+7TU\#.YEL9/<\#*6._WNTI=_;]]X^N8T +M_Y,`T?XVP$D0MP1DP1>,C_+(?C7C_PGS/IAY+P7?!MNO%/SU\&?X^.HD<)UQ +M_]#_-L"B<$WS`O"?S._\V31^>WZ5-S[?Z_C`%%7X-;M%Z:[GHQG^].V/BPPG +M.#/][`2W^_616-!^"^YK@0L_#_3B.?M-X/K<Z;7`?35]$N[RN>QT076L6.-? +MW7W-KHLX/>?P?2?0@?Q?WGD.F,[7/>=7OTSC/"OW,_FYE^6&[[GZRVOU/&9C +M>J-<-X=KTV19.<*=[GWU,KN;\6%@^95Q\"LW@,R_<B>XL^T@J,?),JD^7OZ] +=?>/IN]/\SP1XB8!F';R$7TR2??%_%;F-<V]@```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow.gz.uu new file mode 100644 index 0000000..75e7cd5 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow.gz.uu @@ -0,0 +1,126 @@ +# $FreeBSD$ +begin 644 img-63x255-512-pc98.qcow.gz +M'XL("%?N+50``VEM9RTV,W@R-34M-3$R+7!C.3@N<6-O=RYO=70`K9W;CA19 +M<T;OYRF*,S2GBHC,JDP.W<B2+?D.7]B^_>MX/0^`_.R&9G?N[JCU33`:�" +M%?DI*VOU`LTL;=;KG]]6J]%6PV8US*OS?O7]Y^V[K>[]Y.'WU;?_^H__?'?_ +MV[<_?H[9^B^N2C_?GI:Y!UO_U^?\QU6'U7K^A;GOWXWF[MU=_(V[N_=F+^>N +M_OCY9ODZ5X/Q8'#5YM;M_DP\O>'7[N]+>KOV\^G]OK?KXNV.:G#S8/!KF_M7 +MNS__6[#\TOW]S<]WBX-_+O<WX%63FIO_DCY?CWC53LWMB[D-7G50<\=B;HM7 +MG=3<N9B;X"I3'X457[F^GO$J\85FQ1>:KW=XE?A"LSO"TQ?:UV5NCU=MU-Q# +M[OYUP=T!KQ+<6<G=$:\2W%G)W0FO$MQ9R=T9KQ+<6<6=T56NN/.*.R-%N>+. +M*^Z,C.R*.Z^X,_*=*^Z\XL[(=ZZX\XH[(]^YXLXK[HQ\YXH[K[@S\ITK[KSD +MCGP7BKLHN2/?A>(N2N[(=Z&XBY([\ETH[J+DCGP7BKLHN2/?A>(N2N[(=Z&X +MBY([\ETH[J+BSNFJ07$W5-PY^6Y0W`T5=TZ^&Q1W0\6=D^\&Q=U0<>?DNT%Q +M-U3<.?EN4-P-%7=.OAL4=T/%G9/O!L7=4')'OAL5=V/)'?EN5-R-)7?DNU%Q +M-Y;<D>]&Q=U8<D>^&Q5W8\D=^6Y4W(TE=^2[47$WEMR1[T;%W5AQ%W351G&W +MJ;@+\MU&<;>IN`ORW49QMZFX"_+=1G&WJ;@+\MU&<;>IN`ORW49QMZFX"_+= +M1G&WJ;@+\MU&<;<IN2/?;15WVY([\MU6<;<MN2/?;15WVY([\MU6<;<MN2/? +M;15WVY([\MU6<;<MN2/?;15WVY([\MU6<;>MN!OHJDEQ-U7<#>2[27$W5=P- +MY+M)<3=5W`WDNTEQ-U7<#>2[27$W5=P-Y+M)<3=5W`WDNTEQ-U7<#>2[27$W +ME=R1[^[^*SR\4'%'OIL5=W/)'?EN5MS-)7?DNUEQ-Y?<D>]FQ=U<<D>^FQ5W +M<\D=^6Y6W,TE=^2[67$W5]R-=-5.<;>KN!O)=SO%W:[B;B3?[11WNXJ[D7RW +M4]SM*NY&\MU.<;>KN!O)=SO%W:[B;B3?[11WNXJ[D7RW4]SM2N[(=W?_-Q1> +MJ+@CW^T5=_N2._+=7G&W+[DCW^T5=_N2._+=7G&W+[DCW^T5=_N2._+=7G&W +M+[DCW^T5=_N*NPU==5#<'2KN-N2[@^+N4'&W(=\=%'>'BKL-^>Z@N#M4W&W( +M=P?%W:'B;D.^.RCN#A5W&_+=07%WJ+C;D.\.BKM#R1WY[JBX.Y;<D>^.BKMC +MR1WY[JBX.Y;<D>^.BKMCR1WY[JBX.Y;<D>^.BKMCR1WY[JBX.Y;<D>^.BKMC +MQ=V6KEHZH,L7"NZVY+N3XNY4<;<EWYT4=Z>*NRWY[J2X.U7<;<EW)\7=J>)N +M2[X[*>Y.%7=;\MU)<7>JN-N2[TZ*NU/)'?GNK+@[E]R1[\Z*NW/)'?GNK+@[ +ME]R1[\Z*NW/)'?GNK+@[E]R1[\Z*NW/)'?GNK+@[E]R1[\Z*NW/%W017V=T/ +MX(6"NPE\9RHXM"HX]`E\9RHXM'7%W02^L[7@SG)_=\'=!+XSU=]9V=]-X#M3 +M_9V5_=T$OC/5WUG9WTW@.U/]G97]W02^,]7?6=G?3>`[4_V=E?W=!+XSU=]9 +MV=]-X#M3_9V5_=T$OC/5WUG9WTW@.U/]G97]W02^,]7?6=G?3>`[4_V=E?W= +M3%>I_L[*_FXFWZG^SLK^;B;?J?[.ROYN)M^I_L[*_FXFWZG^SLK^;B;?J?[. +MROYN)M^I_L[*_FXFWZG^SLK^;B;?J?[.ROYN)M^I_L[*_FXFWZG^SLK^;B;? +MJ?[.ROYN)M^I_L[*_FXFWZG^SLK^;B;?J?[.ROYN)M^I_L[*_FY'5ZG^SLK^ +M;D>^4_V=E?W=CGRG^CLK^[L=^4[U=U;V=SORG>KOK.SO=N0[U=]9V=_MR'>J +MO[.RO]N1[U1_9V5_MR/?J?[.ROYN1[Y3_9V5_=V.?*?Z.RO[NQWY3O5W5O9W +M._*=ZN^L[.]VY#O5WUG9W^W(=ZJ_L[*_VY'O5']G97^WIZM4?V=E?[<GWZG^ +MSLK^;D^^4_V=E?W=GGRG^CLK^[L]^4[U=U;V=WORG>KOK.SO]N0[U=]9V=_M +MR7>JO[.RO]N3[U1_9V5_MR??J?[.ROYN3[Y3_9V5_=V>?*?Z.RO[NSWY3O5W +M5O9W>_*=ZN^L[._VY#O5WUG9W^W)=ZJ_L[*_.]!5JK^SLK\[D.]4?V=E?W<@ +MWZG^SLK^[D"^4_V=E?W=@7RG^CLK^[L#^4[U=U;V=P?RG>KOK.SO#N0[U=]9 +MV=\=R'>JO[.ROSN0[U1_9V5_=R#?J?[.RO[N0+Y3_9V5_=V!?*?Z.RO[NP/Y +M3O5W5O9W!_*=ZN^L[.\.Y#O5WUG9WQWI*M7?6=G?'<EWJK^SLK\[DN]4?V=E +M?W<DWZG^SLK^[DB^4_V=E?W=D7RG^CLK^[LC^4[U=U;V=T?RG>KOK.SOCN0[ +MU=]9V=\=R7>JO[.ROSN2[U1_9V5_=R3?J?[.RO[N2+Y3_9V5_=V1?*?Z.RO[ +MNR/Y3O5W5O9W1_*=ZN^L[.].=)7J[ZSL[T[D.]7?6=G?G<AWJK^SLK\[D>]4 +M?V=E?W<BWZG^SLK^[D2^4_V=E?W=B7RG^CLK^[L3^4[U=U;V=R?RG>KOK.SO +M3N0[U=]9V=^=R'>JO[.ROSN1[U1_9V5_=R+?J?[.RO[N1+Y3_9V5_=V)?*?Z +M.RO[NQ/Y3O5W5O9W9[I*]7=6]G=G\IWJ[ZSL[\[D.]7?6=G?G<EWJK^SLK\[ +MD^]4?V=E?W<FWZG^SLK^[DR^4_V=E?W=F7RG^CLK^[LS^4[U=U;V=V?RG>KO +MK.SOSN0[U=]9V=^=R7>JO[.ROSN3[U1_9V5_=R;?J?[.RO[N3+Y3_9V5_=V9 +M?*?Z.ZOZNUC#57[W`WCA`7=WG*SZ'/C.57_GJ;];M;W5>ID#W[GJ[SSU=ZO& +MW>KK,@>^<]7?>>KO5HV[U9_+'/C.57_GJ;^#9P>^<]7?>>KO8`Y\YZJ_\]3? +MP1SXSE5_YZF_@SGPG:O^SE-_]ZC-/>ISX#M7_9VG_NY1N[U'G3OPG:O^SE-_ +M]ZAQ]ZAS![YSU=]YZN\>->X>=>[`=Z[Z.T_]'3P[\)VK_LY3?P=SX#M7_9VG +M_@[FP'>N^CM/_=WE')U_YZJ_\]3?/6YSC_L<^4[U=Y[ZN\>-N\<+=W3^G:O^ +MSE-_][AQ]WCACLZ_<]7?>>KO'C?N'B_<T?EWKOH[3_T=/#ORG>KO//5W,$>^ +M4_V=I_X.YLAWJK_SU-_!'/E.]7>>^KLG;>Y)GR/?J?[.4W_WI''WI'-'OE/] +MG:?^[DGC[DGGCGRG^CM/_=V3QMV3SAWY3O5WGOH[>';D.]7?>>KO8(Y\I_H[ +M3_T=S)'O5'_GJ;^[G*/S[USU=Y[ZNZ=M[FF?(]^I_LY3?_>T<?=TX8[.OW/5 +MWWGJ[YXV[IXNW-'Y=Z[Z.T_]W=/&W=.%.SK_SE5_YZF_@V='OE/]G:?^#N;( +M=ZJ_\]3?P1SY3O5WGOH[F"/?J?[.4W_WK,T]ZW/D.]7?>>KOGC7NGG7NR'>J +MO_/4WSUKW#WKW)'O5'_GJ;][UKA[UKDCWZG^SE-_!\^.?*?Z.T_]'<R1[U1_ +MYZF_@SGRG>KO//5WEW-T_IVK_LY3?_>\S3WO<^0[U=]YZN^>-^Z>+]S1^7>N +M^CM/_=WSQMWSA3LZ_\Y5?^>IOWO>N'N^<$?GW[GJ[SSU=_#LR'>JO_/4W\$< +M^4[U=Y[Z.Y@CWZG^SE-_!W/D.]7?>>KO7K2Y%WV.?*?Z.T_]W8O&W8O.'?E. +M]7>>^KL7C;L7G3ORG>KO//5W+QIW+SIWY#O5WWGJ[^#9D>]4?^>IOX,Y\IWJ +M[SSU=S!'OE/]G:?^[G*.SK]SU=]YZN]>MKF7?8Y\I_H[3_W=R\;=RX4[.O_. +M57_GJ;][V;A[N7!'Y]^YZN\\]7<O&W<O%^[H_#M7_9VG_@Z>'?E.]7>>^CN8 +M(]^I_LY3?P=SY#O5WWGJ[V".?*?Z.T_]W:LV]ZK/D>]4?^>IOWO5N'O5N2/? +MJ?[.4W_WJG'WJG-'OE/]G:?^[E7C[E7GCGRG^CM/_1T\._*=ZN\\]7<P1[Y3 +M_9VG_@[FR'>JO_/4WUW.T?EWKOH[3_W=59N[ZG/D.]7?>>KOKAIW5PMW=/Z= +MJ_[.4W]WU;B[6KBC\^]<]7>>^KNKQMW5PAV=?^>JO_/4W\&S(]^I_LY3?P=S +MY#O5WWGJ[V".?*?Z.T_]'<R1[U1_YZF_>]WF7O<Y\IWJ[SSU=Z\;=Z\[=^0[ +MU=]YZN]>-^Y>=^[(=ZJ_\]3?O6[<O>[<D>]4?^>IOX-G1[Y3_9VG_@[FR'>J +MO_/4W\$<^4[U=Y[ZN\LY.O_.57_GJ;][T^;>]#GRG>KO//5W;QIW;Q;NZ/P[ +M5_V=I_[N3>/NS<(=G7_GJK_SU-^]:=R]6;BC\^]<]7>>^CMX=N0[U=]YZN]@ +MCGRG^CM/_1W,D>]4?^>IOX,Y\IWJ[SSU=V_;W-L^1[Y3_9VG_NYMX^YMYXY\ +MI_H[3_W=V\;=V\X=^4[U=Y[ZN[>-N[>=._*=ZN\\]7?P[,AWJK_SU-_!'/E. +M]7>>^CN8(]^I_LY3?W<Y1^??N>KOO.KO@LZ_<]7?>=7?!9U_YZJ_\ZJ_"SK_ +MSE5_YU5_%W3^G:O^SJO^+NC\.U?]G5?]7=#Y=Z[Z.Z_ZNZ#S[USU=U[U=T'G +MW[GJ[SSU=^_;UOL^1[Y3_9VG_NY]X^Y]YXY\I_H[3_W=^\;=^\X=^4[U=Y[Z +MN_>-N_>=._*=ZN\\]7?P[,AWJK_SU-_!'/E.]7>>^CN8(]^I_LY3?W<Y1^?? +MQ=T/X(4'W*W;W+K/@>^^7\7<1>KOUHV[]<(=G7\7JK^+U-^M&W?KA3LZ_RY4 +M?Q>IOULW[M8+=W3^7:C^+E)_!\\.?!>JOXO4W\$<^"Y4?Q>IOX,Y\%VH_BY2 +M?P=SX+M0_5VD_L[:G/4Y\%VH_BY2?V>-.^O<@>]"]7>1^CMKW%GG#GP7JK^+ +MU-]9X\XZ=^"[4/U=I/X.GAWX+E1_%ZF_@SGP7:C^+E)_!W/@NU#]7:3^[G*. +MSK\+U=]%ZN^\S7F?(]^I_BY2?^>-.U^XH_/O0O5WD?H[;]SYPAV=?Q>JOXO4 +MWWGCSA?NZ/R[4/U=I/X.GAWY3O5WD?H[F"/?J?XN4G\'<^0[U=]%ZN]@CGRG +M^KM(_5VTN>ASY#O5WT7J[Z)Q%YT[\IWJ[R+U=]&XB\X=^4[U=Y'ZNVC<1>>. +M?*?ZNTC]'3P[\IWJ[R+U=S!'OE/]7:3^#N;(=ZJ_B]3?7<[1^7>A^KM(_=W0 +MYH8^1[Y3_5VD_FYHW`T+=W3^7:C^+E)_-S3NAH4[.O\N5'\7J;\;&G?#PAV= +M?Q>JOXO4W\&S(]^I_BY2?P=SY#O5WT7J[V".?*?ZNTC]'<R1[U1_%ZF_&]O< +MV.?(=ZJ_B]3?C8V[L7-'OE/]7:3^;FS<C9T[\IWJ[R+U=V/C;NS<D>]4?Q>I +MOX-G1[Y3_5VD_@[FR'>JOXO4W\$<^4[U=Y'ZN\LY.O\N5'\7J;_;M+E-GR/? +MJ?XN4G^W:=QM%N[H_+M0_5VD_F[3N-LLW-'Y=Z'ZNTC]W:9QMUFXH_/O0O5W +MD?H[>';D.]7?1>KO8(Y\I_J[2/T=S)'O5'\7J;^#.?*=ZN\B]7?;-K?M<^0[ +MU=]%ZN^VC;MMYXY\I_J[2/W=MG&W[=R1[U1_%ZF_VS;NMIT[\IWJ[R+U=_#L +MR'>JOXO4W\$<^4[U=Y'Z.Y@CWZG^+E)_=SE'Y]^%ZN\B]7=3FYOZ'/E.]7>1 +M^KNI<3<MW-'Y=Z'ZNTC]W=2XFQ;NZ/R[4/U=I/YN:MQ-"W=T_EVH_BY2?P?/ +MCGRG^KM(_1W,D>]4?Q>IOX,Y\IWJ[R+U=S!'OE/]7:3^;FYS<Y\CWZG^+E)_ +M-S?NYLX=^4[U=Y'ZN[EQ-W?NR'>JOXO4W\V-N[ES1[Y3_5VD_@Z>'?E.]7>1 +M^CN8(]^I_BY2?P=SY#O5WT7J[R[GZ/R[4/U=I/[N0YO[T.?(=ZJ_B]3??6C< +M?5BXH_/O0O5WD?J[#XV[#PMW=/Y=J/XN4G_WH7'W8>&.SK\+U=]%ZN_@V9'O +M5'\7J;^#.?*=ZN\B]7<P1[Y3_5VD_@[FR'>JOXO4WWUL<Q_['/E.]7>1^KN/ +MC;N/G3ORG>KO(O5W'QMW'SMWY#O5WT7J[SXV[CYV[LAWJK^+U-_!LR/?J?XN +M4G\'<^0[U=]%ZN]@CGRG^KM(_=WE')U_%ZJ_B]3??6ISG_H<^4[U=Y'ZNT^- +MNT\+=W3^7:C^+E)_]ZEQ]VGACLZ_"]7?1>KO/C7N/BW<T?EWH?J[2/T=/#OR +MG>KO(O5W,$>^4_U=I/X.YLAWJK^+U-_!'/E.]7>1^KO/;>YSGR/?J?XN4G_W +MN7'WN7-'OE/]7:3^[G/C[G/GCGRG^KM(_=WGQMWGSAWY3O5WD?H[>';D.]7? +M1>KO8(Y\I_J[2/T=S)'O5'\7J;^[G*/S[T+U=Y'ZN^LV=]WGR'>JOXO4WUTW +M[JX7[NC\NU#]7:3^[KIQ=[UP1^??A>KO(O5WUXV[ZX4[.O\N5'\7J;^#9T>^ +M4_U=I/X.YLAWJK^+U-_!'/E.]7>1^CN8(]^I_BY2?W?3YF[Z'/E.]7>1^KN; +MQMU-YXY\I_J[2/W=3>/NIG-'OE/]7:3^[J9Q=].Y(]^I_BY2?P?/CGRG^KM( +M_1W,D>]4?Q>IOX,Y\IWJ[R+U=Q=SPQJN&NY^`"\\X.XNZ/W2Y\!W@^KOOK_P +M@+LOC;LOZV4.?#>H_FY(_=V7=GM?OBYSX+M!]7=#ZN^^-.Z^_+G,@>\&U=\- +MJ;^#9T=_W[;Z*/H+W]ZE;]_^N+H='&\_V\%7ZQW\6[_P[=_>/?QG&;P]F^=O +M#([C:G<Y^-_M#8^W9_/,P^HPT/MJ]C/]AF^6-_QSCOZN]W_R_(;?_/RV],7V +M3^YP>_K-=SC=WN&X70WC:MRL)O_5._S??_^?=(<_YW[;1_)S#G3P<.[NAI?? +M.B_F;N[-_=#!^=ZOO`_;ZF#]#W[W?WQO[OK=O=_")])!G_LASA.](-_L;];! +M=''DY/W/^?8LYUBM[_[7C3\<7#[?5;\_2OP?O-V_N+_5Y=N]_2/&]N&OMWMS +M7KS=U<.YVS]BW/L\'WR$Q=.[OKP[^BON_\F'<7%PXB]^Y?X8>?B5^W/.?Z\( +IYENS_/CM=`?_UB]\^_KNX3\_!X<V^-N>X/`=E_7ZC_\'#.+&':.H```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow2.gz.uu new file mode 100644 index 0000000..2d392cd --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow2.gz.uu @@ -0,0 +1,22 @@ +# $FreeBSD$ +begin 644 img-63x255-512-pc98.qcow2.gz +M'XL("%?N+50``VEM9RTV,W@R-34M-3$R+7!C.3@N<6-O=S(N;W5T`*V8VW+3 +M,!!`W_,5X@X%@K4K^<(E*84RPQL\`,^)FWQ%AF\GBA1+7N]:;5#B\32C[IF5 +M]F@CIZK\2RFKE:F5Z=1^JXZ?PP4J^3"^U.'GM^_+]'58>)BNA"AFH-D-N!'K +M;\2!A*OT=$#SN"0[9'!PCIJ"<C@C9C<WP."N%J>E.Q6C)1%X"=#CQ&)<E!_X +M_&B$N3`_*)T?\NMGSW%TH)[/#WU^-*J1<&T6!TQ4)^$V61PR45L)UV=QAHFZ +MDW#"SDUPEHG:"SB=4>6(JYDH+>$@BVN8*)1P)HMKF2C).YWWKF.B).]TWKL- +M$R5YI_/>;9DHR3N=]ZYGHB3O=-Z[.R9*\@X$[U3$[9@HR3L@WCT*N,<1MV>B +M).^`>/<DX)X..,U%2=X!\>Y9P#V/.*;?@>0=$.]>!-S+B&/Z'4C>`?'N5<!= +M11S3[T#R#HAWKP/N3<0Q_0XD[X!X]W;BG6;Z'4C>(?'N76!5$<?T.Y2\0^*= +M#CB(.*;?H>0=$N\PX$S$,?T.)>^0>&<#KHXXIM^AY!T2[YJ`:R..Z7<H>8?$ +MNR[@WD<<T^]0\@Z)=Q\"[F/$,?T.)>^0>/<IX%81Q_0[E+PSQ+MUP%U''-/O +MC.2=(=Y]#KB;B&/ZG9&\,\2[+P'W=<`!%S5X5U7\%7"WDST+9<^?)IZ/-7.7 +M!V:`[4.`<QEZ7%=TPM9/V&FP8>[RP.%F.7X/P),P#P!:JS93X"\_8>N%Z8SJ +M#3>OL$^T/.%UNGZVM##6E:3H^@'[A/8?&3:[PAFV_@>'QNU;6ZL6[IOAG]O? +M4Z6/N&(E\3CY!X<P<$YX:+(3W#K!N3/+/OG/5#;5Z]C@T[\3W&H9F_T1-_N# +M@WN*VG$#XF1M65G:H5V=K[3.[O#NGK'.W]_D\#W45\7\F'8%H^G.Y*>FTW7G +M@N'YG=3#X2`S737&N7-!6L]1"3.KMYIFUQ<NAJ8[XYX[UT'&.]?CH&PCZ$Z= +BY6B@Z^*3NSQP^+$<OSW0!&"Q%32U^W9;_`,76K<))14````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-pc98.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-pc98.raw.gz.uu new file mode 100644 index 0000000..029e51d --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-pc98.raw.gz.uu @@ -0,0 +1,12 @@ +# $FreeBSD$ +begin 644 img-63x255-512-pc98.raw.gz +M'XL("%?N+50``VEM9RTV,W@R-34M-3$R+7!C.3@N<F%W+F]U=`"ME$V/@R`0 +MAN_^BO>\!P,C5+VT29/>][*[9VOT5_CCER\M(WZT":"(&7CR#C.,$+X!BB"Z +MC7'?,-U+WJ?BJW`T.7X&U!I="OPQ0(<CJZ]5Z!7,;/6@&MU,)H:I#.T6OC-. +M&F,*"KMV#0NN7'#!797Y_$@<"OE<83UD5M@XA;J&TM`7-/2NPK_'[TJAQV4+ +MB<?1&6X6'))G`W>+<)4QCM'*.-G02U1#^(GG$>[JWQFGCM29DQ##EF'769TW +M61K3^;XXSI`#9`71!!MQX!)?O/2UJ0QB[A[H0^IN9W$U7R\C')VX"XY[6EP4 +M3Q;"D].[INKZS,&0ZYOQYLVU$'YS/8[R%H+651:3@;:*)^.^8?HN>?=`%8#9 +/3M!6/B&*?U("+YGG!@`` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-pc98.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-pc98.vhd.gz.uu new file mode 100644 index 0000000..dd48100 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-pc98.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-512-pc98.vhd.gz +M'XL("%CN+50``VEM9RTV,W@R-34M-3$R+7!C.3@N=FAD+F]U=`"METU/["`4 +MAO?S*T[BSD5#3X$R&R<QZMK$Z%TSO:UQ<=4X+ESTQ\LI,(72=APOTPZA`1[> +M\P$$QNP/0%8@.Y`M2$'UFH/<0JT`3*-[<2A+]PE]\_;:-I\O7X7[]1L+*UDX +M*AY.X[$";B:I`35-(O]2'7J/*2YNGR]?_CU['#J<GYA+X`C"0'@RCV)'=42Z +MNWZXF:JK4G7C*#M/UT'5!3VJ4%U1[$(<-Z-,?WHE='R0Z=_H(VH(<9$ZP2:C +M`IES3@V,G</)M5'GX"XW+A8V54QBU*9D($NHD>HF;;P?DM>DRM?A77\<VHD^ +M7$@5&01CVL:7S467*N@[.P6<!*Z9"P/E,,7-I,I_>4_&X[BK&"<PX1MP,#_V +MWHB"4)\LV8K/EX.QJ$^3/K.VF)XIEQOZZR)^CL!]=QY0"-`I\-$;W)"^+8>& +MS_G=+=DD8T:#=W%\FX7L^W5\V\S^0[TJY'R%2F56J`:%HJ8-74A0^%.%?VZ? +M9E:PTME"8G%X"N<%A_M]C-L%N,HNN)$2)!LT)52M^PCK`>[*_CV.KZFC7:&= +M:U@T5F1.%JTFX\(X0]E"60%3K@UCX#&^,.K;IC(P,G=%'Z3F:L+5<?\RP.$) +M<R'&[=W)ZWM&(3SAO:M479,Y&/OIROCARB5(O'(M#O-N!'K864P&TBZ>E,L- +M_7T1/Q:([C#*=KJA.SVR*>0.F$TA=^='1H6Z64VV<[-0.H69K@J$RWA5(%S& +BJP+A,EX5")?QJD"XC%<%PF6]*DAS"61L\PVA;@PG7PX````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-pc98.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-pc98.vhdf.gz.uu new file mode 100644 index 0000000..5600c7a --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-pc98.vhdf.gz.uu @@ -0,0 +1,15 @@ +# $FreeBSD$ +begin 644 img-63x255-512-pc98.vhdf.gz +M'XL("%CN+50``VEM9RTV,W@R-34M-3$R+7!C.3@N=FAD9BYO=70`K94[;X,P +M$,?W?(J3NF5`?F.61(J:SI6JMC.E)LJ0=NG0@0]?&QOBPY!'94R(T>$?_WOX +M(,0?`((!J6>NRX9N5^#1K=:KGD;;^X!20IT"7RVPQS&GKQ+0"+"SR0F\[6<T +M,71%.+;A?\!1:TQ!8=6B8<05(RZX*S+'CY&+0NY76)K,"G6O4)8@)$@%FMVJ +M\'W_-E'H<=E2XG'L&FX0'(IG!K>-<-P:V^C)N-B@H<!-N(GG$6[C?P-.7%)G +M(T',G&'169FW6+0=>%V<9Z`&*`>B@XUAX)A?..NK4AD,N7M!'Z3NU@Y7XN=I +MA&-7W`6,^W"X*)\HA5>BMTG5-9F30:<[X\:=ZR!XYWH<R]L(JKZSV`IT73RY +M+ANZYP(/#Q0!F"V".GS=%`?5@C*@I)N7`E0%I8Z!#%=2UWQ_F>;G^!MGV.&H +M;P:SIUO/N-LMJ@16NY>H3S>/]#WL#^OCZ3#@AE8UO%@H%W1I(2)Q5V-WGW8O +MCU-U/`V21M&C3F?<]JSC*'K;&"=&9XWI6R`]G^@&&69;E<-),EGUW]QZG,I< +.*O;#N_H#>\I9F1()```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-pc98.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-pc98.vmdk.gz.uu new file mode 100644 index 0000000..b2d29cc --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-pc98.vmdk.gz.uu @@ -0,0 +1,84 @@ +# $FreeBSD$ +begin 644 img-63x255-512-pc98.vmdk.gz +M'XL("%CN+50``VEM9RTV,W@R-34M-3$R+7!C.3@N=FUD:RYO=70`K5Q=C]S& +M$7SWKQB<W_*P8"V_E@^R$T<.$`0!C-BQ7T,NR?@06Q).AR`"]L>'0T[-%;FD +M2/OZM">PQ>[:[I[=OE-U89-D^G(N:UR6N:QU>>$2N.&?IH=+TA=C>&3QQNUO +M;__^XXE??SR=;E],8/!1$H)$X<28/<_MM/@BW/ES4;,;P^.\"Y?ZJ.8N,,"= +M-VYLP@W]<.>U$&97C[=;?R%P+@*Y&5R^4M-FL9_+[@]?A.;Y_%*?PW"\1>7* +MU!5-,%V1CW;JRO-X+W'EX-0/@%^ZMX\?_^/>=A^O3X\?GM^'_,[^;`?GK/#^ +MQ=4C#(65A;_P-SQ<Y2&*SJ6M2^%ON]O37QY_Z4[_[9X^/KY_]P8L]^S/-DM= +M5OETO'_R\I@9_DD25\`_A[O]^:]OWX17;G+Z4#\1SD<-B0S//=2AN$7A_/?] +M8\RN>_?L$?OP%;/S9QN:DX_/G?F+/'-EY<9T<H]]'FZWH>2Q=]>GKG[N?OCT +MH7OS\.O[=[%W_FQ]RZH1Z#(V*G5YZJ%":;Y]N4?T+YOQU-SME\?GGQ^OWP]E +M?NP>3E\ZPA6^=\,!7D)>4]5#2+%YLD/:MV__]SS4Z]IPLH^$&Y,8BQB>.S^[ +MO/18PP&F0^_2U*47EX[P0\)#)1F\D[N]?W?ZQT\.17K)W/??_>D?A+L,<(/G +MD.`0,A0TJRF?ZL^7+TMW^_Y;]^"+_.'G;GP%$JZ:WF;>>3H'C.;97X2N3?!^ +MB&7^QGBR[FW]7+MOZH_=Z<NW;[^))UO[8K/Q,:36>91B@O:O[[&=0^.FDYX. +M>CR*MFU.=5M_>.Z>_/'&HVC\J[4-E?ICS5Z.<?X\Y7A2O7_%N-L;]_#8#F?J +M8?_=O?^5<-?I93SDX5\2U1B8^HOAU3/"=^$9IE>,/R8/UST_?3I=/_WR^*X= +MWFCN#>':J7=#.L-I3DG%G)9)Q:<=>O>`E]0&;,)UOD534I?PQABPICQ>NI`. +MC]P_0A=NGTX_=W4[I.4>SGG^$(^B7QZ%MFC1A>F@AUY,1Q$2^W3ZV%T#7)J$ +M`^QGS9ER\B_EX94\930?H,_OG\;4BO1!YW&Z_%GVVGF<W?U(+7\GX`1GG5^1 +M[/T\XR.=`3H!2U[R*WQ^F7CF&E6(4<[@AM\F3M\-W_\:OC\(G'^)7<2STJA: +MC.9(]PK_\^(JGJU&=6+TA^"RT"+^@@*Y'IM*(]4;$<XM>I>'WM$SUZA"C'(& +MM]6[(O2.GI5&U6(TJ]DMBRU#[^C9:E0G1G\([A)ZQU_`(-=C[VBDR=IO><O> +M5:%W],PUJA"CG,%M]:X.O:-GI5&U&,UJ=LMBF]`[>K8:U8G1'X*[AMYQK$"N +MQ][12/7&9N_:T#MZYAI5B%'.X+9ZUX7>T;/2J%J,9C6[9;%]Z!T]6XWJQ.B/ +MP)5)Z%TFO>/UV#L:J=[8ZEW)>4?/7*,*,<H9W$;O2LX[>E8:58O1K&:W+);S +MCIZM1G5B](?@..]RZ1VOQ][12/7&9N\X[^B9:U0A1CF#V^H=YQT]*XVJQ6A6 +MLUL6RWE'SU:C.C'Z0W"<=X7TCM=C[VBD>F.S=YQW],PUJA"CG,%M]8[SCIZ5 +M1M5B-*O9+8OEO*-GJU&=&/TA.,X[_NH$N1Y[1R/5&YN]X[RC9ZY1A1CE#&ZK +M=YQW]*PTJA:C6<UN62SG'3U;C>K$Z(_`79+0NXOTCM=C[VBD>F.K=Q?..WKF +M&E6(4<[@-GIWX;RC9Z51M1C-:G;+8CGOZ-EJ5"=&?PB.\ZZ2WO%Z[!V-5&]L +M]H[SCIZY1A5BE#.XK=YQWM&STJA:C&8UNV6QG'?T;#6J$Z,_!,=YQ_]X0:[' +MWM%(]<9F[SCOZ)EK5"%&.8/;ZAWG'3TKC:K%:%:S6Q;+>4?/5J,Z,?I#<)QW +M9"TAUV/O:*1Z8[-WG'?TS#6J$*.<P6WUCO..GI5&U6(TJ]DMB^6\HV>K49T8 +M_1&X*@F]NTKO>#WVCD:J-[9Z5W'>T3/7J$*,<@:WT;N*\XZ>E4;58C2KV2V+ +MY;RC9ZM1G1C](3C.NU9ZQVNRVK%W[1W<LG><=_3,-:H0HYS!;?6.\XZ>E4;5 +M8C2KV2V+Y;RC9ZM1G1C](3C.NTYZQ^NQ=S12O;'9.\X[>N8:58A1SN"V>L=Y +M1\]*HVHQFM7LEL5RWM&SU:A.C/X0'.==+[WC]=@[&JG>V.P=YQT]<XTJQ"AG +M<%N]X[RC9Z51M1C-:G;+8CGOZ-EJ5"=&?P2N3J;>Q9T;Y-KW+AJIWMCJ71WF +M7?3,-:H0HYS!;?2N#O,N>E8:58O1K&:W+#;,N^C9:E0G1G\(+LP["'\'Y>\@ +M_!UV^;LZS#L(?P?E[R#\'7;YNSK,.PA_!^7O(/S=2G;+8L.\@_!W4/X.PM\= +M@`OS#L+?0?D["'^'7?ZN#O,.PM]!^3L(?X==_JX.\P["WT'Y.PA_MY+=LM@P +M[R#\'92_@_!W!^#"O(/P=U#^#L+?89>_J\.\@_!W4/X.PM]AE[^KP[R#\'=0 +M_@["WZUDMRPVS#L(?P?E[R#\W3Y<DX3>"7\'Y>\@_!UV^;N&\T[X.RA_!^'O +ML,O?-9QWPM]!^3L(?[>2W;)8SCOA[Z#\'82_.P#'>2?\'92_@_!WV.7O&LX[ +MX>^@_!V$O\,N?]=PW@E_!^7O(/S=2G;+8CGOA+^#\G<0_NX`'.>=\'=0_@[" +MWV&7OVLX[X2_@_)W$/X.N_Q=PWDG_!V4OX/P=RO9+8OEO!/^#LK?0?B[`W"< +M=\+?0?D["'^'7?ZNX;P3_@[*WT'X.^SR=PWGG?!W4/X.PM^M9+<LEO-.^#LH +M?P?A[_;AKDGHG?!W4/X.PM]AE[^[<MX)?P?E[R#\'7;YNROGG?!W4/X.PM^M +M9+<LEO-.^#LH?P?A[P[`<=X)?P?E[R#\'7;YNROGG?!W4/X.PM]AE[^[<MX) +M?P?E[R#\W4IVRV(Y[X2_@_)W$/[N`!SGG?!W4/X.PM]AE[^[<MX)?P?E[R#\ +M'7;YNROGG?!W4/X.PM^M9+<LEO-.^#LH?P?A[P[`<=X)?P?E[R#\'7;YNROG +MG?!W4/X.PM]AE[^[<MX)?P?E[R#\W4IVRV(Y[X2_@_)W$/YN'ZY-0N^$OX/R +M=Q#^#KO\7<MY)_P=E+^#\'?8Y>]:SCOA[Z#\'82_6\EN62SGG?!W4/X.PM\= +M@..\$_X.RM]!^#OL\G<MYYWP=U#^#L+?89>_:SGOA+^#\G<0_FXENV6QG'?" +MWT'Y.PA_=P".\T[X.RA_!^'OL,O?M9QWPM]!^3L(?X==_J[EO!/^#LK?0?B[ +ME>R6Q7+>"7\'Y>\@_-T!.,X[X>^@_!V$O\,N?]=RW@E_!^7O(/P==OF[EO-. +M^#LH?P?A[U:R6Q;+>2?\'92_@_!W^W!=,O4N2O`@UZ.,D4:J-VYCTX9O-WPG +M[@4NS+M51=_*/\7>N?7L[K3XQ^#NBYWDAACEAG$3,97[^P`G.&,Y)"ZAZ_N` +M1^20B.MR/EXEAT1<E_/Q*CDDXKJ<CU?)(1'7Y29R2,1UN8D<$G%=;B*'1%R7 +MF\@A$=?E)G)(Q'6YB1P2<5UN(H=$7)>;R"$1U^4F<DC$=;F)'!)Q76XBAT1< +MEYO((1'7Y29R2,1UN8D<$G%=;B*'1%R7F\@A$=?E)G)(Q'6YB1P2<5UN(H=$ +M7)>;R"$1U^4F<DC$=;F)'!)Q76XBAT1<EYO((1'7Y29R2,1UN8D<$G%=;B*' +M1%R7F\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P2 +M7)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)< +ME]O((<%UN8T<$ER7V\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7 +MV\@AP76YC1P27)?;R"'!=;F-'!)<E]O((<%UN8T<$ER7V\@AP76YC1P27)?; +MR"$1U^7)2^]^OQP2<5U.SU?)(1'7Y?1\E1P2<5U.SU?)(1'7Y29R2,1UN8D< +M$G%=;B*'1%R7F\@A$=?E)G)(Q'6YB1P2<5UN(H=$7)>;R"$1U^4F<DC$=;F) +M'!)Q76XBAT1<EYO((1'7Y29R2,1UN8D<$G%=;B*'1%R7F\@A$=?E)G)(Q'6Y +MB1P2<5UN(H=$7)>;R"$1U^4F<DC$=;F)'!)Q76XBAT1<EYO((1'7Y29R2,1U +MN8D<$G%=;B*'1%R7F\@AP76YC1P27)?;R"'1F<HAT9G*(=&9RB'1F<HAT9G* +M(=&9RB'1F<HAT9G*(=&9RB'1F<HAT9G*(=&9RB'1F<HAT9G*(=$GB:$<$KVI +M'!*]J1P2O:D<$KVI'!*]J1P2O:D<$KVI'!*]J1P2O:D<$KVI'!*]J1P2O:D< +M$KVI'!*]J1P2O:D<\IPDB:$<\IR8RB'/]Q]-?`SNOMA);IB-Y4Z?77K_]_:- +MVS>G^9\(B/ZW`>:YJ^\!_QD*SL9/$ZXR=\W6ZDJGX\1VP5_/^I>=C>6:66;< +MOR+Y;"*_/<.R,\[P,F:8E_Z#=O/"7<Y',_SIVQ\7&4YP9D<RP>V^0R(/VF_! +M?2UP_C>"7CQGGP5^A4LYC?5:X+Z:O@F7?2X[75$=*];XP[LOR641I^?L?_)X +M0I#_SSO/`>/YNI?\JOLTSK-R/Y.?NR_7_]35CZ_5\Y@-ZHURW1S._]35\YP= +MX4[WOKK/[FI\&%B^,PZ^<SW(_)T[P9UM!T$U3I9)]W'_]_:-VW>G^9\),`N` +29AW,_$>3)%_\'XGNMJQQ8``` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-vtoc8.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.qcow.gz.uu new file mode 100644 index 0000000..791a1e0 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.qcow.gz.uu @@ -0,0 +1,127 @@ +# $FreeBSD$ +begin 644 img-63x255-512-vtoc8.qcow.gz +M'XL("+\S(E0``VEM9RTV,W@R-34M-3$R+79T;V,X+G%C;W<N;W5T`*V=R6X< +M5Q)%]_Z*TBQ1DE41\7+22'0W#/2B`3?Z!YQ#U3K1JU[XXYN2WB!&WJOP)!,& +M!3HOBD^'1[)]\'@^?_UQ.G5R2OTI3:?K<KK[>7Z3TS<_N?]V^O7?/_WSQV]_ +M_/K#US$Y?^>I>S^7TS">ICQW;^M_;4X_/[6>SE,X]^5-T-PWK\Y^\ZN[]\D> +MYVY^^/K)XN?TMPV>W.N3WW%Z7]X,OKYSG5/X5&)SW;VYVSSW<YW[BT]/R>GU +MOVWP%W=Z^GM/+WI]=EGA<P,;'.\-[N[UV66#3TUL;OXNS':YP*<6-K<&<U?X +MU,;F+M^?N^*GKGA.OO.+\74._=I*^7H_?D#AW*G.H:\,*5]/QP^D>W/G/'=; +MY]!7AI2OI^,'^GMS/_]8@"YS"3Y%N).(NVL'GR+<2<3=M8=/$>XDXNXZP*<( +M=Q)R-\*G"'<:<C?!IPAW&G(WPZ<(=QIRM\"G"'<:<H=\IXP[#;E#OE/&G8;< +M(=\IXTY#[I#OE'&G`7<)_EZFC#L+N$OP]S)CW%G`78)_$C#&G07<)?@G`6/< +M6<!=.B/?&>/.`N[2&?G.&'<6<)?.R'?&N+.`NW1&OC/&G87<(=\9XRZ%W"'? +M)<9="KE#ODN,NQ1RAWR7&'<IY`[Y+C'N4L@=\EUBW*60.^2[Q+A+(7?(=XEQ +MER+N!#]%N.LB[@3YKF/<=1%W@GS7,>ZZB#M!ONL8=UW$G2#?=8R[+N).D.\Z +MQET7<2?(=QWCKHNX$^2[CG'7A=PAWW6,NS[D#OFN9]SU(7?(=SWCK@^Y0[[K +M&7=]R!WR7<^XZT/ND.]ZQET?<H=\US/N^I`[Y+N><=='W"E^BG`W1-PI\MW` +MN!LB[A3Y;F#<#1%WBGPW,.Z&B#M%OAL8=T/$G2+?#8R[(>).D>\&QMT0<:?( +M=P/C;@BY0[X;&'=CR!WRW<BX&T/ND.]&QMT8<H=\-S+NQI`[Y+N1<3>&W"'? +MC8R[,>0.^6YDW(TA=\AW(^-NC+@S_!3AKOSG>3Z'?#<Q[J:(.T.^FQAW4\2= +M(=]-C+LIXLZ0[R;&W11Q9\AW$^-NBK@SY+N)<3=%W!GRW<2XFT+ND.\FQMT< +M<H=\-S/NYI`[Y+N9<3>'W"'?S8R[.>0.^6YFW,TA=\AW,^-N#KE#OIL9=W/( +M'?+=S+B;(^X2?HIP5_XW*9]#OEL8=TO$74*^6QAW2\1=0KY;&'=+Q%U"OEL8 +M=TO$74*^6QAW2\1=0KY;&'=+Q%U"OEL8=TO('?+=PKA;0^Z0[U;&W1IRAWRW +M,N[6D#ODNY5QMX;<(=^MC+LUY`[Y;F7<K2%WR'<KXVX-N4.^6QEW:\1=AY\B +MW&T1=QWRW<:XVR+N.N2[C7&W1=QUR'<;XVZ+N.N0[S;&W19QUR'?;8R[+>*N +M0[[;&'=;Q%V'?+<Q[K:0.^2[C7%W";E#OKLP[BXA=\AW%\;=)>0.^>["N+N$ +MW"'?71AWEY`[Y+L+X^X2<H=\=V'<74+ND.\NC+M+Q%V/GR+<72/N>N2[*^/N +M&G'7(]]=&7?7B+L>^>[*N+M&W/7(=U?&W37BKD>^NS+NKA%W/?+=E7%WC;CK +MD>^NC+MKR!WRW95P)^4=/@=\)V?"G9Q#[H#OY$RXDW/('?"=G`EW<@ZY`[X3 +MUM])U-^E'OA.6'\G47^7>N`[8?V=1/U=ZH'OA/5W$O5W=_^6`I\BW$7]71J` +M[X3U=Q+U=VD`OA/6WTG4WZ4!^$Y8?R=1?Y<&X#MA_9U$_5T:@.^$]7<2]7=I +M`+X3UM])U-^E`?A.6'\G47^7!N`[8?V=1/U=&I#O6'\G47^7!N0[UM])U-^E +M`?F.]7<2]7=I0+YC_9U$_5T:D.]8?R=1?Y<&Y#O6WTG4WZ4!^8[U=Q+V=R-^ +MBG`7]G<C\AWK[R3L[T;D.];?2=C?C<AWK+^3L+\;D>]8?R=A?S<BW['^3L+^ +M;D2^8_V=A/W=B'S'^CL)^[L1^8[U=Q+V=R/R'>OO).SO1N0[UM])V-^-R'>L +MOY.POQN1[UA_)V%_-R+?L?Y.POYN1+YC_9V$_=V(?,?Z.PG[NPD_1;@+^[L) +M^8[U=Q+V=Q/R'>OO).SO)N0[UM])V-]-R'>LOY.POYN0[UA_)V%_-R'?L?Y. +MPOYN0KYC_9V$_=V$?,?Z.PG[NPGYCO5W$O9W$_(=Z^\D[.\FY#O6WTG8WTW( +M=ZR_D["_FY#O6'\G87\W(=^Q_D["_FY"OF/]G83]W8R?(MR%_=V,?,?Z.PG[ +MNQGYCO5W$O9W,_(=Z^\D[.]FY#O6WTG8W\W(=ZR_D["_FY'O6'\G87\W(]^Q +M_D["_FY&OF/]G83]W8Q\Q_H["?N[&?F.]7<2]G<S\AWK[R3L[V;D.];?2=C? +MS<AWK+^3L+^;D>]8?R=A?S<CW['^3L+^;L%/$>["_FY!OF/]G83]W8)\Q_H[ +M"?N[!?F.]7<2]G<+\AWK[R3L[Q;D.];?2=C?+<AWK+^3L+];D.]8?R=A?[<@ +MW['^3L+^;D&^8_V=A/W=@GS'^CL)^[L%^8[U=Q+V=POR'>OO).SO%N0[UM]) +MV-\MR'>LOY.POUN0[UA_)V%_M^*G"'=A?[<BW['^3L+^;D6^8_V=A/W=BGS' +M^CL)^[L5^8[U=Q+V=ROR'>OO).SO5N0[UM])V-^MR'>LOY.POUN1[UA_)V%_ +MMR+?L?Y.POYN1;YC_9V$_=V*?,?Z.PG[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6 +MWTG8WZW(=ZR_D["_V_!3A+NPO]N0[UA_)V%_MR'?L?Y.POYN0[YC_9V$_=V& +M?,?Z.PG[NPWYCO5W$O9W&_(=Z^\D[.\VY#O6WTG8WVW(=ZR_D["_VY#O6'\G +M87^W(=^Q_D["_FY#OF/]G83]W89\Q_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D +M.];?2=C?7?!3A+NPO[L@W['^3L+^[H)\Q_H["?N["_(=Z^\D[.\NR'>LOY.P +MO[L@W['^3L+^[H)\Q_H["?N["_(=Z^\D[.\NR'>LO]/RCIL[M3G@N[NG,'?J +M^KMRW]^I<0=\IZR_4]??G3)WI\8=\)VR_DY=?W?*W)T:=\!WROH[=?W=:3^< +M'?"=LOY.77]7SZ[-`=\IZ^_4]7=@#OA.67^GKK\[SJ'[[Y3U=^KZNS+WH,T! +MWRGK[]3U=P_*7.4.W7^GK+]3U]\]R-P]J-RA^^^4]7?J^KL'F;L'E3MT_YVR +M_DY=?_=@/YP=\)VR_DY=?U?/KLT!WRGK[]3U=V`.^$Y9?Z>NOP-SP'?*^CMU +M_5V9>]CFD.]8?Z>NOWM8YAIWR'>LOU/7WSW,W#ULW"'?L?Y.77_W,'/WL'&' +M?,?Z.W7]W</]<';(=ZR_4]??U;-K<\AWK+]3U]^!.>0[UM^IZ^\.<]T9/T6X +M<_U=F7O4YI#O6'^GKK][5.9.=0[YCO5WZOJ[1YF[1[=U#OF.]7?J^KM'F;M' +MO]0YY#O6WZGK[Q[MA[-#OF/]G;K^KIY=FT.^8_V=NOX.S"'?L?Y.77\'YI#O +M6'^GKK\K<X_;'/(=Z^_4]7>/RUSC#OF.]7?J^KO'F;O'C3OD.];?J>OO'F?N +M'C?ND.]8?Z>NOWN\'\X.^8[U=^KZNWIV;0[YCO5WZOH[,(=\Q_H[=?W=<0[= +M?Z>LOU/7WY6Y)VT.^8[U=^KZNR=EKG*'[K]3UM^IZ^^>9.Z>5.[0_7?*^CMU +M_=V3S-V3RAVZ_TY9?Z>NOWNR'\X.^8[U=^KZNWIV;0[YCO5WZOH[,(=\Q_H[ +M=?T=F$.^8_V=NOZNS#UM<\AWK+]3U]\]+7.-.^0[UM^IZ^^>9NZ>-NZ0[UA_ +MIZZ_>YJY>]JX0[YC_9VZ_N[I?C@[Y#O6WZGK[^K9M3GD.];?J>OOP!SR'>OO +MU/5WQSET_YVR_DY=?U?FGK4YY#O6WZGK[YZ5N<H=NO].67^GKK][EKE[5KE# +M]]\IZ^_4]7?/,G?/*G?H_CME_9VZ_N[9?C@[Y#O6WZGK[^K9M3GD.];?J>OO +MP!SR'>OOU/5W8`[YCO5WZOJ[,O>\S2'?L?Y.77_WO,PU[I#O6'^GKK][GKE[ +MWKA#OF/]G;K^[GGF[GGC#OF.]7?J^KOG^^'LD.]8?Z>NOZMGU^:0[UA_IZZ_ +M`W/(=ZR_4]??'>?0_7?*^CMU_5V9>]'FD.]8?Z>NOWM1YBIWZ/X[9?V=NO[N +M1>;N1>4.W7^GK+]3U]^]R-R]J-RA^^^4]7?J^KL7^^'LD.]8?Z>NOZMGU^:0 +M[UA_IZZ_`W/(=ZR_4]??@3GD.];?J>OORMQ-FT.^8_V=NO[NILPU[I#O6'^G +MKK^[R=S=-.Z0[UA_IZZ_N\G<W33ND.]8?Z>NO[O9#V>'?,?Z.W7]73V[-H=\ +MQ_H[=?T=F$.^8_V=NO[N.(?NOU/6WZGK[\K<RS:'?,?Z.W7]W<LR5[E#]]\I +MZ^_4]7<O,W<O*W?H_CME_9VZ_NYEYNYEY0[=?Z>LOU/7W[W<#V>'?,?Z.W7] +M73V[-H=\Q_H[=?T=F$.^8_V=NOX.S"'?L?Y.77]7YEZU.>0[UM^IZ^]>E;G& +M'?(=Z^_4]7>O,G>O&G?(=ZR_4]??O<K<O6K<(=^Q_DY=?_=J/YP=\AWK[]3U +M=_7LVASR'>OOU/5W8`[YCO5WZOJ[XQRZ_TY9?Z>NORMSK]L<\AWK[]3U=Z_+ +M7.4.W7^GK+]3U]^]SMR]KMRA^^^4]7?J^KO7F;O7E3MT_YVR_DY=?_=Z/YP= +M\AWK[]3U=_7LVASR'>OOU/5W8`[YCO5WZOH[,(=\Q_H[=?U=F?NQS2'?L?Y. +MH_ZN0_??*>OO-.KO.G3_G;+^3J/^KD/WWRGK[S3J[SIT_YVR_DZC_JY#]]\I +MZ^\TZN\Z=/^=LOY.H_ZN0_??*>OOE/1W;]H<\AWK[]3U=V_*7.4.W7^GK+]3 +MU]^]R=R]J=RA^^^4]7?J^KLWF;LWE3MT_YVR_DY=?_=F/YP=\AWK[]3U=_7L +MVASR'>OOU/5W8`[YCO5WZOH[,(=\Q_H[*^^XN7.;`[XSUM_=?>`>=\5/Y\8= +M\)VQ_LY<?W?.>^?&'?"=L?[.7']WSMR=&W?`=\;Z.W/]W7D_G!WPG;'^SEQ_ +M5\^NS0'?&>OOS/5W8`[XSEA_9ZZ_.\ZA^^^,]7?F^KLR)VT.^,Y8?V>NOY,R +M5[E#]]\9Z^_,]7>27YY4[M#]=\;Z.W/]G63NI'*'[K\SUM^9Z^]D/YP=\)VQ +M_LY<?U?/KLT!WQGK[\SU=V`.^,Y8?V>NOP-SP'?&^CMS_5V9TS:'?,?Z.W/] +MG9:YQAWR'>OOS/5WFKG3QAWR'>OOS/5WFKG3QAWR'>OOS/5WNA_.#OF.]7?F +M^KMZ=FT.^8[U=^;Z.S"'?,?Z.W/]W7$.W7]GK+\SU]^5.6MSR'>LOS/7WUF9 +MJ]RA^^^,]7?F^CO+W%GE#MU_9ZR_,]??6>;.*G?H_CMC_9VY_L[VP]DAW['^ +MSEQ_5\^NS2'?L?[.7'\'YI#O6']GKK\#<\AWK+\SU]^5N=3FD.]8?V>NOTME +MKG&'?,?Z.W/]7<K<I<8=\AWK[\SU=RESEQIWR'>LOS/7WZ7]<';(=ZR_,]?? +MU;-K<\AWK+\SU]^!.>0[UM^9Z^^.<^C^.V/]G;G^KLQU;0[YCO5WYOJ[KLQ5 +M[M#]=\;Z.W/]79>YZRIWZ/X[8_V=N?ZNR]QUE3MT_YVQ_LY<?]?MA[-#OF/] +MG;G^KIY=FT.^8_V=N?X.S"'?L?[.7'\'YI#O6']GKK\K<WV;0[YC_9VY_JXO +M<XT[Y#O6WYGK[_K,7=^X0[YC_9VY_J[/W/6-.^0[UM^9Z^_Z_7!VR'>LOS/7 +MW]6S:W/(=ZR_,]??@3GD.];?F>OOCG/H_CMC_9VY_J[,#6T.^8[U=^;ZNZ', +M5>[0_7?&^CMS_=V0N1LJ=^C^.V/]G;G^;LC<#94[=/^=L?[.7'\W[(>S0[YC +M_9VY_JZ>79M#OF/]G;G^#LPAW['^SEQ_!^:0[UA_9ZZ_*W-CFT.^8_V=N?YN +M+'.-.^0[UM^9Z^_&S-W8N$.^8_V=N?YNS-R-C3OD.];?F>OOQOUP=LAWK+\S +MU]_5LVMSR'>LOS/7WX$YY#O6WYGK[XYSZ/X[8_V=N?ZNS$UM#OF.]7?F^KNI +MS%7NT/UWQOH[<_W=E+F;*G?H_CMC_9VY_F[*W$V5.W3_G;'^SEQ_-^V'LT.^ +M8_V=N?ZNGEV;0[YC_9VY_@[,(=^Q_LY<?P?FD.]8?V>NORMS;]L<\AWK[\SU +M=V_+7.,.^8[U=^;ZN[>9N[>-.^0[UM^9Z^_>9N[>-NZ0[UA_9ZZ_>[L?S@[Y +MCO5WYOJ[>G9M#OF.]7?F^CLPAWS'^CMS_=UQ#MU_9ZR_,]??E;EW;0[YCO5W +MYOJ[=V6N<H?NOS/6WYGK[]YE[MY5[M#]=\;Z.W/]W;O,W;O*';K_SEA_9ZZ_ +M>[<?S@[YCO5WYOJ[>G9M#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_J[,O6]S +MR'>LOS/7W[TO<XT[Y#O6WYGK[]YG[MXW[I#O6']GKK][G[E[W[A#OF/]G;G^ +M[OU^.#OD.];?F>OOZMFU.>0[UM^9Z^_`'/(=Z^_,]7?'.73_G;'^SEQ_5^8^ +MM#GD.];?F>OO/I2YRAVZ_\Y8?V>NO_N0N?M0N4/WWQGK[\SU=Q\R=Q\J=^C^ +M.V/]G;G^[L-^.#OD.];?F>OOZMFU.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F +M^KLR]['-(=^Q_LY<?_>QS#7ND.]8?V>NO_N8N?O8N$.^8_V=N?[N8^;N8^,. +M^8[U=^;ZNX_[X>R0[UA_9ZZ_JV?7YI#O6']GKK\#<\AWK+\SU]\=Y]#]=\;Z +M.W/]79G[U.:0[UA_9ZZ_^U3F*G?H_CMC_9VY_NY3YNY3Y0[=?V>LOS/7WWW* +MW'VJW*'[[XSU=^;ZNT_[X>R0[UA_9ZZ_JV?7YI#O6']GKK\#<\AWK+\SU]^! +M.>0[UM^E\HZ;NVUSP'>)]7?)]7>W9:YQ!WQW]Q3F+KG^[C9S=]NX`[Y+K+]+ +MKK^[S=S=-NZ`[Q+K[^I;F3OTQNC^N_94,/?-CU]_N/DRV)\_?SCUIT%/???Y +M+>FILU-*G\N/+QG%!@=_^N_E\K?__$/M7]^^OA[=N?3G7M]]]N3[@^/I/)W. +M"@>_SGW#WA3.?>_U?9U#W^O]3\RA[_4.YSY3=_<'F+O?,BYN[I=OYM#W>O\S +MOQC'JSG*'U/.]@<^W7HUA[5_^/KEMZT[NY`Y:7.?_%S[=-4]I:?V/'AU)_CJ +MVI?:<O=OA7;_J>]^LG]'<^A;V_]Q5-#5''ANFT_+'2=RNJY\#EW-\6=0&;X, +E?I;F#/[./_#KSS_>_^OK8,J#?]DK3'=>.9]_^#\)B7^=OZ8````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-vtoc8.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.qcow2.gz.uu new file mode 100644 index 0000000..0a79ac2 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.qcow2.gz.uu @@ -0,0 +1,21 @@ +# $FreeBSD$ +begin 644 img-63x255-512-vtoc8.qcow2.gz +M'XL("+8[(U0``VEM9RTV,W@R-34M-3$R+79T;V,X+G%C;W<R+F]U=`"MF-MN +MTT`0AN_S%,NI0(&2G=EU;$Z%'B)Q@03B!8AC^P&X0\K#L[$W&7L\XTTBIU:D +MU/T_S:Z__K6[7'8O8[PU+C.N,$UIPN=X@.E]&!YF]VO]_:;_VBTZF%TJJ=$) +M:U;%$3=@_2,<:+@0%[XEXGK3H8"#0VH,2N&<.MW4"0%WO6BWKKT8.4O@)<`. +MIUZ,B^:#;CZ><!?.!W//A_+^^0OGP_GGPWHJQP?/4O-A(Z16&BY/X9R4*C3< +M)HFS0JK4<-LD#H14I>'J)`Z%5*/@;%(5YX24U7"0Q'DAA1K.)7&9D/(:+NF= +M6PDIS3N;]BX74IIW-NU=(:0T[VS:NXV0TKRS:>]*(:5Y!XIWAG!;(:5Y!\R[ +M)Q'WE'"5D-*\`^;=LXA[3KA:2&G>`?/N1<1=$4[H.]"\`^;=RXA[=<1Y*:5Y +M!\R[UQ%W33BA[T#S#IAW;R+N+>&$O@/-.V#>O1MYYX6^`\T[9-Z]CZPEX82^ +M0\T[9-[9B`/""7V'FG?(O,.(<X03^@XU[Y!YYR,N(YS0=ZAYA\R[5<3EA!/Z +M#C7OD'E71-P'P@E]AYIWR+S[&'&?""?T'6K>(?/N<\1](9S0=ZAYYYAWMQ'W +ME7!"WSG-.\>\^Q9Q=X03^LYIWCGFW7W$/1!.Z#NG>>>8=X\1MR9<,^O]IZ/[ +M=RN\ZR<F@/GY0/6/8\`5LR[8=PL.&[T"D_G]$93PN+^2H9/V#>,J$;C^6]=W +MOQ\`?_3F\W,_$'C:O^5@@Q1@WMZ.@[9_?K!_11(W-5^'V\RUW`Y7GHH+]1UN +M[:O:U#7#_>GAMC-?##M:;GVX\\<+EFL/RT7ZX:9MOM!_"J[WRW;+<;1<8"GZ +M1XV5IC/B=-415VZI\T[9O7L)-_ED>_[>G=Q\U<:4P1-KFJV.@\DASE8ERUM@ +BN&<)3\'C=_W$[N?-\*L#N@B<;<+P@!9>B_]NV1VQX1,````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-vtoc8.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.raw.gz.uu new file mode 100644 index 0000000..c949873 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.raw.gz.uu @@ -0,0 +1,11 @@ +# $FreeBSD$ +begin 644 img-63x255-512-vtoc8.raw.gz +M'XL("/W%'50``VEM9RTV,W@R-34M-3$R+79T;V,X+G)A=RYO=70`K9)!;L,@ +M$$7W/L5?=V$Q@&V\JI16V56JU`O4-G"`K#E\2'!"C+'C1![0"&GF/\T7PU@( +M0-9H..KJ<B5')2`E!`>$?VGXEN3"'4_&'/Z^N?@IK^&*`"-?G/>/JL6"*Y-P +MQ<<(5!,=K0,56`O&L\"`:Z.J?8I;FR_@NKWL!ER_%5?[K*$-C$EP_P^X8>?/ +MH)E=`PH/\89=NMD5L=G:2Q9V"4<1]YGBHEV>J#BB/C,=LM/I.ZX?(,54M6KV +M*X<SNZX*V:TXW:'W>T*PPS*.KP[QZJHT6EV!E>_J,GFYX'[+Z0G`?@3N-2$U +-2M6,%6>->Z%+`P4````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhd.gz.uu new file mode 100644 index 0000000..523a1ae --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhd.gz.uu @@ -0,0 +1,18 @@ +# $FreeBSD$ +begin 644 img-63x255-512-vtoc8.vhd.gz +M'XL("/W%'50``VEM9RTV,W@R-34M-3$R+79T;V,X+G9H9"YO=70`K9;-;MLP +M#,?O>0H"N_5@R)0LVZ<"Z];;@`%[@<FV7!3#UJ'=H8<\_$A;CB5_K5F9"(X, +MB3_]*5$,E1H_`%:#[<%ZL`7W2P.VAK("H,'0<'CFX17.[=,OW_YY?,W"YWP: +M8;F*K5)SMD<-AA8I`1TO8CONPWG"9!\^/]P\_GR8<!APT\+&@D$H"&(6Z^10 +MJ8LZ)MU__/9IJ4XOU<56_*.A[T'WT0P=J\NRVQAGR(KF<[/0CS*GEKPD`S$N +M45>HA56D=&M3(V>W</;(ZAK<S2F<Q1@J%!@E/178'$KD/H7-M`^K1J'R^O+; +M/;_XA3[<"15[T9>OQMI]=S&$"DZ3@P**Y>;071@H/Y:X5:B\<_=L:F?238I? +MQAFT.ZK8=]?.NX?3IE$CU:H\.HQL\%>M<*@.K(YP.^XZ=I=N*P4()Y5BOK8: +M`33UNLW]NW_VGBXNZB^)/K<3+/]]'*Y*[/YQV2I0-2>QW>-P]6Q5O__N.B?E +M[HAKWHJCG*$ZZ#QXO\!]CW"M\&$T*W?]$/]J2+]7N]M,[NIY\GBO*+/OX**\ +M?+O$M<E5BQO";+^A#C;5=1=<TX+1J=6ALW=;."\:*DW_5ESGH*$XR:$_R,KM +MH8AK0P5#7A%+5"BM4'>5YV'Z*U=NX[D_</Z:I=\1:()",9<)**O0!J"80DM% +MI*C"LJM1])2KH%"H;F:<8-W,.,&ZF7&"=3/C!.MFQ@G6S8P3K9L)2+%W^@L6 +'\>:S;`T````` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhdf.gz.uu new file mode 100644 index 0000000..d8c4d3d --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhdf.gz.uu @@ -0,0 +1,14 @@ +# $FreeBSD$ +begin 644 img-63x255-512-vtoc8.vhdf.gz +M'XL("/[%'50``VEM9RTV,W@R-34M-3$R+79T;V,X+G9H9&8N;W5T`*V4O6[# +M(!2%]SS%D;IEB,R/L3U%ZD^V2I7Z`K4-1!G:2E6'#G[X8K!C(-A-(V.$B.!\ +MG$LN-\M<`[A`02'ROG.*G(%S,`HP,Y,P6Z*.[O"EU/WK(V7/.]NZC8,1LWBY +M?U#-+G2[J'6;[0`L`QU9!I;(*F0T"72X:E)5?^*6_#E<O5:X#M=<BQ-FE)`* +M2D6X-P_7KOQGD(MP%8B;L!O")6.X;-JL=3\R/8<C$VX?XZ9P::2BF/0)=TBZ +MDV=<TX*S4+48[$,*IU9-%:*OQ<D:C<D3`MW.X^BBB?^F2B%+"\S-KCHQSB]T +M+[OP<\!F`*[ED)1#Y1,,0D,H6_P8"@Y1H2A](`WR!EW[^:':[]./=X,6UU<^ +MD[W)WNNIJ:7FD`*T[@\1LI][_NZ>CMO3^W'$T2&J\6!3H\^E.7X291CNP13F +MV!V++\E7N3=H?#(=/AK_]O8^CI^#-05(-];FV(,?P4(J^RPNSR+5S6_#XL3* +.J6)R;_,+FZ-::BX'```` +` +end diff --git a/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vmdk.gz.uu new file mode 100644 index 0000000..d9340d1 --- /dev/null +++ b/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vmdk.gz.uu @@ -0,0 +1,83 @@ +# $FreeBSD$ +begin 644 img-63x255-512-vtoc8.vmdk.gz +M'XL("/[%'50``VEM9RTV,W@R-34M-3$R+79T;V,X+G9M9&LN;W5T`*U<76_= +MQA%]SZ\@[#X412%PR+DD[X-1-U$"%$6`(`[:U_!CV0A-;$,6BAK0C^\NN6=U +MJ'OI9:-QJ$#C.W.T,^0]DL\<J"S7/T6A0Z%:Z%2<FJ*4PO_5>A5E_13X:TPO +M//[]]OM_W-"?QZ]6,`E55"(EPU&P^3J/-\_^`*[Z4M7F!7]56;C:ORC#16&$ +MJW9>V(73,+MK)3A=7_@&RBE\0G!O$U"Q@3M=Z6FWV2^=[D]?Q>'YEZLZG,'? +MWN9<M'71##$LFM,2UT5;+:^51>N39@_XNKB]^_3OXM9]&N_O/CY\B.>KPKWU +MR=J$_&8,"+ZQM@F?A!<"W#E`-*ZHIZ*6\'+Q>/_=W:_NYC_N_M/=A_=O!.U6 +MX=YJ7>@Y'"?DET_7)@A?I"P:"5^C>/SF;[=OXI-;WGSL[P$7JOQ!_-?V?3!N +MTQ3AX_):3N?>/P3$.?Y)IPOW-@[GM'QM#9^<M&C/Q7*<4\"N_,M3;'F9W7CO +M^@?WT^>/[LVKWSZ\3[,+]S:,[+P`=<N@ZN)4!ZC86AC?*2"&QV:Y:\7CKW</ +MO]R-[WR;G]RKF]<%X)HP.W\#NWBNM6M?TNS>67_LQV__^^#[+:9X9^\`MQQB +M:<)_[5-5G-J`5?OQ^2I_'VO?;!7^RA_8=Z(2DHK'#^]O?ORG'[3XZ-T/?_T1 +M<)V'\YG^@+[$-[3IZ;3V?WK^6!:/[[XM7H4F?_K%+4\@X,[A,5Z3U_L@2UB% +M3^+45OA`8AI>6.YL<=L_],77_2=W\_KV]NMT9_O0K"Z7/YH+*,T*'9[O99Q^ +M<.N=7F_T<BNF:;CII_[C@[L/MS?=BB$\K5/L--Q6?;J-VZ_3+G=J#D],\?BF +M>'4W^7L:8/_E/OP&N'%]C/TYPB-Q7@KK\(E_>A9X%[_"^L2$VQ3@W,/]YYOQ +M\Z]W[R?_1BO>`&Y:9^>/4]?Q4.E,SP^5OJR?W:OZZ6@>&W`NC&@]5!??&!YK +M/<?3%/RS$IZ8-(7'SS>_N'[RQRI>5:?3JW0KYN>W@D?T;`KKC?:S6&]%/-CG +MFT]NC'!U&6_@O!G.>J:B;IY&L"70AP_WR]$:WS/Q<?W\>]E+^5@OOJ6V#,C? +ME^8#WWXTG$\(3MK?>;X5[N)[[0O;;<K<M\?K@&^OGZ\QOAUR"N_<$^4V7-=2 +MT&T`?_`@/_N/CYOSR2F\<\^4V7/50,&8.=\*%]ZY$V4ZKIJ?-2I9N/#.%<JL +MN*JF0"_@PD\II?]X2W!SG!TR&ZYJ*>@V<#NS6QZ5,V7V7#50,!YI=GE4)LIT +M7#67FQ\CLS\V2E/%V2&SXJJ:`KV`NS*[IHZS0V;#52T%W09N;W8:9X?,GJL& +M"L9#S9[B[)#IN&HNMS\FUUFX)LX.F157U13H!=RUV;5Q=LALN*JEH-O`[<VN +MB[-#9L]5`P7CH6;/<7;(=%PUEUORURQ<'V>'S(JK:@KT`N[:[,!WR&RXJJ6@ +MV\#MS0Y\A\R>JP8*QD/-@N^0Z;AJIB!<IRP<^`Z9%5?5%.@%W+79@>^0V7!5 +M2T&W@=N975O&V2&SYZJ!@O%(LRWX#IF.JV8*PM5DX<!WR*RXJJ9`+^"NS*X% +MWR&SX:J6@FX#MS<[\!TR>ZX:*!@/-0N^0Z;CJIF"<+59./`=,BNNJBG0"[AK +MLP/?(;/AJI:";@.W-SOP'3)[KAHH&`\U"[Y#IN.JN=S\@%MV63CP'3(KKJHI +MT`NX:[,#WR&SX:J6@FX#MS<[\!TR>ZX:*!@/-0N^0Z;CJIF"<)VS<.`[9%9< +M55.@%W#79@>^0V;#52T%W09N9W9=&6>'S)ZK!@K&(\UVX#MD.JZ:*0A7GX4# +MWR&SXJJ:`KV`NS*[#GR'S(:K6@JZ#=S>[,!WR.RY:J!@/-0L^`Z9CJOF<OO/ +MXR$+![Y#9L55-05Z`7=M=N`[9#9<U5+0;>#V9@>^0V;/50,%XZ%FP7?(=%PU +ME]M_PX]9./`=,BNNJBG0"[AKLP/?(;/AJI:";@.W-SOP'3)[KAHH&`\U"[Y# +MIN.JF8)P35DX\!TR*ZZJ*=`+N&NS`]\AL^&JEH)N`[<SNW,99X?,GJL&"L8C +MS9[!=\AT7#53$"Z7A0/?(;/BJIH"O8"[,KLS^`Z9#5>U%'0;N+W9@>^0V7/5 +M0,%XJ%GP'3(=5\T4A&O.PH'OD%EQ54V!7L!=FQWX#ID-5[44=!NXO=F![Y#9 +M<]5`P7BH6?`=,AU7S>5&ITR;OGVXR'<IL^*JF@*]@+LVN\AW*;/AJI:";@.W +M-[O(=RFSYZJ!@O%0LY'O4J;CJGF[&96LI'6.?">DWPGK=T+ZG63UNW/D.R'] +M3EB_$]+O)*O?]66<'>EWPOJ=D'Z7;[:/?">DWPGK=T+ZG60EK3[RG9!^)ZS? +M">EWDM7O^LAW0OJ=L'XGI-])5K_K(]\)Z7?"^IV0?G>@V<AW0OJ=L'XGI-]) +M5M+J(]\)Z7?"^IV0?B=9_:Z/?">DWPGK=T+ZG63UNS[RG9!^)ZS?">EW!YJ- +M?">DWPGK=YMM2U;2ZL%WI-\)ZW="^IUD];L>?$?ZG;!^)Z3?25:_Z\%WI-\) +MZW="^MV!9L%WI-\)ZW="^IUD):T>?$?ZG;!^)Z3?25:_Z\%WI-\)ZW="^IUD +M];NAC+,C_4Y8OQ/2[_+-#N`[TN^$]3LA_4ZRDM8`OB/]3EB_$]+O)*O?#>`[ +MTN^$]3LA_4ZR^MT`OB/]3EB_$]+O#C0+OB/]3EB_$]+O)"MI#>`[TN^$]3LA +M_4ZR^MT`OB/]3EB_$]+O)*O?#>`[TN^$]3LA_>Y`L^`[TN^$]3O>*$M6TAK` +M=Z3?">MW0OJ=9/6[`7Q'^IVP?B>DWTE6OQO`=Z3?">MW0OK=@6;!=Z3?">MW +M0OJ=9"6M`7Q'^IVP?B>DWTE6OQO`=Z3?">MW0OJ=9/6[L8RS(_U.6+\3TN_R +MS8[@.]+OA/4[(?U.LI+6"+XC_4Y8OQ/2[R2KWXW@.]+OA/4[(?U.LOK="+XC +M_4Y8OQ/2[PXT"[XC_4Y8OQ/2[R0K:8W@.]+OA/4[(?U.LOK="+XC_4Y8OQ/2 +M[R2KWXW@.]+OA/4[(?WN0+/@.]+OA/4[]H9*5M(:P7>DWPGK=T+ZG63UNQ%\ +M1_J=L'XGI-])5K\;P7>DWPGK=T+ZW8%FP7>DWPGK=T+ZG60EK1%\1_J=L'XG +MI-])5K\;P7>DWPGK=T+ZG63UNZF,LR/]3EB_$]+O\LU.X#O2[X3U.R']3K*2 +MU@2^(_U.6+\3TN\DJ]]-X#O2[X3U.R']3K+ZW02^(_U.6+\3TN\.-`N^(_U. +M6+\3TN\D*VE-X#O2[X3U.R']3K+ZW02^(_U.6+\3TN\DJ]]-X#O2[X3U.R'] +M[D"SX#O2[X3U.R']KBJOPQ5/<)'O*BIYJJHIT"V<ARC\1^D_WA)<Y+N4R=>5 +MOTJS*ZXW.WZI:A_N<G:K/[!>3&G,:GS0HJ)_SE;=<\!PQ#_XCS^F\]6+*:TB +MN/K8^?X<G[IMNW5C;->LEQVMF5VS[HSMFIK6^;A>9-?4M,[']2*[IJ9U/JX7 +MV34UK?--[)J:UODF=DU-ZWP3NZ:F=;Z)75/3.M_$KJEIG6]BU]2TSC>Q:VI: +MYYO8-36M\TWLFIK6^29V34WK?!.[IJ9UOHE=4],ZW\2NJ6F=;V+7U+3.-[%K +M:EKGF]@U-:WS3>R:FM;Y)G9-3>M\$[NFIG6^B5U3TSK?Q*ZI:9UO8M?4M,XW +ML6MJ6N>;V#4UK?--[)J:UODF=DU-ZWP3NZ:F=;Z)75.QSK>Q:RK6^39V3<4Z +MW\:NJ5CGV]@U%>M\&[NF8IUO8]=4K/-M[)J*=;Z-75.QSK>Q:RK6^39V3<4Z +MW\:NJ5CGV]@U%>M\&[NF8IUO8]=4K/-M[)J*=;Z-75.QSK>Q:RK6^39V3<4Z +MW\:NJ5CGV]@U%>M\&[NF8IUO8]=4K/-M[)J*=;Z-75.QSK>Q:RK6^39V3<4Z +MW\:NJ5CGV]@U%>M\&[NF8IUO8]=4K/-M[)J*=;Z-75/3.A^9+[)K:EKG(_-% +M=DU-ZWQDOLBNJ6F=C\P7V34UK?--[)J:UODF=DU-ZWP3NZ:F=;Z)75/3.M_$ +MKJEIG6]BU]2TSC>Q:VI:YYO8-36M\TWLFIK6^29V34WK?!.[IJ9UOHE=4],Z +MW\2NJ6F=;V+7U+3.-[%K:EKGF]@U-:WS3>R:FM;Y)G9-3>M\$[NFIG6^B5U3 +MTSK?Q*ZI:9UO8M?4M,XWL6MJ6N>;V#4UK?--[)J:UODF=DU-ZWP3NZ:F=;Z) +M75.QSK>Q:RK6^39V39U,[9HZF=HU=3*U:^ID:M=45Y:&=DUUIG9-=:9V376F +M=DUUIG9-=:9V376F=DUUIG9-=:9V376F=DUUIG9-=:9V376F=DUUIG9-=:9V +M376F=DV=R]+0KJFSJ5U39U.[ILZF=DV=3>V:.IO:-74VM6OJ;&K7U-G4KJFS +MJ5U39U.[ILZF=DV=C>V:71E>U@:_L?<4?@_L:?F=L'7X[9]U^/W6UP"_NW?N +MZW>W5?T]GZ^[^$W6+SY?MZF3+P-VRU*TVGU8NO+\5'7.PGWI?"M<;]7N"C<< +MA5LW-Y,KG'L&]S/!63\L<M&N@\);_XYV!>V2X#0O;]9ZWH.3)[B_/(=[:O?Y +MNZTJGNJOG*ZX>KHIP0UC^-78QZ?WS34X9_JHR'P4;NJ+P3\G4LSC/ESUQ4/\ +G_X]*OP"N_H#+_^^_X+]G;/];`34"FIU0_7NC++_Z'WN7IO#-7P`` +` +end diff --git a/usr.bin/mkimg/tests/mkimg.sh b/usr.bin/mkimg/tests/mkimg.sh new file mode 100755 index 0000000..8dfb74c --- /dev/null +++ b/usr.bin/mkimg/tests/mkimg.sh @@ -0,0 +1,164 @@ +# $FreeBSD$ + +mkimg_blksz_list="512 4096" +mkimg_format_list="qcow qcow2 raw vhd vhdf vmdk" +mkimg_geom_list="1x1 63x255" +mkimg_scheme_list="apm bsd ebr gpt mbr pc98 vtoc8" + +bootcode() +{ + case $1 in + bsd|pc98) echo 8192 ;; + gpt|mbr) echo 512 ;; + *) echo 0 ;; + esac + return 0 +} + +mkcontents() +{ + local byte count name + + byte=$1 + count=$2 + + name=_tmp-$byte-$count.bin + jot -b $byte $(($count/2)) > $name + echo $name + return 0 +} + +makeimage() +{ + local blksz bootarg bootsz format geom nhds nsecs partarg pfx scheme + + format=$1 + scheme=$2 + blksz=$3 + geom=$4 + pfx=$5 + shift 5 + + nsecs=${geom%x*} + nhds=${geom#*x} + + bootsz=`bootcode $scheme` + if test $bootsz -gt 0; then + bootarg="-b `mkcontents B $bootsz`" + else + bootarg="" + fi + + partarg="" + for P in $*; do + partarg="$partarg -p $P" + done + if test -z "$partarg"; then + local swap ufs + swap="-p freebsd-swap::128K" + ufs="-p freebsd-ufs:=`mkcontents P 4194304`" + partarg="$ufs $swap" + fi + + imagename=$pfx-$geom-$blksz-$scheme.$format + + mkimg -y -f $format -o $imagename -s $scheme -P $blksz -H $nhds -T $nsecs \ + $bootarg $partarg + echo $imagename + return 0 +} + +mkimg_rebase() +{ + local baseline image result tmpfile update + + image=$1 + result=$2 + + baseline=$image.gz.uu + update=yes + + if test -f $baseline; then + tmpfile=_tmp-baseline + uudecode -p $baseline | gunzip -c > $tmpfile + if cmp -s $tmpfile $result; then + update=no + fi + fi + + if test $update = yes; then + # Prevent keyword expansion when writing the keyword. + (echo -n '# $'; echo -n FreeBSD; echo '$') > $baseline + gzip -c $result | uuencode $image.gz >> $baseline + fi + + rm $image $result _tmp-* + return 0 +} + +mkimg_test() +{ + local blksz format geom scheme + + geom=$1 + blksz=$2 + scheme=$3 + format=$4 + + case $scheme in + ebr|mbr|pc98) + bsd=`makeimage raw bsd $blksz $geom _tmp` + partinfo="freebsd:=$bsd" + ;; + *) + partinfo="" + ;; + esac + image=`makeimage $format $scheme $blksz $geom img $partinfo` + result=$image.out + hexdump -C $image > $result + if test "x$mkimg_update_baseline" = "xyes"; then + mkimg_rebase $image $result + else + baseline=`atf_get_srcdir`/$image + atf_check -s exit:0 cmp -s $baseline $result + fi + return 0 +} + +atf_test_case rebase +rebase_body() +{ + local nm + + mkimg_update_baseline=yes + for nm in $mkimg_tests; do + ${nm}_body + done + return 0 +} + +atf_init_test_cases() +{ + local B F G S nm + + for G in $mkimg_geom_list; do + for B in $mkimg_blksz_list; do + for S in $mkimg_scheme_list; do + for F in $mkimg_format_list; do + nm="${S}_${G}_${B}_${F}" + atf_test_case $nm + eval "${nm}_body() { mkimg_test $G $B $S $F; }" + mkimg_tests="${mkimg_tests} ${nm}" + atf_add_test_case $nm + done + done + done + done + + # XXX hack to make updating the baseline easier + if test "${__RUNNING_INSIDE_ATF_RUN}" != "internal-yes-value"; then + atf_add_test_case rebase + fi +} + diff --git a/usr.bin/mkimg/vhd.c b/usr.bin/mkimg/vhd.c index af3d95e..6b9d6a0 100644 --- a/usr.bin/mkimg/vhd.c +++ b/usr.bin/mkimg/vhd.c @@ -64,7 +64,7 @@ __FBSDID("$FreeBSD$"); struct vhd_footer { uint64_t cookie; -#define VHD_FOOTER_COOKIE 0x636f6e6563746978 +#define VHD_FOOTER_COOKIE 0x636f6e6563746978ULL uint32_t features; #define VHD_FEATURES_TEMPORARY 0x01 #define VHD_FEATURES_RESERVED 0x02 @@ -236,7 +236,7 @@ vhd_resize(lba_t imgsz) struct vhd_dyn_header { uint64_t cookie; -#define VHD_HEADER_COOKIE 0x6378737061727365 +#define VHD_HEADER_COOKIE 0x6378737061727365ULL uint64_t data_offset; uint64_t table_offset; uint32_t version; diff --git a/usr.bin/mkimg/vmdk.c b/usr.bin/mkimg/vmdk.c index 176b97b..a07d0b8 100644 --- a/usr.bin/mkimg/vmdk.c +++ b/usr.bin/mkimg/vmdk.c @@ -110,7 +110,7 @@ static int vmdk_write(int fd) { struct vmdk_header hdr; - uint32_t *gt, *gd; + uint32_t *gt, *gd, *rgd; char *buf, *desc; off_t cur, lim; uint64_t imagesz; @@ -143,25 +143,37 @@ vmdk_write(int fd) le32enc(&hdr.ngtes, VMDK_NGTES); sec = desc_len / VMDK_SECTOR_SIZE + 1; - le64enc(&hdr.rgd_offset, sec); - le64enc(&hdr.gd_offset, sec); ngrains = imagesz / grainsz; ngts = (ngrains + VMDK_NGTES - 1) / VMDK_NGTES; gdsz = (ngts * sizeof(uint32_t) + VMDK_SECTOR_SIZE - 1) & ~(VMDK_SECTOR_SIZE - 1); + gd = calloc(gdsz, 1); if (gd == NULL) { free(desc); return (ENOMEM); } - + le64enc(&hdr.gd_offset, sec); sec += gdsz / VMDK_SECTOR_SIZE; for (n = 0; n < ngts; n++) { le32enc(gd + n, sec); sec += VMDK_NGTES * sizeof(uint32_t) / VMDK_SECTOR_SIZE; } + rgd = calloc(gdsz, 1); + if (rgd == NULL) { + free(gd); + free(desc); + return (ENOMEM); + } + le64enc(&hdr.rgd_offset, sec); + sec += gdsz / VMDK_SECTOR_SIZE; + for (n = 0; n < ngts; n++) { + le32enc(rgd + n, sec); + sec += VMDK_NGTES * sizeof(uint32_t) / VMDK_SECTOR_SIZE; + } + sec = (sec + grainsz - 1) & ~(grainsz - 1); if (verbose) @@ -174,6 +186,7 @@ vmdk_write(int fd) gtsz = ngts * VMDK_NGTES * sizeof(uint32_t); gt = calloc(gtsz, 1); if (gt == NULL) { + free(rgd); free(gd); free(desc); return (ENOMEM); @@ -198,13 +211,18 @@ vmdk_write(int fd) error = errno; if (!error && sparse_write(fd, gt, gtsz) < 0) error = errno; + if (!error && sparse_write(fd, rgd, gdsz) < 0) + error = errno; + if (!error && sparse_write(fd, gt, gtsz) < 0) + error = errno; free(gt); + free(rgd); free(gd); free(desc); if (error) return (error); - cur = VMDK_SECTOR_SIZE + desc_len + gdsz + gtsz; + cur = VMDK_SECTOR_SIZE + desc_len + (gdsz + gtsz) * 2; lim = sec * VMDK_SECTOR_SIZE; if (cur < lim) { buf = calloc(VMDK_SECTOR_SIZE, 1); diff --git a/usr.bin/mkimg/vtoc8.c b/usr.bin/mkimg/vtoc8.c index 8eb7d24..2f5cf0f 100644 --- a/usr.bin/mkimg/vtoc8.c +++ b/usr.bin/mkimg/vtoc8.c @@ -53,13 +53,12 @@ static struct mkimg_alias vtoc8_aliases[] = { { ALIAS_NONE, 0 } }; -static u_int -vtoc8_metadata(u_int where) +static lba_t +vtoc8_metadata(u_int where, lba_t blk) { - u_int secs; - secs = (where == SCHEME_META_IMG_START) ? nsecs * nheads : 0; - return (secs); + blk += (where == SCHEME_META_IMG_START) ? 1 : 0; + return (round_cylinder(blk)); } static int @@ -87,10 +86,6 @@ vtoc8_write(lba_t imgsz, void *bootcode __unused) be16enc(&vtoc8.nsecs, nsecs); be16enc(&vtoc8.magic, VTOC_MAGIC); - error = image_set_size(imgsz); - if (error) - return (error); - be32enc(&vtoc8.map[VTOC_RAW_PART].nblks, imgsz); STAILQ_FOREACH(part, &partlist, link) { n = part->index + ((part->index >= VTOC_RAW_PART) ? 1 : 0); diff --git a/usr.bin/netstat/inet6.c b/usr.bin/netstat/inet6.c index 78383ac..96fdcaf 100644 --- a/usr.bin/netstat/inet6.c +++ b/usr.bin/netstat/inet6.c @@ -345,8 +345,8 @@ static const char *srcrule_str[] = { "matching label", "public/temporary address", "alive interface", - "preferred interface", - "rule #10", + "better virtual status", + "preferred source", "rule #11", "rule #12", "rule #13", @@ -540,13 +540,13 @@ ip6_ifstats(char *ifname) } strcpy(ifr.ifr_name, ifname); - printf("ip6 on %s:\n", ifr.ifr_name); - if (ioctl(s, SIOCGIFSTAT_IN6, (char *)&ifr) < 0) { - perror("Warning: ioctl(SIOCGIFSTAT_IN6)"); + if (errno != EPFNOSUPPORT) + perror("Warning: ioctl(SIOCGIFSTAT_IN6)"); goto end; } + printf("ip6 on %s:\n", ifr.ifr_name); p(ifs6_in_receive, "\t%ju total input datagram%s\n"); p(ifs6_in_hdrerr, "\t%ju datagram%s with invalid header received\n"); p(ifs6_in_toobig, "\t%ju datagram%s exceeded MTU received\n"); @@ -945,13 +945,13 @@ icmp6_ifstats(char *ifname) } strcpy(ifr.ifr_name, ifname); - printf("icmp6 on %s:\n", ifr.ifr_name); - if (ioctl(s, SIOCGIFSTAT_ICMP6, (char *)&ifr) < 0) { - perror("Warning: ioctl(SIOCGIFSTAT_ICMP6)"); + if (errno != EPFNOSUPPORT) + perror("Warning: ioctl(SIOCGIFSTAT_ICMP6)"); goto end; } + printf("icmp6 on %s:\n", ifr.ifr_name); p(ifs6_in_msg, "\t%ju total input message%s\n"); p(ifs6_in_error, "\t%ju total input error message%s\n"); p(ifs6_in_dstunreach, "\t%ju input destination unreachable error%s\n"); diff --git a/usr.bin/opiekey/Makefile b/usr.bin/opiekey/Makefile index e017f4d..0ee8570 100644 --- a/usr.bin/opiekey/Makefile +++ b/usr.bin/opiekey/Makefile @@ -15,9 +15,9 @@ LDADD= -lopie -lmd LINKS= ${BINDIR}/opiekey ${BINDIR}/otp-md4 LINKS+= ${BINDIR}/opiekey ${BINDIR}/otp-md5 -LINKS+= ${BINDIR}/opiekey ${BINDIR}/otp-sha +LINKS+= ${BINDIR}/opiekey ${BINDIR}/otp-sha1 -MLINKS= opiekey.1 otp-md4.1 opiekey.1 otp-md5.1 opiekey.1 otp-sha.1 +MLINKS= opiekey.1 otp-md4.1 opiekey.1 otp-md5.1 opiekey.1 otp-sha1.1 .PATH: ${OPIE_DIST} diff --git a/usr.bin/rctl/rctl.8 b/usr.bin/rctl/rctl.8 index f7afee9..3f72b91 100644 --- a/usr.bin/rctl/rctl.8 +++ b/usr.bin/rctl/rctl.8 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 16, 2014 +.Dd September 11, 2014 .Dt RCTL 8 .Os .Sh NAME @@ -209,7 +209,7 @@ resource would be .Bl -column -offset 3n "pseudoterminals" .It Em action .It Sy deny Ta deny the allocation; not supported for -.Sy cpu +.Sy cputime and .Sy wallclock .It Sy log Ta "log a warning to the console" diff --git a/usr.bin/sed/defs.h b/usr.bin/sed/defs.h index d4f434e..fb33676 100644 --- a/usr.bin/sed/defs.h +++ b/usr.bin/sed/defs.h @@ -143,6 +143,7 @@ typedef struct { char *space; /* Current space pointer. */ size_t len; /* Current length. */ int deleted; /* If deleted. */ + int append_newline; /* If originally terminated by \n. */ char *back; /* Backing memory. */ size_t blen; /* Backing memory length. */ } SPACE; diff --git a/usr.bin/sed/main.c b/usr.bin/sed/main.c index 6cdfcda..76e186f 100644 --- a/usr.bin/sed/main.c +++ b/usr.bin/sed/main.c @@ -439,8 +439,14 @@ mf_fgets(SPACE *sp, enum e_spflag spflag) len = getline(&p, &plen, infile); if (len == -1) err(1, "%s", fname); - if (len != 0 && p[len - 1] == '\n') + if (len != 0 && p[len - 1] == '\n') { + sp->append_newline = 1; len--; + } else if (!lastline()) { + sp->append_newline = 1; + } else { + sp->append_newline = 0; + } cspace(sp, p, len, spflag); linenum++; @@ -481,15 +487,49 @@ add_file(char *s) fl_nextp = &fp->next; } +static int +next_files_have_lines() +{ + struct s_flist *file; + FILE *file_fd; + int ch; + + file = files; + while ((file = file->next) != NULL) { + if ((file_fd = fopen(file->fname, "r")) == NULL) + continue; + + if ((ch = getc(file_fd)) != EOF) { + /* + * This next file has content, therefore current + * file doesn't contains the last line. + */ + ungetc(ch, file_fd); + fclose(file_fd); + return (1); + } + + fclose(file_fd); + } + + return (0); +} + int lastline(void) { int ch; - if (files->next != NULL && (inplace == NULL || ispan)) - return (0); - if ((ch = getc(infile)) == EOF) - return (1); + if (feof(infile)) { + return !( + (inplace == NULL || ispan) && + next_files_have_lines()); + } + if ((ch = getc(infile)) == EOF) { + return !( + (inplace == NULL || ispan) && + next_files_have_lines()); + } ungetc(ch, infile); return (0); } diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c index 5e2618a..9cd2c2e 100644 --- a/usr.bin/sed/process.c +++ b/usr.bin/sed/process.c @@ -63,6 +63,7 @@ static SPACE HS, PS, SS, YS; #define pd PS.deleted #define ps PS.space #define psl PS.len +#define psanl PS.append_newline #define hs HS.space #define hsl HS.len @@ -85,7 +86,10 @@ static regex_t *defpreg; size_t maxnsub; regmatch_t *match; -#define OUT() do {fwrite(ps, 1, psl, outfile); fputc('\n', outfile);} while (0) +#define OUT() do { \ + fwrite(ps, 1, psl, outfile); \ + if (psanl) fputc('\n', outfile); \ +} while (0) void process(void) @@ -94,6 +98,7 @@ process(void) SPACE tspace; size_t oldpsl = 0; char *p; + int oldpsanl; p = NULL; @@ -190,11 +195,15 @@ redirect: break; if ((p = memchr(ps, '\n', psl)) != NULL) { oldpsl = psl; + oldpsanl = psanl; psl = p - ps; + psanl = 1; } OUT(); - if (p != NULL) + if (p != NULL) { psl = oldpsl; + psanl = oldpsanl; + } break; case 'q': if (!nflag && !pd) @@ -244,6 +253,7 @@ redirect: cspace(&HS, "", 0, REPLACE); tspace = PS; PS = HS; + psanl = tspace.append_newline; HS = tspace; break; case 'y': @@ -288,24 +298,32 @@ applies(struct s_command *cp) r = 1; else if (cp->a2) if (cp->startline > 0) { - if (MATCH(cp->a2)) { - cp->startline = 0; - lastaddr = 1; - r = 1; - } else if (linenum - cp->startline <= cp->a2->u.l) - r = 1; - else if ((cp->a2->type == AT_LINE && - linenum > cp->a2->u.l) || - (cp->a2->type == AT_RELLINE && - linenum - cp->startline > cp->a2->u.l)) { - /* - * We missed the 2nd address due to a branch, - * so just close the range and return false. - */ - cp->startline = 0; - r = 0; - } else - r = 1; + switch (cp->a2->type) { + case AT_RELLINE: + if (linenum - cp->startline <= cp->a2->u.l) + r = 1; + else { + cp->startline = 0; + r = 0; + } + break; + default: + if (MATCH(cp->a2)) { + cp->startline = 0; + lastaddr = 1; + r = 1; + } else if (cp->a2->type == AT_LINE && + linenum > cp->a2->u.l) { + /* + * We missed the 2nd address due to a + * branch, so just close the range and + * return false. + */ + cp->startline = 0; + r = 0; + } else + r = 1; + } } else if (MATCH(cp->a1)) { /* * If the second address is a number less than or @@ -444,6 +462,7 @@ substitute(struct s_command *cp) */ tspace = PS; PS = SS; + psanl = tspace.append_newline; SS = tspace; SS.space = SS.back; @@ -513,6 +532,7 @@ do_tr(struct s_tr *y) /* Swap the translation space and the pattern space. */ tmp = PS; PS = YS; + psanl = tmp.append_newline; YS = tmp; YS.space = YS.back; } diff --git a/usr.bin/sed/tests/regress.y.out b/usr.bin/sed/tests/regress.y.out index 829a681..22f4f05 100644 --- a/usr.bin/sed/tests/regress.y.out +++ b/usr.bin/sed/tests/regress.y.out @@ -1 +1 @@ -fOO +fOO
\ No newline at end of file diff --git a/usr.bin/showmount/showmount.8 b/usr.bin/showmount/showmount.8 index f49df84..106b1a1 100644 --- a/usr.bin/showmount/showmount.8 +++ b/usr.bin/showmount/showmount.8 @@ -31,7 +31,7 @@ .\" @(#)showmount.8 8.3 (Berkeley) 3/29/95 .\" $FreeBSD$ .\" -.Dd March 29, 1995 +.Dd August 16, 2014 .Dt SHOWMOUNT 8 .Os .Sh NAME @@ -41,6 +41,7 @@ .Nm .Op Fl a | d .Op Fl e +.Op Fl 1 .Op Fl 3 .Op Ar host .Sh DESCRIPTION @@ -76,10 +77,10 @@ List directory paths of mount points instead of hosts. Show the .Ar host Ns 's exports list. +.It Fl 1 +Use mount protocol Version 1, compatible with legacy servers. .It Fl 3 -Use mount protocol Version 3, compatible with -.Tn NFS -Version 3. +Ignored for backwards compatibility. .El .Sh SEE ALSO .Xr mount 8 , diff --git a/usr.bin/showmount/showmount.c b/usr.bin/showmount/showmount.c index 2635250..d0da570 100644 --- a/usr.bin/showmount/showmount.c +++ b/usr.bin/showmount/showmount.c @@ -110,11 +110,11 @@ main(int argc, char **argv) { register struct exportslist *exp; register struct grouplist *grp; - register int rpcs = 0, mntvers = 1; + register int rpcs = 0, mntvers = 3; const char *host; int ch, estat; - while ((ch = getopt(argc, argv, "ade3")) != -1) + while ((ch = getopt(argc, argv, "ade13")) != -1) switch (ch) { case 'a': if (type == 0) { @@ -133,6 +133,9 @@ main(int argc, char **argv) case 'e': rpcs |= DOEXPORTS; break; + case '1': + mntvers = 1; + break; case '3': mntvers = 3; break; diff --git a/usr.bin/sort/Makefile b/usr.bin/sort/Makefile index c6eef85..532e930 100644 --- a/usr.bin/sort/Makefile +++ b/usr.bin/sort/Makefile @@ -13,10 +13,12 @@ CLEANFILES+= sort.1 .if ${MK_SORT_THREADS} != "no" CFLAGS+= -DSORT_THREADS -LDFLAGS+= -lpthread -lmd +LDADD= -lpthread -lmd +DPADD= ${LIBPTHREAD} ${LIBMD} MAN_SUB+= -e 's|%%THREADS%%||g' .else -LDFLAGS+= -lmd +LDADD= -lmd +DPADD= ${LIBMD} MAN_SUB+= -e 's|%%THREADS%%|\.\\"|g' .endif diff --git a/usr.bin/sort/sort.1.in b/usr.bin/sort/sort.1.in index 11330fb..1a836a8 100644 --- a/usr.bin/sort/sort.1.in +++ b/usr.bin/sort/sort.1.in @@ -581,7 +581,7 @@ An error occurred. .Sh SEE ALSO .Xr comm 1 , .Xr join 1 , -.Xr uniq 1 . +.Xr uniq 1 .Sh STANDARDS The .Nm diff --git a/usr.bin/sort/sort.c b/usr.bin/sort/sort.c index d811a86..372c661 100644 --- a/usr.bin/sort/sort.c +++ b/usr.bin/sort/sort.c @@ -897,7 +897,7 @@ fix_obsolete_keys(int *argc, char **argv) } } } - sprintf(sopt, "-k%d.%d", f1, c1); + sprintf(sopt, "-k%d.%d%s", f1, c1, sopts1); argv[i] = sort_strdup(sopt); } } diff --git a/usr.bin/svn/svn/Makefile b/usr.bin/svn/svn/Makefile index d6944f1..76d923a 100644 --- a/usr.bin/svn/svn/Makefile +++ b/usr.bin/svn/svn/Makefile @@ -6,8 +6,6 @@ PROG= svn${SVNLITE} -NO_PIE= yes - SRCS= add-cmd.c blame-cmd.c cat-cmd.c changelist-cmd.c checkout-cmd.c \ cl-conflicts.c cleanup-cmd.c commit-cmd.c conflict-callbacks.c \ copy-cmd.c delete-cmd.c deprecated.c diff-cmd.c export-cmd.c \ @@ -53,6 +51,7 @@ DPADD= ${LIBSVN_CLIENT} ${LIBSVN_WC} ${LIBSVN_RA} ${LIBSVN_RA_LOCAL} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} ${LIBMAGIC} \ ${LIBCRYPTO} ${LIBSSL} ${LIBPTHREAD} +CLEANFILES+= svnlite.1 .if(defined(ORGANIZATION) && !empty(ORGANIZATION)) DPSRCS+= freebsd-organization.h CLEANFILES+= freebsd-organization.h diff --git a/usr.bin/svn/svn_private_config.h b/usr.bin/svn/svn_private_config.h index 9e0ac15..3583d6e 100644 --- a/usr.bin/svn/svn_private_config.h +++ b/usr.bin/svn/svn_private_config.h @@ -105,7 +105,7 @@ #define PACKAGE_NAME "subversion" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "subversion 1.8.9" +#define PACKAGE_STRING "subversion 1.8.10" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "subversion" @@ -114,7 +114,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.8.9" +#define PACKAGE_VERSION "1.8.10" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 diff --git a/usr.bin/svn/svnadmin/Makefile b/usr.bin/svn/svnadmin/Makefile index c173d3b..3220cde 100644 --- a/usr.bin/svn/svnadmin/Makefile +++ b/usr.bin/svn/svnadmin/Makefile @@ -34,6 +34,4 @@ DPADD= ${LIBSVN_REPOS} ${LIBSVN_FS} ${LIBSVN_FS_FS} ${LIBSVN_FS_UTIL} \ ${LIBSVN_DELTA} ${LIBSVN_SUBR} ${LIBAPR_UTIL} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/svn/svndumpfilter/Makefile b/usr.bin/svn/svndumpfilter/Makefile index 6746735..864f376 100644 --- a/usr.bin/svn/svndumpfilter/Makefile +++ b/usr.bin/svn/svndumpfilter/Makefile @@ -34,6 +34,4 @@ DPADD= ${LIBSVN_REPOS} ${LIBSVN_FS} ${LIBSVN_FS_FS} ${LIBSVN_FS_UTIL} \ ${LIBSVN_DELTA} ${LIBSVN_SUBR} ${LIBAPR_UTIL} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/svn/svnlook/Makefile b/usr.bin/svn/svnlook/Makefile index 209b2f1..3d8b1a0 100644 --- a/usr.bin/svn/svnlook/Makefile +++ b/usr.bin/svn/svnlook/Makefile @@ -35,6 +35,4 @@ DPADD= ${LIBSVN_REPOS} ${LIBSVN_FS} ${LIBSVN_FS_FS} ${LIBSVN_FS_UTIL} \ ${LIBSVN_DELTA} ${LIBSVN_DIFF} ${LIBSVN_SUBR} ${LIBAPR_UTIL} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/svn/svnmucc/Makefile b/usr.bin/svn/svnmucc/Makefile index 34e706e..23a98e3 100644 --- a/usr.bin/svn/svnmucc/Makefile +++ b/usr.bin/svn/svnmucc/Makefile @@ -42,6 +42,4 @@ DPADD= ${LIBSVN_CLIENT} ${LIBSVN_RA} ${LIBSVN_RA_LOCAL} ${LIBSVN_RA_SVN} \ ${LIBAPR_UTIL} ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} \ ${LIBCRYPT} ${LIBMAGIC} ${LIBCRYPTO} ${LIBSSL} ${LIBPTHREAD} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/svn/svnrdump/Makefile b/usr.bin/svn/svnrdump/Makefile index 8a6a8fd..afeae00 100644 --- a/usr.bin/svn/svnrdump/Makefile +++ b/usr.bin/svn/svnrdump/Makefile @@ -45,6 +45,4 @@ DPADD= ${LIBSVN_CLIENT} ${LIBSVN_WC} ${LIBSVN_RA} ${LIBSVN_RA_LOCAL} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} ${LIBMAGIC} \ ${LIBCRYPTO} ${LIBSSL} ${LIBPTHREAD} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/svn/svnserve/Makefile b/usr.bin/svn/svnserve/Makefile index d21883c..f1fa314 100644 --- a/usr.bin/svn/svnserve/Makefile +++ b/usr.bin/svn/svnserve/Makefile @@ -41,6 +41,4 @@ DPADD= ${LIBSVN_RA} ${LIBSVN_RA_LOCAL} ${LIBSVN_RA_SVN} ${LIBSVN_RA_SERF} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} ${LIBMAGIC} \ ${LIBCRYPTO} ${LIBSSL} ${LIBPTHREAD} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/svn/svnsync/Makefile b/usr.bin/svn/svnsync/Makefile index db479c4..a8cd380 100644 --- a/usr.bin/svn/svnsync/Makefile +++ b/usr.bin/svn/svnsync/Makefile @@ -41,6 +41,4 @@ DPADD= ${LIBSVN_RA} ${LIBSVN_RA_LOCAL} ${LIBSVN_RA_SVN} ${LIBSVN_RA_SERF} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} ${LIBMAGIC} \ ${LIBCRYPTO} ${LIBSSL} ${LIBPTHREAD} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/svn/svnversion/Makefile b/usr.bin/svn/svnversion/Makefile index 54ce13c..ca28ec3 100644 --- a/usr.bin/svn/svnversion/Makefile +++ b/usr.bin/svn/svnversion/Makefile @@ -32,6 +32,4 @@ DPADD= ${LIBSVN_WC} ${LIBSVN_DELTA} ${LIBSVN_DIFF} ${LIBSVN_SUBR} \ ${LIBSERF} ${LIBAPR_UTIL} ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} \ ${LIBZ} ${LIBCRYPT} -NO_PIE= yes - .include <bsd.prog.mk> diff --git a/usr.bin/systat/ifstat.c b/usr.bin/systat/ifstat.c index 4cfe01c..35e5756 100644 --- a/usr.bin/systat/ifstat.c +++ b/usr.bin/systat/ifstat.c @@ -68,14 +68,14 @@ struct if_stat { struct ifmibdata if_mib; struct timeval tv; struct timeval tv_lastchanged; - u_long if_in_curtraffic; - u_long if_out_curtraffic; - u_long if_in_traffic_peak; - u_long if_out_traffic_peak; - u_long if_in_curpps; - u_long if_out_curpps; - u_long if_in_pps_peak; - u_long if_out_pps_peak; + uint64_t if_in_curtraffic; + uint64_t if_out_curtraffic; + uint64_t if_in_traffic_peak; + uint64_t if_out_traffic_peak; + uint64_t if_in_curpps; + uint64_t if_out_curpps; + uint64_t if_in_pps_peak; + uint64_t if_out_pps_peak; u_int if_row; /* Index into ifmib sysctl */ int if_ypos; /* -1 if not being displayed */ u_int display; @@ -269,8 +269,8 @@ fetchifstat(void) struct if_stat *ifp = NULL; struct timeval tv, new_tv, old_tv; double elapsed = 0.0; - u_int new_inb, new_outb, old_inb, old_outb = 0; - u_int new_inp, new_outp, old_inp, old_outp = 0; + uint64_t new_inb, new_outb, old_inb, old_outb = 0; + uint64_t new_inp, new_outp, old_inp, old_outp = 0; SLIST_FOREACH(ifp, &curlist, link) { /* diff --git a/usr.bin/systat/systat.1 b/usr.bin/systat/systat.1 index 5fc3257..6b7bcb9 100644 --- a/usr.bin/systat/systat.1 +++ b/usr.bin/systat/systat.1 @@ -119,7 +119,7 @@ of the list. For example: .Pp .Dl Nm Fl ifstat Fl match Ar bge0,em1 Fl pps .Pp -This will display statistics of packets per second for network interfaces +This will display statistics of packets per second for network interfaces named as bge0 and em1. .Pp .Dl Nm Fl iostat Fl numeric Fl - Ar 2.1 diff --git a/usr.bin/talk/Makefile b/usr.bin/talk/Makefile index 438542c..eb14d22 100644 --- a/usr.bin/talk/Makefile +++ b/usr.bin/talk/Makefile @@ -4,7 +4,7 @@ PROG= talk SRCS= ctl.c ctl_transact.c display.c get_addrs.c get_iface.c get_names.c \ init_disp.c invite.c io.c look_up.c msgs.c talk.c -DPADD= ${LIBCURSESW} -LDADD= -lcursesw +DPADD= ${LIBNCURSESW} +LDADD= -lncursesw .include <bsd.prog.mk> diff --git a/usr.bin/telnet/Makefile b/usr.bin/telnet/Makefile index a683f0a..b88f8e1 100644 --- a/usr.bin/telnet/Makefile +++ b/usr.bin/telnet/Makefile @@ -13,8 +13,6 @@ SRCS= commands.c main.c network.c ring.c sys_bsd.c \ CFLAGS+= -DKLUDGELINEMODE -DUSE_TERMIO -DENV_HACK -DOPIE \ -I${TELNETDIR} -I${TELNETDIR}/libtelnet/ -NO_PIE= yes - .if ${MK_INET6_SUPPORT} != "no" CFLAGS+= -DINET6 .endif diff --git a/usr.bin/timeout/Makefile b/usr.bin/timeout/Makefile index 46ca6e3..c1957ae 100644 --- a/usr.bin/timeout/Makefile +++ b/usr.bin/timeout/Makefile @@ -1,5 +1,11 @@ # $FreeBSD$ +.include <src.opts.mk> + PROG= timeout +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/timeout/tests/Makefile b/usr.bin/timeout/tests/Makefile new file mode 100644 index 0000000..6303718 --- /dev/null +++ b/usr.bin/timeout/tests/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/timeout + +ATF_TESTS_SH= timeout + +.include <bsd.test.mk> diff --git a/usr.bin/timeout/tests/timeout.sh b/usr.bin/timeout/tests/timeout.sh new file mode 100644 index 0000000..e04e6f9 --- /dev/null +++ b/usr.bin/timeout/tests/timeout.sh @@ -0,0 +1,215 @@ +# $FreeBSD$ + +atf_test_case nominal +nominal_head() +{ + atf_set "descr" "Basic tests on timeout(1) utility" +} + +nominal_body() +{ + atf_check \ + -o empty \ + -e empty \ + -s exit:0 \ + -x timeout 5 true +} + +atf_test_case time_unit +time_unit_head() +{ + atf_set "descr" "Test parsing the default time unit" +} + +time_unit_body() +{ + atf_check \ + -o empty \ + -e empty \ + -s exit:0 \ + -x timeout 1d true + + atf_check \ + -o empty \ + -e empty \ + -s exit:0 \ + -x timeout 1h true + + atf_check \ + -o empty \ + -e empty \ + -s exit:0 \ + -x timeout 1m true + + atf_check \ + -o empty \ + -e empty \ + -s exit:0 \ + -x timeout 1s true +} + +atf_test_case no_timeout +no_timeout_head() +{ + atf_set "descr" "Test disabled timeout" +} + +no_timeout_body() +{ + atf_check \ + -o empty \ + -e empty \ + -s exit:0 \ + -x timeout 0 true +} + +atf_test_case exit_numbers +exit_numbers_head() +{ + atf_set "descr" "Test exit numbers" +} + +exit_numbers_body() +{ + atf_check \ + -o empty \ + -e empty \ + -s exit:2 \ + -x timeout 5 sh -c \'exit 2\' + + atf_check \ + -o empty \ + -e empty \ + -s exit:124 \ + -x timeout .1 sleep 1 + + # With preserv status exit shoudl be 128 + TERM aka 143 + atf_check \ + -o empty \ + -e empty \ + -s exit:143 \ + -x timeout --preserve-status .1 sleep 10 + + atf_check \ + -o empty \ + -e empty \ + -s exit:124 \ + -x timeout -s1 -k1 .1 sleep 10 + + atf_check \ + -o empty \ + -e empty \ + -s exit:0 \ + -x sh -c 'trap "" CHLD; exec timeout 10 true' +} + +atf_test_case with_a_child +with_a_child_head() +{ + atf_set "descr" "When starting with a child (coreutils bug#9098)" +} + +with_a_child_body() +{ + out=$(sleep .1 & exec timeout .5 sh -c 'sleep 2; echo foo') + status=$? + test "$out" = "" && test $status = 124 || atf_fail + +} + +atf_test_case invalid_timeout +invalid_timeout_head() +{ + atf_set "descr" "Invalid timeout" +} + +invalid_timeout_body() +{ + atf_check \ + -o empty \ + -e inline:"timeout: invalid duration\n" \ + -s exit:125 \ + -x timeout invalid sleep 0 + + atf_check \ + -o empty \ + -e inline:"timeout: invalid duration\n" \ + -s exit:125 \ + -x timeout --kill-after=invalid 1 sleep 0 + + atf_check \ + -o empty \ + -e inline:"timeout: invalid duration\n" \ + -s exit:125 \ + -x timeout 42D sleep 0 + + atf_check \ + -o empty \ + -e inline:"timeout: invalid duration\n" \ + -s exit:125 \ + -x timeout 999999999999999999999999999999999999999999999999999999999999d sleep 0 + + atf_check \ + -o empty \ + -e inline:"timeout: invalid duration\n" \ + -s exit:125 \ + -x timeout 2.34e+5d sleep 0 +} + +atf_test_case invalid_signal +invalid_signal_head() +{ + atf_set "descr" "Invalid signal" +} + +invalid_signal_body() +{ + atf_check \ + -o empty \ + -e inline:"timeout: invalid signal\n" \ + -s exit:125 \ + -x timeout --signal=invalid 1 sleep 0 +} + +atf_test_case invalid_command +invalid_command_head() +{ + atf_set "descr" "Invalid command" +} + +invalid_command_body() +{ + atf_check \ + -o empty \ + -e inline:"timeout: exec(.): Permission denied\n" \ + -s exit:126 \ + -x timeout 10 . +} + +atf_test_case no_such_command +no_such_command_head() +{ + atf_set "descr" "No such command" +} + +no_such_command_body() +{ + atf_check \ + -o empty \ + -e inline:"timeout: exec(enoexists): No such file or directory\n" \ + -s exit:127 \ + -x timeout 10 enoexists +} + +atf_init_test_cases() +{ + atf_add_test_case nominal + atf_add_test_case time_unit + atf_add_test_case no_timeout + atf_add_test_case exit_numbers + atf_add_test_case with_a_child + atf_add_test_case invalid_timeout + atf_add_test_case invalid_signal + atf_add_test_case invalid_command + atf_add_test_case no_such_command +} diff --git a/usr.bin/timeout/timeout.1 b/usr.bin/timeout/timeout.1 index 028fc62..70a9106 100644 --- a/usr.bin/timeout/timeout.1 +++ b/usr.bin/timeout/timeout.1 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 19, 2014 +.Dd Oct 28, 2014 .Dt TIMEOUT 1 .Os .Sh NAME @@ -108,7 +108,22 @@ is not set, an exit status of 124 is returned. .Pp If .Ar command -exits after receiving a signal, the exit status returned is the signal number plus 128. +exits after receiving a signal, the exit status returned is the signal number +plus 128. +.Pp +If +.Ar command +is an invalid command, the exit status returned is 126. +.Pp +If +.Ar command +is a non existing command, the exit status returned is 127. +.Pp +If an invalid parameter is passed to +.Fl s +or +.Fl k , +the exit status return is 125. .Sh SEE ALSO .Xr kill 1 , .Xr signal 3 diff --git a/usr.bin/timeout/timeout.c b/usr.bin/timeout/timeout.c index 8171600..214ab13 100644 --- a/usr.bin/timeout/timeout.c +++ b/usr.bin/timeout/timeout.c @@ -68,7 +68,7 @@ parse_duration(const char *duration) ret = strtod(duration, &end); if (ret == 0 && end == duration) - errx(EXIT_FAILURE, "invalid duration"); + errx(125, "invalid duration"); if (end == NULL || *end == '\0') return (ret); @@ -89,11 +89,11 @@ parse_duration(const char *duration) ret *= 60 * 60 * 24; break; default: - errx(EX_USAGE, "invalid duration"); + errx(125, "invalid duration"); } if (ret < 0 || ret >= 100000000UL) - errx(EX_USAGE, "invalid duration"); + errx(125, "invalid duration"); return (ret); } @@ -116,7 +116,7 @@ parse_signal(const char *str) return (i); } - errx(EX_USAGE, "invalid signal"); + errx(125, "invalid signal"); } static void @@ -260,8 +260,12 @@ main(int argc, char **argv) signal(SIGTTOU, SIG_DFL); error = execvp(argv[0], argv); - if (error == -1) - err(EX_UNAVAILABLE, "exec()"); + if (error == -1) { + if (errno == ENOENT) + err(127, "exec(%s)", argv[0]); + else + err(126, "exec(%s)", argv[0]); + } } if (sigprocmask(SIG_BLOCK, &signals.sa_mask, NULL) == -1) diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c index de57b94..0a74521 100644 --- a/usr.bin/top/machine.c +++ b/usr.bin/top/machine.c @@ -941,7 +941,7 @@ format_next_process(caddr_t handle, char *(*get_userid)(int), int flags) /* generate "STATE" field */ switch (state = pp->ki_stat) { case SRUN: - if (smpmode && pp->ki_oncpu != 0xff) + if (smpmode && pp->ki_oncpu != NOCPU) sprintf(status, "CPU%d", pp->ki_oncpu); else strcpy(status, "RUN"); @@ -1100,7 +1100,7 @@ format_next_process(caddr_t handle, char *(*get_userid)(int), int flags) /* format this entry */ if (smpmode) { - if (state == SRUN && pp->ki_oncpu != 0xff) + if (state == SRUN && pp->ki_oncpu != NOCPU) cpu = pp->ki_oncpu; else cpu = pp->ki_lastcpu; diff --git a/usr.bin/truss/arm-fbsd.c b/usr.bin/truss/arm-fbsd.c index b717619..3bac400 100644 --- a/usr.bin/truss/arm-fbsd.c +++ b/usr.bin/truss/arm-fbsd.c @@ -201,7 +201,7 @@ arm_syscall_entry(struct trussinfo *trussinfo, int nargs) */ // XXX BAD constant used here iorequest.piod_op = PIOD_READ_D; - iorequest.piod_offs = (void *)(regs.r[_REG_SP] + + iorequest.piod_offs = (void *)(regs.r_sp + 4 * sizeof(uint32_t)); iorequest.piod_addr = &fsc->args[4]; iorequest.piod_len = (nargs - 4) * sizeof(fsc->args[0]); @@ -316,7 +316,7 @@ arm_syscall_exit(struct trussinfo *trussinfo, int syscall_num __unused) } retval = regs.r[0]; - errorp = !!(regs.r_cpsr & PSR_C_bit); + errorp = !!(regs.r_cpsr & PSR_C); /* * This code, while simpler than the initial versions I used, could diff --git a/usr.bin/truss/syscall.h b/usr.bin/truss/syscall.h index f13fa8b..a573611 100644 --- a/usr.bin/truss/syscall.h +++ b/usr.bin/truss/syscall.h @@ -5,6 +5,7 @@ * Hex -- values that should be printed in hex (addresses) * Octal -- Same as above, but octal * Int -- normal integer values (file descriptors, for example) + * LongHex -- long value that should be printed in hex * Name -- pointer to a NULL-terminated string. * BinString -- pointer to an array of chars, printed via strvisx(). * Ptr -- pointer to some unspecified structure. Just print as hex for now. @@ -34,13 +35,13 @@ * $FreeBSD$ */ -enum Argtype { None = 1, Hex, Octal, Int, Name, Ptr, Stat, Ioctl, Quad, +enum Argtype { None = 1, Hex, Octal, Int, LongHex, Name, Ptr, Stat, Ioctl, Quad, Signal, Sockaddr, StringArray, Timespec, Timeval, Itimerval, Pollfd, Fd_set, Sigaction, Fcntl, Mprot, Mmapflags, Whence, Readlinkres, Sigset, Sigprocmask, Kevent, Sockdomain, Socktype, Open, Fcntlflag, Rusage, BinString, Shutdown, Resource, Rlimit, Timeval2, Pathconf, Rforkflags, ExitStatus, Waitoptions, Idtype, Procctl, - LinuxSockArgs }; + LinuxSockArgs, Umtxop }; #define ARG_MASK 0xff #define OUT 0x100 diff --git a/usr.bin/truss/syscalls.c b/usr.bin/truss/syscalls.c index ebdc72e..efd27e9 100644 --- a/usr.bin/truss/syscalls.c +++ b/usr.bin/truss/syscalls.c @@ -279,6 +279,9 @@ static struct syscall syscalls[] = { { Waitoptions, 3 }, { Rusage | OUT, 4 }, { Ptr, 5 } } }, { .name = "procctl", .ret_type = 1, .nargs = 4, .args = { { Idtype, 0 }, { Int, 1 }, { Procctl, 2 }, { Ptr, 3 } } }, + { .name = "_umtx_op", .ret_type = 1, .nargs = 5, + .args = { { Ptr, 0 }, { Umtxop, 1 }, { LongHex, 2 }, { Ptr, 3 }, + { Ptr, 4 } } }, { .name = 0 }, }; @@ -309,8 +312,8 @@ static struct xlat poll_flags[] = { }; static struct xlat mmap_flags[] = { - X(MAP_SHARED) X(MAP_PRIVATE) X(MAP_FIXED) X(MAP_RENAME) - X(MAP_NORESERVE) X(MAP_RESERVED0080) X(MAP_RESERVED0100) + X(MAP_SHARED) X(MAP_PRIVATE) X(MAP_FIXED) X(MAP_RESERVED0020) + X(MAP_RESERVED0040) X(MAP_RESERVED0080) X(MAP_RESERVED0100) X(MAP_HASSEMAPHORE) X(MAP_STACK) X(MAP_NOSYNC) X(MAP_ANON) X(MAP_NOCORE) X(MAP_PREFAULT_READ) #ifdef MAP_32BIT @@ -412,6 +415,19 @@ static struct xlat procctl_arg[] = { X(PROC_SPROTECT) XEND }; +static struct xlat umtx_ops[] = { + X(UMTX_OP_RESERVED0) X(UMTX_OP_RESERVED1) X(UMTX_OP_WAIT) + X(UMTX_OP_WAKE) X(UMTX_OP_MUTEX_TRYLOCK) X(UMTX_OP_MUTEX_LOCK) + X(UMTX_OP_MUTEX_UNLOCK) X(UMTX_OP_SET_CEILING) X(UMTX_OP_CV_WAIT) + X(UMTX_OP_CV_SIGNAL) X(UMTX_OP_CV_BROADCAST) X(UMTX_OP_WAIT_UINT) + X(UMTX_OP_RW_RDLOCK) X(UMTX_OP_RW_WRLOCK) X(UMTX_OP_RW_UNLOCK) + X(UMTX_OP_WAIT_UINT_PRIVATE) X(UMTX_OP_WAKE_PRIVATE) + X(UMTX_OP_MUTEX_WAIT) X(UMTX_OP_MUTEX_WAKE) X(UMTX_OP_SEM_WAIT) + X(UMTX_OP_SEM_WAKE) X(UMTX_OP_NWAKE_PRIVATE) X(UMTX_OP_MUTEX_WAKE2) + X(UMTX_OP_SEM2_WAIT) X(UMTX_OP_SEM2_WAKE) + XEND +}; + #undef X #undef XEND @@ -608,6 +624,9 @@ print_arg(struct syscall_args *sc, unsigned long *args, long retval, case Int: asprintf(&tmp, "%d", (int)args[sc->offset]); break; + case LongHex: + asprintf(&tmp, "0x%lx", args[sc->offset]); + break; case Name: { /* NULL-terminated string. */ char *tmp2; @@ -1275,6 +1294,9 @@ print_arg(struct syscall_args *sc, unsigned long *args, long retval, case Procctl: tmp = strdup(xlookup(procctl_arg, args[sc->offset])); break; + case Umtxop: + tmp = strdup(xlookup(umtx_ops, args[sc->offset])); + break; default: errx(1, "Invalid argument type %d\n", sc->type & ARG_MASK); } diff --git a/usr.bin/vacation/Makefile b/usr.bin/vacation/Makefile index 4f8690c..056f576 100644 --- a/usr.bin/vacation/Makefile +++ b/usr.bin/vacation/Makefile @@ -32,8 +32,6 @@ DPADD+=${SENDMAIL_DPADD} LDADD+=${SENDMAIL_LDADD} LDFLAGS+=${SENDMAIL_LDFLAGS} -NO_PIE= yes - sm_os.h: ln -sf ${SENDMAIL_DIR}/include/sm/os/sm_os_freebsd.h sm_os.h diff --git a/usr.bin/vmstat/vmstat.8 b/usr.bin/vmstat/vmstat.8 index f04cc42..4566ad2 100644 --- a/usr.bin/vmstat/vmstat.8 +++ b/usr.bin/vmstat/vmstat.8 @@ -28,7 +28,7 @@ .\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd October 21, 2006 +.Dd August 8, 2014 .Dt VMSTAT 8 .Os .Sh NAME @@ -38,9 +38,8 @@ .Nm .\" .Op Fl fimst .Op Fl afHhimPsz -.Op Fl c Ar count .Op Fl M Ar core Op Fl N Ar system -.Op Fl w Ar wait +.Op Fl c Ar count .Op Fl n Ar devs .Oo .Fl p @@ -48,7 +47,9 @@ .Ar type , if , pass .Sm on .Oc -.Op Ar disks +.Op Fl w Ar wait +.Op Ar disks ... +.Op wait Op count .Sh DESCRIPTION The .Nm @@ -91,10 +92,12 @@ and system calls since system startup, and the number of pages of virtual memory involved in each. .It Fl h -Changes memory columns into more easily human readable form. Default if +Changes memory columns into more easily human readable form. +The default if standard output is a terminal device. .It Fl H -Changes memory columns into straight numbers. Default if standard output +Changes memory columns into straight numbers. +The default if standard output is not a terminal device (such as a script). .It Fl i Report on the number of interrupts taken by each device since system @@ -214,6 +217,21 @@ Report on memory used by the kernel zone allocator, by zone. .El .Pp +The +.Ar wait +and +.Ar count +arguments may be given after their respective flags at any point +on the command line before the +.Ar disks +argument(s), or without their flags, as the final argument(s). +The latter form is accepted for backwards compatibility, but it is +preferred to use the forms with +.Fl w +and +.Fl c +to avoid ambiguity. +.Pp By default, .Nm displays the following information: diff --git a/usr.bin/vmstat/vmstat.c b/usr.bin/vmstat/vmstat.c index 67f438e..760dce8 100644 --- a/usr.bin/vmstat/vmstat.c +++ b/usr.bin/vmstat/vmstat.c @@ -299,15 +299,12 @@ retry_nlist: argv = getdrivedata(argv); } -#define BACKWARD_COMPATIBILITY -#ifdef BACKWARD_COMPATIBILITY if (*argv) { f = atof(*argv); interval = f * 1000; if (*++argv) reps = atoi(*argv); } -#endif if (interval) { if (!reps) @@ -660,6 +657,8 @@ dovmstat(unsigned int interval, int reps) uptime = getuptime(); halfuptime = uptime / 2; rate_adj = 1; + ncpus = 1; + maxid = 0; /* * If the user stops the program (control-Z) and then resumes it, @@ -705,7 +704,7 @@ dovmstat(unsigned int interval, int reps) } for (hdrcnt = 1;;) { if (!--hdrcnt) - printhdr(ncpus, cpumask); + printhdr(maxid, cpumask); if (kd != NULL) { if (kvm_getcptime(kd, cur.cp_time) < 0) errx(1, "kvm_getcptime: %s", kvm_geterr(kd)); @@ -756,7 +755,7 @@ dovmstat(unsigned int interval, int reps) errx(1, "%s", devstat_errbuf); break; case 1: - printhdr(ncpus, cpumask); + printhdr(maxid, cpumask); break; default: break; @@ -768,22 +767,26 @@ dovmstat(unsigned int interval, int reps) fill_vmmeter(&sum); fill_vmtotal(&total); - (void)printf("%2d %1d %1d", + (void)printf("%1d %1d %1d", total.t_rq - 1, total.t_dw + total.t_pw, total.t_sw); #define vmstat_pgtok(a) ((a) * (sum.v_page_size >> 10)) #define rate(x) (((x) * rate_adj + halfuptime) / uptime) /* round */ if (hflag) { + printf(""); + prthuman(total.t_avm * (u_int64_t)sum.v_page_size, 5); printf(" "); - prthuman(total.t_avm * (u_int64_t)sum.v_page_size, 7); - printf(" "); - prthuman(total.t_free * (u_int64_t)sum.v_page_size, 6); + prthuman(total.t_free * (u_int64_t)sum.v_page_size, 5); printf(" "); + (void)printf("%5lu ", + (unsigned long)rate(sum.v_vm_faults - + osum.v_vm_faults)); } else { - printf(" %7d ", vmstat_pgtok(total.t_avm)); - printf(" %6d ", vmstat_pgtok(total.t_free)); + printf(" %7d", vmstat_pgtok(total.t_avm)); + printf(" %7d ", vmstat_pgtok(total.t_free)); + (void)printf("%4lu ", + (unsigned long)rate(sum.v_vm_faults - + osum.v_vm_faults)); } - (void)printf("%5lu ", - (unsigned long)rate(sum.v_vm_faults - osum.v_vm_faults)); (void)printf("%3lu ", (unsigned long)rate(sum.v_reactivated - osum.v_reactivated)); (void)printf("%3lu ", @@ -794,10 +797,10 @@ dovmstat(unsigned int interval, int reps) (osum.v_swapout + osum.v_vnodeout))); (void)printf("%5lu ", (unsigned long)rate(sum.v_tfree - osum.v_tfree)); - (void)printf("%3lu ", + (void)printf("%4lu ", (unsigned long)rate(sum.v_pdpages - osum.v_pdpages)); devstats(); - (void)printf("%4lu %4lu %4lu", + (void)printf("%4lu %5lu %5lu", (unsigned long)rate(sum.v_intr - osum.v_intr), (unsigned long)rate(sum.v_syscall - osum.v_syscall), (unsigned long)rate(sum.v_swtch - osum.v_swtch)); @@ -825,36 +828,46 @@ dovmstat(unsigned int interval, int reps) } static void -printhdr(int ncpus, u_long cpumask) +printhdr(int maxid, u_long cpumask) { int i, num_shown; num_shown = (num_selected < maxshowdevs) ? num_selected : maxshowdevs; - (void)printf(" procs memory page%*s", 19, ""); + if (hflag) { + (void)printf("procs memory page%*s ", 19, ""); + } else { + (void)printf("procs memory page%*s ", 19, ""); + } if (num_shown > 1) - (void)printf(" disks %*s", num_shown * 4 - 7, ""); + (void)printf(" disks %*s", num_shown * 4 - 7, ""); else if (num_shown == 1) - (void)printf("disk"); - (void)printf(" faults "); + (void)printf(" disk"); + (void)printf(" faults "); if (Pflag) { - for (i = 0; i < ncpus; i++) { + for (i = 0; i <= maxid; i++) { if (cpumask & (1ul << i)) - printf("cpu%-2d ", i); + printf(" cpu%d ", i); } printf("\n"); } else - printf("cpu\n"); - (void)printf(" r b w avm fre flt re pi po fr sr "); + printf(" cpu\n"); + if (hflag) { + (void)printf("r b w avm fre flt re pi po fr sr "); + } else { + (void)printf("r b w avm fre flt re pi po fr sr "); + } for (i = 0; i < num_devices; i++) if ((dev_select[i].selected) && (dev_select[i].selected <= maxshowdevs)) (void)printf("%c%c%d ", dev_select[i].device_name[0], dev_select[i].device_name[1], dev_select[i].unit_number); - (void)printf(" in sy cs"); + (void)printf(" in sy cs"); if (Pflag) { - for (i = 0; i < ncpus; i++) - printf(" us sy id"); + for (i = 0; i <= maxid; i++) { + if (cpumask & (1ul << i)) + printf(" us sy id"); + } printf("\n"); } else printf(" us sy id\n"); @@ -981,7 +994,8 @@ dosum(void) (void)printf("%9u intransit blocking page faults\n", sum.v_intrans); (void)printf("%9u total VM faults taken\n", sum.v_vm_faults); (void)printf("%9u page faults requiring I/O\n", sum.v_io_faults); - (void)printf("%9u pages affected by kernel thread creation\n", sum.v_kthreadpages); + (void)printf("%9u pages affected by kernel thread creation\n", + sum.v_kthreadpages); (void)printf("%9u pages affected by fork()\n", sum.v_forkpages); (void)printf("%9u pages affected by vfork()\n", sum.v_vforkpages); (void)printf("%9u pages affected by rfork()\n", sum.v_rforkpages); @@ -1123,7 +1137,8 @@ pcpustats(int ncpus, u_long cpumask, int maxid) continue; for (state = 0; state < CPUSTATES; ++state) { tmp = cur_cp_times[i * CPUSTATES + state]; - cur_cp_times[i * CPUSTATES + state] -= last_cp_times[i * CPUSTATES + state]; + cur_cp_times[i * CPUSTATES + state] -= last_cp_times[i * + CPUSTATES + state]; last_cp_times[i * CPUSTATES + state] = tmp; } } @@ -1360,7 +1375,7 @@ static void usage(void) { (void)fprintf(stderr, "%s%s", - "usage: vmstat [-afHhimPsz] [-c count] [-M core [-N system]] [-w wait]\n", - " [-n devs] [-p type,if,pass] [disks]\n"); + "usage: vmstat [-afHhimPsz] [-M core [-N system]] [-c count] [-n devs]\n", + " [-p type,if,pass] [-w wait] [disks] [wait [count]]\n"); exit(1); } diff --git a/usr.bin/w/Makefile b/usr.bin/w/Makefile index 1515a87..6a5bbe5 100644 --- a/usr.bin/w/Makefile +++ b/usr.bin/w/Makefile @@ -4,8 +4,8 @@ PROG= w SRCS= fmt.c pr_time.c proc_compare.c w.c MAN= w.1 uptime.1 -DPADD= ${LIBKVM} ${LIBUTIL} -LDADD= -lkvm -lutil +DPADD= ${LIBKVM} ${LIBUTIL} ${LIBXO} +LDADD= -lkvm -lutil -lxo #BINGRP= kmem #BINMODE=2555 LINKS= ${BINDIR}/w ${BINDIR}/uptime diff --git a/usr.bin/w/pr_time.c b/usr.bin/w/pr_time.c index b227f86..123f6c4 100644 --- a/usr.bin/w/pr_time.c +++ b/usr.bin/w/pr_time.c @@ -41,6 +41,7 @@ static const char sccsid[] = "@(#)pr_time.c 8.2 (Berkeley) 4/4/94"; #include <stdio.h> #include <string.h> #include <wchar.h> +#include <libxo/xo.h> #include "extern.h" @@ -82,12 +83,14 @@ pr_attime(time_t *started, time_t *now) (void)wcsftime(buf, sizeof(buf), fmt, &tp); len = wcslen(buf); width = wcswidth(buf, len); + xo_attr("since", "%lu", (unsigned long) *started); + xo_attr("delta", "%lu", (unsigned long) diff); if (len == width) - (void)wprintf(L"%-7.7ls", buf); + xo_emit("{:login-time/%-7.7ls/%ls}", buf); else if (width < 7) - (void)wprintf(L"%ls%.*s", buf, 7 - width, " "); + xo_emit("{:login-time/%ls}%.*s", buf, 7 - width, " "); else { - (void)wprintf(L"%ls", buf); + xo_emit("{:login-time/%ls}", buf); offset = width - 7; } return (offset); @@ -104,7 +107,7 @@ pr_idle(time_t idle) /* If idle more than 36 hours, print as a number of days. */ if (idle >= 36 * 3600) { int days = idle / 86400; - (void)printf(" %dday%s ", days, days > 1 ? "s" : " " ); + xo_emit(" {:idle/%dday%s} ", days, days > 1 ? "s" : " " ); if (days >= 100) return (2); if (days >= 10) @@ -113,15 +116,15 @@ pr_idle(time_t idle) /* If idle more than an hour, print as HH:MM. */ else if (idle >= 3600) - (void)printf(" %2d:%02d ", + xo_emit(" {:idle/%2d:%02d/} ", (int)(idle / 3600), (int)((idle % 3600) / 60)); else if (idle / 60 == 0) - (void)printf(" - "); + xo_emit(" - "); /* Else print the minutes idle. */ else - (void)printf(" %2d ", (int)(idle / 60)); + xo_emit(" {:idle/%2d} ", (int)(idle / 60)); return (0); /* not idle longer than 9 days */ } diff --git a/usr.bin/w/w.1 b/usr.bin/w/w.1 index 345db49..445462b 100644 --- a/usr.bin/w/w.1 +++ b/usr.bin/w/w.1 @@ -28,7 +28,7 @@ .\" @(#)w.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd January 21, 2010 +.Dd November 5, 2014 .Dt W 1 .Os .Sh NAME @@ -36,6 +36,7 @@ .Nd "display who is logged in and what they are doing" .Sh SYNOPSIS .Nm +.Op Fl -libxo .Op Fl dhin .Op Fl M Ar core .Op Fl N Ar system @@ -99,7 +100,9 @@ flags are no longer supported. .Xr finger 1 , .Xr ps 1 , .Xr uptime 1 , -.Xr who 1 +.Xr who 1 , +.Xr libxo 3 , +.Xr xo_parse_args 3 .Sh HISTORY The .Nm diff --git a/usr.bin/w/w.c b/usr.bin/w/w.c index 1b9af5f..effd0e3 100644 --- a/usr.bin/w/w.c +++ b/usr.bin/w/w.c @@ -68,6 +68,7 @@ static const char sccsid[] = "@(#)w.c 8.4 (Berkeley) 4/16/94"; #include <fcntl.h> #include <kvm.h> #include <langinfo.h> +#include <libgen.h> #include <libutil.h> #include <limits.h> #include <locale.h> @@ -82,6 +83,7 @@ static const char sccsid[] = "@(#)w.c 8.4 (Berkeley) 4/16/94"; #include <unistd.h> #include <utmpx.h> #include <vis.h> +#include <libxo/xo.h> #include "extern.h" @@ -121,7 +123,6 @@ static struct entry { static void pr_header(time_t *, int); static struct stat *ttystat(char *); static void usage(int); -static int this_is_uptime(const char *s); char *fmt_argv(char **, char *, char *, size_t); /* ../../bin/ps/fmt.c */ @@ -133,7 +134,7 @@ main(int argc, char *argv[]) struct stat *stp; time_t touched; int ch, i, nentries, nusers, wcmd, longidle, longattime, dropgid; - const char *memf, *nlistf, *p; + const char *memf, *nlistf, *p, *save_p; char *x_suffix; char buf[MAXHOSTNAMELEN], errbuf[_POSIX2_LINE_MAX]; char fn[MAXHOSTNAMELEN]; @@ -143,8 +144,12 @@ main(int argc, char *argv[]) use_ampm = (*nl_langinfo(T_FMT_AMPM) != '\0'); use_comma = (*nl_langinfo(RADIXCHAR) != ','); + argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(1); + /* Are we w(1) or uptime(1)? */ - if (this_is_uptime(argv[0]) == 0) { + if (strcmp(basename(argv[0]), "uptime") == 0) { wcmd = 0; p = ""; } else { @@ -254,9 +259,12 @@ main(int argc, char *argv[]) } endutxent(); + xo_open_container("uptime-information"); + if (header || wcmd == 0) { pr_header(&now, nusers); if (wcmd == 0) { + xo_close_container("uptime-information"); (void)kvm_close(kd); exit(0); } @@ -268,7 +276,7 @@ main(int argc, char *argv[]) #define HEADER_WHAT "WHAT\n" #define WUSED (W_DISPUSERSIZE + W_DISPLINESIZE + W_DISPHOSTSIZE + \ sizeof(HEADER_LOGIN_IDLE) + 3) /* header width incl. spaces */ - (void)printf("%-*.*s %-*.*s %-*.*s %s", + xo_emit("{T:/%-*.*s} {T:/%-*.*s} {T:/%-*.*s} {T:/%s}", W_DISPUSERSIZE, W_DISPUSERSIZE, HEADER_USER, W_DISPLINESIZE, W_DISPLINESIZE, HEADER_TTY, W_DISPHOSTSIZE, W_DISPHOSTSIZE, HEADER_FROM, @@ -342,6 +350,9 @@ main(int argc, char *argv[]) } } + xo_open_container("user-table"); + xo_open_list("user-entry"); + for (ep = ehead; ep != NULL; ep = ep->next) { struct addrinfo hints, *res; struct sockaddr_storage ss; @@ -351,7 +362,9 @@ main(int argc, char *argv[]) time_t t; int isaddr; - p = *ep->utmp.ut_host ? ep->utmp.ut_host : "-"; + xo_open_instance("user-entry"); + + save_p = p = *ep->utmp.ut_host ? ep->utmp.ut_host : "-"; if ((x_suffix = strrchr(p, ':')) != NULL) { if ((dot = strchr(x_suffix, '.')) != NULL && strchr(dot+1, '.') == NULL) @@ -400,6 +413,9 @@ main(int argc, char *argv[]) p = buf; } if (dflag) { + xo_open_container("process-table"); + xo_open_list("process-entry"); + for (dkp = ep->dkp; dkp != NULL; dkp = debugproc(dkp)) { const char *ptr; @@ -407,24 +423,41 @@ main(int argc, char *argv[]) dkp->ki_comm, NULL, MAXCOMLEN); if (ptr == NULL) ptr = "-"; - (void)printf("\t\t%-9d %s\n", + xo_open_instance("process-entry"); + xo_emit("\t\t{:process-id/%-9d/%d} {:command/%s}\n", dkp->ki_pid, ptr); + xo_close_instance("process-entry"); } + xo_close_list("process-entry"); + xo_close_container("process-table"); } - (void)printf("%-*.*s %-*.*s %-*.*s ", - W_DISPUSERSIZE, W_DISPUSERSIZE, ep->utmp.ut_user, - W_DISPLINESIZE, W_DISPLINESIZE, - *ep->utmp.ut_line ? - (strncmp(ep->utmp.ut_line, "tty", 3) && - strncmp(ep->utmp.ut_line, "cua", 3) ? - ep->utmp.ut_line : ep->utmp.ut_line + 3) : "-", + xo_emit("{:user/%-*.*s/%@**@s} {:tty/%-*.*s/%@**@s} ", + W_DISPUSERSIZE, W_DISPUSERSIZE, ep->utmp.ut_user, + W_DISPLINESIZE, W_DISPLINESIZE, + *ep->utmp.ut_line ? + (strncmp(ep->utmp.ut_line, "tty", 3) && + strncmp(ep->utmp.ut_line, "cua", 3) ? + ep->utmp.ut_line : ep->utmp.ut_line + 3) : "-"); + + if (save_p && save_p != p) + xo_attr("address", "%s", save_p); + xo_emit("{:from/%-*.*s/%@**@s} ", W_DISPHOSTSIZE, W_DISPHOSTSIZE, *p ? p : "-"); t = ep->utmp.ut_tv.tv_sec; longattime = pr_attime(&t, &now); longidle = pr_idle(ep->idle); - (void)printf("%.*s\n", argwidth - longidle - longattime, + xo_emit("{:command/%.*s/%@*@s}\n", + argwidth - longidle - longattime, ep->args); + + xo_close_instance("user-entry"); } + + xo_close_list("user-entry"); + xo_close_container("user-table"); + xo_close_container("uptime-information"); + xo_finish(); + (void)kvm_close(kd); exit(0); } @@ -443,7 +476,7 @@ pr_header(time_t *nowp, int nusers) */ if (strftime(buf, sizeof(buf), use_ampm ? "%l:%M%p" : "%k:%M", localtime(nowp)) != 0) - (void)printf("%s ", buf); + xo_emit("{:time-of-day/%s} ", buf); /* * Print how long system has been up. */ @@ -457,35 +490,45 @@ pr_header(time_t *nowp, int nusers) uptime %= 3600; mins = uptime / 60; secs = uptime % 60; - (void)printf(" up"); + xo_emit(" up"); + xo_attr("seconds", "%lu", (unsigned long) tp.tv_sec); if (days > 0) - (void)printf(" %d day%s,", days, days > 1 ? "s" : ""); + xo_emit(" {:uptime/%d day%s},", + days, days > 1 ? "s" : ""); if (hrs > 0 && mins > 0) - (void)printf(" %2d:%02d,", hrs, mins); + xo_emit(" {:uptime/%2d:%02d},", hrs, mins); else if (hrs > 0) - (void)printf(" %d hr%s,", hrs, hrs > 1 ? "s" : ""); + xo_emit(" {:uptime/%d hr%s},", + hrs, hrs > 1 ? "s" : ""); else if (mins > 0) - (void)printf(" %d min%s,", mins, mins > 1 ? "s" : ""); + xo_emit(" {:uptime/%d min%s},", + mins, mins > 1 ? "s" : ""); else - (void)printf(" %d sec%s,", secs, secs > 1 ? "s" : ""); + xo_emit(" {:uptime/%d sec%s},", + secs, secs > 1 ? "s" : ""); } /* Print number of users logged in to system */ - (void)printf(" %d user%s", nusers, nusers == 1 ? "" : "s"); + xo_emit(" {:users/%d} {N:user%s}", nusers, nusers == 1 ? "" : "s"); /* * Print 1, 5, and 15 minute load averages. */ if (getloadavg(avenrun, sizeof(avenrun) / sizeof(avenrun[0])) == -1) - (void)printf(", no load average information available\n"); + xo_emit(", no load average information available\n"); else { - (void)printf(", load averages:"); + static const char *format[] = { + " {:load-average-1/%.2f}", + " {:load-average-5/%.2f}", + " {:load-average-15/%.2f}", + }; + xo_emit(", load averages:"); for (i = 0; i < (int)(sizeof(avenrun) / sizeof(avenrun[0])); i++) { if (use_comma && i > 0) - (void)printf(","); - (void)printf(" %.2f", avenrun[i]); + xo_emit(","); + xo_emit(format[i], avenrun[i]); } - (void)printf("\n"); + xo_emit("\n"); } } @@ -506,23 +549,8 @@ static void usage(int wcmd) { if (wcmd) - (void)fprintf(stderr, - "usage: w [-dhin] [-M core] [-N system] [user ...]\n"); + xo_error("usage: w [-dhin] [-M core] [-N system] [user ...]\n"); else - (void)fprintf(stderr, "usage: uptime\n"); + xo_error("usage: uptime\n"); exit(1); } - -static int -this_is_uptime(const char *s) -{ - const char *u; - - if ((u = strrchr(s, '/')) != NULL) - ++u; - else - u = s; - if (strcmp(u, "uptime") == 0) - return (0); - return (-1); -} diff --git a/usr.bin/wc/Makefile b/usr.bin/wc/Makefile index 4fa9f30..6c67135 100644 --- a/usr.bin/wc/Makefile +++ b/usr.bin/wc/Makefile @@ -2,4 +2,7 @@ # $FreeBSD$ PROG= wc +DPADD= ${LIBXO} +LDADD= -lxo + .include <bsd.prog.mk> diff --git a/usr.bin/wc/wc.1 b/usr.bin/wc/wc.1 index afcccb0..ee81e17 100644 --- a/usr.bin/wc/wc.1 +++ b/usr.bin/wc/wc.1 @@ -31,7 +31,7 @@ .\" @(#)wc.1 8.2 (Berkeley) 4/19/94 .\" $FreeBSD$ .\" -.Dd December 6, 2008 +.Dd November 4, 2014 .Dt WC 1 .Os .Sh NAME @@ -39,6 +39,7 @@ .Nd word, line, character, and byte count .Sh SYNOPSIS .Nm +.Op Fl -libxo .Op Fl Lclmw .Op Ar .Sh DESCRIPTION @@ -174,7 +175,9 @@ option of the GNU .Nm utility. .Sh SEE ALSO -.Xr iswspace 3 +.Xr iswspace 3 , +.Xr libxo 3 , +.Xr xo_parse_args 3 .Sh STANDARDS The .Nm diff --git a/usr.bin/wc/wc.c b/usr.bin/wc/wc.c index 08823a1..79ac4a0 100644 --- a/usr.bin/wc/wc.c +++ b/usr.bin/wc/wc.c @@ -57,10 +57,12 @@ __FBSDID("$FreeBSD$"); #include <unistd.h> #include <wchar.h> #include <wctype.h> +#include <libxo/xo.h> static uintmax_t tlinect, twordct, tcharct, tlongline; static int doline, doword, dochar, domulti, dolongline; static volatile sig_atomic_t siginfo; +static xo_handle_t *stderr_handle; static void show_cnt(const char *file, uintmax_t linect, uintmax_t wordct, uintmax_t charct, uintmax_t llct); @@ -81,6 +83,10 @@ main(int argc, char *argv[]) (void) setlocale(LC_CTYPE, ""); + argc = xo_parse_args(argc, argv); + if (argc < 0) + return (argc); + while ((ch = getopt(argc, argv, "clmwL")) != -1) switch((char)ch) { case 'l': @@ -113,21 +119,35 @@ main(int argc, char *argv[]) if (doline + doword + dochar + domulti + dolongline == 0) doline = doword = dochar = 1; + stderr_handle = xo_create_to_file(stderr, XO_STYLE_TEXT, 0); + xo_open_container("wc"); + xo_open_list("file"); + errors = 0; total = 0; if (!*argv) { + xo_open_instance("file"); if (cnt((char *)NULL) != 0) ++errors; + xo_close_instance("file"); } else { do { + xo_open_instance("file"); if (cnt(*argv) != 0) ++errors; + xo_close_instance("file"); ++total; } while(*++argv); } - if (total > 1) + if (total > 1) { + xo_open_container("total"); show_cnt("total", tlinect, twordct, tcharct, tlongline); + xo_close_container("total"); + } + xo_close_list("file"); + xo_close_container("wc"); + xo_finish(); exit(errors == 0 ? 0 : 1); } @@ -135,27 +155,27 @@ static void show_cnt(const char *file, uintmax_t linect, uintmax_t wordct, uintmax_t charct, uintmax_t llct) { - FILE *out; + xo_handle_t *xop; if (!siginfo) - out = stdout; + xop = NULL; else { - out = stderr; + xop = stderr_handle; siginfo = 0; } if (doline) - (void)fprintf(out, " %7ju", linect); + xo_emit_h(xop, " {:lines/%7ju/%ju}", linect); if (doword) - (void)fprintf(out, " %7ju", wordct); + xo_emit_h(xop, " {:words/%7ju/%ju}", wordct); if (dochar || domulti) - (void)fprintf(out, " %7ju", charct); + xo_emit_h(xop, " {:characters/%7ju/%ju}", charct); if (dolongline) - (void)fprintf(out, " %7ju", llct); + xo_emit_h(xop, " {:long-lines/%7ju/%ju}", llct); if (file != NULL) - (void)fprintf(out, " %s\n", file); + xo_emit_h(xop, " {:filename/%s}\n", file); else - (void)fprintf(out, "\n"); + xo_emit_h(xop, "\n"); } static int @@ -176,7 +196,7 @@ cnt(const char *file) fd = STDIN_FILENO; else { if ((fd = open(file, O_RDONLY, 0)) < 0) { - warn("%s: open", file); + xo_warn("%s: open", file); return (1); } if (doword || (domulti && MB_CUR_MAX != 1)) @@ -189,7 +209,7 @@ cnt(const char *file) if (doline) { while ((len = read(fd, buf, MAXBSIZE))) { if (len == -1) { - warn("%s: read", file); + xo_warn("%s: read", file); (void)close(fd); return (1); } @@ -224,7 +244,7 @@ cnt(const char *file) */ if (dochar || domulti) { if (fstat(fd, &sb)) { - warn("%s: fstat", file); + xo_warn("%s: fstat", file); (void)close(fd); return (1); } @@ -244,7 +264,7 @@ word: gotsp = 1; memset(&mbs, 0, sizeof(mbs)); while ((len = read(fd, buf, MAXBSIZE)) != 0) { if (len == -1) { - warn("%s: read", file != NULL ? file : "stdin"); + xo_warn("%s: read", file != NULL ? file : "stdin"); (void)close(fd); return (1); } @@ -259,7 +279,7 @@ word: gotsp = 1; (size_t)-1) { if (!warned) { errno = EILSEQ; - warn("%s", + xo_warn("%s", file != NULL ? file : "stdin"); warned = 1; } @@ -291,7 +311,7 @@ word: gotsp = 1; } if (domulti && MB_CUR_MAX > 1) if (mbrtowc(NULL, NULL, 0, &mbs) == (size_t)-1 && !warned) - warn("%s", file != NULL ? file : "stdin"); + xo_warn("%s", file != NULL ? file : "stdin"); if (doline) tlinect += linect; if (doword) @@ -310,6 +330,6 @@ word: gotsp = 1; static void usage(void) { - (void)fprintf(stderr, "usage: wc [-Lclmw] [file ...]\n"); + xo_error("usage: wc [-Lclmw] [file ...]\n"); exit(1); } diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index f40cdc5..b59db70 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -1263,13 +1263,18 @@ install_dir(char *path) if (!*p || (p != path && *p == '/')) { ch = *p; *p = '\0'; - if (stat(path, &sb)) { - if (errno != ENOENT || mkdir(path, 0755) < 0) { +again: + if (stat(path, &sb) < 0) { + if (errno != ENOENT) + err(EX_OSERR, "stat %s", path); + if (mkdir(path, 0755) < 0) { + if (errno == EEXIST) + goto again; err(EX_OSERR, "mkdir %s", path); - /* NOTREACHED */ - } else if (verbose) + } + if (verbose) (void)printf("install: mkdir %s\n", - path); + path); } else if (!S_ISDIR(sb.st_mode)) errx(EX_OSERR, "%s exists but is not a directory", path); if (!(*p = ch)) diff --git a/usr.bin/xo/Makefile b/usr.bin/xo/Makefile new file mode 100644 index 0000000..c7b51d8 --- /dev/null +++ b/usr.bin/xo/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +LIBXO= ${.CURDIR:H:H}/contrib/libxo + +.PATH: ${LIBXO}/xo + +PROG= xo +MAN= xo.1 + +# XXX For xoversion.h +CFLAGS+=-I${LIBXO}/libxo + +DPADD= ${LIBXO} +LDADD= -lxo + +.include <bsd.prog.mk> diff --git a/usr.bin/yacc/Makefile b/usr.bin/yacc/Makefile index 45e7929..c110f3f 100644 --- a/usr.bin/yacc/Makefile +++ b/usr.bin/yacc/Makefile @@ -10,9 +10,10 @@ PROG= yacc SRCS= closure.c error.c graph.c lalr.c lr0.c main.c mkpar.c mstring.c output.c \ reader.c yaccpar.c symtab.c verbose.c warshall.c -CFLAGS+= -DMIXEDCASE_FILENAMES=1 \ - -DHAVE_FCNTL_H=1 \ - -DHAVE_MKSTEMP=1 +CFLAGS+= -DHAVE_FCNTL_H=1 \ + -DHAVE_MKSTEMP=1 \ + -DMAXTABLE=INT_MAX \ + -DMIXEDCASE_FILENAMES=1 YYPATCH!= cat ${BYACC_SRC}/VERSION CFLAGS+= -DYYPATCH=${YYPATCH} diff --git a/usr.bin/yacc/tests/Makefile b/usr.bin/yacc/tests/Makefile index 2dadf4e..c8125a6 100644 --- a/usr.bin/yacc/tests/Makefile +++ b/usr.bin/yacc/tests/Makefile @@ -9,11 +9,15 @@ TEST_DIR= ${.CURDIR}/../../../contrib/byacc/test TESTSDIR= ${TESTSBASE}/usr.bin/yacc PLAIN_TESTS_SH= yacc_tests +# NOTE: due to caveats with how permissions are handled on FreeBSD +# with root, this must be run as a non-privileged user; otherwise +# the testcases will fail unexpectedly. +TEST_METADATA.yacc_tests+= required_user="unprivileged" SCRIPTS= run_test SCRIPTSDIR= ${TESTSDIR} -FILESGROUPS= FILEStest FILEStest_yacc +FILESGROUPS= FILES FILEStest FILEStest_yacc FILEStestDIR= ${TESTSDIR} @@ -245,36 +249,30 @@ FILEStest_yacc+= help.error FILEStest_yacc+= help.output FILEStest_yacc+= no_b_opt.error FILEStest_yacc+= no_b_opt.output -# XXX: expected: `f - cannot open "nosuchfile.c"; gets -# `e - line 0 of "nosuchfile.y", unexpected end-of-file`. -#FILEStest_yacc+= no_b_opt1.error -#FILEStest_yacc+= no_b_opt1.output -#FILEStest_yacc+= no_code_c.error -#FILEStest_yacc+= no_code_c.output -#FILEStest_yacc+= no_defines.error -#FILEStest_yacc+= no_defines.output -#FILEStest_yacc+= no_graph.error -#FILEStest_yacc+= no_graph.output -#FILEStest_yacc+= no_include.error -#FILEStest_yacc+= no_include.output +FILEStest_yacc+= no_b_opt1.error +FILEStest_yacc+= no_b_opt1.output +FILEStest_yacc+= no_code_c.error +FILEStest_yacc+= no_code_c.output +FILEStest_yacc+= no_defines.error +FILEStest_yacc+= no_defines.output +FILEStest_yacc+= no_graph.error +FILEStest_yacc+= no_graph.output +FILEStest_yacc+= no_include.error +FILEStest_yacc+= no_include.output FILEStest_yacc+= no_opts.error FILEStest_yacc+= no_opts.output -# XXX: expected: `f - cannot open "nosuchfile.c"; gets -# `e - line 0 of "nosuchfile.y", unexpected end-of-file`. -#FILEStest_yacc+= no_output.error -#FILEStest_yacc+= no_output.output -#FILEStest_yacc+= no_output1.error -#FILEStest_yacc+= no_output1.output +FILEStest_yacc+= no_output.error +FILEStest_yacc+= no_output.output +FILEStest_yacc+= no_output1.error +FILEStest_yacc+= no_output1.output FILEStest_yacc+= no_output2.error FILEStest_yacc+= no_output2.output FILEStest_yacc+= no_p_opt.error FILEStest_yacc+= no_p_opt.output -# XXX: expected: `f - cannot open "nosuchfile.c"; gets -# `e - line 0 of "nosuchfile.y", unexpected end-of-file`. -#FILEStest_yacc+= no_p_opt1.error -#FILEStest_yacc+= no_p_opt1.output -#FILEStest_yacc+= no_verbose.error -#FILEStest_yacc+= no_verbose.output +FILEStest_yacc+= no_p_opt1.error +FILEStest_yacc+= no_p_opt1.output +FILEStest_yacc+= no_verbose.error +FILEStest_yacc+= no_verbose.output FILEStest_yacc+= nostdin.error FILEStest_yacc+= nostdin.output FILEStest_yacc+= ok_syntax1.error diff --git a/usr.bin/yacc/tests/yacc_tests.sh b/usr.bin/yacc/tests/yacc_tests.sh index 9a2973a..6ad6916 100755 --- a/usr.bin/yacc/tests/yacc_tests.sh +++ b/usr.bin/yacc/tests/yacc_tests.sh @@ -3,22 +3,15 @@ set -e -cd $(dirname $0) +# Setup the environment for run_test +# - run_test looks for `#define YYBTYACC` in ../config.h +# - run_test assumes a yacc binary exists in ../yacc instead of running "yacc" +# - run_test spams the test dir with files (polluting subsequent test runs), +# so it's better to copy all the files to a temporary directory created by +# kyua +echo > "./config.h" +mkdir "test" +cp -Rf "$(dirname "$0")"/* "test" +cp -p /usr/bin/yacc ./yacc -TMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXX) -TEST_DIR="$TMPDIR/test" -trap "cd /; rm -Rf $TMPDIR" EXIT INT TERM - -# Setup the environment for run_test.sh -mkdir -p "$TEST_DIR" -cp -Rf * "$TEST_DIR/." -echo > "$TMPDIR/config.h" -ln /usr/bin/yacc $TMPDIR/yacc - -log=$TMPDIR/run_test.log -(cd $TEST_DIR && ./run_test 2>&1 && : > run_test.ok) | tee $log -if [ -f run_test.ok ] && ! egrep "^...(diff|not found)[^\*]+$" $log; then - exit 0 -else - exit 1 -fi +cd "test" && ./run_test |