he cross-platform build is disabled for FG because building for other
distros isn't just a matter of flipping a switch.
First, you need to ensure that all the dependent libraries are
available. And when you check the OBS repositories, you'll notice very
few packages provide support for other distros. So, you'll need to start
bottom-up, take care of lots of packages, OSG, dependent graphics and
sound libraries - and lots stuff that they depend upon. The OBS
cross-platform support was introduced years ago, but few package
maintainers have adopted it.
Next, you'll need to make sure that the build spec file works for other
distros. Each distro comes with their subtle differences. Even in
between versions: it's sometimes funny enough to build a spec file which
works with several versions of the same distro (sometimes you need to
install the "libsvn" package, sometimes it's "libsvn-1"). After all, you
will still need to deal with every single distro.
The advantage with Linux is: it is free and everyone can adapt it. The
disadvantage is: Linux distros actually use their freedom. Linux is not
like Windows, where you build a binary and it just runs everywhere
(well, yes, mostly). It's a flexible platform which every distro somehow
adapts to their own needs and likes - sometimes maybe even intentionally
to distinguish themselves from others.
Also, each distro maintains its own "app store" (well, they don't call
it like that, but it's really what it is - except that it's all free)
and many, if not most users will even refuse to install stuff from other
sources (considering separate installers too difficult - or fearing it
could mess up their system or trigger update problems). So, universal
binaries aren't even welcome everywhere.
I only "adopted" the OpenSUSE packages, which helps with finding things
causing problems with packaging, like incomplete "install" rules,
missing icons, invalid ASCII encodings in documents/READMEs, or with
different compiler versions (the OBS build currently uses 4 different
GCC versions). All the stuff, which isn't noticed when building stuff
locally - but which prevents building a proper package or having it
accepted into a distro. I can fix these things directly in FG, which
should make things easier for other packagers.
What I have also tried for the FG 2.8 release, was getting in contact
with other package maintainers. Reminding them of the new release,
giving them some hints on what needs to be changed. Many have updated
their packages pretty quickly - which may already be an improvement (see
below). When possible, I'm also taking patches "upstream", so they don't
need to mess with adapting local patches for every release (yes, the
infamous shared library thing is an example). This helps with speeding
up the updates.
But at times you notice live is really short. You really need to think
about what you want to do, and on which things you really want to spend
your precious spare time on. And do I personally want to be responsible
for building a package that runs on *any* Linux distro in the universe -
and to somehow take care of all their ugly tweaks? To be frank: no.
The advantage of the current approach is: it distributes the work. It
involves people which actually know and care about their individual
distros - and, at least I do not need to do it all on my own. Yes, it
may mean there's an extra latency before a new version becomes available
for some distros. But is it really _so_ bad, like Debian users
apparently seeing an 8 month delay? Or that Linux users may need to
update their OS every 2 years (well, you have to update anyway, since
maintenance and security updates stop). Also, to me it feels like the
really hard-core Linux FlightGear people, which _really_ care about
running the very latest version (people like you!), even consider FG 2.8
outdated - and directly run Git instead. Updating weekly...
If, however, anyone feels he could do it - provide a universal
installation - or run a build which produces packages for every distro -
you'll surely get my support. I'm also happy to accept merge requests on
the OBS, if anyone can really get the cross-platform build to work.