Age | Commit message (Collapse) | Author |
|
|
|
In addel(), use $* and isin to avoid a duplicated traversal of the
argument list.
In bsort() remove code designed to prevent a trailing space in sorted
list. With the elimination of cutlast() and cutword() this is not
longer necessary.
The usual [] -> [[]], etc. in areas being revised.
|
|
cases and a simple sed expression in the third.
Add pfsync to the list of interfaces that should not be offered to the
user for configuration.
Display the server line selected from the ftp/http server list in a
more compact form with only a single space between fields.
The usual [] -> [[]], etc. in areas being revised.
|
|
Use first device in supplied list as default unless overridden.
Eliminates repeated 'echo XXX | cutword 1' constructs.
Use 'set -- $_devs' to parse _devs and find out if there are any
devices in the list. Then use '_devs="$*" to eliminate all extraneous
whitespace from _devs, rather than just a single trailing blank.
Usual [...] -> [[...]], `` -> $(), extra '{}' and '"' eliminations in
areas being fixed up.
|
|
timezone name from '/etc/localtime' link. Use cutword() rather than
cutlast() to see if there is more than one possible root disk. As
these were the last two uses of cutlast(), eradicate it.
Usual [...] -> [[...]], `` -> $(), extra '{}' and '"' eliminations in
areas being fixed up.
|
|
a) Add all defined swap partitions except the default partition on the
root disk to the installed /etc/fstab.
b) Mount all possible swap partitions just before creating all
devices, giving small memory machines a better chance to successfully
install/upgrade.
Should obviate the need for FAQ 4.3.6.
ok deraadt@ millert@ (slightly earlier version)
|
|
|
|
1) Don't check for the existance of /mnt/etc/hosts twice. Since we
bail out at the first check the 2nd one is superfluous.
2) Shorten and clarify the upgrade network configuration logic.
3) Always ask if manual network configuration is desired when
upgrading. Allows the upgrader to decline to use the existing network
configuration and still have an explicit opportunity to configure the
network.
4) Don't bail out if the existing network configuration fails. Instead
(see 3)) offer manual network configuration and let the user decide if
it is worthwhile to continue.
5) Refer to actual file that is missing when bailing out, rather than
forcing user to be alert enough to prepend '/mnt'.
|
|
|
|
|
|
Rather than evaluating the expression
case _f in
$resp) ...
esac
use the equivalent form
case _f in
@($resp)) ...
esac
so that user input with multiple file names, user input with some
special characters like ';', etc. do not cause syntax errors and
premature ejection from the selection loop. A determined user can
still cause problems, e.g. by using quotes.
Clean up and simplify the code while in the area.
Problems noted by todd@.
|
|
|
|
|
|
1) Filter appropriate lines (ftp or http) from ftplist once when it is
downloaded rather than everytime the lines are needed.
2) Don't display the 'ftp://' or 'http://' part of the listed url's as
all displayed url's are of the same type. Partially compensates for
the last increase in the width of the 'cat -n' line number field.
3) Store filtered lines in /tmp/serverlist instead of /tmp/ftplist,
since it can be a list of http servers too. Makes it more obvious that
it is not a copy of ftplist.
4) Avoid 'ftplist: No such file' message, but add more informative
'Getting...done.' or 'Getting...FAILED.' message. Display the actual
ftp error that caused the FAILED status.
5) Add 'done' to the list of available options when asking for a
server location, allowing the user to return to set location selection
without having to enter a server.
6) Mention the '?' option in the prompt. It re-displays the list of
servers.
7) Eliminate unneeded variables 'host' and 'maxlines'. Make global
tline a local (_line). Change _ftp_get_list global to more generic
_get_server_list.
8) General logic cleanup.
|
|
contents of ftp_server_dir or http_server_dir, and not their names.
ftp and http installs now work again.
|
|
1) Rework _url_base to eliminate need for _url_pass and _url_login
variables.
2) Shorten and make more consistant with other messages the prompt for
the list of ftp/http servers.
3) Don't refer to _ftp_server_dir, use ${_url_type}_server_dir so that
a default prompt is available for both ftp and http installs.
4) Eliminate a couple of unneeded {}'s.
|
|
Eliminate unnecessary _proxy_host variable that merely kept a copy of
the value of ftp_proxy and http_proxy.
|
|
user was observant enough to see where the filesystems are mounted.
Suggested by espie@.
|
|
Recover two of the three extra characters by deleting unneeded '-'s in
the tar invocations used in tape installs.
Problem noted and solution suggested by millert@.
|
|
|
|
Collect all tests that cause a line to be skipped into one test by
using ksh string pattern features instead of case statements.
Simply sed expressions by not worrying about extra commas in the
options field (they're ignored during mount) and assuming 'rw',
'noauto', 'xx' do not appear as substrings in any valid option.
Leave out fs_freq and fs_passno fields as unnecessary during
install/upgrade.
Eliminate special test for '/' mount point and simply strip any
trailing slash from all mount points.
Kicked off my wifried@'s 'xx'/altroot change, and ok'ed in various
incarnations by wilfried@ deraadt@ millert@.
|
|
|
|
|
|
|
|
From deraadt@
|
|
ok henning@
|
|
a) We shouldn't display passwords.
b) If it is encoded, and thus different from what was entered,
installers will leap to the incorrect conclusion that the logon
failed.
c) At this point the logon to the server was successful so the
password worked, and the user shouldn't have forgotten it already.
ok deraadt@.
|
|
default route even if 'none' or 'dhcp' is selected as the default
route for the installed system. Previously, specifying 'none' or
'dhcp' would delete the existing default route, making ftp installs
from non-local servers impossible.
This is done by only deleting the existing default route when a change
is attempted, and putting back the previous default route if the
change fails.
Problem noticed by drahn@.
|
|
Fix up default route selection by
a) Forcing user to explicitly chose 'dhcp' as a mechanism for
specifying a default route, rather than guessing based on one or more
interfaces being configured by dhcp.
b) If the user specified default route does not work, re-present the
existing default route rather than losing it.
c) Move default route selection to after nameserver activation so the
user can specify a hostname as the default route.
Change /etc/netstart so that /etc/mygate wins if a default route was
already specified (i.e. by dhcp).
ok deraadt@.
|
|
Suggestion by Nick Holland out of comments by deraadt@ and miod@.
ok deraadt@ millert@
|
|
|
|
Simplify and clarify logic around selecting/installing sets.
Rename do_selection_list() to select_sets(), and install_get_files()
to install_files().
Eliminate glob_selection() and get_get_files() and the global
GET_FILES, folding logic into select_sets() and install_files().
Show the user entire 'url' when no sets are found, rather than trying
to hide mount points, etc.
Eliminate VERSION_MAJOR and VERSION_MINOR since they were always used
together. Instead, simply construct a few variables (SETDIR, FTPDIR,
OBSD) holding the strings these were used to construct.
Various 'standard' cleanups of quotes, braces, etc. in modified areas.
Also shrinks install.sub by 681 bytes.
|
|
Add (back?) function SETSDONE was probably supposed to be doing
(preventing the automatic selection of already installed sets) by
manipulating DEFAULTSETS instead. Remove successfully installed sets
from DEFAULTSETS, and add 'problem' sets detected in sane_install()
back into DEFAULTSETS.
|
|
From David Krause.
|
|
hosts entries, so comments are not processed.
Last few touchups & shrinkage for this round.
Current score:
install.sh+install.sub+upgrade.sh = 36,934 (vs 40,062 for 3.2).
|
|
Use value of 'hostname' to store all HOSTNAME and FQDN information. Elminate
those global variables. For install accept user input as is, but if the short
form hostname is unchanged, save any domain info by not re-setting hostname.
For upgrade just set hostname from /tmp/myname.
Unconditionally create default hosts file in install.sh, rather than doing it
in separate places depending on whether or not the user configures the network.
Always ask if the user wants to edit the hosts file when the network is
configured, but without listing it out.
Don't put 'search' command in resolv.conf as we now set hostnames to include
fully qualified domain names, which will be used to yield local domain name.
Loop asking for the default route until the user enters one that 'route'
accepts or the user explicitly asks for no default route by entering 'none'.
Add FQDN info to hosts file just before saving configuration files to the
installed system. Preserve user added lines - those with aliases or with domain
information in the hostname.
Clean up donetconfig() logic. Delete network config files in install.sh so that
if the user restarts an interrupted install previous network configuration does
not leak into installed system.
Elminiate get_resolv_fqdn(), searching resolv.conf for domain info only when
dhcp was used. get_fqdn() is reduced to looking for domain info in current
hostname, and supplying 'my.domain' if none found.
Add save_comments() and use to preserve useful comments in the installed
/etc/hosts and /etc/dhclient.conf files. Previous logic for dhclient.conf could
cause repeated appending of configuration info rather than just preserving the
comments.
Cleanup logic copying files from /tmp to /mnt/etc, eliminating unneeded
cfgfiles variable. Use wildcards and subshells to shrink code size.
|
|
Redo configure_ifs() to take full advantage of recent code
refactoring, and cleanup code while there.
Move address or dhcp question to after media option handling so that
each question gives immediate feedback. i.e. if the media options
given don't work then say so and exit, and if dhcp is requested
immediately issue the dhcp request. Also allows some code shrinkage.
Eliminate addifconfig() and remount(). The former is folded into
configure_ifs() and the latter's three lines simply replace the call
in install.sh.
Move remount code to before any configuration files are moved to the
installed system.
|
|
Create dhcp_request() and use in configure_ifs() rather than repeat code. When
dhcp is successful, move /etc/dhclient.conf, /etc/resolv.conf.tail to /tmp, and
use normal configuration file installation to put them on the installed system.
Also apply any user specified media options immediately. If they don't compute
then return immediately.
|
|
to abstract repeated code blocks.
Current score: 3.2 install+upgrade+install.sub = 40,062 bytes
-current " " " = 38,051
|
|
avoid problems with the single bpf interface available on install
media.
Move umount'ing of filesystems to the start of any install or upgrade
execution.
Eliminate now vestigal cleanup_on_exit() and all associated traps.
Shrinks scripts, makes more reliable, improves intuitiveness of
re-running install or upgrade, eliminates an install/upgrade time
message, leaves filesystems available if install/upgrade script
interrupted.
|
|
same time as we ask for the default route and name server addresses.
This allows users to override any DHCP supplied domain information the
same way they could override DHCP supplied default route and name server
addresses. As a result, remove the now superfluous warning about
not supplying information DHCP is going to overwrite.
|
|
been restarted.
Discard any domain information the user supplies.
|
|
|
|
a standard format of
<question>? (<extra verbiage>) [<default value>]
Makes things more consistant, and sometimes more terse.
|
|
1) The one '/sbin/ifconfig' -> 'ifconfig'.
2) Eliminate local variable and thereby unneeded '\n' in welcome().
|
|
|
|
|
|
descibing how the fstab will be used follows immediately after the
fstab listing, and the paragraph explaining about editing the fstab
comes immediately before the offer to edit the fstab. Eliminate a
blank line before the question as it is now tightly related to the
paragraph that precedes it.
|
|
returns false, and the device is *not* added to DEVSMADE.
|
|
Eliminate the function get_setsdir() by merging it into
install_mounted_fs(). Eliminate global SETSDIR as a result.
Move the loop logic used to select the directory to use on a mounted
filesystem to a 'done' style loop. i.e. loop until valid input (a
directory which exists) or 'done'. 'done' implies abandoning effort to
find a directory.
Eliminate the test for and associated error message about no
filesystems being mounted below the mount point passed to
install_mounted_fs(). This served little purpose not addressed by the
message generated when a non-existant directory is entered. i.e.
novices won't understand and experts can '!' out to investigate.
Remove the option to list mounted filesystems. Same reasons as for
eliminating the test for mounted filesystems.
Move repeated tests for an empty GET_FILES into the function
invariably called after the tests (install_get_files()).
|