PackagingDrafts/GGZ

From FedoraProject

Jump to: navigation, search
Warning (medium size).png
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.

Changelog

0.1: first try, based on bugzilla brainstorm
0.2: clarify /etc/ggz.modules ownership
0.3: Requires(post,preun): ggz-client-libs
0.4: rpm macros
0.5: %post: ggz-config --install --force


GGZ Gaming Zone Packaging

Packages that use ggz-client-libs will (usually) need to

  • install a *.dsc file into %{_ggz_datadir}
  • register these modules (in %{_ggz_configdir}/ggz.modules), including these dependencies and scriptlets:
Requires(post): ggz-client-libs
Requires(preun): ggz-client-libs
%post
%{_ggz_config} --install --force --modfile=%{_ggz_datadir}/foo.dsc || :

%preun
if [ $1 -eq 0 ] ; then
%{_ggz_config} --remove --modfile=%{_ggz_datadir}/foo.dsc || :
fi

NOTE: /etc/ggz.modules is owned by ggz-client-libs.

  • To make packaging simpler, ggz-client-libs-devel provides some rpm macros, including:
  •  %_ggz_config %{_bindir}/ggz-config
  •  %_ggz_configdir %(%_ggz_config --configdir)
  •  %_ggz_datadir %(%_ggz_config --datadir)
  •  %_ggz_gamedir  %(%_ggz_config --gamedir)
  •  %_ggz_version %(%_ggz_config --version)
  •  %_ggz_protocol %(%_ggz_config --protocol)


Comments

MatthiasClasen: Looks good to me. gnome-games already does this, basically. I note that it has a >&/dev/null in there. Is ggz-config noisy ? Also, you probably want to use %{_datadir} here ?

RexDieter: ggz-config is (usually) only noisy on errors, and normally has no output. .dsc files can live anywhere, though a common convention seems for them to live in /usr/share/ggz (ie, ggz-config --datadir). I've now included some rpm macros in -devel that can help.