Date: Tue, 20 Jul 2010 17:25:05 +0300 From: Alex Kozlov <spam@rm-rf.kiev.ua> To: Jilles Tjoelker <jilles@stack.nl>, Gabor Kovesdan <gabor@FreeBSD.org>, svn-src-head@freebsd.org, spam@rm-rf.kiev.ua Subject: Re: svn commit: r210254 - in head/etc: defaults periodic/security Message-ID: <20100720142505.GA28760@ravenloft.kiev.ua>
next in thread | raw e-mail | index | archive | help
On Tue, Jul 20, 2010 at 02:58:46PM +0200, Jilles Tjoelker wrote:
> On Mon, Jul 19, 2010 at 08:19:14PM +0000, Gabor Kovesdan wrote:
> > + pkg_info -ga 2>/dev/null | \
>
> The stderr output is also interesting, as it contains error messages
> about files that are in a package but do not exist. Unfortunately,
> pkg_info -ga 2>&1 | ...
> will mix the stderr with the stdout in an unusable way. I suppose
> pkg_info -g should be modified so the missing files are in the stdout.
I know, but I couldn't find a reliable way to parse mixed output.
If You modify pkg_info it will be great. I immediately fix this script.
> > + ;;
> > + Mismatched|'') ;;
> > + *)
> > + if [ -n ${name} ]; then
> Note that this is true if name is empty or not set. You probably want
> [ -n "${name}" ]
Yes, good catch.
>
> > + echo ${name}: ${one}
>
> This handles pathnames with spaces incorrectly. Consider reading lines
> with
> IFS= read -r line
> This also collapses the nested case statements to one, for
> 'Information for'*, Mismatched*, '' and /*.
>
> The variables in the echo commands should be quoted to avoid word
> splitting and pathname generation.
It's makes parser stateful and overly complex, I will think about most
simple way to do this. Fortunately, at the moment very few, if any, ports
have files with space in names.
--
Adios
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100720142505.GA28760>
