[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