[RFC] A trivial change for DESKTOP_ENTRIES

Stephen Montgomery-Smith stephen at missouri.edu
Wed Jul 13 16:59:56 UTC 2011


On 07/13/2011 11:42 AM, Jung-uk Kim wrote:
> On Wednesday 13 July 2011 12:08 am, Stephen Montgomery-Smith wrote:
>> On 07/12/2011 05:25 PM, Jung-uk Kim wrote:
>>> 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?
>>>
>>> Jung-uk Kim
>>
>> Thinking more about it, it seems to me that instead of silently
>> deleting the disallowed characters in the filename, that the port
>> should declare itself broken if there are disallowed characters.
>> That way, this particular error would have been caught far more
>> easily.
>
> I think that's a good idea but "exit 1;" should be done in a separate
> commit as an exp-run is needed.
>
>> Here is a simple patch, although I think you guys could come up
>> with a better error message.
>
> :-)
>
> "entry 4 of" seems redundant.  What do you think about the attached
> patch?  Please note I also added "." per Matthias Andree's request.
>
> Thanks,
>
> Jung-uk Kim

I have no problems with your changes.  But I didn't see where you put 
the ".".  Maybe it was meant to be at the end of the error message.

But code like this seems simpler than my original suggestion:

if (echo "$$4" | grep -E [^[:alnum:]_-] > /dev/null); then echo \
	${ECHO_MSG} "blah blah."; \
	exit 1; \
fi; \
pathname="${DESKTOPDIR}/$$4";


More information about the freebsd-ports mailing list