[Mageia-dev] Help with package

Colin Guthrie mageia at colin.guthr.ie
Mon Jan 7 11:53:49 CET 2013


'Twas brillig, and Juan Luis Baptiste at 07/01/13 08:00 did gyre and gimble:
> 
> 
> On Sat, Jan 5, 2013 at 2:02 AM, Juan Luis Baptiste <juancho at mageia.org
> <mailto:juancho at mageia.org>> wrote:
> 
> 
>      Got it working with:
> 
>     for i in `%{_datadir}/warsow/basewsw/*`;
>     do
>        file=`basename $i`
>        ln -sf $i  %{gamelibdir}/basewsw/$file
>     done 
> 
>     The game name in the for loop was wrong.
> 
> 
> 
> Well, it worked on x86_64, but  on i586 the symlinks are created under
> /usr/lib64/games/warsow/basewsw instead of /usr/lib/games/warsow/basewsw
> but I don't understand why, it seems that for some reason, the
> %{_libdir} macro is expanding to /usr/lib64 on the BS. This is the spec
> if someone wants to take a look:
> 
> http://svnweb.mageia.org/packages/cauldron/warsow-data/current/SPECS/warsow-data.spec?revision=338836&view=markup

%_libdir expands to the given architecture's libdir. On i586 it's
/usr/lib, on x86_64 it's /usr/lib64.

Looking at the spec, I think you're doing it a bit wrong.

It's in the %post for a start which is wrong. It should be done as part
of package build, not install. Doing it during install will mean the
files are not "owned" by the package so users cannot tell where they
come from.

You also then do things such as rm -rf on %postun but that doesn't
actually check whether you are upgrading or removing. Remember that
%postun is run when upgrading a package too (i.e. when the old version
is removed).


Also as you use %_libdir, your package cannot be noarch.

If you want to use /usr/lib all the time then do so (if that's what the
game binary expects) via %{_prefix}/lib not via %_libdir.

Also your fdupes command seems to do nothing other than display
duplicate information, not actually resolve anything. So I'd just remove
it or add appropriate arguments to do hardlinking as needed. Unless this
package has a particular problem with duplicated data, then I'd just
kill it off completely.

Hope that gives you some hints.

Col

-- 

Colin Guthrie
colin(at)mageia.org
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/


More information about the Mageia-dev mailing list