Source tarball for easy packaging

Questions, problems and discussion about compiling FreeOrion.

Moderators: Oberlus, Oberlus

Post Reply
Message
Author
bookwar
Space Krill
Posts: 3
Joined: Sat Jan 21, 2012 12:57 am

Source tarball for easy packaging

#1 Post by bookwar » Sun Jan 22, 2012 6:54 pm

Hi all, I am working on the Fedora rpm package of FreeOrion and here are the mostly cosmetic issues one could easily resolve. But they do simplify packaging process a lot and make the package look mature.

1) Include freeorion.desktop, freeoriond.desktop, freeorion.png, and freeorind.png files for better desktop integration. You could add them to the FreeOrion/misc/ folder and forget them forever. You could get the example of these files from our repo https://github.com/RussianFedora/freeorion

2) Add LICENSE or COPYING. It seems to be GPLv2 but explicit license file is a must have according to the guidelines of big distros such as Fedora.

3) Create release tarball with commonly used format name-version.tar.gz

Right now to obtain proper source tarball i run:

Code: Select all

 svn export -r 4282 https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion freeorion-0.3.17
 tar -czvf freeorion-0.3.17.tar.gz freeorion-0.3.17/
This is bad because I need to upload the data somewhere before using it. But more important this is bad because svn export command does not preserve checksums. It means that running these two comands on another machine will produce tarball with the same data but with the different checksum. Which is really bad for all automatic checks big distros usually do.

You can upload the ready to use tarball with proper format for each release to the Files section.

So these 3 items resolved would make packager life much easier.

P.S. There are some compiling issues I've got with newer versions of gcc. I will write separate post on them once I got the proper logs and patches.

Upd

found default/COPYING
so ignore number 2) please :)

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12471
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Source tarball for easy packaging

#2 Post by Geoff the Medio » Sun Jan 22, 2012 7:32 pm

bookwar wrote:1) Include freeorion.desktop, freeoriond.desktop, freeorion.png, and freeorind.png files for better desktop integration.
There is a FreeOrion.ico in the root directory. I suppose you can't use that? Other icon files are in the Windows SDK, but not SVN. I've attached them.

Why does freeoriond need a separate icon / image, but not freeorionca? I suppose people might run the server separately, but not the AI clients? There is no available separate icon for freeoriond, at present. Artists might be able to provide one on request.

What do the .desktop files do?

Why do files need to be in SVN for you to use? Do they need to be at a particular location?
2) Add LICENSE or COPYING. It seems to be GPLv2 but explicit license file is a must have according to the guidelines of big distros such as Fedora.
There is one, in default. Licensing in GPL 2 and/or CC-BY-SA 3.0.
3) Create release tarball with commonly used format name-version.tar.gz
Sourceforge provides .tar.gz for any revision you want. From any SVN browse page, enter a revision number and click sticky revision, then use the Download GNU tarball link. Note that the compile page on the wiki has links to tarballs of FO and GG for most releases in the last several years.
Attachments
FO_Icon_256x256.png
256x256 icon
FO_Icon_256x256.png (38.39 KiB) Viewed 830 times
FO_Icon_32x32.png
32x32 icon
FO_Icon_32x32.png (2.44 KiB) Viewed 830 times
FO_Icon_24x24.png
24x24 icon
FO_Icon_24x24.png (1.21 KiB) Viewed 830 times
FO_Icon_16x16.png
16x16 icon
FO_Icon_16x16.png (702 Bytes) Viewed 830 times

bookwar
Space Krill
Posts: 3
Joined: Sat Jan 21, 2012 12:57 am

Re: Source tarball for easy packaging

#3 Post by bookwar » Sun Jan 22, 2012 7:47 pm

What do the .desktop files do?
They are responsible for menus in all Linux systems. If you want FreeOrion item in Games menu in any DE(Gnome, KDE, XFCE, whatever) you need .desktop file which describes this. http://standards.freedesktop.org/deskto ... atest.html
Why do files need to be in SVN for you to use?
This is not the requirement. I can add them manually, just it could be nice to have them all in one place, so packages for any distribution use the same stuff.
Do they need to be at a particular location?
No, packaging software manages them, so you don't need them to participate in anything during the build process, just to present somewhere.
Sourceforge provides .tar.gz for any revision you want
This tarball Sourceforge generates violates naming conventions. The directory srtucture inside this tarball looks like
============
trunk/
FreeOrion/
DesignerTools/
============

while we need only FreeOrion/ folder in form of "freeorion-0.3.17/"

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12471
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Source tarball for easy packaging

#4 Post by Geoff the Medio » Sun Jan 22, 2012 8:11 pm

bookwar wrote:This tarball Sourceforge generates violates naming conventions. The directory srtucture inside this tarball looks like
============
trunk/
FreeOrion/
DesignerTools/
============

while we need only FreeOrion/ folder in form of "freeorion-0.3.17/"
I'm not going to provide something labelled "freeorion-0.3.17" - you can rename it youself - but you can get a tarball of just the FreeOrion directory (not DesignerTools or the "trunk" directory) by going into the main code directory on the web source browser, eg: http://freeorion.svn.sourceforge.net/vi ... FreeOrion/ and using the link there, eg. http://freeorion.svn.sourceforge.net/vi ... /?view=tar.

Edit: I added the above-posted icons, though none at 48x48 specifically, to the default/data/art/icons directory.

Is there any problem with this version of the freeorion.desktop file? I'm not sure how it expects to be pointed to the icon files, and is there a reason not to run in a terminal window, which might show any output error messages?

Code: Select all

[Desktop Entry]
Name=FreeOrion
GenericName=FreeOrion
Comment=Run the FreeOrion client
Exec=freeorion
Icon=freeorion
Terminal=true
Type=Application
Categories=Game;StrategyGame;
URL=http://www.freeorion.org

Post Reply