14413 Commits

Author SHA1 Message Date
bapt
5437f77c61 argc is now used
MFC after:	2 days
2013-11-16 15:48:49 +00:00
jhb
585cee353e Fix a couple of issues with -F:
- Fix ALWAYS_INSTALL to take precedence over the FreeBSD ID checks.
  In particular, always install a file where the only change was
  the FreeBSD ID even if -F is specified.
- Fix the -F option in the case that the only upstream change is a
  change in the FreeBSD ID and the local file is removed.
- Add tests for these two cases.
2013-11-15 20:01:07 +00:00
cperciva
12cf4d4a0c When verifying that files we need are present, also check that they don't
have zero length.  Filesystem corruption will tend to truncate files, and
since these are short that's likely to result in them becoming empty.

Suggested by:	Richard Clayton
Convinced by:	rwatson
MFC after:	3 weeks
2013-11-14 09:22:32 +00:00
jhb
8d8d56863a Escape a newline added in the previous commit when verifying the flags
passed to the build, diff, or status commands.
2013-11-13 16:50:19 +00:00
ian
1708e7ba2f Add ENETUNREACH and EADDRNOTAVAIL to the list of errors that are potentially
transient and shouldn't result in closing the socket and giving up forever.
2013-11-13 01:04:02 +00:00
ian
dc4eaa7b21 This fixes 3 problems in syslogd related to sizing receive buffers...
- A call was misplaced at the wrong level of nested if blocks, so that
  the buffers for unix domain sockets (/dev/log, /dev/klog) were never
  increased at all; they remained at a way-too-small default size of 4096.

- The function that was supposed to double the size of the buffer
  sometimes did nothing, and sometimes installed a wildly-wrong buffer
  size (either too large or too small) due to an unitialized 'slen'
  variable passed to getsockopt().  Most often it doubled the UDP buffers
  from 40k to 80k because accidentally there would be harmless stack
  garbage in the unitialized variables.

- The whole concept of blindly doubling a socket's buffer size without
  knowing what size it started at is a design flaw that has to be called a
  bug.  If the double_rbuf() function had worked at all (I.E., if the
  other two bugs didn't exist) this would lead to UDP sockets having an
  80k buffer while unix dgram sockets get an 8k buffer.  There's nothing
  about the problem being solved that requires larger buffers for UDP than
  for unix dgram sockets -- the buffering requirements are the same
  regardless of socket type.

This change renames the double_rbuf() function to increase_rbuf() and
increases the buffer size on all types of sockets to 80k.  80k was
chosen only because it appears to be the size the original change was
shooting for, and it certainly seems to be reasonably large (I might
have picked 64k in the absence of any historical guidance).

PR:		160433
Submitted by:	me, in 2011.
2013-11-13 01:01:15 +00:00
neel
384d86e888 Move the ioapic device model from userspace into vmm.ko. This is needed for
upcoming in-kernel device emulations like the HPET.

The ioctls VM_IOAPIC_ASSERT_IRQ and VM_IOAPIC_DEASSERT_IRQ are used to
manipulate the ioapic pin state.

Discussed with:	grehan@
Submitted by:	Tycho Nightingale (tycho.nightingale@pluribusnetworks.com)
2013-11-12 22:51:03 +00:00
jhb
337932e49d Add a pre-world mode of updating similar to the -p option that can be
passed to mergemaster.  In this mode, only changes to /etc/master.passwd
and /etc/group are merged to /etc.  In addition, it uses a temporary
tree to stage these changes rather than overwriting the existing
'current' and 'previous' trees so that a full update can be run after
a normal installworld has completed.

MFC after:	2 weeks
2013-11-12 19:44:18 +00:00
jhb
46d8b213e4 Sort option flags and fix the width of the options list. This is a purely
mechanical change, no content changes.
2013-11-12 19:18:00 +00:00
sbruno
4372cfee12 Noted that the stripe_size argument was not being displayed in the usage
message

MFC after:	2 weeks
2013-11-12 17:10:56 +00:00
loos
45956fcb68 Adds gpioiic.4 and gpioled.4 man pages. Moves some of the information that
was previously available on gpio.4 to their respectives pages.  Add the
cross references on gpioctl.8.

Approved by:	adrian (mentor)
2013-11-12 12:44:59 +00:00
dteske
6d2ad19653 Comments. 2013-11-12 04:02:51 +00:00
dteske
142f1bd976 Switch default MBR bootcode from /boot/boot0 to /boot/mbr.
Reviewed by:	Allan Jude, nwhitehorn
Discussed on:	-current
2013-11-11 21:42:56 +00:00
bdrewery
f0bfa091d0 Remove useless checks for NULL pointer before free(3)
Reported by:		eadler
Approved by:		eadler
2013-11-11 21:42:31 +00:00
glebius
e31e1e9372 Do not use just freed memory.
Sponsored by:	Nginx, Inc.
2013-11-11 07:44:09 +00:00
dteske
ff748f24da Check the partition scheme before blowing away disks, instead of after.
The effects of this patch would only be noticeable if you were purposefully
setting a bad value and trying to see what happens; and leaving the disks
intact if a bad value has been set seems fair.
2013-11-11 02:13:47 +00:00
dteske
34ec6f44ca Remove the env(1) but keep the var. 2013-11-11 02:02:05 +00:00
gjb
c7e17b4285 Unbreak the installer on head/:
When bsdinstall(8) sources the bsdconfig(8) common.subr file,
  PKG_ABI is set by calling 'pkg -vv' and searching for the ABI
  pkg(8) will use.

  When pkg(8) is run for the first time, the bootstrap process
  is run, which prompts for 'y/N' input from stdin if running with
  TERM set.

  Since TERM is set and it is the first time pkg(8) is run, which
  happens automatically, bsdinstall(8) hangs waiting for user input
  which is never displayed since a specific line is expected by
  awk(1), and stdin is expected by pkg(8).

  Set ASSUME_ALWAYS_YES=1, which will cause pkg(8) to assume the
  '-y' flag is also used for the bootstrap process, allowing
  bsdinstall(8) to proceed to the keymap lookup, otherwise
  bsdinstall(8) appears to hang after selecting 'Install' from the
  menu on first boot from CDROM.
2013-11-11 01:42:59 +00:00
neel
2731ea8624 x86 platforms that use an IOAPIC route the legacy timer interrupt (IRQ0) to
pin 2 of the IOAPIC.

Add an 'Interrupt Source Override' entry to the MADT to describe this
and start asserting interrupts on pin 2 in the 8254 device model.

Submitted by:	Tycho Nightingale (tycho.nightingale@pluribusnetworks.com)
2013-11-11 00:45:17 +00:00
trasz
c5a7ee0968 Fix typo.
Submitted by:	feld@
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2013-11-10 13:16:28 +00:00
glebius
2967834945 Use system libiconv, instead of trying to dlopen() it.
PR:		183153
Submitted by:	Dominic Fandrey <kamikaze bsdforen.de>
2013-11-09 14:48:50 +00:00
cperciva
9fb2c98475 Fix typo in r256646: We want to generate lists of directories in INDEX-OLD
and INDEX-NEW and compare them, not generate the same list of directories
from INDEX-OLD twice...

Pointy hats to:	cperciva & everybody who didn't proofread EN-13:04 enough
2013-11-09 04:50:05 +00:00
joel
2eebadc772 mdoc: add missing El. 2013-11-08 23:11:04 +00:00
joel
de41d3d4e5 mdoc: remove superfluous paragraph macro. 2013-11-08 23:08:01 +00:00
dteske
fd1717ac3e I often forget that debugFile can begin with a + for deciding that debug
should be sent to both the file (minus the leading +) and stdout.
2013-11-08 10:19:48 +00:00
dteske
48ab78cd4b Copy the install log to the deployed /var/log directory so that we have
post-mortem data on how the machine was configured/installed.
2013-11-08 10:14:32 +00:00
dteske
0ebfc82a28 Semi-revert this one file out of r257842. The ttys(5) stuff, as we
discussed on -current, was not supposed to go in but get solved in
a different way -- e.g., init(8) logic).

Discussed on:   -current
2013-11-08 10:09:34 +00:00
dteske
c32f228833 A series of changes tested together as a whole:
+ Add a `-D FILE" command-line option for overriding the path to the
  bsdinstall log file (BSDINSTALL_LOG env var).
+ Document new `-D FILE' in the man page for bsdinstall.
+ If FILE in `-D FILE' begins with a +, debug output goes to stdout
  (interleaved between dialog(1) invocations/output) as well as to FILE
  (minus the leading + of course).
+ If BSDINSTALL_LOG cannot be written, then debugging is disabled (except in
  the case of a leading + in the pathname, wherein debug will still be
  printed to stdout).
+ Update source code formatting style.
+ Fix a dangling participle ("Begun ..." -> "Began ...")
+ Rewrite the docsinstall script (was necessary to abate direct dependency
  on BSDINSTALL_LOG (instead, use fault-tolerant bsdconfig framework which
  displays appropriate errors for package management).
NB: docsinstall is still using pkg(8) after this change.
+ Add additional debug output for dhclient/rtsol/wpa_cliscan
+ Display script errors in a textbox rather than just on stdout
+ Update many coments.
+ Add new f_show_err() API call (like f_show_msg but changes the dialog
  title to "Error")(see bsdconfig's `common.subr').
+ Add new f_eval_catch() API call for executing a command via eval but not
  before logging the command to debug. Several example cases documented in
  API header for function in bsdconfig's `common.subr'.
+ Fix dialog auto-sizing when launched as an rvalue to a pipe for indirected
  scripts (previously would default to 24x80 sizing in this case, now it can
  autosize to full size even when in a pipe chain).
+ Fix bug in f_snprintf if $format argument began with "-"; printf would
  misinterpret as a flag. (this is in bsdcofig's `strings.subr').
+ Add accompanying f_sprintf() and f_vsprintf() to go along with already
  existing f_snprintf() and f_vsnprintf() (see bsdconfig's `strings.subr').
+ Remove some unnecessary default ZFS datasets from the automatic "zfsboot"
  script. Such as: /usr/ports/distfiles /usr/ports/packages /usr/obj /var/db
  /var/empty /var/mail and /var/run (these can all be created as-needed once
  the system is installed).
+ Remove setuid=off for /usr/home (as discussed from last round of CFT).
+ Fix some i18n string violations in "zfsboot".
+ Bolster debugging output in "zfsboot".
+ Fix some string quoting issues in "zfsboot".
+ Fix some variable scope issues in "zfsboot".
+ Change "Create" to "Install" in "zfsboot" main menu.
+ Increase error checking in "zfsboot" (type-check arguments and such).
+ Add call to "graid destroy" killing automatic metadata (part of the series
  of pedantic destructions we do when bootstrapping a new/naked disk).
+ Make judicious use of new f_eval_catch() in "zfsboot".
+ Fixup some variable names for consistency (zfsboot).
+ Fix an underride syntax parameter expansion folly (zfsboot).
+ Confirm layout if not explicitly chosen when blindly proceeding (no
  longer have to touch anything on the ZFS menu if it scares you, just
  choose the omnibus "Install" option at the top and you'll be prompted to
  select vdev type and disks in the layout confirmation dialog).
+ Change numbered menu items to alphabetic for more efficient navigation.
+ Consolidate vdev selection and disk selection into a single stateful
  menu which performs validation and allows backing out to each previous
  menu as you go deeper.
+ Redesign the ``Last Chance'' dialog (still using the same colors, but
  make it conform to a tolerable width and make disks appear in a block-
  quote style indented region).
+ Fix a bug wherein we used the a lowercase variable name by accident
  (actual variable name declared as all-uppercase) at the time of
  initializing fstab(5) (not believed to cause any issues though).
+ Update the geli setup infobox for each provider being initialized
  (not just at the onset -- since each ``geli init'' causes kernel messages
  to push our infobox off-screen).

Reviewed by:	Allan Jude <freebsd@allanjude.com>
Discussed on:	-current
MFC after:	3 days
2013-11-08 09:57:03 +00:00
dteske
b9c17c53a0 Document SYSRC_VERBOSE enviroment variable in the manual. 2013-11-07 23:05:17 +00:00
dteske
2d50ef358e Fix a bug with -e' that broke sometime around when I added -F'. Also,
revamp the `-e' output to truly be sh(1) compatible syntax (even if
passed in `-v' for verbose output).
2013-11-07 23:04:40 +00:00
dteske
986812ee8b Comments and whitespace. 2013-11-07 23:01:41 +00:00
dteske
a920b12f85 Add a -c' option for check only' to determine if a value is set
(get command) or if the current value is the same as what is desired
(set command). In those cases, the return status is success.
Otherwise, if the variable is unset (get command) or set to a different
value that what is desired (set command), returns with error status.
This is useful for puppet integration as well as everyday scripting.
2013-11-07 23:00:11 +00:00
dteske
9508d65087 Add new `--version' long option for getting the version (good for
comparing against the ports revision).
2013-11-07 22:52:10 +00:00
dteske
61b2701568 Fix a bug that prevented `-d' from working as-documented in sysrc(8).
Rather, prevent a bunch of debugging information from spewing onto the
screen when using the `describe' flag (misinterpreted as `debug' by
the automatatic initialization routines).
2013-11-07 22:47:52 +00:00
sbruno
589c16735a Add support for controlling mfi(4) controller properties:
allow user control of rebuild rate
allow user control of silence/enable alarm

MFC after:	2 weeks
Sponsored by:	Yahoo! Inc.
2013-11-07 21:47:59 +00:00
dteske
77f96c6225 Use `pkg -vv' to obtain ABI for validating a chosen media server (done
prior to diving head-long into a pkg-update(8), et. al). This should
also be more future-proof than what was being done just before this.
2013-11-07 21:38:46 +00:00
dteske
1d85ee309f Fix cosmetic typos (since the typo's in the variable names were copied
and pasted, it wasn't noticed).
2013-11-07 21:16:32 +00:00
dteske
1582887770 Replace pkg-tools with pkgng. 2013-11-07 12:40:42 +00:00
dteske
e95575f2d0 Fix an off-by-one error that was causing menus to look funny. 2013-11-07 11:20:50 +00:00
dteske
452ab4534d Comments. 2013-11-07 10:48:00 +00:00
dteske
8207da2a55 Add f_sprintf() and f_vsprintf() to go along with previously added
f_snprintf() and f_vsnprintf() (size-constraint) functions.
2013-11-07 10:47:12 +00:00
dteske
5d865ae5b7 Fix a bug where a format with leading `-' could be mistaken for printf
getopts argument(s).
2013-11-07 10:45:25 +00:00
dteske
e2c65ece90 Comments. 2013-11-07 10:44:24 +00:00
dteske
a6546392d4 Add some helpful debugging (showing the resolved host address). 2013-11-07 10:40:19 +00:00
dteske
8401fded17 Fix a silly bug that would result in attempting to fetch (literally) the
URI "httpDirectory" (oops).
2013-11-07 10:36:24 +00:00
dteske
12ce64e99c Use dialog(1) to obtain maximum-size; stty fails when running in a pipe-
chain. This allows dialogs to reach full size even when executed as an
rvalue operand to a pipe (e.g., cat file | bsdconfig -f-).
2013-11-07 10:30:20 +00:00
dteske
ddc2ccec80 Add an f_eval_catch() function for debugging individual commands in a
series of commands. Accepts the `-d' flag as a first argument to skip
displaying messages in a dialog box. The command is logged as it
appears to the shell prior to the first pass of parameter expansion to
allow copy/pasting into a real shell (opposed to simply echo'ing the
command which would produce debug output that has undergone at least one
pass of parameter expansion, thus no-longer copacetic for copy/paste).
Takes printf(1) style syntax and a utility identifier for error messages.
2013-11-07 10:28:12 +00:00
dteske
209f30e060 Add an f_show_err() function -- acts pretty much the same as f_show_msg()
except it stylizes the msgbox widget to indicate an Error has occurred by
setting an appropriate title and default message.
2013-11-07 10:23:37 +00:00
dteske
4bd843efbd Add global DEBUG_INITIALIZE_FILE environment variable for controlling
whether the debugFile is truncated upon initialization (useful for when
children implicitly re-initialize debugging and you want children to
append to your existing debugFile).
2013-11-07 10:20:19 +00:00
dteske
5a453bc0fc Comments. Replace a funny syntax with f_isset() while here. 2013-11-07 10:14:40 +00:00