Page 1 of 1

Experimental celestia-qt packages on openSuse-Build-Service

Posted: 03.10.2011, 11:23
by refsteff
Hello,

First, I don`t want to make a fork of Celestia and I don't want to harm the developers.

My first intention was to fix some bugs but then I missed some features in the Qt4 GUI
and I tried to implement them.

BIG FAT WARNING
The packages needs testing!!! They are high experimental!

If you want to test the packages goto http://www.software.opensuse.org,
select your suse version (11.3, 11.4 or Factory), choose search options, check "Include users' home projects" and enter celestia-qt

The packages are:

celestia-qt - the celestia-qt binary
celestia-qt-lang - language pack
celestia-qt-data - the data files
celestia-qt-mime - mime registration for cel/celx scripts
celestia-qt-tools - some utilities (3dstocmod, cmodfix, cmodview, txt2cmod, qttxf, spice2xyzv, scattertable)

The packages should not conflict with other celestia installations on your system.

If you want to see the changes I've made, download the source rpm.

The source rpm includes:
celestia svn5166 sources
spice sources (for linux only)
NvTriStrip sources (optional needed for cmodfix, adjusted to build with configure)
a copy of extractrc (so you don't need to install the whole kde3/4-sdk)

25 patch files:
    00celestia-svn5166-svn5174.diff
    - update to svn5174
    01celestia-svn5166-configure-qt.diff
    - strip down the build system, only build celestia-qt
    - don't use the outdated kde3 macros (fixes some compiler warnings)
    02celestia-svn5166-locale.diff +
    - enable locale in Linux
    - added -qt suffix to locale name
    - fix a bug in qteventfinder.cpp
    03celestia-svn5166-qtappwin-dialogs.diff *
    - added 2 entries to the help menu
    1. a dialog to show controls.txt
    2. run demo script
    - using QTextBrowser instead QTextEdit,
    - make VERSION and COPYRIGHT strings "dynamic" (changes don't break translations)
    04celestia-svn5166-qtappwin-windowposition.diff *
    - workaround for negative window positions values
    05celestia-svn5166-qtpreferences.diff *
    - added some options
    06celestia-svn5166-qtresource-fix.diff *
    - to load the icon resources in Linux
    07celestia-svn5166-qtvideocapture.diff +
    - enable video capturing in Linux (needs testing of parameters)
    08celestia-tools.diff +
    - enable building of tools
    09celestia-version.diff
    - define version number in configure
    10celestia-svn5166-commandline.diff *
    - add and enable some options
    11celestia-copyright.diff
    - define copyright string in configure
    12celestia-svn5166-qtselectionpopup.diff *
    - partial workaround for empty star names
    13celestia-svn5166-linkerror.diff
    - needed for Open Build Service
    14celestia-svn5166-gcc-4.6.diff *
    - gcc-c++-4.6 gets stricter, needs #include <cstddef> in celengine/frametree.h and Eigen/Core
    15celestia-svn5166-sysconfdir.diff
    - rename config file to celestia-qt.cfg
    - use /etc/ directory for systemwide config file
    - add the users home directory for config file
    16celestia-svn5166-manpages.diff
    - add manpages for celestia and the tools
    17celestia-svn5166-config_h.diff *
    - to get debug messages
    - only include config.h if it was generated by configure
    18celestia-svn5166-segfault.diff *
    - fixes a segmentation fault if CelestiaCore->initSimulation fails
    19celestia-svn5166-qtlonglatdialog.diff +
    - add goto long/lat dialog
    20celestia-svn5166-gotosurface.diff *
    - add "goto Surface" to navigation menu
    21celestia-svn5166-altazimuth.diff *
    - add "Alt-Azimuth mode" to navigation menu
    celestia-1.6.0-config.patch
    - old patch, add ~/.celestia-qt to extras dirs
    cspice_64bit.diff
    - to build on 64 bit systems
    NvTriStrip-pragma.diff
    - fix compiler warnings
* these patches could be used on other OS/Build systems too
+ these patches needs some adjustments for other build systems (you have to include some files/definitions in the *.pro and *.mak files)
(just download the attachment if you want the patches)

If you want to build the packages, just try "rpmbuild --rebuild /path/to/celestia-qt-1.7svn5174-$RELEASE.src.rpm" (change $RELEASE to the current release number) or install the src.rpm and do a "rpmbuild -bb celestia-qt.spec".
For other rpm based systems than suse, you have to check the spec file for the dependencies.


I hope you will like it

See you

refsteff

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 03.10.2011, 11:48
by selden
Don't forget that Celestia needs to run under Windows and MacOS, too.
Will you be able to try building it under either of those?

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 03.10.2011, 12:13
by John Van Vliet
--- edit ---

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 03.10.2011, 15:05
by refsteff
selden wrote:Don't forget that Celestia needs to run under Windows and MacOS, too.
Will you be able to try building it under either of those?
Alas I have no Windows or MacOS to test it. But the patches that I marked with a "*" don't harm the other systems. It's pure Qt4 stuff. There are no changes in the build systems necessary.

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 03.10.2011, 15:23
by refsteff
john Van Vliet wrote:I was thinking of doing this under fedora
then openSUSE
but decided that it was way too much of a problem
for example i have 3 different installs in 3 different locations
gnome build of 1.6.1 default
and
QT4 build and gnome2 build of SVN
For me it is similar, so I decide to use the "openSUSE Build Service". You can use it for fedora too.

john Van Vliet wrote:a question WHERE did you put cspice
I am of the group that dislikes "local" and never put anything in /usr/local unless it is a network install with a thin clients ( then /usr/local IS / of the box in front of me)
so on a desktop -- no /usr/local
The same for me. So I link cspice statically to celestia. So you can run celestia without the need to install cspice. Normally I prefer shared libs but in this case, celestia is the only program that use cspice so it's okay for me.

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 03.10.2011, 15:34
by t00fri
Who is entitled to commit code changes in your new openSuSE repository?

Everyone?

Moreover, can SuSE maintainers decide to eventually include such patched Celestia code from the OpenBuild repository into an official openSuSE distro without an OK by us?

Your patch list sounds like a collection of minor (mainly administrative) fixes. In this case, I don't see why you did not present your patches in the familiar Celestia developers list to interface with the other developers,

Most of us (devs) are regularly reading that list, and ChrisL would also show up occasionally in case of more extensive decisions. To submit patches in the shatters.net forum is not such a good idea, since a number of devs are NOT reading the forum!

Like Pat Suwalski, for example, who usually acts as our Linux maintainer. He works professionally with Linux distros. By all means, he should be made aware of your patches for Linux...

If instead of openSuSE you submit your patches at the developers list, they will be tested by us also on other operating systems. In addition, some of your patches seem also to overlap with those submitted by Nils Larsson and Olexandr Sydorchuk. They are also not forum mebers to my knowledge.

Fridger

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 05.10.2011, 06:44
by refsteff
t00fri wrote:Who is entitled to commit code changes in your new openSuSE repository?

Everyone?
Until now only me. But if you have an account on the Build Service, drop me a note and I will give you the rights.
Moreover, can SuSE maintainers decide to eventually include such patched Celestia code from the OpenBuild repository into an official openSuSE distro without an OK by us?
First I have to ask them if they wants it (but until now, I don't wanna do this). Of course if a maintainer wants to include the packages in an upcoming
distro he can do it (under the terms of the GPL). But normally not without an OK from the developers. Be aware of what happened to the famous rendering program blender from blender.org (an obscure company take the code, renamed the program, bundled it with a trainee video and sold it on the net) can happen to Celestia too.
Your patch list sounds like a collection of minor (mainly administrative) fixes. In this case, I don't see why you did not present your patches in the familiar Celestia developers list to interface with the other developers,

Most of us (devs) are regularly reading that list, and ChrisL would also show up occasionally in case of more extensive decisions. To submit patches in the shatters.net forum is not such a good idea, since a number of devs are NOT reading the forum!
Sorry, I wasn't aware of this. It's a few weeks ago that I look at the devel list and I found not much activity there. I will register as soon as possible and post my patches again.
If instead of openSuSE you submit your patches at the developers list, they will be tested by us also on other operating systems. In addition, some of your patches seem also to overlap with those submitted by Nils Larsson and Olexandr Sydorchuk. They are also not forum mebers to my knowledge.

Fridger
I was searching for patches like these but I don't found them :oops: . Now after a long search I could find them and wonder why they are not in the svn sources.
(except the theora patch - it will break building for MacOS).

see you
refsteff

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 05.10.2011, 09:06
by John Van Vliet
--- edit ---

Re: Experimental celestia-qt packages on openSuse-Build-Serv

Posted: 08.11.2011, 16:23
by ni1s
t00fri wrote:... submitted by Nils Larsson and ... They are also not forum mebers to my knowledge.
PRESENT!

I applaud your efforts refsteff. As noted the developers are much more inclined to review patches on the mailing list, which might not have been obvious(-dev or -developers?).