Looks like I'm not going to be much help.
1. The build from source documentation is pretty bad. The
"System
Requirements" need to be broken up between build requirements and
runtime requirements. I.e, do I need <blah> or <blah>-devel... It has...
I don't know the full list. The distro install instructions list packages required
for each supported OS, suggesting someone has the list you need.
2. The documentation seems to have instructions that are not strictly
needed for installation, but I could just be confused.
I don't see anything unnecessary in
this: http://www.openfoam.org/git.php
3. Wanting to be compiled in the location it's installed to is
bad...
There's still a lot of old-school left in OpenFOAM. Object files go into
subdirectories within each library. The #include strategy is particularly stupid - each
library requires a directory with shortcuts to all files in its scope. There are scripts
that attempt to maintain these, but they don't always work, and the fail mode of name
collisions is apparently to destroy both files.
4. Along those lines, is the entire source tree really needed during
use?
The library is broken down into multiple sub-libraries. It shouldn't bee too hard to
pull it apart to make large, logically grouped extension packages, like openFOAM-core,
openFOAM-chemistry, openFOAM-lagrange, and so on.
Now more Fedora specific issues:
5. The ThridParty package is completely unacceptable. Anything in
there that isn't currently already in Fedora will need to be packaged
first.
Outside my realm of expertise - I don't know much about the third party stuff. Some
are pretty standard: openmpi, cmake. But then again, some of them are pretty old too, and
I guess we'd have to package these ourselves.
6. I'm not sure if the built-in wmake tool is acceptable, it seems
to
come from
openwatcom.org, it will also need to be packages separately.
I think wmake is native to OpenFOAM - although openwatcom's description of theirs is
identical. The wmake source files have OpenFOAM's standard comment headers. If you
have to get rid of it, you are right about FreeFoam. Last I heard, the project is still
unfinished, but the guys who manage the OpenFOAM-extend fork are borrowing FreeFoam's
cmake solution for their Windows port. I understand the Windows port is a huge struggle,
and is also unfinished... so I'm not sure how much of the struggle is associated with
the cmake aspect.
7. The 'copy the entire source-tree with the compiled binaries
and
libraries' issue from #3. I'm not sure it will be acceptable.
Now once all those are taken care of, all the 3rd party stuff will
have to be ripped out during build to make sure it's not used and the
makefiles patched to use the system libraries where necessary.
All-in-all, a lot of work. Do any of the recent changes solve any of
these issues?
No.
I didn't realize how much work would be involved. I'd say we give it a little
more time to mature. The community is growing, and there's pressure to modernize the
project.
Sincerely
-Dave
~~~~
Follow me on Twitter @DavidGaden