On Fri Apr 22 11, Devin Teske wrote:
> 
> 
> > -----Original Message-----
> > From: Alexander Best [mailto:arun...@freebsd.org]
> > Sent: Friday, April 22, 2011 7:55 AM
> > To: Devin Teske
> > Cc: freebsd-hack...@freebsd.org; freebsd-questions@freebsd.org; Teske,
> > Devin
> > Subject: Re: [UPDATE] host-setup(1): a dialog(1)-based utility for
> > configuring FreeBSD
> > 
> > On Thu Apr 21 11, Devin Teske wrote:
> > > Hi List Members!
> > >
> > >
> > >
> > > I'm proud to announce the first update to my host-setup utility (a
> > > dialog(1)-based host configurator for FreeBSD). The following changes
> > have been
> > > made:
> > >
> > >
> > >
> > > - fixed bug where /etc/resolv.conf would be created with 0600
> > permissions
> > >
> > > - fixed bug when switching from one default gateway to NO default
> > gateway
> > >
> > > - fixed typo in the title of netmask prompt and ifconfig options dialog
> > >
> > > - fixed bug that prevented entry of netmask if no netmask is configured
> > >
> > >
> > >
> > > You can get the updated version here:
> > >
> > >
> > >
> > > http://druidbsd.sourceforge.net/download/host-setup.txt
> > 
> > otaku% sudo ./host-setup.txt
> > User cancelled.
> > otaku% echo $?
> > 1
> > otaku%
> 
> Can you provide me with the output of "uname -spr"?

FreeBSD 9.0-CURRENT amd64

> 
> It's working fine for me on FreeBSD 8.1-RELEASE i386.
> 
> Where you're bombing out is line 2403:
> [ $retval -eq 0 ] || die "User cancelled."
> 
> Functionally, that is testing the return status of dialog(1) for the initial
> menu. See if you can execute this (a rough approximation of the initial
> menu):
> 
> dialog --clear --title foo --hline bar --menu abc 17 55 9 1 a 2 b 3 c 4 d 5
> e X x 2> /tmp/dialog.menu.foo

doesn't work. :(

otaku% echo $?
255
otaku% cat /tmp/dialog.menu.foo 

Error: Unknown option --hline.
Use --help to list options.


otaku%

taku% whereis dialog
dialog: /usr/bin/dialog /usr/share/man/en.ISO8859-15/man1/dialog.1.gz 
/usr/src/gnu/usr.bin/dialog

otaku% /usr/bin/dialog
cdialog (ComeOn Dialog!) version 1.1-20100428
Copyright 2000-2007,2008 Thomas E. Dickey
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[...]

> 
> A menu should appear. Select an item and then execute for me:
> 
> echo $?
> 
> If the above doesn't work, then I suspect that your dialog(1) is not working
> properly. I'd then go and try this as a sanity check:
> 
> cd /usr/share/examples/dialog

otaku% cd /usr/share/examples/dialog 
cd: no such file or directory: /usr/share/examples/dialog

> sh menubox
> echo $?
> 
> The result in both cases (as long as you actually select a menu item) should
> be "0".
> 
> Also... (just as a sanity check for me) your /bin/sh is not a symlink to
> bash is it?

otaku% file /bin/sh 
/bin/sh: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically 
linked (uses shared libs), for FreeBSD 9.0 (900034), stripped

> --
> Devin
> 
> 
> > 
> > >
> > > or
> > >
> > > http://druidbsd.sourceforge.net/download/host-setup.gz
> > >
> > > or
> > >
> > > http://druidbsd.sourceforge.net/
> > >
> > >
> > >
> > >
> > >
> > > For those not familiar with my host-setup(1) utility, it is a 2,500+
> > line shell
> > > script that utilizes the dialog(1) utility to walk the system
> > administrator
> > > through setting up their TimeZone, Hostname, Network Interfaces, Default
> > > Gateway, and DNS. Our custom FreeBSD installer sets this script as the
> > root
> > > login shell, making it very easy for field engineers to quickly get a
> > system on
> > > the network without having to use the command-line (and without having
> > to reboot
> > > either). Underneath the hood - behind the system of prompts and dialogs
> > - this
> > > script manages both the contents of /etc/rc.conf, /etc/resolv.conf, and
> > others
> > > as well as utilizing ifconfig(8), route(8), and many other tools to
> > avoid
> > > requiring a reboot, prompting you if you would like to make the new
> > changes
> > > effective when values are changed from their active settings.
> > >
> > >
> > >
> > > Here's the patch to show the details:
> > >
> > >
> > >
> > > --- host-setup.3_0   2011-02-10 19:14:30.000000000 -0800
> > >
> > > +++ host-setup  2011-04-21 13:38:58.000000000 -0700
> > >
> > > @@ -2,12 +2,12 @@
> > >
> > > # -*- tab-width:  4 -*- ;; Emacs
> > >
> > > # vi: set tabstop=4     :: Vi/ViM
> > >
> > > #
> > >
> > > -# Revision: 3.0
> > >
> > > +# Revision: 3.1
> > >
> > > # Created: September 21st, 2010
> > >
> > > -# Last Modified: December 6th, 2010
> > >
> > > +# Last Modified: April 21st, 2011
> > >
> > > ############################################################ COPYRIGHT
> > >
> > > #
> > >
> > > -# Devin Teske (c)2006-2010. All Rights Reserved.
> > >
> > > +# Devin Teske (c)2006-2011. All Rights Reserved.
> > >
> > > #
> > >
> > > # Redistribution and use in source and binary forms, with or without
> > >
> > > # modification, are permitted provided that the following conditions
> > >
> > > @@ -1353,8 +1353,10 @@ dialog_input_hostname()
> > >
> > >           # permissions and ownership to match resolv.conf(5) before
> > >
> > >           # we write it out and mv(1) it into place).
> > >
> > >           #
> > >
> > > -          quietly chmod "$( stat -f '%#Lp'  "$RESOLV_CONF" )"
> > "$tmpfile"
> > >
> > > -          quietly chown "$( stat -f '%u:%g' "$RESOLV_CONF" )"
> > "$tmpfile"
> > >
> > > +          local mode="$( stat -f '%#Lp' "$RESOLV_CONF" 2> /dev/null )"
> > >
> > > +          local owner="$( stat -f '%u:%g' "$RESOLV_CONF" 2> /dev/null
> > )"
> > >
> > > +          quietly chmod "${mode:-0644}" "$tmpfile"
> > >
> > > +          quietly chown "${owner:-root:wheel}" "$tmpfile"
> > >
> > >            #
> > >
> > >           # Operate on resolv.conf(5), replacing only the last
> > >
> > > @@ -1646,7 +1648,7 @@ dialog_input_netmask()
> > >
> > >     #
> > >
> > >     while :; do
> > >
> > > -          dialog --title "$brand${band:+}${progname:-$0}"         \
> > >
> > > +          dialog --title "$brand${brand:+ }${progname:-$0}"       \
> > >
> > >                  --hline "Use numbers, punctuation, TAB or ENTER" \
> > >
> > >                  --inputbox "$msg" 10 50                          \
> > >
> > >                  "$_netmask"                                      \
> > >
> > > @@ -1664,7 +1666,7 @@ dialog_input_netmask()
> > >
> > >           [ $retval -eq $SUCCESS ] || return $retval
> > >
> > >            # Return success if NULL value was entered
> > >
> > > -          [ "$_netmask" ] || return $SUCCESS
> > >
> > > +          [ "$_input" ] || return $SUCCESS
> > >
> > >            # Take only the first "word" of the user's input
> > >
> > >           _netmask="$_input"
> > >
> > > @@ -1705,7 +1707,7 @@ dialog_input_options()
> > >
> > >     msg="Please enter additional network media options to be"
> > >
> > >     msg="$msg passed to ifconfig(8) for the $interface interface:"
> > >
> > > -    dialog --title "$brand${band:+}${progname:-$0}"         \
> > >
> > > +    dialog --title "$brand${brand:+ }${progname:-$0}"       \
> > >
> > >            --hline "Use numbers, punctuation, TAB or ENTER" \
> > >
> > >            --inputbox "$msg" 9 70                           \
> > >
> > >            "$options"                                       \
> > >
> > > @@ -2183,9 +2185,12 @@ dialog_menu_netdev_edit()
> > >
> > >                local dr="$( sysrc_get defaultrouter )" err
> > >
> > >                err=$( ifconfig $interface inet $ipaddr \
> > >
> > >                           netmask $netmask $options 2>&1 )
> > >
> > > -               if [ $? -eq $SUCCESS -a "$dr" ]; then
> > >
> > > -                    err=$( route add default "$dr" 2>&1 )
> > >
> > > -                    [ $? -eq $SUCCESS ] || dialog_msgbox "$err"
> > >
> > > +               if [ $? -eq $SUCCESS ]; then
> > >
> > > +                    if [ "$dr" -a "$dr" != "NO" ]; then
> > >
> > > +                          err=$( route add default "$dr" 2>&1 )
> > >
> > > +                          [ $? -eq $SUCCESS ] || \
> > >
> > > +                               dialog_msgbox "$err"
> > >
> > > +                    fi
> > >
> > >                else
> > >
> > >                     dialog_msgbox "$err"
> > >
> > >                fi
> > >
> > > @@ -2524,7 +2529,7 @@ exit $SUCCESS
> > >
> > > #
> > >
> > > # $Header$
> > >
> > > #
> > >
> > > -# $Copyright: 2006-2010. Devin Teske. All Rights Reserved. $
> > >
> > > +# $Copyright: 2006-2011. Devin Teske. All Rights Reserved. $
> > >
> > > #
> > >
> > > # $Log$
> > >
> > > #
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > >
> > > Cheers,
> > >
> > > Devin Teske
> > >
> > >
> > >
> > > -> FUN STUFF <-
> > >
> > > -----BEGIN GEEK CODE BLOCK-----
> > >
> > > Version 3.12
> > >
> > > GAT/CS/B/CC/E/IT/MC/M/MU/P/S/TW d+(++) s: a- C+++@$ UB++++$ P++++@$
> > L++++$ E-
> > >
> > > W+++ N? o? K? w@ O M++$ V- PS+>++ PE@ Y+ PGP-> t(+) 5? X(+) R(-) tv+
> > b+>++ DI+
> > >
> > > D+(++) G++ e>++++ h r+++ z+++
> > >
> > > ------END GEEK CODE BLOCK------
> > >
> > > Learn about the "Geek Code": http://www.geekcode.com/
> > >
> > >
> > >
> > > -> LEGAL DISCLAIMER <-
> > >
> > > This message  contains confidential  and proprietary  information
> > >
> > > of the sender,  and is intended only for the person(s) to whom it
> > >
> > > is addressed. Any use, distribution, copying or disclosure by any
> > >
> > > other person  is strictly prohibited.  If you have  received this
> > >
> > > message in error,  please notify  the e-mail sender  immediately,
> > >
> > > and delete the original message without making a copy.
> > >
> > >
> > >
> > > -> END TRANSMISSION <-
> > >
> > > _____________
> > >
> > > The information contained in this message is proprietary and/or
> > confidential. If you are not the intended recipient, please: (i) delete
> > the message and all copies; (ii) do not disclose, distribute or use the
> > message in any manner; and (iii) notify the sender immediately. In
> > addition, please be aware that any message addressed to our domain is
> > subject to archiving and review by persons other than the intended
> > recipient. Thank you.
> > > _____________
> > 
> > --
> > a13x
> 
> _____________
> 
> The information contained in this message is proprietary and/or confidential. 
> If you are not the intended recipient, please: (i) delete the message and all 
> copies; (ii) do not disclose, distribute or use the message in any manner; 
> and (iii) notify the sender immediately. In addition, please be aware that 
> any message addressed to our domain is subject to archiving and review by 
> persons other than the intended recipient. Thank you.
> _____________

-- 
a13x
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to