setup 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686
  1. #!/bin/sh
  2. # The `multicd' package was initially written by Heiko Schlittermann
  3. # <heiko@lotte.sax.de> based on builtin access methods written by Ian
  4. # Jackson <ian@chiark.greenend.org.uk>. The final packaging as well as
  5. # cleanups were made by Martin Schulze <joey@infodrom.north.de> who also
  6. # put this package together for the slink release (Debian GNU/Linux
  7. # 2.1).
  8. # Copyright (C) 1995-98 Ian Jackson <ian@chiark.greenend.org.uk>
  9. # Copyright (C) 1998 Heiko Schlittermann <heiko@lotte.sax.de>
  10. #
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; version 2 dated June, 1991.
  14. #
  15. # This program is distributed in the hope that it will be useful,
  16. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. # GNU General Public License for more details.
  19. #
  20. # You should have received a copy of the GNU General Public License
  21. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  22. set -e
  23. vardir="$1"
  24. method=$2
  25. option=$3
  26. test -d "$vardir/methods/$method" || mkdir "$vardir/methods/$method"
  27. cd "$vardir/methods/$method"
  28. tp=/tmp/ddm$$
  29. iarch=`dpkg --print-architecture`
  30. dist=stable
  31. xit=1
  32. trap '
  33. rm -f $tp.?
  34. if [ -n "$umount" ]
  35. then
  36. umount "$umount" >/dev/null 2>&1
  37. fi
  38. exit $xit
  39. ' 0
  40. if ls -d "$tp.?" >/dev/null 2>&1
  41. then
  42. rm $tp.?
  43. fi
  44. #debug() { echo "DEBUG: $@"; }
  45. debug() { true; }
  46. ismulti() { debug $1 $2; test -e "$1/.disk/info" || test -e "$1$2/.disk/info"; }
  47. # 1/ mountpoint
  48. # 2/ hierarchy
  49. getdisklabel () {
  50. debug "$1" "$2"
  51. if [ -f $1/.disk/info ]
  52. then
  53. echo -n `head -1 "$1/.disk/info"`
  54. else
  55. if [ -f $1$2/.disk/info ]
  56. then
  57. echo -n `head -1 "$1$2/.disk/info"`
  58. else
  59. echo -n 'Non-Debian disc'
  60. fi
  61. fi
  62. }
  63. yesno () {
  64. while true
  65. do
  66. echo -n "$2 [$1] "
  67. read response
  68. if [ -z "$response" ]
  69. then
  70. response="$1"
  71. fi
  72. case "$response" in
  73. [Nn]*) yesno=no ; return ;;
  74. [Yy]*) yesno=yes ; return ;;
  75. esac
  76. done
  77. }
  78. getblockdev () {
  79. mountpoint="$vardir/methods/mnt"
  80. if [ -z "$defaultdevice" ]
  81. then
  82. defaultdevice="$newdefaultdevice"
  83. elif [ "$defaultdevice" != "$newdefaultdevice" ]
  84. then
  85. echo \
  86. "Last time you specified installation from $defaultdevice."
  87. fi
  88. promptstring="$1"
  89. while [ -z "$blockdevice" ]
  90. do
  91. echo -n "$promptstring [$defaultdevice]: "
  92. read response
  93. if [ -z "$response" ]
  94. then
  95. response="$defaultdevice"
  96. fi
  97. if [ ! -b "$response" ]
  98. then
  99. echo "$response is not a block device - will try as loopback.";
  100. loop=",loop"
  101. fi
  102. tryblockdevice="$response"
  103. if [ $option = multi_cd ]
  104. then
  105. fstype=iso9660
  106. elif [ $option = harddisk2 ]
  107. then
  108. blockbase="`echo \"$tryblockdevice\" | sed -e 's/[0-9]\{1,\}$//'`"
  109. set +e
  110. printf 'p\nq\n' | fdisk "$blockbase" 2>/dev/null >$tp.f
  111. set -e
  112. proposeddevice="$tryblockdevice" perl -ne '
  113. next unless /^ *Device +Boot +Begin +Start +End +Blocks +Id +System *$/i .. !/\S/;
  114. next unless s:^/\S+:: && $& eq $ENV{"proposeddevice"};
  115. next unless s/^ +(\* +)?\d+ +\d+ +\d+ +\d+\+? +//;
  116. next unless m/^([0-9a-f]{1,2}) /i;
  117. %types= ( "1","msdos", "4","msdos", "6","msdos", "7","hpfs", "80","minix",
  118. "81","minix", "83","ext2" );
  119. print $types{$1}; exit(0); ' <$tp.f >$tp.m
  120. defaultfstype="`cat $tp.m`"
  121. if [ -n "$defaultfstype" ]
  122. then
  123. cat <<END
  124. The partition table for $blockbase claims that $tryblockdevice
  125. contains filesystem type $defaultfstype.
  126. END
  127. if ! grep " $defaultfstype$" /proc/filesystems >/dev/null
  128. then
  129. echo \
  130. "Your kernel does not appear to support that filesystem type."
  131. defaultfstype=""
  132. fi
  133. fi
  134. echo -n "Supported filesystems: "
  135. sed -e 's/^.* / /' /proc/filesystems | tr '\n' ' '
  136. echo -n "
  137. Enter filesystem type (for $tryblockdevice) [$defaultfstype]: "
  138. read fstype
  139. if [ -z "$fstype" ]
  140. then
  141. fstype="$defaultfstype"
  142. fi
  143. fi
  144. umount="$mountpoint"
  145. if mount -rt "$fstype" -o nosuid,nodev$loop "$tryblockdevice" "$mountpoint"
  146. then
  147. echo
  148. blockdevice="$tryblockdevice"
  149. else
  150. umount=""
  151. echo \
  152. "Unable to mount $tryblockdevice on $mountpoint, type $fstype."
  153. fi
  154. done
  155. }
  156. outputparam () {
  157. echo "$2" | sed -e "s/'/'\\\\''/; s/^/$1='/; s/$/'/" >&3
  158. }
  159. ## MAIN
  160. intrkey="`stty -a | sed -n 's/.*intr = \([^;]*\);.*/\1/p'`"
  161. echo "
  162. If you make a mistake, use the interrupt key ($intrkey) to abort.
  163. "
  164. # State variables, `best first'
  165. # {main,ctb,nf,nonus,nonusctb,nonusnf,lcl}_{packages,binary}
  166. # Empty before we've found them or if they're not available,
  167. # set to the relevant bit under mountpoint otherwise.
  168. # hierbase
  169. # A directory containing a Debian FTP site mirror tree.
  170. # mountpoint
  171. # The mountpoint for the filesystem containing the stuff
  172. # empty or unset if we don't know yet, or if we haven't mounted anything;
  173. # may also be empty if `directory' was set.
  174. # blockdevice
  175. # The actual block device to mount.
  176. # fstype
  177. # The filesystem type to use.
  178. # defaultdevice
  179. # The default block device to mount.
  180. p_usedevel=no
  181. if [ -f shvar.$option ]
  182. then
  183. . ./shvar.$option
  184. defaultdevice="$p_blockdev"
  185. defaultnfsserver="$p_nfsserver"
  186. defaultnfsrempath="$p_nfsrempath"
  187. usedevel="$p_usedevel"
  188. fi
  189. if [ $option = multi_cd ]
  190. then
  191. mount >$tp.m
  192. sed -n 's/ ([^)]*)$//; s/^[^ ]* on //; s/ type iso9660$//p' <$tp.m >$tp.l
  193. ncdroms=`wc -l <$tp.l`
  194. if [ $ncdroms -gt 1 ]
  195. then
  196. response=""
  197. while [ -z "$response" ]
  198. do
  199. echo \
  200. 'Several CD-ROMs (or other ISO9660 filesystems) are mounted:'
  201. egrep 'type iso9660 \([^)]*\)$' <$tp.m | nl
  202. echo -n \
  203. 'Is it any of these ? Type a number, or `n'\'' for none. '
  204. read response
  205. response="`echo \"$response\" | sed -e 's/[ ]*$//'`"
  206. if expr "$response" : '[0-9][0-9]*$' >/dev/null && \
  207. [ $response -ge 1 -a $response -le $ncdroms ]
  208. then
  209. mountpoint="`sed -n $response'p' <$tp.l`"
  210. echo
  211. elif expr "$response" : '[Nn]' >/dev/null
  212. then
  213. mountpoint=""
  214. else
  215. response=""
  216. fi
  217. done
  218. elif [ $ncdroms = 1 ]
  219. then
  220. mountpoint="`cat $tp.l`"
  221. perl -ne 'print if s/ type iso9660 \([^)]*\)$// && s/ on .*$//;' \
  222. <$tp.m >$tp.d
  223. blockdevice="`cat $tp.d`"
  224. yesno yes \
  225. "I see a CD-ROM: $blockdevice, mounted on $mountpoint. Is it the right one ?"
  226. if [ $yesno = no ]
  227. then
  228. echo 'Unmounting it ...'
  229. umount="$mountpoint"
  230. while true
  231. do
  232. echo -n \
  233. 'Please insert the right disc, and hit return: '
  234. read response
  235. if mount -rt iso9660 -o nosuid,nodev \
  236. "$blockdevice" "$mountpoint"
  237. then
  238. echo
  239. break
  240. fi
  241. done
  242. fi
  243. fi
  244. if [ -z "$mountpoint" ]
  245. then
  246. if [ -b /dev/cdrom ]
  247. then
  248. echo \
  249. 'I see that /dev/cdrom exists and is a block device.'
  250. newdefaultdevice=/dev/cdrom
  251. fi
  252. getblockdev 'Insert the CD-ROM and enter the block device name'
  253. fi
  254. fi
  255. if [ $option = multi_nfs ]
  256. then
  257. mountpoint="$vardir/methods/mnt"
  258. while [ -z "$nfsserver" ]
  259. do
  260. echo -n \
  261. "What is the name of the NFS server ? [$defaultnfsserver] "
  262. read response
  263. if [ -z "$response" -a -n "$defaultnfsserver" ]
  264. then
  265. response="$defaultnfsserver"
  266. fi
  267. if [ -z "$response" ]; then continue; fi
  268. if [ -x /usr/bin/rpcinfo ]
  269. then
  270. if rpcinfo -u "$response" mountd >/dev/null
  271. then
  272. nfsserver="$response"
  273. else
  274. echo "$response appears not to be an NFS server."
  275. fi
  276. elif [ -x /bin/ping ]
  277. then
  278. if ping -q -c 1 "$response" | grep -q ', 1 packets received'
  279. then
  280. nfsserver="$response"
  281. else
  282. echo "$response appears to be down or nonexistent."
  283. fi
  284. else
  285. echo \
  286. "(I can't check that now because there is no /usr/bin/rpcinfo or /bin/ping.)"
  287. nfsserver="$response"
  288. fi
  289. done
  290. while [ -z "$nfsrempath" ]
  291. do
  292. echo -n "
  293. What is the pathname on the NFS server of the filesystem with
  294. the Debian files ? [$defaultnfsrempath] "
  295. read response
  296. if [ -z "$response" -a -n "$defaultnfsrempath" ]
  297. then
  298. response="$defaultnfsrempath"
  299. else
  300. response="`echo \"$response\" | sed -e 's:/$::; s:^/*:/:'`"
  301. fi
  302. umount="$mountpoint"
  303. if mount -rt nfs -o nosuid,nodev "$nfsserver:$response" "$mountpoint"
  304. then
  305. echo
  306. nfsrempath="$response"
  307. else
  308. umount=""
  309. echo \
  310. "Unable to mount NFS filesystem $nfsserver:$response."
  311. fi
  312. done
  313. nfs="$nfsserver:$nfsrempath"
  314. fi
  315. if [ $option = harddisk2 ]
  316. then
  317. set +e
  318. printf 'p\nq\n' | fdisk /dev/hda 2>/dev/null >$tp.f
  319. if [ $? != 0 ]
  320. then
  321. printf 'p\nq\n' | fdisk /dev/sda 2>/dev/null >$tp.f
  322. fi
  323. set -e
  324. perl -ne '
  325. next unless /^ *Device +Boot +Begin +Start +End +Blocks +Id +System *$/i .. !/\S/;
  326. next unless / [146] +DOS \d+-bit \S+$/;
  327. next unless m:^/\S+:;
  328. print $&; ' <$tp.f >$tp.d
  329. newdefaultdevice="`cat $tp.d`"
  330. echo "
  331. I need to know which disk partition contains the distribution files;
  332. disk partitions are specified by the block device name in Linux."
  333. if [ -n "$newdefaultdevice" ]
  334. then
  335. echo \
  336. "By the way, $newdefaultdevice looks like a DOS partition."
  337. fi
  338. getblockdev "Enter the partition's block device name"
  339. fi
  340. if [ -n "$mountpoint" ]
  341. then
  342. # We must have $mountpoint
  343. if [ $option = multi_cd ]
  344. then
  345. echo \
  346. 'All directory names should be entered relative to the root of the CD-ROM.
  347. '
  348. elif [ $option = multi_nfs ]
  349. then
  350. echo \
  351. "All directory names should be entered relative to the root of the NFS
  352. filesystem, ie relative to $nfsrempath on the server.
  353. "
  354. else
  355. echo \
  356. "All directory names should be entered relative to the root of the
  357. $fstype filesystem on $blockdevice.
  358. "
  359. fi
  360. fi
  361. # now try to get the users idea where the debian
  362. # hierarchy start below the mointpoint
  363. debug "mountpoint: $mountpoint"
  364. while true
  365. do
  366. if ismulti "${mountpoint}" "${hierbase}"; then
  367. multi=yes
  368. fi
  369. if [ $option = multi_cd ]
  370. then
  371. echo \
  372. "I would like to know where on the CD-ROM the top level of the Debian
  373. distribution is - this will usually contain the \`dists' directory.
  374. If the CD-ROM is badly organized and doesn't have a straightforward copy of
  375. the distribution you may answer \`none' and we'll go through the parts
  376. I need individually."
  377. else
  378. echo \
  379. "In order to make it easy for me to find the relevant files I'd ideally
  380. like to install from a straightforward copy of the Debian distribution.
  381. To use this I'll need to know where the top level of that copy of the
  382. distribution is - this directory usually contains the Packages-Master file.
  383. If you do not have a straightforward copy of the distribution available
  384. just answer \`none' and we'll go through the parts I need individually."
  385. fi
  386. defhierbase=none
  387. if [ -n "$p_hierbase" ]; then
  388. if [ -d "$mountpoint/$p_hierbase/dists/$dist/main/binary-$iarch" \
  389. -o -n "$multi" ]; then
  390. echo "Last time you said \`$p_hierbase', and that looks plausible."
  391. defhierbase="$p_hierbase"
  392. else
  393. echo "
  394. Last time you said \`$p_hierbase', but that doesn't look plausible,
  395. since \`$p_hierbase/dists/$dist/main/binary-$iarch' doesn't seem to exist.
  396. And I can't get the impression that you're using a multi-CD set."
  397. fi
  398. fi
  399. # at this point defhierbase is set if it looks plausible
  400. # if `none' was entered, we assume a CD with a debian/ directory
  401. if [ none = "$defhierbase" -a -d "$mountpoint/debian/dists/$dist/main/binary-$iarch" ]
  402. then
  403. echo "\`/debian' exists and looks plausible, so that's the default."
  404. defhierbase=/debian
  405. fi
  406. echo -n "Distribution top level ? [$defhierbase] "
  407. read response
  408. if [ -z "$response" ]; then response="$defhierbase"; fi
  409. if [ none = "$response" ]; then
  410. hierbase=""
  411. break
  412. elif ismulti "$mountpoint" "$response" && [ -z "$multi" ]; then
  413. multi=yes
  414. fi
  415. if ! [ -d "$mountpoint/$response/dists/$dist/main/binary-$iarch" \
  416. -o -n "$multi" ]; then
  417. echo \
  418. "Neither $response/dists/$dist/main/binary-$iarch does not exist,
  419. nor are you using a multi-CD set"
  420. break
  421. fi
  422. hierbase="`echo \"$response\" | sed -e 's:/$::; s:^/*:/:; s:/\+:/:g;'`"
  423. debug "hierbase: [$hierbase]"
  424. if [ -n "$multi" ]; then
  425. disklabel=`getdisklabel "$mountpoint" "/$response"`
  426. echo "Ok, this is disc"
  427. echo " $disklabel"
  428. #echo "Updating multi CD contents file cache ..."
  429. #multi_contentsfile="${mountpoint}/${response}/.disk/contents.gz"
  430. #zcat "$multi_contentsfile" > disk-contents.$option
  431. fi
  432. break;
  433. done
  434. distribution=$dist
  435. if [ -n "$hierbase" ]
  436. then
  437. if [ -d "$mountpoint/$hierbase/dists/unstable/binary-$iarch" ]
  438. then
  439. echo \
  440. '
  441. Both a stable released distribution and a work-in-progress
  442. development tree are available for installation. Would you like to
  443. use the unreleased development tree (this is only recommended for
  444. experts who like to live dangerously and want to help with testing) ?'
  445. yesno "$p_usedevel" 'Use unreleased development distribution ?'
  446. usedevel="$yesno"
  447. if [ "$usedevel" = yes ]
  448. then
  449. distribution=development
  450. fi
  451. else
  452. usedevel=no
  453. fi
  454. echo
  455. fi
  456. case "$hierbase" in
  457. /* ) ;;
  458. '' ) ;;
  459. * ) hierbase="/$hierbase" ;;
  460. esac
  461. check_binary () {
  462. # args: area-in-messages directory
  463. debug "check_binary($@)"
  464. if [ ! -d "${mountpoint}$2" -a -z "$multi" ]
  465. then
  466. echo "\`$2' does not exist."
  467. return
  468. fi
  469. # In this special case it is ok for a sub-distribution to not contain any
  470. # .deb files. Each CD should contain all Packages.cd files but doesn't
  471. # need to contain the .deb files.
  472. #
  473. # if ! { find -L "$mountpoint$2" -name '*.deb' -print \
  474. # | head -1 | grep . ; } >/dev/null 2>&1 && [ -z "$multi" ];
  475. # then
  476. # echo "\`$2' does not contain any *.deb packages."
  477. # return
  478. # fi
  479. this_binary="$2"
  480. echo -n "Using \`$this_binary' as $1 binary dir"
  481. if [ -n "$multi" ]; then
  482. this_disk=`getdisklabel ${mountpoint} "/$hierbase"`
  483. echo " from disc"
  484. echo " \`$this_disk'"
  485. else
  486. echo ""
  487. fi
  488. }
  489. find_area () {
  490. # args: area-in-messages area-in-vars subdirectory-in-hier
  491. # last-time-binary last-time-packages
  492. debug "find_area($@)"
  493. this_binary=''
  494. this_packages=''
  495. this_disk=''
  496. if [ -n "$hierbase" ]
  497. then
  498. check_binary $1 `echo "$hierbase/dists/$3/$1/binary-$iarch" | sed 's:/\+:/:g'`
  499. debug "THIS_BINARY $this_binary"
  500. fi
  501. if [ $option = multi_cd -a $2 = nf -a -z "$this_binary" ]
  502. then
  503. echo '
  504. Note: most CD-ROM distributions of Debian do not include programs
  505. available in the `non-free'\'' directory of the distribution site.
  506. This is because these programs have copyrights that prevent
  507. distribution for profit on a CD-ROM - ie they are not free software.
  508. If you wish to install these programs you'\''ll have to get them from an
  509. alternative source.'
  510. fi
  511. while [ -z "$this_binary" ]
  512. do
  513. defaultbinary="$4"
  514. echo "
  515. Which directory contains the *.deb packages from the $1 distribution
  516. area (this directory is named \`$3/binary' on the distribution site) ?
  517. Say \`none' if this area is not available."
  518. if [ $2 != main -a -z "$defaultbinary" ]
  519. then
  520. defaultbinary=none
  521. fi
  522. echo -n \
  523. "Enter _$1_ binary dir. [$4]
  524. ? "
  525. read response
  526. if [ -z "$response" -a -n "$defaultbinary" ]
  527. then
  528. response="$defaultbinary"
  529. fi
  530. if [ none = "$response" ]
  531. then
  532. break
  533. fi
  534. case "$response" in
  535. '' | none) continue ;;
  536. esac
  537. check_binary $1 "`echo \"$response\" | sed -e 's:/$::; s:^/*:/:'`"
  538. done
  539. if [ -n "$this_binary" ]
  540. then
  541. if [ "$multi" = "yes" ]; then
  542. for f in Packages.cd.gz packages.cd.gz Packages.cd packages.cd
  543. do
  544. if [ -f "$mountpoint/$this_binary/$f" ]
  545. then
  546. this_packages="$this_binary/$f"
  547. echo "Using \`$this_packages' for $1."
  548. break
  549. fi
  550. done
  551. else
  552. if [ -f "${mountpoint}${hierbase}/.disk/packages/$1/Packages.gz" ]; then
  553. this_packages=`echo "${hierbase}/.disk/packages/$1/Packages.gz"|sed 's:/\+:/:g'`
  554. echo "Using \`${this_packages}' for $1."
  555. fi
  556. fi
  557. while [ -z "$this_packages" ]
  558. do
  559. echo -n "
  560. I can't find the $1 \`Packages.cd' file. The information in the
  561. \`Packages.cd' file is important for package selection during new
  562. installations, and is very useful for upgrades.
  563. If you overlooked it when downloading you should do get it now and
  564. return to this installation procedure when you have done so: you will
  565. find one Packages.cd file and one Packages.cd.gz file -- either will do --
  566. in the \`binary' subdirectory of each area on the FTP sites and
  567. CD-ROMs. Alternatively (and this will be rather slow) I can scan the
  568. packages in the distribution area - say \`scan' if you want me to do so.
  569. You need a separate Packages.cd file from each of the distribution areas
  570. you wish to install.
  571. Where is the _$1_ \`Packages.cd' file (if none is available, say \`none')
  572. [$5]
  573. ? "
  574. read response
  575. if [ -z "$response" -a -n "$5" ]
  576. then
  577. response="$5"
  578. fi
  579. case "$response" in
  580. '') break ;;
  581. none) break ;;
  582. scan) this_packages=scan ;;
  583. /*) this_packages="$response" ;;
  584. *) this_packages="/$response" ;;
  585. esac
  586. done
  587. fi
  588. eval $2'_binary="$this_binary"'
  589. eval $2'_packages="$this_packages"'
  590. eval $2'_disk="$this_disk"'
  591. }
  592. find_area main main "$distribution" "$p_main_binary" "$p_main_packages"
  593. find_area contrib ctb "$distribution" "$p_ctb_binary" "$p_ctb_packages"
  594. find_area non-free nf "$distribution" "$p_nf_binary" "$p_nf_packages"
  595. find_area non-US/main nonus "$distribution" "$p_nonus_binary" "$p_nonus_packages"
  596. find_area non-US/contrib nonusctb "$distribution" "$p_nonusctb_binary" "$p_nonusctb_packages"
  597. find_area non-US/non-free nonusnf "$distribution" "$p_nonusnf_binary" "$p_nonusnf_packages"
  598. find_area local lcl local "$p_lcl_binary" "$p_lcl_packages"
  599. echo -n '
  600. Hit RETURN to continue. '
  601. read response
  602. exec 3>shvar.$option.new
  603. outputparam p_blockdev "$blockdevice"
  604. outputparam p_fstype "$fstype"
  605. outputparam p_mountpoint "$mountpoint"
  606. outputparam p_nfsserver "$nfsserver"
  607. outputparam p_nfsrempath "$nfsrempath"
  608. outputparam p_nfs "$nfs"
  609. outputparam p_hierbase "$hierbase"
  610. outputparam p_usedevel "$usedevel"
  611. outputparam p_main_packages "$main_packages"
  612. outputparam p_main_binary "$main_binary"
  613. outputparam p_main_disk "$main_disk"
  614. outputparam p_ctb_packages "$ctb_packages"
  615. outputparam p_ctb_binary "$ctb_binary"
  616. outputparam p_ctb_disk "$ctb_disk"
  617. outputparam p_nf_packages "$nf_packages"
  618. outputparam p_nf_binary "$nf_binary"
  619. outputparam p_nf_disk "$nf_disk"
  620. outputparam p_nonus_binary "$nonus_binary"
  621. outputparam p_nonus_packages "$nonus_packages"
  622. outputparam p_nonus_disk "$nonus_disk"
  623. outputparam p_nonusctb_binary "$nonusctb_binary"
  624. outputparam p_nonusctb_packages "$nonusctb_packages"
  625. outputparam p_nonusctb_disk "$nonusctb_disk"
  626. outputparam p_nonusnf_binary "$nonusnf_binary"
  627. outputparam p_nonusnf_packages "$nonusnf_packages"
  628. outputparam p_nonusnf_disk "$nonusnf_disk"
  629. outputparam p_lcl_packages "$lcl_packages"
  630. outputparam p_lcl_binary "$lcl_binary"
  631. outputparam p_multi "$multi"
  632. outputparam p_multi_contentsfile "$multi_contentsfile"
  633. mv shvar.$option.new shvar.$option
  634. xit=0
  635. # vim:ts=4:sw=4:aw:ai: