diff options
author | Ken Smith <kensmith@FreeBSD.org> | 2008-10-22 20:32:19 +0000 |
---|---|---|
committer | Ken Smith <kensmith@FreeBSD.org> | 2008-10-22 20:32:19 +0000 |
commit | 76fe8e96f16862c970c6e013c24f42fdfdd78c46 (patch) | |
tree | b06855e34514c938a1735bddda533215b51640fb /usr.sbin/sysinstall | |
parent | 924b35eba034f11d70aac2a5617b8280561573da (diff) |
Turns out its not a good idea to assume the packages that might be
selected from the "dists" are all on the current volume. Looks like
xorg won't fit on disc1 for 6.4-REL. Iterate through media volumes
for packages that wind up being selected from the dists section in
addition to the ones that get selected from the packages menu.
MFC after: 2 days
Notes
Notes:
svn path=/head/; revision=184180
Diffstat (limited to 'usr.sbin/sysinstall')
-rw-r--r-- | usr.sbin/sysinstall/package.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/usr.sbin/sysinstall/package.c b/usr.sbin/sysinstall/package.c index 2f416a2d6618..212b654b4606 100644 --- a/usr.sbin/sysinstall/package.c +++ b/usr.sbin/sysinstall/package.c @@ -55,7 +55,7 @@ int package_add(char *name) { PkgNodePtr tmp; - int i; + int i, current, low, high; if (!mediaVerify()) return DITEM_FAILURE; @@ -68,9 +68,16 @@ package_add(char *name) return i; tmp = index_search(&Top, name, &tmp); - if (tmp) - return index_extract(mediaDevice, &Top, tmp, FALSE, 0); - else { + if (tmp) { + if (have_volumes) { + low = low_volume; + high = high_volume; + } else + low = high = 0; + for (current = low; current <= high; current++) + i = index_extract(mediaDevice, &Top, tmp, FALSE, current); + return i; + } else { msgConfirm("Sorry, package %s was not found in the INDEX.", name); return DITEM_FAILURE; } |