Buildout first initializes a recipe, then installs it and even later updates it.
As solr configuration depends on downloading solr
(done in a separate part with its own initialize, install and update),
checking for a file to exist on the other (download) part does not work on the initial phase,
but does on the install.
At the same time this recipe allows to override some templates,
so if the template is not overriden, an empty string is used (on the init phase).
Thus on the install phase, a correct path can be built.
Basically what https://github.com/derFreitag/collective.recipe.solrinstance/commit/138b3add02ec77e59b32373d1aed5f5242103c22 says:
Buildout first initializes a recipe, then installs it and even later updates it.
As solr configuration depends on downloading solr (done in a separate part with its own initialize, install and update), checking for a file to exist on the other (download) part does not work on the initial phase, but does on the install.
At the same time this recipe allows to override some templates, so if the template is not overriden, an empty string is used (on the init phase).
Thus on the install phase, a correct path can be built.
ACTION: I don't see any 5.3.x branch, does anyone want to support this version any longer or everybody already moved to version 6? Given https://github.com/collective/collective.solr/issues/66 and https://github.com/collective/collective.recipe.solrinstance/issues/43 I would rather say that 6 should be an alpha and newcomers to Solr with Plone should still stick to collective.recipe.solr 5.3.2 and Solr 4.10.x...