Summary: | sys-kernel/gentoo-sources: emerge gentoo-sources fails with USE="deblob" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Martin Walch <walch.martin> |
Component: | [OLD] Core system | Assignee: | Gentoo Kernel Miscellaneous <kernel-misc> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dmitry, gentoo, kensington, waltercool, waynedpj |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | kernel-2.eclass patch to force a call to detect_version() if needed |
Description
Martin Walch
2011-03-22 01:41:36 UTC
*** This bug has been marked as a duplicate of bug 359567 *** Sorry, this is a different bug. It is not fixed by the commit from bug #359567. Actually now emerge also fails with gentoo-sources-2.6.38. This bug affects me too I'm seeing this too, with sys-kernel/gentoo-sources-2.6.36-r8 (using paludis). Interestingly the deblob scripts aren't attempted to be downloaded. It's odd; it looks from the error as though DEBLOB_PV isn't getting ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}, but it's not immediately obvious to me why not. Unrelatedly, one very small inconsistency in the eclass is that first availability is sometimes checked with [[ $K_DEBLOB_AVAILABLE == "1" ]], and sometimes [[ $K_DEBLOB_AVAILABLE == 1 ]]. But this isn't the issue. (In reply to comment #4) > It's odd; it looks from the error as though DEBLOB_PV isn't getting > ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}, but it's not immediately obvious to me why > not. It doesn't look to me like detect_version is called before DEBLOB_PV being set. (In reply to comment #5) > It doesn't look to me like detect_version is called before DEBLOB_PV being set. Oops, sorry for the noise, it should be, when checking whether to set K_DEBLOB_AVAILABLE Another (probably unrelated) issue of style; shouldn't [[ -z ${K_DEBLOB_AVAILABLE} ]] be [[ -z "${K_DEBLOB_AVAILABLE}" ]] (though I see there's no consistent style in this in the eclass) The issue is that CKV is not being set; the bashism 'CKV=${CKV:-${PV}}' doesn't seem to be working. I try to stay away from bashisms, so I'll try leaving it to someone else to debug. Should we file a separate bug report concerning the CKV problem? I have this bug also with gentoo-sources-2.6.38-r1. I have a workaround patch that I successfully used to emerge a deblobbed kernel on a local overlay. Basically it just makes sure that it always calls kernel_is() once which in turn will call detect_version() if needed. I don't think this is a proper solution, though. I think that all of that "if [[ ${ETYPE} ==..." code (lines ~319 through ~388) should be in a function that gets called after detect_version() has been called. Created attachment 268275 [details, diff]
kernel-2.eclass patch to force a call to detect_version() if needed
(In reply to comment #10) > Created attachment 268275 [details, diff] > kernel-2.eclass patch to force a call to detect_version() if needed I'm getting problems with the patch: ('Filesize does not match recorded size', 345831, 4039) !!! Fetched file: deblob-check-2.6.38 VERIFY FAILED! !!! Reason: Filesize does not match recorded size !!! Got: 345831 !!! Expected: 4039 I'm tired of masking gentoo-sources, some solution for now? (In reply to comment #10) > Created attachment 268275 [details, diff] > kernel-2.eclass patch to force a call to detect_version() if needed I committed this patch. It worked through my tests. Please post here if anyone sees any new errors. Thanks, Johnny. (In reply to comment #13) > (In reply to comment #10) > > Created attachment 268275 [details, diff] > > kernel-2.eclass patch to force a call to detect_version() if needed > > I committed this patch. It worked through my tests. Please post here if anyone > sees any new errors. Thanks, Johnny. Seems working too for me on official repo. Works for me too! Big thanks to Nick, Johnny and Mike and everyone involved in the fix! Great, thanks. Closing |