Summary: | linux-mod.eclass: migration to EAPI=2 required to fix binpkgs support | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Fabio Erculiani (RETIRED) <lxnay> |
Component: | Eclasses | Assignee: | Gentoo Kernel Miscellaneous <kernel-misc> |
Status: | VERIFIED FIXED | ||
Severity: | normal | CC: | daggs, dev-portage, pacho |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 154495, 301251 | ||
Bug Blocks: |
Description
Fabio Erculiani (RETIRED)
![]() Why do we need to move to EAPI=2 for it? I think it's doable without requiring EAPI2. Yes, that's also true. Ebuilds using kernel-2.eclass execute .config checks against kernel sources, which is really unwanted on a binpkgs system for these reasons: 1. kernel sources may not be available 2. Portage calls pkg_setup for binpkgs too 3. pkg_setup may incorrectly fail for binpkgs due to 1 even if pkg has been already built (and depends? perhaps in future, since this is missing from Portage at the moment) against it (thus, passed the tests). 4. Making possible for ebuilds to use src_prepare (thus EAPI=2) would allow to move such tests away from pkg_setup. Also CCing dev-portage. I don't know if the situation evolved since this bug was created. (In reply to comment #3) > Ebuilds using kernel-2.eclass execute .config checks against kernel sources, > which is really unwanted on a binpkgs system for these reasons: kernel-2? I think you're in error here. kernel-2 is ONLY for installing kernel sources. I think you meant linux-mod.eclass. > 1. kernel sources may not be available > 2. Portage calls pkg_setup for binpkgs too > 3. pkg_setup may incorrectly fail for binpkgs due to 1 even if pkg has been > already built (and depends? perhaps in future, since this is missing from > Portage at the moment) against it (thus, passed the tests). > 4. Making possible for ebuilds to use src_prepare (thus EAPI=2) would allow to > move such tests away from pkg_setup. > > Also CCing dev-portage. I don't know if the situation evolved since this bug > was created. The root of the problem is that in pkg_setup BEFORE we ever unpack anything, we need to make some checks. For building from source, the present contents of pkg_setup is correct. We need a way to just not run them when we're installing a binpkg. NOT moving them to after src_unpack. Yes sorry ;) Either ways is fine for me. (In reply to comment #3) > Also CCing dev-portage. I don't know if the situation evolved since this bug > was created. The situation hasn't changed. We can do something about it in EAPI 4. It's bug 154495. pkg_setup_binary sounds good. with the following logic: if{emerging a binpkg && defined(pkg_setup_binary) { pkg_setup_binary } elif(defined(pkg_setup)) { pkg_setup } Can we emulate it with the EMERGE_FROM variable in the meantime? (In reply to comment #7) > Can we emulate it with the EMERGE_FROM variable in the meantime? I guess it wouldn't hurt, since you'll just be handling a case that's already "broken" anyway. Even though all package managers may not support it, it won't make the situation any worse for them. lxnay: linux-mod_pkg_setup_binary is done now, and works here with no kernel sources present. However, we need to review ALL consumers of the linux-mod.eclass again, to ensure that they don't run any kernel-needing code in their own pkg_setup before calling linux-mod_pkg_setup. I am going to review most of those ebuilds in the next days and attach info to #301251, thanks a lot! *** Bug 312075 has been marked as a duplicate of this bug. *** any news on the issue? is the away around it for the time being? (In reply to comment #12) > any news on the issue? is the away around it for the time being? I'm not really sure what should be done about the issue you reported in bug 312075. I thought it was related to this bug, but maybe not. I'll reopen and reassign it. Since last linux-*.eclass rework, I'm not having issues with binpkgs anymore. I think we could close this bug. |