Subsonic, FreeBSD 10, and UTF-8
In the context of upgrading to FreeBSD 10, I reinstalled the Subsonic media server from ports.
Servlet container
It turns out that using Jetty as the underlying servlet container would not work: I would get an obscure Java exception during various operations:
Message /WEB-INF/jsp/settingsHeader.jsp(12,0) PWC6340: According to the TLD, rtexprvalue is true, and deferred-value is specified for the attribute items of the tag handler org.apache.taglibs.standard.tag.rt.core.ForTokensTag, but the argument for the setter method is not a java.lang.Object
Switching to Tomcat 8 worked.
Changing filesystem charset to UTF-8
I had been using ISO-8859-15 filenames for ever. As part of the OS ugprade, I decided it was more than time to switch the whole system to UTF-8. (One specific issue that prompted this was the fact that GDM now seems to not support ISO 8859-15 GECOS user names anymore).
In order to have Subsonic properly handle file and directory names encoded in UTF-8, I had to set LANG for it:
plain /etc/rc.conf.d/tomcat8
export LANG=fr_FR.UTF-8
and to re-create the database from scratch (remove everything from
/var/subsonic/db/
except subsonic.script
).