Mailinglist Archive: opensuse-kde (169 mails)

< Previous Next >
Re: [opensuse-kde] Cross-desktop KDE packages building - macros
  • From: Lubos Lunak <l.lunak@xxxxxxx>
  • Date: Mon, 29 Jun 2009 22:55:01 +0200
  • Message-id: <200906292255.01363.l.lunak@xxxxxxx>
On Sunday 28 of June 2009, Dirk Müller wrote:
On Saturday 27 June 2009, Lubos Lunak wrote:
I think I've already handled this, I was suggested on
opensuse-buildservice@ to create my own build repositories. I currently
have 4 simple packages in home:llunak:kde that build and (mostly :) )
work on openSUSE, Fedora and Mandriva (with the same simple .spec file)
and additionally also on Kubuntu (which is a bit of a pain for me).

I don't see the difference to a kde4-filesystem (or name it kde4-macros)

There is a huge difference : After I change a macro, it doesn't trigger a
rebuild of everything out there :).

package that writes a slightly different macros.kde4 file depending on the
distro it was built against. I think it is also possible to set the prjconf
depending on the distro you're building against (I know there is some %if
conditional, several prjconfs useit).

Maybe if I knew buildservice better when I started, I would have done this
using conditionals (although they're not exactly simple to use together with
macros), but I actually consider my current setup quite elegant. Instead of
standard build repositories I have a setup of special build repositories
created using home:llunak:distro, they provide everything needed for the
cross-distro magic and it's up to the packager to use them or the standard
build repos.

So, I checked also Fedora and Mandriva, and I would like the list to be:
%_kde4_prefix %{_prefix}
...
%_kde4_includedir %{_kde4_prefix}/include

I think that this is an excellent idea, and I like that cleanup very much.

Ok, I'll try adding them to UNSTABLE first, just in case. If it doesn't
become more unstable after that, I'll move it to K:Factory.

In relation to this, although not specific to cross-distro builds, I'd
like to change %make_jobs to something like this:
%make_jobs \
if test -d doc; then \
%(__make} %{_smp_mflags} -C doc \
fi \
%{__make} %{?jobs:-j %{jobs}} VERBOSE=1 \
%{nil}

Makes sense for me, and can't hurt. I don't know what %{_smp_mflags} is.
wouldn't it be good enough to build it serially?

It is (e.g.) -j2. People with more cpus/cores presumably have also more
memory. And I don't want to wait unnecessarily while building locally.

run into this issue when testing a package locally (OOM-murderer kicks in
and you know how much I hate that bloody broken thing).

Sure. note that I tried to implement this already via icecream, assuming
that you build via icecream. If not, you should </shameless plug>.

I don't see how icecream can help me here. Generating documentation is not
compilation, the limiting here could be only done by make (boy, do I miss
unsermake :-/ ). Oh, you mean meinproc via icecream? Hmm ... interesting
idea.


Comments, objections?

Go ahead. Let me know when I can help with the conversion.

Ok. I'll yell if there is a problem.

--
Lubos Lunak
KDE developer
--------------------------------------------------------------
SUSE LINUX, s.r.o. e-mail: l.lunak@xxxxxxx , l.lunak@xxxxxxx
Lihovarska 1060/12 tel: +420 284 028 972
190 00 Prague 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz
--
To unsubscribe, e-mail: opensuse-kde+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-kde+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups