With lvm2 2.02.45, the device-mapper library is built-in instead of supplied by sys-fs/device-mapper. The block in the lvm2 2.02.45 package requires device-mapper to be removed. However, parted 1.8.8 (and earlier presumably) has a device-mapper USE flag which pulls in the device-mapper package. The dependency needs to be changed to reflect the new lvm2 inclusion of device-mapper.
And hal with the disk-partition USE flag requires parted. Not to mention hal's crypt USE flag pulling in device-mapper for dmcrypt support.
http://tinderbox.x86.dev.gentoo.org/misc/rindex/sys-fs/device-mapper
*** Bug 265627 has been marked as a duplicate of this bug. ***
should we add a virtual/device-mapper for the transition, or just use lots of || blocks in the DEPEND statements?
*** Bug 265629 has been marked as a duplicate of this bug. ***
It doesn't look like there are enough packages with device-mapper deps to make this worthwhile. I'm happy to go and modify them with || depends.
seems to work great if I change the dep to: device-mapper? ( || ( >=sys-fs/lvm2-2.02.45 sys-fs/device-mapper ) )
Note to self: Other affected packages: app-crypt/truecrypt sys-boot/lilo sys-fs/clvm sys-fs/cryptsetup sys-fs/multipath-tools sys-fs/udev
please verify that what I've just committed works ok for you.
works with the new DEPEND in the ebuild, just tested These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] sys-libs/timezone-data-2009e [2009d] USE="nls" 359 kB [ebuild U ] sys-fs/lvm2-2.02.45 [2.02.42] USE="lvm1 readline static (-clvm) (-cman) (-selinux)" 723 kB
but then fails to compile for me: rm -f ioctl/libdevmapper.a ar rs ioctl/libdevmapper.a datastruct/bitset.o datastruct/hash.o datastruct/list.o libdm-common.o libdm-file.o libdm-deptree.o libdm-string.o libdm-report.o mm/dbg_malloc.o mm/pool.o regex/matcher.o regex/parse_rx.o regex/ttree.o ioctl/libdm-iface.o ar: creating ioctl/libdevmapper.a rm -f libdevmapper.so.1.02 ln -s ioctl/libdevmapper.so libdevmapper.so.1.02 rm -f libdevmapper.so ln -s ioctl/libdevmapper.so libdevmapper.so make[1]: Leaving directory `/var/tmp/portage/sys-fs/lvm2-2.02.45/work/LVM2.2.02.45/libdm' * * ERROR: sys-fs/lvm2-2.02.45 failed. * Call stack: * ebuild.sh, line 48: Called src_compile * environment, line 2235: Called die * The specific snippet of code: * emake || die "compile problem" * The die message: * compile problem * * If you need support, post the topmost build error, and the call stack if relevant.
(In reply to comment #8) > Note to self: Other affected packages: > > app-crypt/truecrypt > sys-boot/lilo > sys-fs/clvm > sys-fs/cryptsetup > sys-fs/multipath-tools > sys-fs/udev > You need to fix these BEFORE you unmask lvm2-2.02.45... Not at some point after.
All packages except clvm should be fixed, and I've opened a new ticket for that.
I get now 2.02.42 with or without device-mapper installed.
Updated parted builds for me with no problems. lvm2 now satisfies the device-mapper dependency.
(In reply to comment #11) > but then fails to compile for me: > > rm -f ioctl/libdevmapper.a > ar rs ioctl/libdevmapper.a datastruct/bitset.o datastruct/hash.o > datastruct/list.o libdm-common.o libdm-file.o libdm-deptree.o libdm-string.o > libdm-report.o mm/dbg_malloc.o mm/pool.o regex/matcher.o regex/parse_rx.o > regex/ttree.o ioctl/libdm-iface.o > ar: creating ioctl/libdevmapper.a > rm -f libdevmapper.so.1.02 > ln -s ioctl/libdevmapper.so libdevmapper.so.1.02 > rm -f libdevmapper.so > ln -s ioctl/libdevmapper.so libdevmapper.so > make[1]: Leaving directory > `/var/tmp/portage/sys-fs/lvm2-2.02.45/work/LVM2.2.02.45/libdm' > * > * ERROR: sys-fs/lvm2-2.02.45 failed. > * Call stack: > * ebuild.sh, line 48: Called src_compile > * environment, line 2235: Called die > * The specific snippet of code: > * emake || die "compile problem" > * The die message: > * compile problem > * > * If you need support, post the topmost build error, and the call stack if > relevant. > That's the MAKEOPTS bug. I don't have the number right in front of me, but a quick search should find it. You have to build lvm2-2.02.45 with MAKEOPTS="-j1".
caleb: - the MAKEOPTS is fixed. - note that clvm blocks lvm2, and will be dealt with seperately (see my comment in bug 265671 for xmerlin) Ergo, please unmask it in package.mask since you're done with all the device-mapper conversions.
unmasked. Thanks for all of your help with this.
[in reply to comment #12] > You need to fix these BEFORE you unmask lvm2-2.02.45... Not at some point > after. I still don't see cryptsetup-1.0.6-r2 being fixed; since it still depends directly on device-mapper and is a default system dependency (USE=crypt + sys-apps/hal on most profiles), I'd say this is a big problem. Why on earth was this unmasked when the dev responsible themselves noted the breakage? This really needs reopened and resolved ASAP.
aoz.syn: Sounds like your tree is out of date. cryptsetup-1.0.6-r2.ebuild: 16 DEPEND="|| ( 17 >=sys-fs/lvm2-2.02.45 18 >=sys-fs/device-mapper-1.00.07-r1 19 )
My tree was up-to-date, but it seems I still had truecrypt installed (which was the culprit behind the 'unsatisfied block' message) and failed to re-try after uninstalling it. Apologies for the pile of fail.