diff options
author | kensmith <kensmith@FreeBSD.org> | 2008-10-22 20:32:19 +0000 |
---|---|---|
committer | kensmith <kensmith@FreeBSD.org> | 2008-10-22 20:32:19 +0000 |
commit | 35e9ca22084b643e051290ffba87f7eea210b0a9 (patch) | |
tree | b06855e34514c938a1735bddda533215b51640fb /usr.sbin/sysinstall | |
parent | 2555b247d999e21d5e98c5b9dc12cecd747104ad (diff) | |
download | FreeBSD-src-35e9ca22084b643e051290ffba87f7eea210b0a9.zip FreeBSD-src-35e9ca22084b643e051290ffba87f7eea210b0a9.tar.gz |
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
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 2f416a2..212b654 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; } |