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?r1=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.
Here is a simple patch, although I think you guys could come up with a
better error message.
diff -u bsd.port.mk-orig bsd.port.mk
--- bsd.port.mk-orig 2011-07-13 03:48:35.000000000 +0000
+++ bsd.port.mk 2011-07-13 04:04:14.000000000 +0000
@@ -6432,7 +6432,10 @@
${ECHO_CMD} "@cwd ${DESKTOPDIR}" >> ${TMPPLIST}; \
fi; \
while [ $$# -gt 6 ]; do \
- filename="`${ECHO_CMD} "$$4" | ${TR} -cd [:alnum:]`.desktop"; \
+ filename="`${ECHO_CMD} "$$4" | ${TR} -cd
"[:alnum:]-_"`.desktop"; \
+ if [ "$$filename" != "$$4.desktop" ]; then \
+ ${ECHO_MSG} "===> Disallowed characters in entry 4 of
DESKTOP_ENTRIES \"$$4\""; exit 1; \
+ fi; \
pathname="${DESKTOPDIR}/$$filename"; \
categories="$$5"; \
if [ -z "$$categories" ]; then \
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"