summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorkensmith <kensmith@FreeBSD.org>2008-10-22 20:32:19 +0000
committerkensmith <kensmith@FreeBSD.org>2008-10-22 20:32:19 +0000
commit35e9ca22084b643e051290ffba87f7eea210b0a9 (patch)
treeb06855e34514c938a1735bddda533215b51640fb /usr.sbin
parent2555b247d999e21d5e98c5b9dc12cecd747104ad (diff)
downloadFreeBSD-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')
-rw-r--r--usr.sbin/sysinstall/package.c15
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;
}
OpenPOWER on IntegriCloud