Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Apr 2011 16:07:45 -0500
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        Devin Teske <dteske@vicor.com>
Cc:        "'Teske, Devin'" <Devin.Teske@fisglobal.com>, 'Alexander Best' <arundel@freebsd.org>, freebsd-questions@freebsd.org, freebsd-hackers@freebsd.org
Subject:   Re: dialog(1) changed in RELENG_9 (was RE: [UPDATE] host-setup(1): a dialog(1)-based utility for configuring FreeBSD)
Message-ID:  <4DB1EE21.9030705@freebsd.org>
In-Reply-To: <039d01cc010d$73438830$59ca9890$@vicor.com>
References:  <039d01cc010d$73438830$59ca9890$@vicor.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On 04/22/11 11:50, Devin Teske wrote:
>> -----Original Message-----
>> From: Alexander Best [mailto:arundel@freebsd.org]
>> Sent: Friday, April 22, 2011 8:42 AM
>> To: Devin Teske
>> Cc: freebsd-hackers@freebsd.org; freebsd-questions@freebsd.org; 'Teske,
>> Devin'
>> Subject: Re: [UPDATE] host-setup(1): a dialog(1)-based utility for configuring
>> FreeBSD
>>
>> On Fri Apr 22 11, Devin Teske wrote:
>>>> -----Original Message-----
>>>> From: Alexander Best [mailto:arundel@freebsd.org]
>>>> Sent: Friday, April 22, 2011 7:55 AM
>>>> To: Devin Teske
>>>> Cc: freebsd-hackers@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
> I haven't yet had a chance to pull that one down and install it yet. Hopefully
> you can help me out with this one here.
>
>>> 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. :(
> Bummer! We'll have to fix that.
>
>
>> otaku% echo $?
>> 255
>> otaku% cat /tmp/dialog.menu.foo
>>
>> Error: Unknown option --hline.
>> Use --help to list options.
> Aha! I think I remember seeing in the list a thread related to swapping out
> dialog(1) for something new. This must be it.
>
>>
>> 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.
> I can't recall as I don't have the thread in front of me, but why was dialog(1)
> replaced with cdialog? licensing? performance?
>
> I guess I could code my script to support this new dialog(1), but... can you see
> if the below works (I removed the "--hline" option):
>
> dialog --clear --title foo --menu abc 17 55 9 1 a 2 b 3 c 4 d 5 e X x 2>
> /tmp/dialog.menu.foo
>
> If that succeeds, then I can modify my script to not use `--hline' on RELENG_9
> and higher (referencing `sysctl -n kern.osreldate` for example).
>
>
>> [...]
>>
>>> 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
> Really? I would have thought that the examples in that directory (which are
> merely shell scripts) would have been recoded for cdialog rather than altogether
> removed. Maybe there was licensing issues there too. Was there?
>
>
>>> 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
> Cool. Though I'm still disappointed that my beloved dialog(1) has gone missing
> (rather, replaced with something doesn't accept the same arguments and/or
> options)(which is the problem that we're experiencing here).
>
> Is there anybody familiar with the changing-out dialog(1) that can bring me up
> to speed with reasoning and specifics for RELENG_9? Also, might it be prudent --
> before cutting 9_0_RELEASE -- to add the fact that dialog(1) no longer accepts
> `--hline' to the UPGRADING and/or ERRATA documents?

It's almost entirely compatible, but I apologize for the breakage you 
experienced. The reasons it was replaced it were that it (a) has a 
better libdialog API, (b) has a better license (LGPL instead of GPL), 
(c) is maintained, and (d) supports 8-bit character sets. If there is 
some specific feature you are interested in (--hline for instance), I'd 
suggest writing to Thomas Dickey, the maintainer.
-Nathan



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?4DB1EE21.9030705>