|
On Thu, Jan 06, 2000 at 11:14:36PM +1300, Carey Evans wrote:
> "Jason M. Felice" <jasonf@Baldwingroup.COM> writes:
>
> > - xt5250 script rewritten, is more robust. Inspired by Gomez Henri's xt5250
> > patch for his RPMs. (Duh, I forgot to include your Gnome icon thing...
> > hmm). Appending info to your Xdefaults file is no longer necessary.
> > Also, xt5250 now prompts for the system name if not specified, which
> > eliminates one point of confusion.
>
> I've got a few constructive comments on the new xt5250 script.
>
> - A faster way to do "$(basename 0)" is "${0##*/}".
Cool. Learn something new every day.
>
> - Using "which" like that is at least Linux, and maybe bash-specific.
> The POSIX-compatible way to do that seems to be:
>
> if command -v dialog >/dev/null 2>&1; then ...
Shell builtins are better. Strange tho, I've never used a system without
which (even my old windows boxes had a 'which.exe' that I'd written).
This includes AIX and Solaris.
>
> Alternatively, configure could look for dialog with AC_CHECK_PROGS
> or AC_PATH_PROGS. Also, Debian has a program called "whiptail"
> which is more likely to be installed than "dialog", but is
> compatible. I think whiptail is originally from Red Hat, actually.
> configure could see whether either of these exists.
Okay, that's probably the better solution, anyway. "whiptail" is
command-line compatible?
>
> - "2> /tmp/xt5250.$$" could be a security hole. If that file is
> actually a symlink to one of the user's files, it will be
> followed. Something like this should work:
I had to think about this for a second. Hmm, interesting. User 'badguy'
symlinks /tmp/xt5250.45 => /home/goodguy/crontab, then 'goodguy' destroys
his own file when running xt5250. This is what peer review is good for :)
>
> exec 3>&1
> host=$(dialog ... 2>&1 1>&3)
> if [ "$?" -gt 0 ]; then exit 1; fi
> exec 3>&-
1>&3 ? What's 3? I thought only DOS had 3 stdxxx (the third being the PRN:
printer). Hmm, I'll see if that works, if not, I'll see if there is a shell
equivalent of tmpfile().
>
> (Is there a better way to write that if?)
>
> - An alternative to using xrdb to get the resources is to set
> XUSERFILESEARCHPATH. For example:
>
> XUSERFILESEARCHPATH=/usr/share/tn5250/%N
> export XUSERFILESEARCHPATH
>
> This then leaves everything in the environment the same after it
> exits. The file should be called XTerm rather than xt5250.keys.
Okay.
>
> - The script will split any arguments with embedded spaces, even if
> they're quoted. (i.e. xt5250 -t "/tmp/log file.txt" won't work.)
> I could work out a fix for this, but not at this time of night. :-O
Okay, I was being boneheaded.
>
> > - More of the installtion is automatic - it should now find the 'tic'
>command
> > and install the 5250 terminfo entry (only if 'uname -s' reports "Linux",
>and
> > you ran 'make install' as root, tho).
>
> Wouldn't using AC_CANONICAL_HOST and `host_os' be better than using
> uname -s?
Yes, that would be better, as we are installing this in $bindir.
>
> Because an xterm and the Linux console aren't the same (which is why
> dialog generated strange graphics) my Debian package installs separate
> terminfos for "linux-5250" and "xterm-5250", which are based on the
> standard ones by including them:
>
> ------------------------------------------------------------
> 5250|linux-5250|linux console 5250 terminal,
> kf21=\E[35~, kf22=\E[36~, kf23=\E[37~, kf24=\E[38~,
> use=linux,
> ------------------------------------------------------------
> xt5250|xterm-5250|xterm 5250 terminal,
> kf21=\E[35~, kf22=\E[36~, kf23=\E[37~, kf24=\E[38~,
> kcbt=\E[Z,
> use=xterm-xfree86,
> ------------------------------------------------------------
I removed smacs, rmacs, and acsc entries from the terminfo entries just
to fix this problem. I think both your solution and the current solution
would have different maintenance issues. For example, we load a complete
keymap with loadkeys, so we could possible be using a different set of keys
than the default terminfo for the linux console. I think your way might be
better for xterm, though.
Geez, and I thought I wrote *good* shell scripts. ;->
-Jay 'Eraserhead' Felice
+---
| This is the LINUX5250 Mailing List!
| To submit a new message, send your mail to LINUX5250@midrange.com.
| To subscribe to this list send email to LINUX5250-SUB@midrange.com.
| To unsubscribe from this list send email to LINUX5250-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.