
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@suse.cz , l.lunak@kde.org 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@opensuse.org For additional commands, e-mail: opensuse-kde+help@opensuse.org