Gentoo Archives: gentoo-desktop

From: Martin von Gagern <Martin.vGagern@×××.net>
To: gentoo-desktop@l.g.o, "Ladislav Láska" <ladislav.laska@×××××.com>
Subject: Re: [gentoo-desktop] kde-sunset: kdepim-kresources broken
Date: Fri, 19 Feb 2010 19:48:12
In Reply to: Re: [gentoo-desktop] kde-sunset: kdepim-kresources broken by Ladislav Laska
Hi there, Ladislav in particular!

On 19.02.2010 13:14, Ladislav Laska wrote:
> Yes, but that's not the problem. You see, the commit you're mentioning > removes hack, but another hack is still present in kde-meta, which > prevents prepare from base.eclass to be invoked (another "dummy" > function). Removing this, only src_prepare in ebuild or in base.eclass > can be invoked, both of them will do just fine.
I originally committed 9704c7d47bbf70ec8f3fd78fd3b00e7603dfa879 but I fear I missed kde-meta. Thanks for noticing that, and fixing it in ac08ab0978dd2fc7f7b078480c1c3ca5d547e058
> Unfortunately, src_prepare is eapi=2 thing, so we have to migrate all > packages with patches to eapi 2, but this should not be a problem, > since i've seen someone is already doing that.
I think you are wrong here: base_src_unpack will call base_src_prepare for older EAPIs. So if we can ensure that every eclass delegates to base_src_prepare in the end, or to something that does handle PATCHES, then everything should be all right.
> Anyway, I'll commit patch which will at least fix things for eapi 2.
Do you mean 477d925cbe9096c75c88ef1dea0b74c666ffd363 and friends? I must confess, I don't fully understand your intention here. We currently have the following code in kde_src_unpack: [[ -d "${KDE_S}" ]] || base_src_unpack unpack ... # Check for PATCHES in EAPI=0|1 case ${EAPI:-0} in 0|1) if [[ -n ${PATCHES} ]]; then [[ -d "${KDE_S}" ]] || base_src_prepare fi ;; esac The base_src_unpack invokation makes sense: unpack unless the source dir already exists. base_src_unpack will call base_src_prepare as explained above, so in my opinion, that additional code further down shouldn't ever be necessary, unless an ebuild decides to unpack archives by itself, in which case it is in my opinion responsible for patching as well, e.g. by using base_src_unpack for unpacking. But what I understand even less is the condition. Prepare if the source dir still does not exist after unpacking??? What's the sense here? Seeing that the first thing base_src_prepare does is cd into $S, that doesn't seem to make a lot of sense for the $KDE_S == $S case. And for other cases, I still doubt that patching $S will create the $KDE_S dir. Please explain your rationale, or remove that case...esac code if you added it in error. If you were working on a particular package when writing that code, let me know what it was, and have a look at a build with ECLASS_DEBUG_OUTPUT=on to see whether that code you added was actually used the way you expected it to. Greetings, Martin


File name MIME type
signature.asc application/pgp-signature