[Bug 1115121] Review Request: osh - V6 Thompson Shell Port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1115121



--- Comment #5 from Christopher Meng <i@xxxxxxxx> ---
(In reply to Jerry James from comment #4)
> Oops, I'm too late.  I was supposed to take this review in exchange.  Sorry
> to be slow.  Anyway, I found a few more issues that need to be addressed:

No problem.

> 1. The debuginfo package is empty, because install is invoked with the -s
> option.

I will fix that. Didn't spot that.

> 2. Parallel make isn't working correctly.  The build log shows the same file
> being compiled by multiple threads; e.g., v.c was built 6 times for me.

Really? I haven't noticed that as well on my slow computer.

> 3. The package BuildRequires ncurses-devel, but the binary package doesn't
> depend on any of the ncurses libraries.  I also don't see any #include
> directives that need ncurses present.

My mistake, mixed with other packages. ;)

> Finally, I am concerned about introducing /usr/bin/if.  That's not only a
> generic name, but a keyword in pretty much every scripting language in
> existence.  The fact that it is a keyword *probably* means that introducing
> it as a binary is okay, but ... eek!  The name /usr/bin/goto is also
> somewhat generic.  The NOTES file says these are not needed by osh(1), but
> only by sh6(1).  Can we hide them away somehow, perhaps with environment
> modules?

osh is designed to run as an alternative of other shells, but not running
itself in other shells.

I've discussed this with upstream already ;) Anyway I will forward this to him
and await his answer.

===============================8<================================
"In short, sh(1) can give errors for if(1) commands because "if" for sh(1) and
osh(1) differ in both behavior and syntax. A correct sh script will find the sh
"if" command first because it is a built-in, as a correct osh script will find
the osh "if" command first for the same reason.

The sh6 "if" is external, by the way."

"Assuming the environment under which the current instance of bash is running
is configured correctly (e.g., `pwd`, `umask`, $PATH, etc), I don't see a
problem. Bash is gonna find its "if" unless the script or user jumps through
hoops to make it fail. Take these simple examples running under an interactive
bash instance:

$ which bash csh osh sh
/bin/bash
/bin/csh
/usr/local/bin/osh
/bin/sh

$ bash -c if ; echo $?
bash: -c: line 1: syntax error: unexpected end of file
1

$ csh -c if ; echo $?
if: Too few arguments.
1

$ osh -c if ; echo $?
1

$ sh -c if ; echo $?
sh: 1: Syntax error: end of file unexpected
2"

===============================>8================================

> Christopher, if you want to hand me another package for a review swap,
> please feel free to do so.

Sure, take a look at bug 1115881, it might be painful XD.

Or easier: bug 1116071

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review





[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]