262 Commits

Author SHA1 Message Date
dteske
d58485abbd MFC r256391:
Fix signed integer overflow detection in f_expand_number() of strings.subr.

Approved by:	re (glebius)
2013-10-12 19:54:12 +00:00
dteske
c8e8fef3a6 MFC revisions 256321-256323,256331,256333,256335,256343:
Bring in a new zfsboot auto script for performing automatic setup of a boot
pool (optionally encrypted) with many other options, validations, features.
Originally submitted by Allan Jude; modified in collaboration.

MFC revisions 256325,256330,256345:
Rewrite the keymap selection menu to display keymaps and provide a test
mechanism. Test mechanism originally submitted by Warren Block; modified.

MFC r256347:
Prominently display "Wireless" for each wireless network interface. Part
of PR bin/161547; submitted by Warren Block; slightly modified.

MFC r256348:
Remove the dumpdev configuration dialog, merge it into the regular
services configuration and enable it by default. Originally submitted by
Allan Jude; slightly modified.

PR:		bin/161547
Submitted by:	Allan Jude, Warren Block <wblock@wonkity.com>
In collaboration with:	Allan Jude <freebsd@allanjude.com>
Approved by:	re (glebius)
2013-10-11 23:12:05 +00:00
dteske
ee2fafc6a9 Introduce centralized [X]dialog(1) exit codes to `dialog.subr' and make-use
throughout the bsdconfig(8) code. While we're here, add an explicit argument
to lvalue-seeking invocations of "return" that previously had no argument.
Also, consolidate a single instance of double-newline and remove some
comments that are no longer required (given increased readability with new
exit codes).

Approved by:	re (glebius)
2013-10-09 08:12:26 +00:00
gavin
068e00d46b Remove ftp5.se.f.o, as per request to -hubs@
Approved by:	re (glebius)
MFC after:	3 days
2013-09-28 13:58:21 +00:00
brd
f1a7c5fc50 - Remove the is (Iceland) mirror per mail from the admins.
Approved by:	re
With hat: clusteradm@
2013-09-27 11:25:37 +00:00
dteske
64fbf75855 Fix a bug in HTTP checking/fetching.
Fix a bug in HTTP checking/fetching. Add Main Site to HTTP menu. Add new
example script browse_packages_http.sh and move existing example script
browse_packages.sh -> browse_packages_ftp.sh

Reviewed by:	gjb, brd
Approved by:	re (gjb), clusteradm (brd)
MFC after:	3 days
2013-09-23 16:47:52 +00:00
dteske
3b61a48b9f Remove unnecessary mediaClose (FTP operations are done with either ftp(1)
or fetch(1), neither of which are stateful, compared to how sysinstall(8)
did FTP operations, maintaining an open session until mediaClose).
2013-09-07 03:27:13 +00:00
dteske
ef37ef8335 Long URLs don't always appear even with autosizing and other tricks. So,
add some whitespace to put the URL on a line by itself, maximizing view.
2013-09-07 03:24:22 +00:00
gavin
6d513d7d46 Remove ftp2.tr.freebsd.org, it is out of date.
MFC after:	3 days
2013-07-23 12:20:27 +00:00
dteske
5adedab14e Sync-up with bsdinstall(8) FTP mirrorselect changes.
SVN r224656:
Add back ftp4, a new machine has taken its place. ftp2 and ftp8 are both
IPv6 capable mirrors.  cvsup4/ftp4 have already been added to the handbook.

NOTE: Except put IPv6 entries in IPv6 section at the top of the list

SVN r225467:
Add ftp4.se.freebsd.org to the IPv4 and IPv6 mirror lists.

SVN r235228:
Add the IPv6 tag to ftp4.fr.freebsd.org.

NOTE: Except dup entry into IPv6 section.

SVN r243832:
- Remove snapshots.se.freebsd.org [1]
- Add ftp6.se.freebsd.org

SVN r243854:
Remove snapshots.jp.freebsd.org. It stopped working years ago.

SVN r253543:
Update mirror list to more closely match
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html

MFC after:	1 week
2013-07-22 13:56:35 +00:00
dteske
e9ad9b489d Re-implement $probe_only aspect of f_media_get_TYPE() (where TYPE is cdrom,
nfs, ftp, http, httpproxy, etc.) and f_device_get() (abstract method for
calling aforementioned f_media_get_TYPE()).

Previously, if $probe_only was present and non-NULL, the TYPE functions
would check for $file and exit with an appropriate error status (success if
the file exists and readable, failure otherwise).

While this has been retained, a pair of globals has been introduced:
$PROBE_EXIST and $PROBE_SIZE (see `/usr/share/bsdconfig/media/common.subr')

The $PROBE_EXIST global can be used where you need the functionality of
simply testing for existence (previously the _only_ functionality).

Meanwhile, the new $PROBE_SIZE global can be used to cause the TYPE function
to print the size of the file (in bytes) on standard-out (or -1) if not
found or an error occurs. NOTE: If an error occurs, it is logged with the
dprintf function, which is visible with `-d' flag or debug=1.

In many cases, where you need to get the size of a file _and_ check for its
existence, you can use the return status of a $PROBE_SIZE call.
2013-07-14 03:08:52 +00:00
dteske
68c057774b Introduce a new [yet unused] function for [efficiently] getting the path to
an executable by-name without forking or using externals.

In a performance benchmark of 10,000 runs on circa 2006 hardware, f_which
out-performed `which' with an average completion time of ~2.5 seconds versus
~56 seconds.

This should be handy for future use (not that I make it a habit to call
`which' in a loop 10,000 times).
2013-07-10 22:45:07 +00:00
dteske
53ef2508e0 Adjust comments to fit within 80-columns. 2013-07-09 23:21:57 +00:00
dteske
f9fcf9e38c Fix conditional (der should match the comment above it).
MFC after:	1 day
2013-07-09 22:01:05 +00:00
dteske
975d3a2ca7 Do two things: First, don't obscure the backtitle. Second, read ~/.dialogrc
if it exists to determine if use_shadow is true (ON) or false (OFF).

The purpose of determining the value of use_shadow is to know how many lines
to subtract from the maximum height value in assuring that the backtitle is
not obscured.

The detriment of obscuring the backtitle is that it provides information
that is not easily obtained elsewhere. That is the command-line shortcut
used to access the current menu. As you navigate from one dialog to the
next, invariably transparently corssing module boundaries, the backtitle
represents the command-line argument used to get there. Obscuring this
information with a widget that is too-tall and/or too-wide would see that
data go unnoticed (leaving few other ways to get that information in the
same helpful context).

So despite the fact that this change reduces the standard maximum height for
all widgets, there is a trap-door to prevent this calculation. If you want
to utilize the full screen height on the terminal (remember, this adjustment
is not made for Xdialog(1)) you can set $NO_BACKTITLE to 1 (or any non-NULL
value for that matter) and this calculation will be skipped. You will be
able to draw a widget that partially obscures the backtitle if-necessary.

MFC after:	1 day
2013-07-09 21:53:57 +00:00
dteske
bf4d6e8e02 Fix typos in the BSD License. 2013-07-07 18:51:44 +00:00
dteske
94ddcbb9f1 Be consistent with other usr.sbin programs w/respect to the copyright
wording ("All rights reserved."); I had the casing wrong on many instances.
2013-07-07 18:34:36 +00:00
dteske
24670b047a Be consistent with other usr.sbin programs w/respect to the copyright
wording ("All rights reserved."); I had the casing wrong on many instances.
2013-07-07 18:21:30 +00:00
dteske
f98492d5e2 Don't prevent the user from hanging their system by changing network
settings while NFS mounts are active; but DO warn them and make the
default action to do nothing. (thanks julian)
2013-07-05 23:16:56 +00:00
dteske
044747c27f Check for INDEX file first before anything else when processing modules. 2013-07-05 22:25:40 +00:00
dteske
dad5b6d137 Check menuitem before calculating tag. 2013-07-05 22:24:43 +00:00
dteske
34bf19a5d0 Add the necessary code to reinstall packages. Both scripted access
(packageReinstall) and UI access have been tested successfully with a
variation of different situations including:
+ Reinstall a package for which no other packages depend
+ Purposefully do thinks like reinstall a package that is not installed
+ Try to reinstall a package which other installed packages still depend

NOTE: There is no "force" used; if a package is required by other packages,
it will not be uninstalled (and therefore no reinstall is done).
2013-07-05 21:40:31 +00:00
dteske
ffe2fc46c5 Remove superfluous continue at end of loop. (pointy-hat) 2013-07-05 21:32:54 +00:00
dteske
1122138bea Add support for processing add-on modules from /usr/local/libexec/bsdconfig
(this is designed to allow new modules to be installed via ports/packages).

To prevent conflict with itself (sysutils/bsdconfig) as a port (which
installs its base modules to the above directory, it was long-ago decided
that so-called `base' modules would look different than now-defined `add-on'
modules. The structure of the contents for each is the same, but the naming
convention for the module directory must be different.

Base modules are named `[0-9][0-9][0-9].*' to allow SysV-style organization
while add-on modules must avoid this naming style and are simply listed in
alphabetical order by their module directory.

For example, a hypothetical port named `bsdconfig-jails' could install
/usr/local/libexec/bsdconfig/jails and provide `bsdconfig jails' as well as
a new menu entry in the main-menu.

Add-on modules are listed in the main-menu (when bsdconfig is executed with-
out arguments) below a separator after the last base-module.

In `bsdconfig -h' output, add-on modules are listed right alongside base
modules (sorted alphabetically in columnar fashion; left-to-right).

If a base module declares a keyword used by an add-on module, the base
module will always win when given `bsdconfig keyword' syntax.

Add-on modules should avoid declaring any keyword found in `script.subr' as
a reserved-word (`Resword') since bsdconfig also supports `bsdconfig resword'
as a fall-back if no keyword is found to be declared by any module.
2013-07-05 20:13:00 +00:00
dteske
66ac1c6e67 Oops, r252833 was not supposed to touch this file. Back-out and recommit
this file with the rest of the files it was supposed to go with.
2013-07-05 20:01:07 +00:00
dteske
dae6ea95be Don't calculate the tag until we know that we're going to make a new menu
item entry. Also join simple NULL assignments into a single line.
2013-07-05 19:57:40 +00:00
dteske
c6b0e83324 Oops, r252810 forgot to hook the new example file (browse_packages.sh) into
the Makefile.
2013-07-05 18:50:17 +00:00
dteske
ac5f747c8f Adhere to 80-column width. 2013-07-05 18:31:26 +00:00
dteske
bf2d3ad14c Document remaining undocumented modules (and remove my silly place-holder
thing at the top, which I was using as a way to make sure I didn't forget
to document any modules).
2013-07-05 18:30:43 +00:00
dteske
e1f42e69a1 Make a correction to the description of invocation with-versus-without
arguments, making things a bit more clear [hopefully].
2013-07-05 18:29:09 +00:00
dteske
d7e39ec70b Document new -d' and -D file' debugging options. 2013-07-05 18:03:00 +00:00
dteske
c0a4877d72 Change default FTP server (s/ftp-archive/ftp/). 2013-07-05 17:56:15 +00:00
dteske
96610810d3 Add example shell script for creating a local INDEX file that can be
accessed quickly for browsing a list of available packages.
2013-07-05 17:54:08 +00:00
dteske
75276888a5 Update HISTORY. 2013-07-05 17:45:54 +00:00
dteske
d861b88db5 Rest in peace Ron (Ron McDowell Jul.12, 1955 - Aug.26, 2012).
I'll carry-on from here. Thank you so much for your hard work.
2013-07-05 17:44:53 +00:00
dteske
08639ea4ac Update e-mails. 2013-07-05 17:38:54 +00:00
dteske
d00c81143b Since r251908, bsdconfig(8) has no direct ties to sade(8) (instead uses
`bsdinstall partedit'). Update references (s/sade/bsdinstall/) and change
the BUGS section to be based on reality.
2013-07-05 17:35:13 +00:00
dteske
5c5880a226 Don't refer to a port manual. 2013-07-05 17:31:05 +00:00
dteske
71f71d97c3 mdoc: begin sentences on a new line. 2013-07-05 17:27:55 +00:00
dteske
3057277318 Update date on the back of r252802. 2013-07-05 17:23:00 +00:00
dteske
d8c69f1ae5 Fix a typo. 2013-07-05 17:22:10 +00:00
dteske
68e775341d Whitespace. 2013-07-05 17:21:40 +00:00
dteske
0ac55ea171 Use f_show_msg() instead of f_dialog_msgbox() where appropriate. The main
difference between these two functions:

	Usage: f_show_msg() $format_string [ $format_args ... ]
	Usage: f_dialog_msgbox() $text [ $hline ]

The former lends itself well to displaying the $msg_* i18n text, prompts,
etc. While the latter is better for text you do not control (error strings
captured as a response from external commands) -- or if you have to control
the hline.
2013-07-05 16:00:01 +00:00
dteske
f53995138b Add the necessary code to uninstall packages (re-install still pending).
Both scripted access (packageDelete) and UI access have been tested
successfully with a variation of different situations including:
+ Uninstall a package which no other installed package depends
+ Uninstall multiple packages which no other installed packages depend
+ Uninstall multiple packages which depend on each other
+ Similar to above but when ordered removal requires tracing dependencies
+ Purposefully do things like uninstall a package that is not installed
+ Try to uninstall a package which other installed packages still depend
+ Try to uninstall multiple packages which other installed packages depend
+ And many more.
2013-07-05 06:52:07 +00:00
dteske
d9933606bc Add minor debugging. 2013-07-05 06:46:11 +00:00
dteske
3ce89a7979 Prevent f_package_add() from re-performing f_package_detect_installed()
even though f_package_config() may have already detected the installed
packages.
2013-07-05 06:24:18 +00:00
dteske
e6d392abc6 Don't deselect a package right after installing it (this went unnoticed
because [currently] we exit after performing requests actions -- if we
ever change this to returning to the package selection screen, this would
have made an impact).
2013-07-05 06:22:25 +00:00
dteske
6d30095d01 Minor debugging changes/additions. 2013-07-05 06:20:01 +00:00
dteske
8e6b84b998 Fix a typo in a comment. 2013-07-05 03:12:29 +00:00
dteske
92088d5133 Add the beginnings of the old networking services functionality of
sysinstall(8). The UI for this will come later while this exposes the
functionality to the scripted interface. Tested successfully to first
install the pcnfsd package from the `Latest' repository, and second to
configure mountd_flags="-n" in rc.conf(5).
2013-07-05 01:49:20 +00:00