When the dist tar ball is generated on a computer where wml is not installed, the html files in doc/devel/ will not be included in the tar ball. This leads to an error when this tar ball then is used on a machine where wml is installed because then the files in doc/devel are missing.
I see three possibilities to fix this:
also include html files generated with wml into the svn repository, or
enhance WML check to be capable of this combiniation
make dist fails if wml is not installed
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
What about suggestion 1)? Suggestion 3) would prohibit creation of developer tar balls if wml is missing. I don't see a reason why this should be prohibited.
The opposite to the above mentioned combination is the following. On a machine where no wml is available also for a tar ball containing the html files generated with wml, these html won't get installed because the file list depends on wml and not on the condition of existence of these files. Suggestion 1) would fix both and remove the unnecessary dependence on wml.
Actually I am even more for option 3 as we have tarballs now, anyway. So there is no need for everybody being able to do a make dist.
I do not like the idea of having redundant code (wml and html) in the repository. BTW one needs to rely on other really submitting the html files when changing wml. I think we all learned over the last years that this won't work,
Seemingly, nobody (including me) likes option 2 because it is the hardest to maintain. As to the other 2 options consider this:
In dune-grid we have pictures of the reference elements which are actually svg-files. Their png counterpart is also in the repository (though there is a command line tool for this conversion, see Apache Batik).
We could make WML a hard dependency for everybody using the svn-version (and disallow building the documentation from the tarball).
I think we learned by now that maintaining multiple options is very expensive to maintain. So the solution should be as simple as possible. This means that either everybody has WML installed (option 3 + comment) or just the guys changing the WML files (option 1).
I personally prefer option 1, because it is less restrictive for the developers.
The suggestion 3) does not cover the senario I described in my second comment, the case when the tar balls were build with wml and everything seems fine. But on a machine where no wml is installed, files like codingstyle.html (created from codingstyle.wml) won't get installed. So option 3) is not fixing the whole problem. One still would have to change the Makefiles.
@Robert
For the 1.0 tarballs codingstyle.html is installed even without wml. I just tested it!
If that is not the case anymore than some broke it.
@Martin:
I remember working with svn version without wml. Therefore even developers wrking with the svn version do not need it,
Still we probably need to introduce a variable recording whether wml was found to crash the make dist.
Martin, actually I'd see it the other way around, 1) requires every developer to have wml installed, because every developer will have to change the wml files from time to time. But only a few people have to build tar-balls and only these need wml.
@Markus
The codingstyle.html is installed indeed. This is because the $(PAGES) in the doc/devel/Makefile.am does not depend on WML. If on the other hand $(PAGES) does not depend on WML then make install and make dist will fail if wml is not available. From my point of view this is not a statisfying situation.
@Christian
Makeing tar balls is one of the really good features the dune build system provied. I'm using this very often. I guess everybody that has to install dune code an other systems is happy to have this feature. I don't see why the make dist is a command that is only rarely used. But we have this discussed 1 and 1/2 year ago and ist seems that the opinions have not changed about this point. Building tar balls is essential and it should work without the documentation or wml.
I never install my DUNE and for me installing wml is not a problem. Of course an error message would be nice.
@Robert: Why did you post option 3, if it is not an option any more?
If you could live with option 3. I would propose a proper detection of WML and proper error message if make install or make dist is called without wml.
Robert, I agree that this is a "nice to have" feature. Last time you shot forward and now we all realize that your fix introduced a lot of new problems. We can discuss this for ages. Up to now we have the trade of between "make dist is failing" (old situtation) and "broken build" (current situation). Unless someone comes up with a new solution this whole discussion is worthless.
My suggestion is the following:
revert your cahnges from last year, this will fix this real regression, because the tarballs must work.
we then are left with a wishlist bug, which is less urgent, and we can calmly think about a solution.
@Markus
Sounds great. I think WML is detected well. It's jsut the dependency of files to be installed on a program
is strange. On computers where wml is not installed one has to choose the --disabled-documentation option to be able to use make dist and make install (this is already implemented and working).