Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jul 2011 18:06:46 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        Stephen Montgomery-Smith <stephen@missouri.edu>
Cc:        Matthias Andree <matthias.andree@gmx.de>, freebsd-ports@FreeBSD.org
Subject:   Re: [RFC] A trivial change for DESKTOP_ENTRIES
Message-ID:  <201107131806.49966.jkim@FreeBSD.org>
In-Reply-To: <4E1E09C0.9040609@missouri.edu>
References:  <201107121826.00020.jkim@FreeBSD.org> <201107131536.01059.jkim@FreeBSD.org> <4E1E09C0.9040609@missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107131806.49966.jkim>