Hello community, here is the log from the commit of package gptfdisk for openSUSE:Factory checked in at 2020-06-03 20:29:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gptfdisk (Old) and /work/SRC/openSUSE:Factory/.gptfdisk.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gptfdisk" Wed Jun 3 20:29:13 2020 rev:18 rq:809930 version:1.0.5 Changes: -------- --- /work/SRC/openSUSE:Factory/gptfdisk/gptfdisk.changes 2018-11-06 14:02:59.515562144 +0100 +++ /work/SRC/openSUSE:Factory/.gptfdisk.new.3606/gptfdisk.changes 2020-06-03 20:29:25.264607914 +0200 @@ -1,0 +2,19 @@ +Tue May 26 14:54:40 UTC 2020 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to 1.0.5 + * Changed number of columns in type code output ("sgdisk -L" + and equivalents in gdisk and cgdisk) from 3 to 2, since some + descriptions are long enough that they are ambiguous with + three columns. + * You can now put the 0xEE partition last in a hybrid MBR using + sgdisk. (Previously, this was possible with gdisk but not + with sgdisk.) See the sgdisk man page for details. + * Added numerous type codes for Container Linux, Veracrypt, and + Freedesktop.org's Discoverable Partitions Specification + * Partition type name searches are now case-insensitive. + * It is now possible to quit out of partition type name + searches by typing "q". + * When changing a partition type code, the default is now the + current type code, not a platform-specific type code. + +------------------------------------------------------------------- Old: ---- gptfdisk-1.0.4.tar.gz New: ---- gptfdisk-1.0.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gptfdisk.spec ++++++ --- /var/tmp/diff_new_pack.iIs4bY/_old 2020-06-03 20:29:26.388611331 +0200 +++ /var/tmp/diff_new_pack.iIs4bY/_new 2020-06-03 20:29:26.392611343 +0200 @@ -1,7 +1,7 @@ # # spec file for package gptfdisk # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,12 +17,12 @@ Name: gptfdisk -Version: 1.0.4 +Version: 1.0.5 Release: 0 Summary: GPT partitioning and MBR repair software License: GPL-2.0-only Group: System/Base -Url: http://rodsbooks.com/gdisk +URL: http://rodsbooks.com/gdisk Source: http://downloads.sf.net/%name/%name-%version.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ gptfdisk-1.0.4.tar.gz -> gptfdisk-1.0.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/Makefile new/gptfdisk-1.0.5/Makefile --- old/gptfdisk-1.0.4/Makefile 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/Makefile 2020-02-17 23:34:11.000000000 +0100 @@ -12,19 +12,19 @@ all: cgdisk gdisk sgdisk fixparts gdisk: $(LIB_OBJS) gdisk.o gpttext.o - $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk + $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid $(LDLIBS) -o gdisk # $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk cgdisk: $(LIB_OBJS) cgdisk.o gptcurses.o - $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncursesw -o cgdisk + $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncursesw $(LDLIBS) -o cgdisk # $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk sgdisk: $(LIB_OBJS) sgdisk.o gptcl.o - $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk + $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt $(LDLIBS) -o sgdisk # $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk fixparts: $(MBR_LIB_OBJS) fixparts.o - $(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts + $(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) $(LDLIBS) -o fixparts test: ./gdisk_test.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/Makefile.mac new/gptfdisk-1.0.5/Makefile.mac --- old/gptfdisk-1.0.4/Makefile.mac 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/Makefile.mac 2020-02-17 23:34:11.000000000 +0100 @@ -1,10 +1,11 @@ CC=gcc -CXX=clang++ -FATBINFLAGS=-arch x86_64 -arch i386 -mmacosx-version-min=10.4 -THINBINFLAGS=-arch x86_64 -mmacosx-version-min=10.4 +CXX=c++ +# FATBINFLAGS=-arch x86_64 -arch i386 -mmacosx-version-min=10.9 +FATBINFLAGS=-arch x86_64 -mmacosx-version-min=10.9 +THINBINFLAGS=-arch x86_64 -mmacosx-version-min=10.9 CFLAGS=$(FATBINFLAGS) -O2 -D_FILE_OFFSET_BITS=64 -g #CXXFLAGS=-O2 -Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16 -I/opt/local/include -I/usr/local/include -I/opt/local/include -g -CXXFLAGS=$(FATBINFLAGS) -O2 -Wall -D_FILE_OFFSET_BITS=64 -I/opt/local/include -I /usr/local/include -I/opt/local/include -g +CXXFLAGS=$(FATBINFLAGS) -O2 -Wall -D_FILE_OFFSET_BITS=64 -stdlib=libc++ -I/opt/local/include -I /usr/local/include -I/opt/local/include -g LIB_NAMES=crc32 support guid gptpart mbrpart basicmbr mbr gpt bsd parttypes attributes diskio diskio-unix MBR_LIBS=support diskio diskio-unix basicmbr mbrpart #LIB_SRCS=$(NAMES:=.cc) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/NEWS new/gptfdisk-1.0.5/NEWS --- old/gptfdisk-1.0.4/NEWS 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/NEWS 2020-02-17 23:34:11.000000000 +0100 @@ -1,3 +1,37 @@ +1.0.5 (2/17/2020): +------------------ + +- Fixed typos and minor formatting issues in man pages + +- Changed number of columns in type code output ("sgdisk -L" and equivalents + in gdisk and cgdisk) from 3 to 2, since some descriptions are long enough + that they're ambiguous with three columns. + +- Makefile change: Add $(LDLIBS) support to enable clean static builds (for + libintl). + +- You can now put the 0xEE partition last in a hybrid MBR using sgdisk. + (Previously, this was possible with gdisk but not with sgdisk.) See the + sgdisk man page for details. + +- Added numerous type codes for Container Linux, Veracrypt, and + Freedesktop.org's Discoverable Partitions Specification + +- Apple no longer supports building i386 or "fat" binaries in XCode (or if + they do, they're making it hard), so I've removed that support. GPT fdisk + macOS binaries are now x86-64 only. Similarly, building now seems to + require macOS 10.9 or later, so that's now the minimum macOS version. I've + also re-built my Mac build environment and tweaked Makefile.mac + appropriately. + +- Partition type name searches are now case-insensitive. + +- It's now possible to quit out of partition type name searches by typing + "q". + +- When changing a partition type code, the default is now the current + type code, not a platform-specific type code. + 1.0.4 (7/5/2018): ----------------- @@ -25,7 +59,9 @@ - Minor bug fix in alignment of internal data structures. -- Minor bug fix in handling of damaged disks. +- Minor bug fix in handling of damaged disks. Also, GPT fdisk now reports + more information on what data structures are damaged when a damaged disk + is detected. - Added type code for Apple APFS (7C3457EF-0000-11AA-AA11-00306543ECAC, 0xaf0a). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/README new/gptfdisk-1.0.5/README --- old/gptfdisk-1.0.4/README 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/README 2020-02-17 23:34:11.000000000 +0100 @@ -201,11 +201,16 @@ need to install a package called popt-dev, popt-devel, or something similar to obtain the header files. Mac OS users can find a version of popt for Mac OS from Darwin Ports (http://popt.darwinports.com), MacPorts - (https://trac.macports.org/browser/trunk/dports/devel/popt/Portfile), or - Fink (http://www.finkproject.org); however, you'll first need to install - DarwinPorts, MacPorts, or Fink (instructions exist on the relevant - projects' pages). Alternatively, you can compile gdisk and/or cgdisk - alone, without sgdisk; gdisk doesn't require popt. + (https://trac.macports.org/browser/trunk/dports/devel/popt/Portfile), Fink + (http://www.finkproject.org), or brew (http://macappstore.org/popt/); + however, you'll first need to install the relevant environment + (instructions exist on the relevant projects' pages). When I re-built my + Mac build environment in February of 2020, I found that brew was, by far, + the easiest of these to install. Some of the others seem to have been + abandoned, but I didn't investigate thoroughly. I'm leaving the references + in case they might be useful in the future. Instead of installing one of + These ports, you can compile gdisk and/or cgdisk alone, without sgdisk; + gdisk and cgdisk don't require popt. When all the necessary development tools and libraries are installed, you can uncompress the package and type "make" at the command prompt in the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/cgdisk.8 new/gptfdisk-1.0.5/cgdisk.8 --- old/gptfdisk-1.0.4/cgdisk.8 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/cgdisk.8 2020-02-17 23:34:11.000000000 +0100 @@ -1,6 +1,6 @@ -.\" Copyright 2011-2018 Roderick W. Smith (rodsm...@rodsbooks.com) +.\" Copyright 2011-2020 Roderick W. Smith (rodsm...@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "CGDISK" "8" "1.0.4" "Roderick W. Smith" "GPT fdisk Manual" +.TH "CGDISK" "8" "1.0.5" "Roderick W. Smith" "GPT fdisk Manual" .SH "NAME" cgdisk \- Curses-based GUID partition table (GPT) manipulator .SH "SYNOPSIS" @@ -181,7 +181,7 @@ physical sectors (such as modern Advanced Format drives), some RAID configurations, and many SSD devices, can suffer performance problems if partitions are not aligned properly for their internal data structures. On -new disks, GPT fdisk attempts to align partitions on 1MiB boundaries +new disks, GPT fdisk attempts to align partitions on 1 MiB boundaries (2048\-sectors on disks with 512-byte sectors) by default, which optimizes performance for all of these disk types. On pre\-partitioned disks, GPT fdisk attempts to identify the alignment value used on that disk, but will @@ -263,9 +263,9 @@ have one and \fBcgdisk\fR doesn't know it. If you don't know the type code for your partition, you can type \fBL\fR to see a list of known type codes. The type code list may optionally be filtered by a search string; for -instance, entering \fI\fBLinux\fR\fR shows only partition type codes with +instance, entering \fI\fBlinux\fR\fR shows only partition type codes with descriptions that include the string \fILinux\fR. This search is performed -case\-sensitively. +case\-insensitively. .TP .B Verify @@ -375,14 +375,14 @@ .SH "SEE ALSO" -\fBcfdisk (8)\fR, -\fBfdisk (8)\fR, -\fBgdisk (8)\fR, -\fBmkfs (8)\fR, -\fBparted (8)\fR, -\fBsfdisk (8)\fR -\fBsgdisk (8)\fR -\fBfixparts (8)\fR +.BR cfdisk (8), +.BR fdisk (8), +.BR gdisk (8), +.BR mkfs (8), +.BR parted (8), +.BR sfdisk (8), +.BR sgdisk (8), +.BR fixparts (8). \fIhttp://en.wikipedia.org/wiki/GUID_Partition_Table\fR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/cgdisk.html new/gptfdisk-1.0.5/cgdisk.html --- old/gptfdisk-1.0.4/cgdisk.html 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/cgdisk.html 2020-02-17 23:34:11.000000000 +0100 @@ -4,7 +4,7 @@ <HTML><HEAD><TITLE>Man page of CGDISK</TITLE> </HEAD><BODY> <H1>CGDISK</H1> -Section: GPT fdisk Manual (8)<BR>Updated: 1.0.4<BR><A HREF="#index">Index</A> +Section: GPT fdisk Manual (8)<BR>Updated: 1.0.5<BR><A HREF="#index">Index</A> <A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR> <A NAME="lbAB"> </A> @@ -222,7 +222,7 @@ physical sectors (such as modern Advanced Format drives), some RAID configurations, and many SSD devices, can suffer performance problems if partitions are not aligned properly for their internal data structures. On -new disks, GPT fdisk attempts to align partitions on 1MiB boundaries +new disks, GPT fdisk attempts to align partitions on 1 MiB boundaries (2048-sectors on disks with 512-byte sectors) by default, which optimizes performance for all of these disk types. On pre-partitioned disks, GPT fdisk attempts to identify the alignment value used on that disk, but will @@ -313,9 +313,9 @@ have one and <B>cgdisk</B> doesn't know it. If you don't know the type code for your partition, you can type <B>L</B> to see a list of known type codes. The type code list may optionally be filtered by a search string; for -instance, entering <I></I><B>Linux</B> shows only partition type codes with +instance, entering <I></I><B>linux</B> shows only partition type codes with descriptions that include the string <I>Linux</I>. This search is performed -case-sensitively. +case-insensitively. <P> <DT><B>Verify</B> @@ -445,14 +445,22 @@ <A NAME="lbAH"> </A> <H2>SEE ALSO</H2> -<B>cfdisk (8)</B>, -<B>fdisk (8)</B>, -<B>gdisk (8)</B>, -<B>mkfs (8)</B>, -<B>parted (8)</B>, -<B>sfdisk (8)</B> -<B>sgdisk (8)</B> -<B>fixparts (8)</B> +<B><A HREF="/cgi-bin/man/man2html?8+cfdisk">cfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+fdisk">fdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+gdisk">gdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+mkfs">mkfs</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+parted">parted</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+sfdisk">sfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+sgdisk">sgdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+fixparts">fixparts</A></B>(8). + <P> <I><A HREF="http://en.wikipedia.org/wiki/GUID_Partition_Table">http://en.wikipedia.org/wiki/GUID_Partition_Table</A></I> <P> @@ -483,6 +491,6 @@ This document was created by <A HREF="/cgi-bin/man/man2html">man2html</A>, using the manual pages.<BR> -Time: 20:19:46 GMT, July 05, 2018 +Time: 22:34:11 GMT, February 17, 2020 </BODY> </HTML> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/current.spec new/gptfdisk-1.0.5/current.spec --- old/gptfdisk-1.0.4/current.spec 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/current.spec 2020-02-17 23:34:11.000000000 +0100 @@ -1,12 +1,12 @@ Summary: GPT partitioning and MBR repair software Name: gptfdisk -Version: 1.0.4 +Version: 1.0.5 Release: 1%{?dist} License: GPLv2 URL: http://www.rodsbooks.com/gdisk Group: Applications/System -Source: http://www.rodsbooks.com/gdisk/gptfdisk-1.0.4.tar.gz +Source: http://www.rodsbooks.com/gdisk/gptfdisk-1.0.5.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %description @@ -81,5 +81,5 @@ %changelog -* Thu Jul 5 2018 R Smith <rodsm...@rodsbooks.com> - 1.0.4 -- Created spec file for 1.0.4 release +* Mon Feb 17 2020 R Smith <rodsm...@rodsbooks.com> - 1.0.5 +- Created spec file for 1.0.5 release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/fixparts.8 new/gptfdisk-1.0.5/fixparts.8 --- old/gptfdisk-1.0.4/fixparts.8 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/fixparts.8 2020-02-17 23:34:11.000000000 +0100 @@ -1,6 +1,6 @@ -.\" Copyright 2011-2018 Roderick W. Smith (rodsm...@rodsbooks.com) +.\" Copyright 2011-2020 Roderick W. Smith (rodsm...@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "FIXPARTS" "8" "1.0.4" "Roderick W. Smith" "FixParts Manual" +.TH "FIXPARTS" "8" "1.0.5" "Roderick W. Smith" "FixParts Manual" .SH "NAME" fixparts \- MBR partition table repair utility .SH "SYNOPSIS" @@ -264,14 +264,14 @@ .SH "SEE ALSO" -\fBcfdisk (8)\fR, -\fBcgdisk (8)\fR, -\fBfdisk (8)\fR, -\fBmkfs (8)\fR, -\fBparted (8)\fR, -\fBsfdisk (8)\fR -\fBgdisk (8)\fR -\fBsgdisk (8)\fR +.BR cfdisk (8), +.BR cgdisk (8), +.BR fdisk (8), +.BR mkfs (8), +.BR parted (8), +.BR sfdisk (8), +.BR gdisk (8), +.BR sgdisk (8). \fIhttp://en.wikipedia.org/wiki/Master_boot_record\fR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/fixparts.html new/gptfdisk-1.0.5/fixparts.html --- old/gptfdisk-1.0.4/fixparts.html 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/fixparts.html 2020-02-17 23:34:11.000000000 +0100 @@ -4,7 +4,7 @@ <HTML><HEAD><TITLE>Man page of FIXPARTS</TITLE> </HEAD><BODY> <H1>FIXPARTS</H1> -Section: FixParts Manual (8)<BR>Updated: 1.0.4<BR><A HREF="#index">Index</A> +Section: FixParts Manual (8)<BR>Updated: 1.0.5<BR><A HREF="#index">Index</A> <A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR> <A NAME="lbAB"> </A> @@ -321,14 +321,22 @@ <A NAME="lbAH"> </A> <H2>SEE ALSO</H2> -<B>cfdisk (8)</B>, -<B>cgdisk (8)</B>, -<B>fdisk (8)</B>, -<B>mkfs (8)</B>, -<B>parted (8)</B>, -<B>sfdisk (8)</B> -<B>gdisk (8)</B> -<B>sgdisk (8)</B> +<B><A HREF="/cgi-bin/man/man2html?8+cfdisk">cfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+cgdisk">cgdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+fdisk">fdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+mkfs">mkfs</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+parted">parted</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+sfdisk">sfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+gdisk">gdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+sgdisk">sgdisk</A></B>(8). + <P> <I><A HREF="http://en.wikipedia.org/wiki/Master_boot_record">http://en.wikipedia.org/wiki/Master_boot_record</A></I> <P> @@ -357,6 +365,6 @@ This document was created by <A HREF="/cgi-bin/man/man2html">man2html</A>, using the manual pages.<BR> -Time: 20:19:46 GMT, July 05, 2018 +Time: 22:34:11 GMT, February 17, 2020 </BODY> </HTML> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/gdisk.8 new/gptfdisk-1.0.5/gdisk.8 --- old/gptfdisk-1.0.4/gdisk.8 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/gdisk.8 2020-02-17 23:34:11.000000000 +0100 @@ -1,6 +1,6 @@ -.\" Copyright 2011-2018 Roderick W. Smith (rodsm...@rodsbooks.com) +.\" Copyright 2011-2020 Roderick W. Smith (rodsm...@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "GDISK" "8" "1.0.4" "Roderick W. Smith" "GPT fdisk Manual" +.TH "GDISK" "8" "1.0.5" "Roderick W. Smith" "GPT fdisk Manual" .SH "NAME" gdisk \- Interactive GUID partition table (GPT) manipulator .SH "SYNOPSIS" @@ -191,9 +191,9 @@ such as 0xa500 for a FreeBSD disklabel, 0xa501 for FreeBSD boot, 0xa502 for FreeBSD swap, and so on. Note that these two\-byte codes are unique to \fBgdisk\fR. The type code list may optionally be filtered by a search -string; for instance, entering \fI\fBLinux\fR\fR shows only partition type +string; for instance, entering \fI\fBlinux\fR\fR shows only partition type codes with descriptions that include the string \fILinux\fR. This search is -performed case\-sensitively. +performed case\-insensitively. .TP .B n @@ -216,7 +216,7 @@ .B o Clear out all partition data. This includes GPT header data, all partition definitions, and the protective MBR. The sector alignment -is reset to the default (1MB, or 2048 sectors on a disk with 512-byte +is reset to the default (1 MiB, or 2048 sectors on a disk with 512-byte sectors). .TP @@ -483,7 +483,7 @@ physical sectors (such as modern Advanced Format drives), some RAID configurations, and many SSD devices, can suffer performance problems if partitions are not aligned properly for their internal data structures. On -new disks, GPT fdisk attempts to align partitions on 1MiB boundaries +new disks, GPT fdisk attempts to align partitions on 1 MiB boundaries (2048\-sectors on disks with 512-byte sectors) by default, which optimizes performance for all of these disk types. On pre\-partitioned disks, GPT fdisk attempts to identify the alignment value used on that disk, but will @@ -679,14 +679,14 @@ .SH "SEE ALSO" -\fBcfdisk (8)\fR, -\fBcgdisk (8)\fR, -\fBfdisk (8)\fR, -\fBmkfs (8)\fR, -\fBparted (8)\fR, -\fBsfdisk (8)\fR -\fBsgdisk (8)\fR -\fBfixparts (8)\fR +.BR cfdisk (8), +.BR cgdisk (8), +.BR fdisk (8), +.BR mkfs (8), +.BR parted (8), +.BR sfdisk (8), +.BR sgdisk (8), +.BR fixparts (8). \fIhttp://en.wikipedia.org/wiki/GUID_Partition_Table\fR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/gdisk.html new/gptfdisk-1.0.5/gdisk.html --- old/gptfdisk-1.0.4/gdisk.html 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/gdisk.html 2020-02-17 23:34:11.000000000 +0100 @@ -4,7 +4,7 @@ <HTML><HEAD><TITLE>Man page of GDISK</TITLE> </HEAD><BODY> <H1>GDISK</H1> -Section: GPT fdisk Manual (8)<BR>Updated: 1.0.4<BR><A HREF="#index">Index</A> +Section: GPT fdisk Manual (8)<BR>Updated: 1.0.5<BR><A HREF="#index">Index</A> <A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR> <A NAME="lbAB"> </A> @@ -224,9 +224,9 @@ such as 0xa500 for a FreeBSD disklabel, 0xa501 for FreeBSD boot, 0xa502 for FreeBSD swap, and so on. Note that these two-byte codes are unique to <B>gdisk</B>. The type code list may optionally be filtered by a search -string; for instance, entering <I></I><B>Linux</B> shows only partition type +string; for instance, entering <I></I><B>linux</B> shows only partition type codes with descriptions that include the string <I>Linux</I>. This search is -performed case-sensitively. +performed case-insensitively. <P> <DT><B>n</B> @@ -251,7 +251,7 @@ <DD> Clear out all partition data. This includes GPT header data, all partition definitions, and the protective MBR. The sector alignment -is reset to the default (1MB, or 2048 sectors on a disk with 512-byte +is reset to the default (1 MiB, or 2048 sectors on a disk with 512-byte sectors). <P> <DT><B>p</B> @@ -564,7 +564,7 @@ physical sectors (such as modern Advanced Format drives), some RAID configurations, and many SSD devices, can suffer performance problems if partitions are not aligned properly for their internal data structures. On -new disks, GPT fdisk attempts to align partitions on 1MiB boundaries +new disks, GPT fdisk attempts to align partitions on 1 MiB boundaries (2048-sectors on disks with 512-byte sectors) by default, which optimizes performance for all of these disk types. On pre-partitioned disks, GPT fdisk attempts to identify the alignment value used on that disk, but will @@ -793,14 +793,22 @@ <A NAME="lbAH"> </A> <H2>SEE ALSO</H2> -<B>cfdisk (8)</B>, -<B>cgdisk (8)</B>, -<B>fdisk (8)</B>, -<B>mkfs (8)</B>, -<B>parted (8)</B>, -<B>sfdisk (8)</B> -<B>sgdisk (8)</B> -<B>fixparts (8)</B> +<B><A HREF="/cgi-bin/man/man2html?8+cfdisk">cfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+cgdisk">cgdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+fdisk">fdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+mkfs">mkfs</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+parted">parted</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+sfdisk">sfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+sgdisk">sgdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+fixparts">fixparts</A></B>(8). + <P> <I><A HREF="http://en.wikipedia.org/wiki/GUID_Partition_Table">http://en.wikipedia.org/wiki/GUID_Partition_Table</A></I> <P> @@ -831,6 +839,6 @@ This document was created by <A HREF="/cgi-bin/man/man2html">man2html</A>, using the manual pages.<BR> -Time: 20:19:46 GMT, July 05, 2018 +Time: 22:34:11 GMT, February 17, 2020 </BODY> </HTML> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/gptcl.cc new/gptfdisk-1.0.5/gptcl.cc --- old/gptfdisk-1.0.4/gptcl.cc 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/gptcl.cc 2020-02-17 23:34:11.000000000 +0100 @@ -86,7 +86,7 @@ {"first-aligned-in-largest", 'F', POPT_ARG_NONE, NULL, 'F', "show start of the largest free block, aligned", ""}, {"mbrtogpt", 'g', POPT_ARG_NONE, NULL, 'g', "convert MBR to GPT", ""}, {"randomize-guids", 'G', POPT_ARG_NONE, NULL, 'G', "randomize disk and partition GUIDs", ""}, - {"hybrid", 'h', POPT_ARG_STRING, &hybrids, 'h', "create hybrid MBR", "partnum[:partnum...]"}, + {"hybrid", 'h', POPT_ARG_STRING, &hybrids, 'h', "create hybrid MBR", "partnum[:partnum...][:EE]"}, {"info", 'i', POPT_ARG_INT, &infoPartNum, 'i', "show detailed information on partition", "partnum"}, {"move-main-table", 'j', POPT_ARG_INT, &mainTableLBA, 'j', "adjust the location of the main partition table", "sector"}, {"load-backup", 'l', POPT_ARG_STRING, &backupFile, 'l', "load GPT backup from file", "file"}, @@ -375,7 +375,7 @@ partNum = newPartNum; if ((partNum >= 0) && (partNum < (int) GetNumParts())) { typeHelper = GetString(typeCode, 2); - if ((typeHelper != (GUIDData) "00000000-0000-0000-0000-000000000000") && + if ((typeHelper != PartType::unusedPartType) && (ChangePartType(partNum, typeHelper))) { saveData = 1; } else { @@ -490,33 +490,47 @@ // Create a hybrid or regular MBR from GPT data structures int GPTDataCL::BuildMBR(char* argument, int isHybrid) { int numParts, allOK = 1, i, origPartNum; + int eeLast, mbrNum = 0; MBRPart newPart; BasicMBRData newMBR; if (argument != NULL) { numParts = CountColons(argument) + 1; + if (isHybrid) { + eeLast = GetString(argument, numParts) == "EE"; + if (eeLast) { + numParts--; + } + } + if (numParts <= (4 - isHybrid)) { newMBR.SetDisk(GetDisk()); for (i = 0; i < numParts; i++) { origPartNum = GetInt(argument, i + 1) - 1; if (IsUsedPartNum(origPartNum) && (partitions[origPartNum].IsSizedForMBR() == MBR_SIZED_GOOD)) { + mbrNum = i + (isHybrid && ! eeLast); newPart.SetInclusion(PRIMARY); newPart.SetLocation(operator[](origPartNum).GetFirstLBA(), operator[](origPartNum).GetLengthLBA()); newPart.SetStatus(0); newPart.SetType((uint8_t)(operator[](origPartNum).GetHexType() / 0x0100)); - newMBR.AddPart(i + isHybrid, newPart); + newMBR.AddPart(mbrNum, newPart); } else { cerr << "Original partition " << origPartNum + 1 << " does not exist or is too big! Aborting operation!\n"; allOK = 0; } // if/else } // for if (isHybrid) { + if (eeLast) { + mbrNum = i; + } else { + mbrNum = 0; + } newPart.SetInclusion(PRIMARY); newPart.SetLocation(1, newMBR.FindLastInFree(1)); newPart.SetStatus(0); newPart.SetType(0xEE); - newMBR.AddPart(0, newPart); + newMBR.AddPart(mbrNum, newPart); } // if if (allOK) SetProtectiveMBR(newMBR); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/gptcurses.cc new/gptfdisk-1.0.5/gptcurses.cc --- old/gptfdisk-1.0.4/gptcurses.cc 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/gptcurses.cc 2020-02-17 23:34:11.000000000 +0100 @@ -19,10 +19,15 @@ * */ +#include <clocale> #include <iostream> #include <string> #include <sstream> +#ifdef __APPLE__ #include <ncurses.h> +#else +#include <ncursesw/ncurses.h> +#endif #include "gptcurses.h" #include "support.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/gptpart.cc new/gptfdisk-1.0.5/gptpart.cc --- old/gptfdisk-1.0.4/gptpart.cc 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/gptpart.cc 2020-02-17 23:34:11.000000000 +0100 @@ -434,7 +434,7 @@ void GPTPart::ChangeType(void) { string line; int changeName; - PartType tempType = (GUIDData) "00000000-0000-0000-0000-000000000000"; + PartType tempType = PartType::unusedPartType; #ifdef USE_UTF16 changeName = (GetDescription() == GetUTypeName()); @@ -442,19 +442,19 @@ changeName = (GetDescription() == GetTypeName()); #endif - cout << "Current type is '" << GetTypeName() << "'\n"; + cout << "Current type is " << hex << GetHexType() << dec << " (" << GetTypeName() << ")\n"; do { - cout << "Hex code or GUID (L to show codes, Enter = " << hex << DEFAULT_GPT_TYPE << dec << "): "; + cout << "Hex code or GUID (L to show codes, Enter = " << hex << GetHexType() << dec << "): "; line = ReadString(); if ((line[0] == 'L') || (line[0] == 'l')) { partitionType.ShowAllTypes(); } else { if (line.length() == 0) - tempType = DEFAULT_GPT_TYPE; + tempType = GetHexType(); else tempType = line; } // if/else - } while (tempType == (GUIDData) "00000000-0000-0000-0000-000000000000"); + } while (tempType == PartType::unusedPartType); partitionType = tempType; cout << "Changed type of partition to '" << partitionType.TypeName() << "'\n"; if (changeName) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/parttypes.cc new/gptfdisk-1.0.5/parttypes.cc --- old/gptfdisk-1.0.4/parttypes.cc 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/parttypes.cc 2020-02-17 23:34:11.000000000 +0100 @@ -19,6 +19,11 @@ int PartType::numInstances = 0; AType* PartType::allTypes = NULL; AType* PartType::lastType = NULL; +const PartType PartType::unusedPartType = (GUIDData) "00000000-0000-0000-0000-000000000000"; + +#define SCREEN_WIDTH 80 +#define NUM_COLUMNS 2 +#define DESC_LENGTH (SCREEN_WIDTH - (6 * NUM_COLUMNS)) / NUM_COLUMNS // Constructor. Its main task is to initialize the data list, but only // if this is the first instance, since it's a static linked list. @@ -125,8 +130,8 @@ AddType(0x8200, "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F", "Linux swap"); // Linux swap (or Solaris on MBR) AddType(0x8300, "0FC63DAF-8483-4772-8E79-3D69D8477DE4", "Linux filesystem"); // Linux native AddType(0x8301, "8DA63339-0007-60C0-C436-083AC8230908", "Linux reserved"); - // See http://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html - // and http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/ + // See https://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html + // and https://systemd.io/DISCOVERABLE_PARTITIONS AddType(0x8302, "933AC7E1-2EB4-4F13-B844-0E14E2AEF915", "Linux /home"); // Linux /home (auto-mounted by systemd) AddType(0x8303, "44479540-F297-41B2-9AF7-D131D5F0458A", "Linux x86 root (/)"); // Linux / on x86 (auto-mounted by systemd) AddType(0x8304, "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709", "Linux x86-64 root (/)"); // Linux / on x86-64 (auto-mounted by systemd) @@ -135,10 +140,24 @@ AddType(0x8307, "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3", "Linux ARM32 root (/)"); // Linux / on 32-bit ARM (auto-mounted by systemd) AddType(0x8308, "7FFEC5C9-2D00-49B7-8941-3EA10A5586B7", "Linux dm-crypt"); AddType(0x8309, "CA7D7CCB-63ED-4C53-861C-1742536059CC", "Linux LUKS"); + AddType(0x830A, "993D8D3D-F80E-4225-855A-9DAF8ED7EA97", "Linux IA-64 root (/)"); // Linux / on Itanium (auto-mounted by systemd) + AddType(0x830B, "D13C5D3B-B5D1-422A-B29F-9454FDC89D76", "Linux x86 root verity"); + AddType(0x830C, "2C7357ED-EBD2-46D9-AEC1-23D437EC2BF5", "Linux x86-64 root verity"); + AddType(0x830D, "7386CDF2-203C-47A9-A498-F2ECCE45A2D6", "Linux ARM32 root verity"); + AddType(0x830E, "DF3300CE-D69F-4C92-978C-9BFB0F38D820", "Linux ARM64 root verity"); + AddType(0x830F, "86ED10D5-B607-45BB-8957-D350F23D0571", "Linux IA-64 root verity"); + AddType(0x8310, "4D21B016-B534-45C2-A9FB-5C16E091FD2D", "Linux /var"); // Linux /var (auto-mounted by systemd) + AddType(0x8311, "7EC6F557-3BC5-4ACA-B293-16EF5DF639D1", "Linux /var/tmp"); // Linux /var/tmp (auto-mounted by systemd) // Used by Intel Rapid Start technology AddType(0x8400, "D3BFE2DE-3DAF-11DF-BA40-E3A556D89593", "Intel Rapid Start"); + // Type codes for Container Linux (formerly CoreOS; https://coreos.com) + AddType(0x8500, "5DFBF5F4-2848-4BAC-AA5E-0D9A20B745A6", "Container Linux /usr"); + AddType(0x8501, "3884DD41-8582-4404-B9A8-E9B84F2DF50E", "Container Linux resizable rootfs"); + AddType(0x8502, "C95DC21A-DF0E-4340-8D7B-26CBFA9A03E0", "Container Linux /OEM customizations"); + AddType(0x8503, "BE9067B9-EA49-4F15-B4F6-F36F8C9E1818", "Container Linux root on RAID"); + // Another Linux type code.... AddType(0x8e00, "E6D6D379-F507-44C2-A23C-238F2A3DF928", "Linux LVM"); @@ -292,6 +311,9 @@ AddType(0xe100, "7412F7D5-A156-4B13-81DC-867174929325", "ONIE boot"); AddType(0xe101, "D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149", "ONIE config"); + // Veracrypt (https://www.veracrypt.fr/en/Home.html) encrypted partition + AddType(0xe900, "8C8F8EFF-AC95-4770-814A-21994F2DBC8F", "Veracrypt data"); + // See http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec AddType(0xea00, "BC13C2FF-59E6-4262-A352-B275FD6F7172", "Freedesktop $BOOT"); @@ -303,7 +325,7 @@ AddType(0xed01, "BFBFAFE7-A34F-448A-9A5B-6213EB736C22", "Lenovo system partition"); // EFI system and related partitions - AddType(0xef00, "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", "EFI System"); // Parted identifies these as having the "boot flag" set + AddType(0xef00, "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", "EFI system partition"); // Parted identifies these as having the "boot flag" set AddType(0xef01, "024DEE41-33E7-11D3-9D69-0008C781F39F", "MBR partition scheme"); // Used to nest MBR in GPT AddType(0xef02, "21686148-6449-6E6F-744E-656564454649", "BIOS boot partition"); // Used by GRUB @@ -509,23 +531,25 @@ cout.unsetf(ios::uppercase); if (maxLines > 0) { cout << "Type search string, or <Enter> to show all codes: "; - matchString = ReadString(); + matchString = ToLower(ReadString()); } // if while (thisType != NULL) { - found = thisType->name.find(matchString); + found = ToLower(thisType->name).find(matchString); if ((thisType->display == 1) && (found != string::npos)) { // show it cout.fill('0'); cout.width(4); cout << hex << thisType->MBRType << " "; - cout << thisType->name.substr(0, 20); - for (i = 0; i < (20 - (thisType->name.substr(0, 20).length())); i++) + cout << thisType->name.substr(0, DESC_LENGTH); + for (i = 0; i < (DESC_LENGTH - (thisType->name.substr(0, DESC_LENGTH).length())); i++) cout << " "; - if ((colCount % 3) == 0) { + if ((colCount % NUM_COLUMNS) == 0) { if (thisType->next) { cout << "\n"; if ((maxLines > 0) && (lineCount++ % maxLines) == 0) { - cout << "Press the <Enter> key to see more codes: "; + cout << "Press the <Enter> key to see more codes, q to quit: "; getline(cin, line); + if ((line[0] =='q') || (line[0] =='Q')) + break; } // if reached screen line limit } // if there's another entry following this one } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/parttypes.h new/gptfdisk-1.0.5/parttypes.h --- old/gptfdisk-1.0.4/parttypes.h 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/parttypes.h 2020-02-17 23:34:11.000000000 +0100 @@ -36,6 +36,9 @@ static AType* lastType; // Pointer to last entry in the list void AddAllTypes(void); public: + // PartType with GUID "00000000-0000-0000-0000-000000000000" + static const PartType unusedPartType; + PartType(void); PartType(const PartType & orig); PartType(const GUIDData & orig); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/sgdisk.8 new/gptfdisk-1.0.5/sgdisk.8 --- old/gptfdisk-1.0.4/sgdisk.8 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/sgdisk.8 2020-02-17 23:34:11.000000000 +0100 @@ -1,6 +1,6 @@ -.\" Copyright 2011-2018 Roderick W. Smith (rodsm...@rodsbooks.com) +.\" Copyright 2011-2020 Roderick W. Smith (rodsm...@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "SGDISK" "8" "1.0.4" "Roderick W. Smith" "GPT fdisk Manual" +.TH "SGDISK" "8" "1.0.5" "Roderick W. Smith" "GPT fdisk Manual" .SH "NAME" sgdisk \- Command\-line GUID partition table (GPT) manipulator for Linux and Unix .SH "SYNOPSIS" @@ -150,7 +150,7 @@ .TP .B \-a, \-\-set\-alignment=value Set the sector alignment multiple. GPT fdisk aligns the start of partitions -to sectors that are multiples of this value, which defaults to 1MiB (2048 +to sectors that are multiples of this value, which defaults to 1 MiB (2048 on disks with 512-byte sectors) on freshly formatted disks. This alignment value is necessary to obtain optimum performance with Western Digital Advanced Format and similar drives with larger physical than logical sector @@ -219,7 +219,7 @@ with the \-a option. .TP -.B e, \-\-move\-second\-header +.B \-e, \-\-move\-second\-header Move backup GPT data structures to the end of the disk. Use this option if you've added disks to a RAID array, thus creating a virtual disk with space that follows the backup GPT data structures. This command moves the backup @@ -264,13 +264,13 @@ .TP .B \-h, \-\-hybrid Create a hybrid MBR. This option takes from one to three partition numbers, -separated by colons, as arguments. The created hybrid MBR places an EFI GPT -(type 0xEE) partition first in the table, followed by the partition(s) you -specify. Their type codes are based on the GPT fdisk type codes divided by -0x0100, which is usually correct for Windows partitions. If the -active/bootable flag should be set, you must do so in another program, such -as \fBfdisk\fR. The \fBgdisk\fR program offers additional hybrid MBR -creation options. +separated by colons, as arguments. You may optionally specify a final partition +"EE" to indicate that the EFI GPT (type 0xEE) should be placed last in the table, +otherwise it will be placed first, followed by the partition(s) you specify. +Their type codes are based on the GPT fdisk type codes divided by 0x0100, which +is usually correct for Windows partitions. If the active/bootable flag should +be set, you must do so in another program, such as \fBfdisk\fR. The \fBgdisk\fR +program offers additional hybrid MBR creation options. .TP .B \-i, \-\-info=partnum @@ -599,14 +599,14 @@ .SH "SEE ALSO" -\fBcfdisk (8)\fR, -\fBcgdisk (8)\fR, -\fBfdisk (8)\fR, -\fBgdisk (8)\fR, -\fBmkfs (8)\fR, -\fBparted (8)\fR, -\fBsfdisk (8)\fR -\fBfixparts (8)\fR +.BR cfdisk (8), +.BR cgdisk (8), +.BR fdisk (8), +.BR gdisk (8), +.BR mkfs (8), +.BR parted (8), +.BR sfdisk (8), +.BR fixparts (8). \fIhttp://en.wikipedia.org/wiki/GUID_Partition_Table\fR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/sgdisk.html new/gptfdisk-1.0.5/sgdisk.html --- old/gptfdisk-1.0.4/sgdisk.html 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/sgdisk.html 2020-02-17 23:34:11.000000000 +0100 @@ -4,7 +4,7 @@ <HTML><HEAD><TITLE>Man page of SGDISK</TITLE> </HEAD><BODY> <H1>SGDISK</H1> -Section: GPT fdisk Manual (8)<BR>Updated: 1.0.4<BR><A HREF="#index">Index</A> +Section: GPT fdisk Manual (8)<BR>Updated: 1.0.5<BR><A HREF="#index">Index</A> <A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR> <A NAME="lbAB"> </A> @@ -175,7 +175,7 @@ <DD> Set the sector alignment multiple. GPT fdisk aligns the start of partitions -to sectors that are multiples of this value, which defaults to 1MiB (2048 +to sectors that are multiples of this value, which defaults to 1 MiB (2048 on disks with 512-byte sectors) on freshly formatted disks. This alignment value is necessary to obtain optimum performance with Western Digital Advanced Format and similar drives with larger physical than logical sector @@ -249,7 +249,7 @@ of the sector value reported by this option. You can change the alignment value with the -a option. <P> -<DT><B>e, --move-second-header</B> +<DT><B>-e, --move-second-header</B> <DD> Move backup GPT data structures to the end of the disk. Use this option if @@ -302,13 +302,13 @@ <DD> Create a hybrid MBR. This option takes from one to three partition numbers, -separated by colons, as arguments. The created hybrid MBR places an EFI GPT -(type 0xEE) partition first in the table, followed by the partition(s) you -specify. Their type codes are based on the GPT fdisk type codes divided by -0x0100, which is usually correct for Windows partitions. If the -active/bootable flag should be set, you must do so in another program, such -as <B>fdisk</B>. The <B>gdisk</B> program offers additional hybrid MBR -creation options. +separated by colons, as arguments. You may optionally specify a final partition +"EE" to indicate that the EFI GPT (type 0xEE) should be placed last in the table, +otherwise it will be placed first, followed by the partition(s) you specify. +Their type codes are based on the GPT fdisk type codes divided by 0x0100, which +is usually correct for Windows partitions. If the active/bootable flag should +be set, you must do so in another program, such as <B>fdisk</B>. The <B>gdisk</B> +program offers additional hybrid MBR creation options. <P> <DT><B>-i, --info=partnum</B> @@ -691,14 +691,22 @@ <A NAME="lbAI"> </A> <H2>SEE ALSO</H2> -<B>cfdisk (8)</B>, -<B>cgdisk (8)</B>, -<B>fdisk (8)</B>, -<B>gdisk (8)</B>, -<B>mkfs (8)</B>, -<B>parted (8)</B>, -<B>sfdisk (8)</B> -<B>fixparts (8)</B> +<B><A HREF="/cgi-bin/man/man2html?8+cfdisk">cfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+cgdisk">cgdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+fdisk">fdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+gdisk">gdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+mkfs">mkfs</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+parted">parted</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+sfdisk">sfdisk</A></B>(8), + +<B><A HREF="/cgi-bin/man/man2html?8+fixparts">fixparts</A></B>(8). + <P> <I><A HREF="http://en.wikipedia.org/wiki/GUID_Partition_Table">http://en.wikipedia.org/wiki/GUID_Partition_Table</A></I> <P> @@ -730,6 +738,6 @@ This document was created by <A HREF="/cgi-bin/man/man2html">man2html</A>, using the manual pages.<BR> -Time: 20:19:46 GMT, July 05, 2018 +Time: 22:34:11 GMT, February 17, 2020 </BODY> </HTML> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/support.cc new/gptfdisk-1.0.5/support.cc --- old/gptfdisk-1.0.4/support.cc 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/support.cc 2020-02-17 23:34:11.000000000 +0100 @@ -8,7 +8,9 @@ #define __STDC_LIMIT_MACROS #define __STDC_CONSTANT_MACROS +#define __STDC_FORMAT_MACROS +#include <inttypes.h> #include <stdio.h> #include <stdint.h> #include <errno.h> @@ -16,6 +18,8 @@ #include <string.h> #include <sys/stat.h> #include <string> +#include <cctype> +#include <algorithm> #include <iostream> #include <sstream> #include "support.h" @@ -55,6 +59,7 @@ string ReadString(void) { string inString; + cout << flush; getline(cin, inString); if (!cin.good()) exit(5); @@ -73,11 +78,11 @@ if (low != high) { // bother only if low and high differ... do { - cout << prompt; + cout << prompt << flush; cin.getline(line, 255); if (!cin.good()) exit(5); - num = sscanf(line, "%lld", &response); + num = sscanf(line, "%" PRIu64, &response); if (num == 1) { // user provided a response if ((response < low) || (response > high)) cout << "Value out of range\n"; @@ -101,7 +106,7 @@ do { if ( again ) { cout << "Your option? " ; } again = 1 ; - cout << "(Y/N): "; + cout << "(Y/N): " << flush; line = ReadString(); response = toupper(line[0]); } while ((response != 'Y') && (response != 'N')); @@ -357,3 +362,11 @@ exit(0); #endif } // WinWarning() + +// Returns the input string in lower case +string ToLower(const string& input) { + string lower = input; // allocate correct size through copy + + transform(input.begin(), input.end(), lower.begin(), ::tolower); + return lower; +} // ToLower() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gptfdisk-1.0.4/support.h new/gptfdisk-1.0.5/support.h --- old/gptfdisk-1.0.4/support.h 2018-07-05 22:19:46.000000000 +0200 +++ new/gptfdisk-1.0.5/support.h 2020-02-17 23:34:11.000000000 +0100 @@ -8,7 +8,7 @@ #ifndef __GPTSUPPORT #define __GPTSUPPORT -#define GPTFDISK_VERSION "1.0.4" +#define GPTFDISK_VERSION "1.0.5" #if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__) // Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no lseek64 @@ -82,5 +82,6 @@ int IsLittleEndian(void); // Returns 1 if CPU is little-endian, 0 if it's big-endian void ReverseBytes(void* theValue, int numBytes); // Reverses byte-order of theValue void WinWarning(void); +string ToLower(const string& input); #endif