Bug 611175 - Review Request: yash - Yet Another SHell
Review Request: yash - Yet Another SHell
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Iain Arnell
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-04 02:16 EDT by Mamoru TASAKA
Modified: 2010-07-05 00:45 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-07-05 00:45:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
iarnell: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Mamoru TASAKA 2010-07-04 02:16:43 EDT
Spec URL: http://mtasaka.fedorapeople.org/Review_request/yash/yash.spec
SRPM URL: http://mtasaka.fedorapeople.org/Review_request/yash/yash-2.22-0.1.b0.fc.src.rpm
Description: 
Yash is a command line shell that conforms to the POSIX.1 (IEEE Std
1003.1, 2008 Edition) standard for the most part. Actually, it is much
more POSIX-compliant than other shell like bash and zsh.

Yash also has its own features beyond POSIX, such as:
  * global aliases
  * random numbers
  * socket redirections and other special redirections
  * right prompt

Koji scratch build:
F-14: http://koji.fedoraproject.org/koji/taskinfo?taskID=2293436
F-13: http://koji.fedoraproject.org/koji/taskinfo?taskID=2293439
F-12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2293442
Comment 1 Iain Arnell 2010-07-04 03:11:09 EDT
+ source files match upstream.  
    c05a0bf6a5a6ae0a6c15d1401bcfeeed  yash-2.22b0.tar.gz
    a1be011e63f94f4a2c3df802815b17e5  yash-doc-2.22b0-ja.tar.gz

+ package meets naming and versioning guidelines.
+ specfile is properly named, is cleanly written and uses macros consistently.
+ summary is OK.
+ description is OK.
+ dist tag is present.
+ license field matches the actual license.
    GPLv2+

+ license is open source-compatible.
+ upstream license is included as %doc
+ latest version is being packaged.
+ BuildRequires are proper.
+ compiler flags are appropriate.
+ %clean is present.
+ package builds in mock
    http://koji.fedoraproject.org/koji/taskinfo?taskID=2293436

+ package installs properly.
+ rpmlint has no significant complaints:
    yash.src: I: checking
    yash.src: W: spelling-error %description -l en_US zsh -> sh, ssh, ash
    yash.src: W: spelling-error %description -l en_US redirections -> redirection, re directions, re-directions
    yash.src: I: checking-url http://yash.sourceforge.jp/ (timeout 10 seconds)
    yash.src:54: W: configure-without-libdir-spec
    yash.src: W: no-cleaning-of-buildroot %install
    yash.src: W: no-buildroot-tag
    yash.src: I: checking-url http://dl.sourceforge.jp/yash/48168/yash-doc-2.22b0-ja.tar.gz (timeout 10 seconds)
    yash.src: I: checking-url http://dl.sourceforge.jp/yash/48168/yash-2.22b0.tar.gz (timeout 10 seconds)
    yash.x86_64: I: checking
    yash.x86_64: W: spelling-error %description -l en_US zsh -> sh, ssh, ash
    yash.x86_64: W: spelling-error %description -l en_US redirections -> redirection, re directions, re-directions
    yash.x86_64: I: checking-url http://yash.sourceforge.jp/ (timeout 10 seconds)
    yash.x86_64: W: no-manual-page-for-binary yash
    yash-debuginfo.x86_64: I: checking
    yash-debuginfo.x86_64: I: checking-url http://yash.sourceforge.jp/ (timeout 10 seconds)
    yash-doc.noarch: I: checking
    yash-doc.noarch: I: checking-url http://yash.sourceforge.jp/ (timeout 10 seconds)
    4 packages and 0 specfiles checked; 0 errors, 8 warnings.

+ final provides and requires are sane:
    yash = 2.22-0.1.b0.fc14
    yash(x86-64) = 2.22-0.1.b0.fc14
=
    libc.so.6()(64bit)  
    libc.so.6(GLIBC_2.2.5)(64bit)  
    libc.so.6(GLIBC_2.3.4)(64bit)  
    libc.so.6(GLIBC_2.3)(64bit)  
    libc.so.6(GLIBC_2.4)(64bit)  
    libm.so.6()(64bit)  
    libm.so.6(GLIBC_2.2.5)(64bit)  
    libtinfo.so.5()(64bit)  
    rpmlib(CompressedFileNames) <= 3.0.4-1
    rpmlib(FileDigests) <= 4.6.0-1
    rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    rpmlib(PayloadIsXz) <= 5.2-1
    rtld(GNU_HASH)  

+ %check is present and all tests pass.
    Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.5FWdCk
    + umask 022
    + cd /builddir/build/BUILD
    + cd yash-2.22b0
    + unset DISPLAY
    + make test
    make[1]: Entering directory `/builddir/build/BUILD/yash-2.22b0/tests'
    gcc -std=c99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D HAVE_CONFIG_H   -o invoke invoke.c -lm -ltinfo
    gcc -std=c99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D HAVE_CONFIG_H   -o resetsig resetsig.c -lm -ltinfo
    make[2]: Entering directory `/builddir/build/BUILD/yash-2.22b0'
    make[3]: Entering directory `/builddir/build/BUILD/yash-2.22b0/builtins'
    make[3]: Nothing to be done for `all'.
    make[3]: Leaving directory `/builddir/build/BUILD/yash-2.22b0/builtins'
    make[3]: Entering directory `/builddir/build/BUILD/yash-2.22b0/lineedit'
    make[3]: Nothing to be done for `all'.
    make[3]: Leaving directory `/builddir/build/BUILD/yash-2.22b0/lineedit'
    make[2]: Leaving directory `/builddir/build/BUILD/yash-2.22b0'
    Testing ../yash for *.tst
    alias.p     ok
    alias.y     ok
    array.y     ok
    builtin.p   ok
    builtin.y   ok
    dirstack.y  ok
    error.p     ok
    error.y     ok
    expand.p    ok
    expand.y    ok
    fnmatch.p   ok
    help.y      ok
    history.y   ok
    input.p     ok
    input.y     ok
    job.p       ok
    job.y       skipped
    lineedit.y  ok
    option.p    ok
    option.y    ok
    parser.p    ok
    parser.y    ok
    path.p      ok
    path.y      ok
    printf.y    ok
    redir.p     ok
    redir.y     ok
    sig.p       ok
    sig.y       ok
    test.y      ok
    variable.p  ok
    variable.y  ok
    All test(s) completed successfully.
    make[1]: Leaving directory `/builddir/build/BUILD/yash-2.22b0/tests'
    + exit 0

+ no shared libraries are added to the regular linker search paths.
+ owns the directories it creates.
+ doesn't own any directories it shouldn't.
+ no duplicates in %files.
+ file permissions are appropriate.
+ no generically named files
+ code, not content.
+ large documentation is in separate -doc sub-package.
+ %docs are not necessary for the proper functioning of the package.


The only minor complaint is there's no man page, but it's not a blocker.

APPROVED.
Comment 2 Mamoru TASAKA 2010-07-04 04:06:54 EDT
Thank you! I will surely review your review request later.

New Package CVS Request
=======================
Package Name:        yash
Short Description:   Yet Another SHell
Owners:              mtasaka
Branches:            F-12 F-13
InitialCC:
Comment 3 Ralf Corsepius 2010-07-04 06:38:24 EDT
MUSTFIX:
* Missing /etc/shells entry

Consider:
* abandon the *-doc package and bundle the doc with the main package.
This separate doc-package makes not much sense

* Trim the description. To me, reading  

"Actually, it is much
more POSIX-compliant than other shell like bash and zsh." are shallow marketing slogans without substance.
Comment 4 Mamoru TASAKA 2010-07-04 07:20:36 EDT
(In reply to comment #3)
> MUSTFIX:
> * Missing /etc/shells entry

- Will add scriptlets at %post{,un} (borrowing what zsh does
  on %post{,un} - Well, with this yash will depend on bash on
  scriptlets, however I guess bash is installed on system anyway,
  and I don't know about lua....)

> Consider:
> * abandon the *-doc package and bundle the doc with the main package.
> This separate doc-package makes not much sense

- Well, it seems that size of yash{-doc} is (much) smaller
  than bash/zsh, will merge.

> * Trim the description. To me, reading  
> 
> "Actually, it is much
> more POSIX-compliant than other shell like bash and zsh." are shallow marketing
> slogans without substance.
- Will remove.
Comment 5 Iain Arnell 2010-07-04 07:49:48 EDT
Thanks Ralf.

(In reply to comment #4)
> (In reply to comment #3)
> > MUSTFIX:
> > * Missing /etc/shells entry
> 
> - Will add scriptlets at %post{,un} (borrowing what zsh does
>   on %post{,un} - Well, with this yash will depend on bash on
>   scriptlets, however I guess bash is installed on system anyway,
>   and I don't know about lua....)

Agreed - the zsh scriptlets are good to copy.

> > Consider:
> > * abandon the *-doc package and bundle the doc with the main package.
> > This separate doc-package makes not much sense
> 
> - Well, it seems that size of yash{-doc} is (much) smaller
>   than bash/zsh, will merge.

I actually liked that the (no offence intended, but useless to most people who don't understand Japanese) docs were completely separate. I know there's some way to exclude languages, but I can't for the life of me remember how. And if the docs grow to include translations in future, they will likely become bigger than the main rpm.

> > * Trim the description.
> - Will remove.    

Agreed.
Comment 6 Mamoru TASAKA 2010-07-04 07:58:27 EDT
Okay, then stay Japanese document files seperated.

http://mtasaka.fedorapeople.org/Review_request/yash/yash.spec
http://mtasaka.fedorapeople.org/Review_request/yash/yash-2.22-0.2.b0.fc.src.rpm

* Sun Jul  4 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.22-0.2.b0
- Handle %%_sysconfdir/shells
- Move binary to /bin

Summary is also trimmed.
Comment 7 Iain Arnell 2010-07-04 08:13:06 EDT
Changes are good for me. Still APPROVED.
Comment 8 Kevin Fenzi 2010-07-04 21:47:17 EDT
CVS done (by process-cvs-requests.py).
Comment 9 Mamoru TASAKA 2010-07-05 00:45:45 EDT
Rebuilt done on all branches, requested push on bodhi.

Thank you for reviewing this package and CVS procedure, closing.

Note You need to log in before you can comment on or make changes to this bug.