check_KV is a reserved function in paludis, and udev ebuild have own function but that can not override the paludis. please rename it to udev_check_KV or kill it, it is one line function. thanks Reproducible: Always Steps to Reproduce: build sys-fs/udev by 'cave resolve' Actual Results: failed Expected Results: we should be abled to build in paludis, as it is one of our supporting package manager.
hmm, it's working for me: paludis-0.76.0
(In reply to comment #0) > we should be abled to build in paludis, as it is one of our supporting > package manager. gentoo is not involved in paludis development. If paludis does not follow PMS or breaks ebuilds then it's an upstream bug and should be reported there.
In the olden days, check_KV used to be defined both as a Portage internal and in an eclass. Sometimes people would forget to inherit the eclass, and weird stuff would happen, so Paludis defines a check_KV with a helpful error message. You *should* be seeing the eclass-defined version... Why aren't you?
paludis 0.76 does not have the issue now. closing.
hmm, maybe that is because of I do a binary build & install? this is from what I get when installing: * Checking for suitable kernel configuration options... rm /var/tmp/paludis/environment-sys-fs-udev-187-r3-13960 Error: * In program cave perform install --hooks --managed-output --output- exclusivity with-others =sys-fs/udev-187-r3:0::Gserver-bin --destination installed --replacing =sys-fs/udev-186:0::installed --x-of-y 1 of 1: * When installing 'sys-fs/udev-187-r3:0::Gserver-bin' replacing { 'sys-fs/udev-186:0::installed' }: * When running an ebuild command on 'sys-fs/udev-187-r3:0::Gserver-bin': * Install failed for 'sys-fs/udev-187-r3:0::Gserver-bin' (paludis::ActionFailedError) [ ok ] !!! ERROR in sys-fs/udev-187-r3::gentoo: !!! In check_KV at line 564 !!! check_KV not implemented !!! Call stack: !!! * check_KV (/var/tmp/paludis/sys-fs-udev-187-r3/temp/loadsaveenv:564) !!! * pkg_setup (/var/tmp/paludis/environment-sys-fs-udev-187-r3-13960:3791) !!! * ebuild_f_setup (/usr/libexec/paludis/0/pkg_setup.bash:43) !!! * ebuild_main (/usr/libexec/paludis/ebuild.bash:643) !!! * main (/usr/libexec/paludis/ebuild.bash:666) diefunc: making ebuild PID 13960 exit with error die trap: exiting with error. Failed install to / for sys-fs/udev-187-r3:0::Gserver-bin replacing 186:0::installed
Created attachment 320840 [details] sys-fs/udev-187-r3 binary installation, cave resolve fail, full log
the following patch may fix this issue. --- udev-187-r3.ebuild.bak 2012-08-10 15:22:48.148152676 +0800 +++ udev-187-r3.ebuild 2012-08-10 15:26:51.158518087 +0800 @@ -67,15 +67,6 @@ S="${WORKDIR}/systemd-${PV}" -check_KV() -{ - if kernel_is lt ${KV_min//./ } - then - return 1 - fi - return 0 -} - check_default_rules() { # Make sure there are no sudden changes to upstream rules file @@ -99,7 +90,7 @@ linux-info_pkg_setup - if ! check_KV + if kernel_is lt ${KV_min//./ } then eerror "Your kernel version (${KV_FULL}) is too old to run ${P}" eerror "It must be at least ${KV_min}!" @@ -107,7 +98,7 @@ KV_FULL_SRC=${KV_FULL} get_running_version - if ! check_KV + if kernel_is lt ${KV_min//./ } then eerror eerror "Your running kernel version (${KV_FULL}) is too old"
(In reply to comment #3) > In the olden days, check_KV used to be defined both as a Portage internal > and in an eclass. Sometimes people would forget to inherit the eclass, and > weird stuff would happen, so Paludis defines a check_KV with a helpful error > message. I think we can remove this now as it isn't defined in Portage anymore, so anyone trying to use it without it being defined is probably going to notice. Perhaps in hindsight it should have been declared reserved or something in PMS, but oh well. > You *should* be seeing the eclass-defined version... Why aren't you? Environment dumps aren't allowed to redefine any of Paludis's own functions.
Fix in tree by reverting back to udev_check_KV as it was before: udev-146-r1.ebuild:udev_check_KV() { udev-146-r1.ebuild: udev_check_KV udev-146-r1.ebuild: udev_check_KV udev-149.ebuild:udev_check_KV() { udev-149.ebuild: udev_check_KV udev-149.ebuild: udev_check_KV udev-151-r4.ebuild:udev_check_KV() { udev-151-r4.ebuild: udev_check_KV udev-151-r4.ebuild: udev_check_KV udev-164-r2.ebuild:udev_check_KV() { udev-164-r2.ebuild: udev_check_KV udev-164-r2.ebuild: udev_check_KV udev-171-r6.ebuild:udev_check_KV() { udev-171-r6.ebuild: udev_check_KV udev-171-r6.ebuild: udev_check_KV Here: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?r1=1.108&r2=1.109 http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-187-r3.ebuild?r1=1.3&r2=1.4