[RFC] A trivial change for DESKTOP_ENTRIES
Jung-uk Kim
jkim at FreeBSD.org
Wed Jul 13 22:07:10 UTC 2011
On Wednesday 13 July 2011 05:10 pm, Stephen Montgomery-Smith wrote:
> On 07/13/2011 02:35 PM, Jung-uk Kim wrote:
> > On Wednesday 13 July 2011 06:42 am, Matthias Andree wrote:
> >> Am 13.07.2011 00:25, schrieb Jung-uk Kim:
> >>> After I updated x11-wm/compiz, GNOME was not able to start the
> >>> window manager. Basically, it complained that compiz-manager
> >>> was not found. Then, I realized compiz-manager.desktop was
> >>> automagically replaced by compizmanager.desktop. Now I tracked
> >>> it down to this commit:
> >>>
> >>> Sat Nov 27 17:42:46 2010 UTC (7 months, 2 weeks ago) by pav
> >>>
> >>> - DESKTOP_ENTRIES: commandline is used to name installed
> >>> .desktop file, this can lead to files containing whitespace and
> >>> funny characters; thus strip all non-alphanumeric characters
> >>>
> >>> http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk.diff
> >>>?r 1=1.656;r2=1.657
> >>>
> >>> To me, it looks far too restrictive. At least, I'd like to
> >>> allow '-' and '_'. Please see the attached patch.
> >>>
> >>> Any objections?
> >>
> >> The dot should also be allowed, to cover the POSIX portable
> >> filename character set altogether.
> >
> > I liked the idea first. Then, I realized that we have to add
> > more sanity checks, e.g., ".", "..", ".foo", etc.
> >
> > Sorry,
> >
> > Jung-uk Kim
>
> The extra sanity check seems to add very little overhead:
>
> if (echo "$$4" | grep "^\..*" > /dev/null) \
>
> || (echo "$$4" | grep [^[:alnum:]_.-]> /dev/null); then \
>
> echo "blah blah"; \
> fi
>
> And "." are very common in filenames.
Some times '.' and '..' are very hard to deal with. :-(
After I applied sanity checks, I only found one port that contains '.'
in Exec, i.e., misc/metalink-editor, which has "metalink_editer.py"
as an executable name. So, I concluded it isn't very useful check
while it is error-prone.
There are two ports that contains spaces:
games/tome: tome -v -g
www/links: links -g
These can be easily fixable by adding static desktop files. Other
failures are caused by "/" in their Execs, which is also very valid.
Currently, these ports create very ugly desktop files, e.g.,
usrlocalbinfoo.desktop. This problem is also easily fixable, i.e.,
s/ECHO_CMD/BASENAME/. I believe it must be fixed regardless.
Jung-uk Kim
More information about the freebsd-ports
mailing list