415 Commits

Author SHA1 Message Date
dteske
a06acedacb Fix awk(1) asorti() implementation to work when called in a loop.
MFC after:	3 days
X-MFC-to:	stable/10, stable/9
2014-10-14 03:11:46 +00:00
dteske
80421e1e60 Fix regression introduced by SVN r270954. Correct way to reset getopts
is to set OPTIND to 1, not unset it (which causes an error).

Thanks to:	jilles
2014-09-02 22:59:40 +00:00
dteske
383919db1a Fix a bug where command line arguments could be misprocessed if getopts is
used prior to f_dialog_init() -- e.g., in a script that sets
DIALOG_SELF_INITIALIZE to NULL, preventing f_dialog_init() from being run
automaticaly when `dialog.subr' is included. Caused by sub-shell processing
of arguments inheriting prior value of $OPTIND, used by getopts. Solved by
unsetting OPTIND prior to [re-]processing of positional arguments.
2014-09-01 22:53:47 +00:00
se
aee8320036 More man pages that need to know about vt in addition to syscons.
MFC after:	3 dayS
2014-08-26 10:55:08 +00:00
dteske
4a9e0dc25b Optimize f_which() to be slightly faster still. 2014-08-24 16:40:31 +00:00
dteske
2ba2c913b5 Add `-A' flag to pkg-install(8) invocation when installing dependencies.
MFC after:	3 days
X-MFC-to:	stable/10, stable/9
Reported by:	gjb
Discussed with:	jelischer, gjb, bdrewery
2014-08-21 17:15:09 +00:00
sjg
d7cd1d425c Merge head from 7/28 2014-08-19 06:50:54 +00:00
dteske
bb5ee87f44 Add required `exec' before Xdialog(1) invocation for the case where we
expect (require) data on stdin. The effect of this is that, when
backgrounded, $! returns the pid of an Xdialog(1) instance instead of
an sh(1) instance -- the difference being a later kill of $! will reach
the Xdialog(1) instance whereas without the exec the kill succeeds on
the sh(1) instance leaving Xdialog(1) open.
2014-08-03 05:02:00 +00:00
dteske
9f01ef1fa7 Update command and add check for edge-case. 2014-07-31 22:13:31 +00:00
dteske
4dfb57f6c0 Fix a syntax error when running under bash(1) for portability. 2014-07-31 22:05:18 +00:00
dteske
5b30ac864c Define a setvar() function for platforms using a shell unlike FreeBSD's
sh(1) for `/bin/sh' (e.g., bash(1) which lacks a setvar definition).
This is to improve portability to other Operating Systems (e.g., Linux).
2014-07-31 22:00:36 +00:00
dteske
ab887403e1 Fix a bug where include file `networking/services.subr' was not being
properly clustered.

Change `fixedsize' to `fixedsize = true' to satisfy newer versions of dot(1)
generating error "Warning: <stdin>: syntax error in line 27 near ','".

Remove bounding cluster surrounding various include-groupings, allowing
groups of include files to float freely to the greatest consumer (reducing
the density of rendered diagrams).

While here, change the bgcolor of include clusters from white to X11 color
`thistle' (a light purple).

Also, add the word "Subroutines" after include cluster labels.

Do not terminate the digraph definition with a semi-colon [;] after the
ending brace to satisfy newer versions of dot(1) generating error "Warning:
<stdin>: syntax error in line 940 near ';'".

MFC after:	3 days
X-MFC-to:	stable/10, stable/9
2014-07-23 21:08:04 +00:00
dteske
daa5553600 Add example script `add_some_packages.sh', demonstrating how to install
a list of packages using the bsdconfig(8) API, providing dialog(8) based
user experience (versus plain console output were you to use pkg(8)
directly to install the same list of packages).

Remove example script `browse_packages_ftp.sh', made obsolete because
the digests.txz and packagesite.txz databases for pkg(8) are not
available via FTP (HTTP only to pkg.freebsd.org SRV hosts).

Update example script `browse_packages_http.sh', made to work with new
pkg(8) demonstrating how to generate a local package repository.

Fix a bug in `bsdconfig packages' where packages were listed twice. This
fix requires pkg(8) version 1.2.7_4 or higher.

NB: It is the introduction of pkg(8) 1.2.7_4 wherein I am also able to
drastically reduce the generation time of package dependencies prior to
the dialog display (by utilizing the new `-I' flag to pkg-rquery(8)).

While here, fix a positional argument nit for f_index_initialize() of
`packages/index.subr' include (the one and only argument is positional
argument 1 to state the by-ref handle, indicating the variable to set
in the caller's namespace; the nit I'm fixing here is that we were
querying positional argument 2 for this information incorrectly; caused
by a missing hunk back around SVN r257795).

Fix a bug in sysrc(8) described by PR bin/187458 "sysrc(8) silently and
unexpectedly bootstraps pkg". This was caused by an explicit entry in
`/usr/share/bsdconfig/common.subr' (used by sysrc(8)) that called pkg(8)
to populate the $PKG_ABI global (called in a way that allows implicit
bootstrap of pkg(8)). The solution to which was to find every place in
bsdconfig(8) that requires the $PKG_ABI global and add a layer of
protection by way of introducing the new API call f_musthavepkg_init()
(provided by new include, `/usr/share/bsdconfig/packages/musthavepkg.subr'
intented to mirror `/usr/share/bsdconfig/mustberoot.subr'). When the
$PKG_ABI global is required, you can use `f_musthavepkg_init' to cause
graceful premature termination in the event that pkg(8) has not yet been
bootstrapped, and thus cannot be used to populate $PKG_ABI.

NB: If running interactively ($nonInteractive is NULL or unset), the
f_musthavepkg_init() API call will attempt to bootstrap pkg(8), but only
if the user chooses "Yes" to a Yes/No dialog confirming it is ok to
bootstrap.

While here, simplify an if-conditional in `media/http.subr' include to
use sh(1) inline assignment-with-break.

Also, fix a bug in `media/http.subr' and `media/httpproxy.subr' wherein
the error messages for various HTTP failures were not finding their way
to the console (needed to pass stdout to pass-thru descriptor).

While here, remove the executable bit from `packages/categories.subr',
`packages/index.subr', and `packages/packages.subr' includes.

Fix issues where pkg(8) complains about PACKAGESITE being defined.
Previously, we would set $PACKAGESITE and export it. Now we only set
$PACKAGESITE for invocations of "pkg update" -- getting rid of all the
spurious warnings about PACKAGESITE being deprecated (it's still used
in the case of "pkg update" for simplicity versus having to configure
a config-file).

Remove the leading argument from invocations of f_index_initialize() in
`packages/packages.subr' include. The leading argument no longer means
what it used to, pre SVN r257995).

PR:		bin/187458
Reviewed by:	nwhitehorn
MFC after:	1 week
X-MFC-to:	stable/10, stable/9
2014-07-22 23:10:12 +00:00
dteske
8a69960262 Fix a code typo that prevented mkdir from firing (unnoticed
usually because another part of the code succeeded in making
the same directory).

MFC after:      3 days
2014-06-20 17:40:38 +00:00
bapt
c0cd28f928 use .Mt to mark up email addresses consistently (part2)
PR:		191174
Submitted by:	Franco Fichtner  <franco@lastsummer.de>
2014-06-20 09:57:27 +00:00
dteske
3bde90fb7a Update example portion of comment to coincide with r264840 changes.
MFC after:	3 days
2014-05-17 04:29:14 +00:00
sjg
5e568154a0 Merge head 2014-04-28 07:50:45 +00:00
dteske
70eef882b3 Implement GEOM based media device classification. You'll notice a few
different things from this commit:
+ More devices. Devices that were previously ignored are now present.
+ Faster device scanning. "There is no try, only Do" -- f_device_try()
  is no longer the basis of device scanning as GEOM provides [nearly]
  all devices (doesn't provide network devices).
+ More information available as non-root. Usually you have to be root
  to do things like taste filesystems, and that limits the amount of
  information available to non-root users; with GEOM, we see all even
  running unprivileged as the brunt of information (except for so-
  called ``dangerously dedicated'' file systems) is represented by the
  `kern.geom.confxml' sysctl(8) MIB.
NB: Only really useful for external scripts that use the API and run as
    non-root; where this code is used in bsdconfig(8) and bsdinstall(8)
    you are running as root so can detect even ``dangerously dedicated''
    file systems that are not present in GEOM; e.g., no PART class for
    a DOS filesystem written directly to disk without partition table).
+ No more use of legacy tools such as diskinfo(8) to get disk capacity
  or fdisk(8) to see partitions.

MFC after:	1 week
2014-04-23 22:04:04 +00:00
dteske
fc1b773c21 Rewrite usermgmt -- hooking it into the scripting system with dispatch
commands addUser, deleteUser, and editUser. Getting rid of the awkward-
to-use `userinput' bolt-on which Ron and I talked about rewriting.
2014-03-14 03:42:05 +00:00
dteske
a198815365 Add protection against input containing single-quotes (e.g., i18n-users). 2014-03-14 03:37:08 +00:00
dteske
c22d6758dd For non-interactive scripts, forgot to check we were given an argument
before proceeding.
2014-03-14 03:34:43 +00:00
dteske
2fd56202ec Fix a bug preventing errors from pw(8) from filtering up to a dialog.
Programs running as rvalue to pipe cannot access current namespace.
2014-03-14 03:33:03 +00:00
dteske
21273c418a Reduce the sleep cycle when using dialog(1) to 1-second. 2014-03-14 03:28:21 +00:00
dteske
665bd359af Fix comments and whitespace. 2014-03-14 03:25:33 +00:00
dteske
f2ae41dff4 Fix a code-typo that prevented auto-sizing of the dialog. 2014-03-14 03:15:02 +00:00
dteske
ca7a5127a4 Point hat! Fix a broken f_isinteger(). 2014-03-14 03:00:02 +00:00
dteske
a4fb4957a5 Remove useless NULL string '' in compound strings. Look very closely. 2014-03-14 02:56:49 +00:00
dteske
ea3e323b42 Fix future namespace issues for functions taking $var_to_set -- functions
taking a variable to set need to make sure they protect their locals; if
$var_to_set positional argument coincides with a local the expected call
to `setvar' will fail to reach outside of the function's namespace. When
such collisions are experienced (as I did in the rewrite of usermgmt) the
solution is to append a full or abbreviated version of the function name
to the local (ultimately eliminating collisions). This is rarely needed
and only occurs when you have a lot of like-named functions that pass
very similar $var_to_set positional arguments to each other (such as-is
the case with an expansive library such as `dialog.subr').
2014-03-14 02:50:32 +00:00
dteske
0e1eb3b2f3 Update copyright. 2014-03-14 02:40:52 +00:00
dteske
6dc3e47f18 Comments. 2014-03-14 02:39:42 +00:00
dteske
b13d8a2b63 Add debug statement just before attempting to exec a module. 2014-03-14 02:38:56 +00:00
dteske
70c18ea234 Remove indexfile from debug statement as it is already logged by
f_index_menusel_command() used just-prior to this debug statement.
Also, log the arguments being passed to the resword.
2014-03-14 02:37:39 +00:00
dteske
a612ce2d3b Remove vestigial global, no-longer used since SVN r262904. 2014-03-10 21:37:40 +00:00
dteske
a015f12853 Whitespace. 2014-03-10 21:35:27 +00:00
dteske
c81a3d85c6 Take a group name on the command-line if available. 2014-03-07 22:29:00 +00:00
dteske
ef12c3b63f Fix copy/paste error in a comment. 2014-03-07 22:24:53 +00:00
dteske
b6442661fd Change dipatch words from group* to *Group to backward compatible with
ye-olden sysinstall(8).
2014-03-07 22:17:35 +00:00
dteske
63c9b15725 Rewrite groupmgmt -- hooking it into the scripting system with dispatch
commands groupAdd, groupDelete, and groupEdit. Getting rid of the awkward-
to-use `groupinput' bolt-on which Ron and I talked about rewriting.
2014-03-07 20:44:19 +00:00
dteske
af733395cb Comment -- to go with NL global introduced (but not mentioned) by r262901 2014-03-07 20:32:26 +00:00
dteske
133f75adb5 s/__number/__num/ for code clarify but more to prevent localization of
__number if passed as the var_to_set argument.
2014-03-07 20:29:19 +00:00
dteske
7649b4db47 Centralize function name. Update a comment while here. 2014-03-07 20:24:59 +00:00
dteske
cf2d797f14 Make f_show_err non-fatal. 2014-03-07 20:20:27 +00:00
dteske
0b0cb45bca Fix incorrect return status if var_to_set and var_to_get are the same. 2014-03-07 20:18:39 +00:00
dteske
d8d6d667f6 Fix a typo in a comment. 2014-03-07 20:15:52 +00:00
dteske
5cb44b665e Add missing local declaration. 2014-03-07 20:15:08 +00:00
dteske
fa3a5f9350 Allow dispatched reswords to carry arguments. Fix a comment while here. 2014-03-07 20:12:59 +00:00
dteske
0973152def Dummy commit (s/__num/__number/) in f_expand_number() to describe that the
previous commit here (SVN r260894) was [in-part] from Submitted-by:
Christoph Mallon <christoph.mallon@gmx.de>

MFC after: 3 days
2014-01-20 03:31:16 +00:00
dteske
fa3ef88a5b Optimize f_expand_number(), improving performance.
MFC After:	3 days
2014-01-19 21:02:24 +00:00
gjb
4a6e65ab03 Export 'REPOS_DIR' when the selected source medium for package
installation is cdrom.  This enables bsdconfig(8) to make use
of the on-disc pkg(8) repository configuration, which fixes
package selection and installation from the dvd installer.

MFC after:	3 days
M-MFC-With:	r259426
X-MFC-Before:	-RC3
Sponsored by:	The FreeBSD Foundation
2013-12-15 20:47:27 +00:00
dteske
743b336f11 Fix failed attempt to send pkg(8) stderr to /dev/null
MFC after:	3 days
2013-12-09 01:30:20 +00:00