[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Checklist for packaging games



On Sun, Apr 20, 2008 at 11:24:49AM -0400, Andres Mejia wrote:
> Repeating what's on the wiki.
> >  * debian/copyright includes all the copyright and license texts for the
> > code and data in the source package
> 
> Don't know if this is appropriate, but perhaps a link to 
> http://wiki.debian.org/Proposals/CopyrightFormat would help.

I think so.  I'm not sure what the state of this proposal is, but I'm
sort-of planning to write a program which can check that all files in a
tree are mentioned in debian/copyright, and have a license.  If we're
using the format for a game, it would be easy to check this.  It might
also be added to Lintian, but that's a different subject, which is
off-topic for this list. :-)

> >  * All the game data (graphics, fonts, sounds, music, maps, texts, etc) in
> > the source package are DFSG-free
> 
> Shouldn't this be "All files in source package are DFSG-free, if not,
> they are in seperate source packages or excluded from any source
> package"

The wording could perhaps be changed to talk also about non-free games,
I suppose. :-)  IMO we should be a bit more explicit about them than
your proposed wording.

> >  * Executables are installed in /usr/games or /usr/bin

IMO all game executables should be in /usr/games.  See below.

> I know in some cases, the game launcher resides in /usr/lib/<game> or 
> something similar and it's lauched through a script in /usr/games

Yes, and that's totally acceptable, if they are executables which are
not intended to be called other than internally.  But see below.

> >  * Private libraries installed in /usr/lib/<game>/
> >
> >  * Game loads private libraries through rpath or LD_LIBRARY_PATH
> 
> Is this really necessary? After all, they are private.

That's why they aren't in /usr/lib. ;-)  A package's private
arch-dependent data should be in /usr/lib/packagename; private libraries
are an example of such data.  But see below.

> >  * Arch independent files are installed in /usr/share/games/<game>/

Exactly.  And Arch dependent files in /usr/lib/games/<game>/.  Which
means that the above two examples (private executables and libraries)
should not be in /usr/lib/<game>/, but in /usr/lib/games/<game>/.

According to the FHS, /usr/{lib,share}/games/<package>/ is allowed (not
required) for games.  Similarly, /usr/games may be used instead of
/usr/bin.  IMO it is a good idea to use all three of these in Debian.
Policy doesn't say anything about it, perhaps we should propose
something there to clarify this.

> >  * Game should respect the
> > [http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html XDG
> > basedir spec]

A very good idea IMO, but many upstream changes are needed for this
AFAIK.  Where we are upstream, we should make them (time permitting),
where not, we should tell upstream, but normally not patch them if they
don't want it upstream, IMO.

> >  * Game saves user data in $HOME/.<game>/ or similar
> >
> >  * Game loads user data from $HOME/.<game>/ or similar
> >
> >  * Game inits user data in $HOME/.<game>/ or similar if it is needed

These conflict with the XDG basedir spec cited above. ;-)  User data
should go in ~/.config/ for configuration and ~/.local/share/ for other
data (if no variables are set).  As I wrote, I'm in favour of using
those places (and clean up some dot-files from $HOME), but only if
upstream agrees.

Thanks,
Bas

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://pcbcn10.phys.rug.nl/e-mail.html

Attachment: signature.asc
Description: Digital signature


Reply to: