[Pkg-zsh-devel] RFS: oh-my-zsh/0~20140211-1 [ITP]

Axel Beckert abe at debian.org
Sun May 11 23:59:45 UTC 2014


Hi Jerome,

sorry for the late reply, but March/April is always a busy time of the
year for me with a lot of travelling.

Jerome Charaoui wrote:
> Thank you for the thoughtful comments. I have taken everything into
> consideration.

Thanks!

> I've submitted a patch upstream to fix this shell switching issue.

Thanks! Much appreciated.

> See this pull request :
> https://github.com/robbyrussell/oh-my-zsh/pull/2626 If you get a
> chance to try it out and report your results, it would be a big
> help.

One thing I noticed there is that zsh may also be installed as zsh4,
zsh5, zsh-static or zsh-beta, i.e. the user's shell may be named not
exactly zsh. But I don't know how common these values are. Debian
shipped a zsh-beta package until Wheezy. IIRC in the past Debian
shipped an /etc/shells which only allowed /bin/zsh4 as login shell,
but not /bin/zsh.

> I believe the now updated package on mentors adresses all of the issues
> you've raised. I would very much appreciate further review, and if
> everthing checks out, sponsorship.
> 
> https://mentors.debian.net/package/oh-my-zsh

Ok. The changes you did compared to the previous package are fine.

Further reviewing the package I unfortunately noticed a few more
issues:

Missing licenses
================

* tools/theme_chooser.sh has license WTFPL, but is not mentioned in
  debian/copyright.

Just adding an according entry should solve the issue.

* plugins/wd/wd.sh and _wd.sh seems to have no license attached,
  neither in the files nor at https://github.com/mfaerevaag/wd but
  seems to be not by Robby Russell, either.

* plugins/git-prompt/gitstatus.py seems to have no license attached,
  neither in the files nor at
  https://github.com/olivierverdier/zsh-git-prompt but
  seems to be not by Robby Russell, either.

Maybe you can poke olivierverdier and mfaerevaag to add a license,
either to the source code or as file LICENSE to their git repositories
as recommended by GitHub anyways. (Adding a pointer to the source of
the license statement in a "Comment:" header is probably helpful.)

* plugins/cloudapp/cloudapp.rb seems to have no license.

According to a comment in the file it may not work on Linux at all, so
maybe you just want to drop it? If not, there's an author mentioned in
it. If you get a statement from him about the license of that plugin,
that should be ok. (You can add such mails as "Comment:" field to
debian/copright.)

Since licenses is one of the things the FTP masters will look at
closely to make sure only free software enters Debian, we should be
picky here, too.

(Otherwise debian/copyright is very impressive with regards to the
amount of different licenses and copyright holders.)


Functionality issues
====================

I followed the updated README.Debian to enable oh-my-zsh. (I first
moved away my ~/.zshenv which I use to set another path for my
.zshrc.)

The default theme wasn't my taste, so I tried to choose another one
with oh-my-zsh-theme-chooser (by typing oh<Tab>):

~ → zsh
➜  ~ cd zsh 
➜  zsh  cd oh-my-zsh-0\~20140211 
➜  oh-my-zsh-0~20140211  oh-my-zsh-theme-chooser 
/usr/share/oh-my-zsh/oh-my-zsh.sh:8: no matches found: /lib/*.zsh

╺━┓┏━┓╻ ╻   ╺┳╸╻ ╻┏━╸┏┳┓┏━╸   ┏━╸╻ ╻┏━┓┏━┓┏━┓┏━╸┏━┓
┏━┛┗━┓┣━┫    ┃ ┣━┫┣╸ ┃┃┃┣╸    ┃  ┣━┫┃ ┃┃ ┃┗━┓┣╸ ┣┳┛
┗━╸┗━┛╹ ╹    ╹ ╹ ╹┗━╸╹ ╹┗━╸   ┗━╸╹ ╹┗━┛┗━┛┗━┛┗━╸╹┗╸



───────────────────────────────────────────────────────────── 3den ───
$fg[white]$(~/.rvm/bin/rvm-prompt) $fg_bold[cyan]~/zsh/oh-my-zsh-0~20140211$reset_color$(git_prompt_info) $fg[cyan][01:22:00]
$fg_bold[green]abe$$reset_color                                                                                       

Do you want to add it to your favourite list (/home/abe/.zsh_favlist)? [y/N] 

Not sure what's exactly broken but that looks broken in two ways:

1. /usr/share/oh-my-zsh/oh-my-zsh.sh:8: no matches found: /lib/*.zsh
2. Variable names instead of values in the example prompt.

Both errors are gone if I source /usr/bin/oh-my-zsh-theme-chooser
instead of calling it as a command. This is likely because it hasn't
sourced my .zshrc and hence $ZSH wasn't defined. (Maybe $ZSH should be
exported for that to work?)

/usr/bin/oh-my-zsh-theme-chooser should really bail out and stop if
such a central variable has no sane value.

If I decline the answer with "n", I get the next error message:

──────────────────────────────────────────────────────────── adben ───
theme_preview:6: command not found: git_prompt_info
theme_preview:6: command not found: svn_prompt_info

<<< abe at c-cactus~/zsh/oh-my-zsh-0~20140211
>>>                                       01:27.26 Mon May 12 2014 >>> 

Do you want to add it to your favourite list (/home/abe/.zsh_favlist)? [y/N] n

These errors are also gone with the workaround described above, so
I'll continue with workaround applied:

───────────────────────────────────────────────────────────── 3den ───
theme_preview:6: no such file or directory: /home/abe/.rvm/bin/rvm-prompt
 ~ [01:42:28]
abe$                                                                                       

It would be annoying to have such error messages in the prompt for all
users not using rvm.

──────────────────────────────────────────────────────────── adben ───
theme_preview:6: command not found: svn_prompt_info

<<< abe at c-cactus~
>>>                  01:43.43 Mon May 12 2014 >>> 

This "command not found" came despite the workaround above. The
subversion package is installed.

───────────────────────────────────────────────────────── af-magic ───
theme_preview:6: command not found: virtualenv_prompt_info
------------------------------------------------------------
~
 
»                  abe at c-cactus

This "command not found" came despite the workaround above. The
python-virtualenv package is not installed.

The prompt "candy kingdom" even triggers a mercurial help message:

──────────────────────────────────────────────────── candy-kingdom ───
theme_preview:6: command not found: git_prompt_info
theme_preview:6: command not found: battery_time_remaining
theme_preview:6: command not found: battery_pct_prompt

abe at c-cactus:~/zsh/oh-my-zsh-0~20140211Mercurial Distributed SCM

basic commands:

 add           add the specified files on the next commit
 annotate      show changeset information by line for each file
 clone         make a copy of an existing repository
 commit        commit the specified files or all outstanding changes
 diff          diff repository (or selected files)
 export        dump the header and diffs for one or more changesets
 forget        forget the specified files on the next commit
 init          create a new repository in the given directory
 log           show revision history of entire repository or files
 merge         merge working directory with another revision
 pull          pull changes from the specified source
 push          push changes to the specified destination
 remove        remove the specified files on the next commit
 serve         start stand-alone webserver
 status        show changed files in the working directory
 summary       summarize working directory state
 update        update working directory (or switch revisions)

use "hg help" for the full list of commands or "hg -v" for details
$                                                                                        

Maybe the theme or plugin out of date with regards to the mercurial
version in Debian Unstable -- even though I only have 2.9.2 from
testing installed and not yet 3.0 from unstable.

I've stopped running oh-my-zsh-theme-chooser at that point, so there
may be further issues down that road.


Nice to have
============

A minor issue, but potentially annoying: Reading Textile markup is not
very comfortable IMHO, so instead of installing upstream's
README.textile directly you may run it through pandoc first:

  pandoc -f textile -t plain README.textile > debian/oh-my-zsh/usr/share/doc/oh-my-zsh/README

(Of course this would need a build-dependency on pandoc then.)

But I'm not mad if you don't want to do that or would like to do it
later and with other tools. So it's no blocker, just a "nice to have".

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-    |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5



More information about the Pkg-zsh-devel mailing list