Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 736080 - sys-fs/eudev-3.2.9: No support for /usr merge
Summary: sys-fs/eudev-3.2.9: No support for /usr merge
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: eudev team
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks: usrmerge, usrmerge-fixes
  Show dependency tree
 
Reported: 2020-08-05 19:32 UTC by Andreas Sturmlechner
Modified: 2022-10-30 09:34 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (sys-fs:eudev-3.2.9:20200805-192311.log,123.54 KB, text/x-log)
2020-08-05 19:32 UTC, Andreas Sturmlechner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Sturmlechner gentoo-dev 2020-08-05 19:32:33 UTC
Created attachment 653310 [details]
build.log

* Final size of build directory: 17876 KiB (17.4 MiB)
 * Final size of installed tree:   1876 KiB ( 1.8 MiB)
./
./lib/
./lib/udev/
./lib/udev/cdrom_id
./lib/udev/rules.d/
./lib/udev/rules.d/60-persistent-storage.rules
./lib/udev/rules.d/70-mouse.rules
./lib/udev/rules.d/70-touchpad.rules
./lib/udev/rules.d/60-serial.rules
./lib/udev/rules.d/60-block.rules
./lib/udev/rules.d/70-joystick.rules
./lib/udev/rules.d/50-udev-default.rules
./lib/udev/rules.d/60-persistent-v4l.rules
./lib/udev/rules.d/60-input-id.rules
./lib/udev/rules.d/75-probe_mtd.rules
./lib/udev/rules.d/64-btrfs.rules
./lib/udev/rules.d/40-gentoo.rules
./lib/udev/rules.d/80-drivers.rules
./lib/udev/rules.d/60-cdrom_id.rules
./lib/udev/rules.d/60-persistent-alsa.rules
./lib/udev/rules.d/60-persistent-input.rules
./lib/udev/rules.d/60-sensor.rules
./lib/udev/rules.d/60-persistent-storage-tape.rules
./lib/udev/rules.d/60-evdev.rules
./lib/udev/rules.d/80-net-name-slot.rules
./lib/udev/rules.d/60-drm.rules
./lib/udev/rules.d/78-sound-card.rules
./lib/udev/rules.d/75-net-description.rules
./lib/udev/scsi_id
./lib/udev/collect
./lib/udev/v4l_id
./lib/udev/ata_id
./lib/udev/mtd_probe
./lib64/
./lib64/libudev.so.1.6.3
./lib64/libudev.so.1
./etc/
./etc/udev/
./etc/udev/rules.d/
./etc/udev/udev.conf
./usr/
./usr/include/
./usr/include/udev.h
./usr/include/libudev.h
./usr/include/x86_64-pc-linux-gnu/
./usr/include/x86_64-pc-linux-gnu/udev.h
./usr/lib64/
./usr/lib64/libudev.so
./usr/lib64/pkgconfig/
./usr/lib64/pkgconfig/libudev.pc
./usr/share/
./usr/share/pkgconfig/
./usr/share/pkgconfig/udev.pc
./usr/share/man/
./usr/share/man/man7/
./usr/share/man/man7/udev.7.bz2
./usr/share/man/man5/
./usr/share/man/man5/udev.conf.5.bz2
./usr/share/man/man8/
./usr/share/man/man8/udevd.8.bz2
./usr/share/man/man8/udevadm.8.bz2
./sbin/
./sbin/udevadm
./sbin/udevd
./bin/
./bin/udevadm
 * Package 'sys-fs/eudev-3.2.9' has internal collisions between non-
 * identical files (located in separate directories in the installation
 * image (${D}) corresponding to merged directories in the target
 * filesystem (${ROOT})):
 * 
 *      /usr/bin/udevadm
 *              /bin/udevadm
 *              /sbin/udevadm
 *                      Differences: type, mode
 * 
 * Package 'sys-fs/eudev-3.2.9' NOT merged due to internal collisions
 * between non-identical files. If necessary, refer to your elog messages
 * for the whole content of the above message.
Comment 1 Anthony Basile gentoo-dev 2020-08-06 15:14:59 UTC
Can you explain what usrmerge is and why eudev fails?  I'm not familiar with this.
Comment 2 Andreas Sturmlechner gentoo-dev 2020-08-06 15:32:05 UTC
usrmerge is merging /bin, /sbin and /lib* into their counterparts in /usr. It is supported by baselayout for some time but there is no properly tested migration path yet.[1]

Ebuilds installing into one of the affected dirs provide a flag IUSE="split-usr" that is by default globally enforced. I un-forced "split-usr" and ran the script.[1] Compatibility symlinks are then made from /bin, /sbin and /lib* to their /usr subdirs.

eudev fails because it installs into /usr/bin/udevadm and links to it from /bin/udevadm (and apparently also /sbin/udevadm). sys-fs/udev installed without problems.


[1] https://archives.gentoo.org/gentoo-dev/message/b3cd286057755c46e85ed947aad87377
Comment 3 William Hubbs gentoo-dev 2020-08-17 14:31:11 UTC
/bin is the cannonical location for udevadm.
I'm not sure why you have symlinks to it in /sbin and /usr/bin. I would
look into that and possibly drop them.
Comment 4 Andreas Sturmlechner gentoo-dev 2020-08-18 07:56:19 UTC
(In reply to William Hubbs from comment #3)
> /bin is the cannonical location for udevadm.
> I'm not sure why you have symlinks to it in /sbin and /usr/bin. I would
> look into that and possibly drop them.

You can find the /sbin/udevadm symlink in a current stage3 tarball.
Comment 5 Larry the Git Cow gentoo-dev 2022-10-30 09:34:55 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75b02a79f8717694050c317553e02fd25fdfd046

commit 75b02a79f8717694050c317553e02fd25fdfd046
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2022-10-08 21:58:07 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-10-30 09:33:29 +0000

    sys-fs/eudev: wire up 'split-usr' USE flag
    
    Closes: https://bugs.gentoo.org/736080
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>
    Closes: https://github.com/gentoo/gentoo/pull/27700
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-fs/eudev/eudev-3.2.11-r3.ebuild   | 245 ++++++++++++++++++++++++++++++++++
 sys-fs/eudev/eudev-3.2.12_pre3.ebuild |  25 ++--
 sys-fs/eudev/eudev-9999.ebuild        |  25 ++--
 3 files changed, 279 insertions(+), 16 deletions(-)