diff options
author | kensmith <kensmith@FreeBSD.org> | 2008-10-15 15:54:33 +0000 |
---|---|---|
committer | kensmith <kensmith@FreeBSD.org> | 2008-10-15 15:54:33 +0000 |
commit | eac902752f91c88724dc3b620b50267b52224651 (patch) | |
tree | 2fb9c691624d6bed4d63f6de66158f4b4c8d9c80 /usr.sbin/sysinstall/globals.c | |
parent | 10790fab265752c54b693cf1890e8c1a83c77a0b (diff) | |
download | FreeBSD-src-eac902752f91c88724dc3b620b50267b52224651.zip FreeBSD-src-eac902752f91c88724dc3b620b50267b52224651.tar.gz |
Package installation is handled by starting off with the list of packages
the user selected and then recursively installing their dependencies, finally
installing the ones the user selected after the recursion unwinds. Since
users often select "high-level" packages that are on a higher numbered
disc for the multi-volume release CDROMS this resulted in excessive disc
swapping while installing things like kde, gnome, etc.
Cut down on disc swapping by iterating through the disc volumes one at a
time if we notice the package set is on multiple volumes. If a package
is on a higher volume don't install it yet, but still "process it" so we
get its dependencies installed. Because of the way the package sets for
releases get assembled we're guaranteed dependencies will be on the same
volume or lower.
Reviewed by: jhb
MFC after: 1 week
Diffstat (limited to 'usr.sbin/sysinstall/globals.c')
-rw-r--r-- | usr.sbin/sysinstall/globals.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/usr.sbin/sysinstall/globals.c b/usr.sbin/sysinstall/globals.c index 892d852..9119c15 100644 --- a/usr.sbin/sysinstall/globals.c +++ b/usr.sbin/sysinstall/globals.c @@ -48,10 +48,13 @@ Boolean DialogActive; /* Is libdialog initialized? */ Boolean ColorDisplay; /* Are we on a color display? */ Boolean OnVTY; /* Are we on a VTY? */ Boolean Restarting; /* Are we restarting sysinstall? */ +Boolean have_volumes; /* Media has more than one volume. */ Variable *VarHead; /* The head of the variable chain */ Device *mediaDevice; /* Where we're installing from */ int BootMgr; /* Which boot manager we're using */ int StatusLine; /* Where to stick our status messages */ +int low_volume; /* Lowest volume number */ +int high_volume; /* Highest volume number */ jmp_buf BailOut; /* Beam me up, scotty! The natives are pissed! */ Chunk *HomeChunk; |