Am 28.11.2012 20:12, schrieb Stefan Seifert:
> A good first step would be to contact the maintainer of the FlightGear package
> in the games repository and ask why build is disabled for all non-openSUSE
> distributions.

Well, that would be me ;-), and since you have already asked:

The 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.

Concerning FG 2.8 (released August 17th), what I am aware of:

* OpenSUSE (released August 17th)
https://build.opensuse.org/package/show?project=games&package=FlightGear

* Playdeb for Ubuntu (released August 18th)
http://www.playdeb.net/software/flightgear

* FreeBSD (released September 7th)
http://www.freshports.org/games/flightgear

* Fedora (released September 11th)
http://koji.fedoraproject.org/koji/packageinfo?packageID=1200

* Arch Linux (released October 8th)
https://www.archlinux.org/packages/community/x86_64/flightgear/

* Gentoo (October 15th)
http://packages.gentoo.org/package/games-simulation/flightgear

* Debian (2.6.0 (not 2.8.0!) accepted into "stable" on October 30th)
http://packages.debian.org/de/sid/flightgear


Yes, it would still be nice to have a universal build. And I guess, 
ThorstenR (and probably others) think we're therefore doing a lousy job 
and should just spend more time on FG - like work full time to provide 
you the perfect service that you clearly all deserve (and for free, of 
course) :).

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.

Finally, something funny. ThorstenR complained about FG2.8 not being 
available for Fedora 17 (it "only" provides 2.6). Well, yes, too bad. 
But it's funny to see why it actually wasn't updated to 2.8:

> FlightGear 2.8.0 has just been built for Fedora 18.
> I won't update to 2.8.0 for Fedora 17, because  I prefer to limit Fedora 17 
> updates to bug fixes only,
> and also I consider that it would decrease the interest to upgrade to the 
> next Fedora release.
> But, if you want to try the Fedora 18 packages, they should work on Fedora 17 
> too :
> https://admin.fedoraproject.org/updates/SimGear-2.8.0-1.fc18,FlightGear-2.8.0-1.fc18,FlightGear-data-2.8.0-1.fc18

see https://bugzilla.redhat.com/show_bug.cgi?id=856053#c2

Hmm, flattering to see Fedora considering FG2.8 such an important 
improvement, that it would help in persuading their users to upgrade to 
the latest Fedora release :-). Other distros have other priorities and 
update packages for all (maintained) versions.
Well, that's another lesson in live: you always have a choice. ;-)

cheers,
Thorsten


------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to