Bug 611175 - Review Request: yash - Yet Another SHell
Summary: Review Request: yash - Yet Another SHell
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review   
(Show other bugs)
Version: rawhide
Hardware: All Linux
medium
medium
Target Milestone: ---
Assignee: Iain Arnell
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-04 06:16 UTC by Mamoru TASAKA
Modified: 2010-07-05 04:45 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-07-05 04:45:45 UTC
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)

Description Mamoru TASAKA 2010-07-04 06:16:43 UTC
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 07:11:09 UTC
+ 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 08:06:54 UTC
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 10:38:24 UTC
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 11:20:36 UTC
(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 11:49:48 UTC
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 11:58:27 UTC
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 12:13:06 UTC
Changes are good for me. Still APPROVED.

Comment 8 Kevin Fenzi 2010-07-05 01:47:17 UTC
CVS done (by process-cvs-requests.py).

Comment 9 Mamoru TASAKA 2010-07-05 04:45:45 UTC
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.