Module Name: src Committed By: martin Date: Wed Jun 12 06:20:23 UTC 2019
Modified Files: src/usr.sbin/sysinst: Makefile.inc aout2elf.c bsddisklabel.c configmenu.c defs.h defsizes.h disks.c geom.c install.c label.c main.c mbr.c mbr.h menus.mi menus.pm msg.mbr.de msg.mbr.en msg.mbr.es msg.mbr.fr msg.mbr.pl msg.mi.de msg.mi.en msg.mi.es msg.mi.fr msg.mi.pl net.c partman.c sizemultname.c target.c upgrade.c util.c wskbd.c src/usr.sbin/sysinst/arch/acorn32: md.c src/usr.sbin/sysinst/arch/alpha: md.c src/usr.sbin/sysinst/arch/amd64: Makefile md.h src/usr.sbin/sysinst/arch/amiga: md.c src/usr.sbin/sysinst/arch/arc: Makefile md.c md.h src/usr.sbin/sysinst/arch/atari: Makefile md.c src/usr.sbin/sysinst/arch/bebox: Makefile md.c src/usr.sbin/sysinst/arch/cats: md.c src/usr.sbin/sysinst/arch/cobalt: Makefile md.c md.h src/usr.sbin/sysinst/arch/dummy: md.c src/usr.sbin/sysinst/arch/emips: md.c src/usr.sbin/sysinst/arch/evbarm: Makefile md.c md.h src/usr.sbin/sysinst/arch/evbmips: Makefile md.c src/usr.sbin/sysinst/arch/evbppc: Makefile md.c src/usr.sbin/sysinst/arch/evbsh3: md.c src/usr.sbin/sysinst/arch/ews4800mips: md.c md.h src/usr.sbin/sysinst/arch/hp300: md.c md.h msg.md.en src/usr.sbin/sysinst/arch/hpcarm: Makefile md.c src/usr.sbin/sysinst/arch/hpcmips: Makefile md.c src/usr.sbin/sysinst/arch/hpcsh: Makefile md.c src/usr.sbin/sysinst/arch/hppa: md.c src/usr.sbin/sysinst/arch/i386: Makefile md.c md.h src/usr.sbin/sysinst/arch/landisk: Makefile md.c src/usr.sbin/sysinst/arch/luna68k: md.c md.h src/usr.sbin/sysinst/arch/mac68k: Makefile md.c menus.md.de menus.md.en menus.md.es menus.md.pl msg.md.de msg.md.en msg.md.es msg.md.pl src/usr.sbin/sysinst/arch/macppc: md.c src/usr.sbin/sysinst/arch/mipsco: md.c src/usr.sbin/sysinst/arch/mvme68k: md.c src/usr.sbin/sysinst/arch/news68k: md.c src/usr.sbin/sysinst/arch/newsmips: md.c src/usr.sbin/sysinst/arch/ofppc: Makefile md.c md.h src/usr.sbin/sysinst/arch/playstation2: Makefile md.c src/usr.sbin/sysinst/arch/pmax: md.c src/usr.sbin/sysinst/arch/prep: Makefile md.c md.h src/usr.sbin/sysinst/arch/sandpoint: Makefile md.c src/usr.sbin/sysinst/arch/sgimips: md.c md.h src/usr.sbin/sysinst/arch/shark: md.c src/usr.sbin/sysinst/arch/sparc: md.c src/usr.sbin/sysinst/arch/sparc64: md.c md.h src/usr.sbin/sysinst/arch/vax: md.c src/usr.sbin/sysinst/arch/x68k: md.c src/usr.sbin/sysinst/arch/zaurus: Makefile md.c Added Files: src/usr.sbin/sysinst: disklabel.c gpt.c gpt_uuid.c msg.pm.de msg.pm.en msg.pm.es msg.pm.fr msg.pm.pl part_edit.c partitions.c partitions.h Removed Files: src/usr.sbin/sysinst: menus.mbr savenewlabel.c Log Message: Rework internal data structures and "interfaces to user interface" functions to get rid of all disklabel assumptions. Previously (even for GPT partitioning) struct disklabel was used, which obviously breaks large disk setups. Also many MD parts and parts of the user interface assumed (a) a struct disklabel is used internally to store partitioning information and (b) partitions are named 'a' ... $MAXPART. Get rid of this and replace it with a quite abstract interface that should be able to deal with all variants in partition storage: - partitions are stored in a (partly abstract) struct disk_partitions and most parts of it are only accessed via accessor functions provided by a "partitioning scheme". - implement partitioning schemes for MBR, disklabel and GPT (with likely RDB [amiga] and Apple Partition Map [mac*] to follow soon) - partitioning schemes may be cascaded, e.g. on x86 when using MBR as "outer partitions", we have disklabel as "inner partitions". - all user interface goes via accessor functions in the partitioning scheme, some of which return pointers to special user interface descriptors (e.g. to allow editing partition flags, which are scheme specific) Overall the user interface changes (in this initial step) are minimal but noticable. A new Anita is needed for automatic test setups - many thanks to Andreas Gustafsson for lots of early testing and a new Anita version, and to Manuel Bouyer for cooperation and tests of the Anita release. This work was sponsored by The NetBSD Foundation, Inc. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/usr.sbin/sysinst/Makefile.inc cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/aout2elf.c \ src/usr.sbin/sysinst/geom.c src/usr.sbin/sysinst/mbr.h \ src/usr.sbin/sysinst/menus.pm src/usr.sbin/sysinst/wskbd.c cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/bsddisklabel.c cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/configmenu.c \ src/usr.sbin/sysinst/install.c src/usr.sbin/sysinst/msg.mbr.fr cvs rdiff -u -r1.33 -r1.34 src/usr.sbin/sysinst/defs.h cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/defsizes.h \ src/usr.sbin/sysinst/msg.mbr.de src/usr.sbin/sysinst/msg.mbr.en \ src/usr.sbin/sysinst/msg.mbr.es src/usr.sbin/sysinst/msg.mbr.pl cvs rdiff -u -r0 -r1.1 src/usr.sbin/sysinst/disklabel.c \ src/usr.sbin/sysinst/gpt.c src/usr.sbin/sysinst/gpt_uuid.c \ src/usr.sbin/sysinst/msg.pm.de src/usr.sbin/sysinst/msg.pm.en \ src/usr.sbin/sysinst/msg.pm.es src/usr.sbin/sysinst/msg.pm.fr \ src/usr.sbin/sysinst/msg.pm.pl src/usr.sbin/sysinst/part_edit.c \ src/usr.sbin/sysinst/partitions.c src/usr.sbin/sysinst/partitions.h cvs rdiff -u -r1.29 -r1.30 src/usr.sbin/sysinst/disks.c cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/label.c \ src/usr.sbin/sysinst/upgrade.c cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/sysinst/main.c \ src/usr.sbin/sysinst/msg.mi.en cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/sysinst/mbr.c cvs rdiff -u -r1.1 -r0 src/usr.sbin/sysinst/menus.mbr cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/sysinst/menus.mi cvs rdiff -u -r1.11 -r1.12 src/usr.sbin/sysinst/msg.mi.de \ src/usr.sbin/sysinst/msg.mi.es cvs rdiff -u -r1.14 -r1.15 src/usr.sbin/sysinst/msg.mi.fr cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/sysinst/msg.mi.pl cvs rdiff -u -r1.26 -r1.27 src/usr.sbin/sysinst/net.c cvs rdiff -u -r1.31 -r1.32 src/usr.sbin/sysinst/partman.c cvs rdiff -u -r1.4 -r0 src/usr.sbin/sysinst/savenewlabel.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/sizemultname.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/target.c cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/sysinst/util.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/acorn32/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/alpha/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/amd64/Makefile cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/amd64/md.h cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/amiga/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/arc/Makefile cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/arc/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/arc/md.h cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/atari/Makefile \ src/usr.sbin/sysinst/arch/atari/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/bebox/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/bebox/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/cats/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/cobalt/Makefile cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/cobalt/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/cobalt/md.h cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/dummy/md.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/emips/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/evbarm/Makefile \ src/usr.sbin/sysinst/arch/evbarm/md.h cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/evbarm/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/evbmips/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/evbmips/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/evbppc/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/evbppc/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/evbsh3/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/ews4800mips/md.c \ src/usr.sbin/sysinst/arch/ews4800mips/md.h cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/hp300/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/hp300/md.h cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/hp300/msg.md.en cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/hpcarm/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/hpcarm/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/hpcmips/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/hpcmips/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/hpcsh/Makefile cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/hpcsh/md.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/hppa/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/i386/Makefile cvs rdiff -u -r1.14 -r1.15 src/usr.sbin/sysinst/arch/i386/md.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/i386/md.h cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/landisk/Makefile cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/landisk/md.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/luna68k/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/luna68k/md.h cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/mac68k/Makefile \ src/usr.sbin/sysinst/arch/mac68k/msg.md.de \ src/usr.sbin/sysinst/arch/mac68k/msg.md.en \ src/usr.sbin/sysinst/arch/mac68k/msg.md.es \ src/usr.sbin/sysinst/arch/mac68k/msg.md.pl cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/mac68k/md.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/mac68k/menus.md.de \ src/usr.sbin/sysinst/arch/mac68k/menus.md.en \ src/usr.sbin/sysinst/arch/mac68k/menus.md.es \ src/usr.sbin/sysinst/arch/mac68k/menus.md.pl cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/macppc/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/mipsco/md.c cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/mvme68k/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/news68k/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/newsmips/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/ofppc/Makefile cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/ofppc/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/ofppc/md.h cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/playstation2/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/playstation2/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/pmax/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/prep/Makefile cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/prep/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/prep/md.h cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/sandpoint/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/sandpoint/md.c cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/arch/sgimips/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/sgimips/md.h cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/shark/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/sparc/md.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/sparc64/md.c \ src/usr.sbin/sysinst/arch/sparc64/md.h cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/vax/md.c cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/x68k/md.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/zaurus/Makefile cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/zaurus/md.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.