| Summary: | =sys-fs/udev writes to '/ /var/tmp/portage/sys-fs/udev-230/image/etc' upon merge | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Coacher <itumaykin+gentoo> |
| Component: | [OLD] Core system | Assignee: | udev maintainers <udev-bugs> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | holger |
| Priority: | Normal | Keywords: | PATCH |
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
emerge --info sys-fs/udev
steps.log /var/db/pkg/sys-fs/udev-230/CONTENTS build.log.gz /var/db/pkg/sys-fs/udev-230/CONTENTS with fixed ebuild ebuild.patch |
||
Created attachment 435494 [details]
steps.log
Created attachment 435496 [details]
/var/db/pkg/sys-fs/udev-230/CONTENTS
Created attachment 435498 [details]
build.log.gz
I believe the problem is here: INSTALL_DIRS='$(sysconfdir)/udev/rules.d \ $(sysconfdir)/udev/hwdb.d \ $(sysconfdir)/systemd/network' You don't break lines with \ in single quotes, it results in literal backslash-linefeed. (In reply to Coacher from comment #4) > I believe the problem is here: > > INSTALL_DIRS='$(sysconfdir)/udev/rules.d \ > $(sysconfdir)/udev/hwdb.d \ > $(sysconfdir)/systemd/network' > > You don't break lines with \ in single quotes, it results in literal > backslash-linefeed. I can confirm that with the following changes to ebuild the problem is gone: diff --git a/sys-fs/udev/udev-230.ebuild b/sys-fs/udev/udev-230.ebuild index 298e12b..eacb01d 100644 --- a/sys-fs/udev/udev-230.ebuild +++ b/sys-fs/udev/udev-230.ebuild @@ -278,8 +278,8 @@ multilib_src_install() { lib_LTLIBRARIES="${lib_LTLIBRARIES}" pkgconfiglib_DATA="${pkgconfiglib_DATA}" pkgconfigdata_DATA="src/udev/udev.pc" - INSTALL_DIRS='$(sysconfdir)/udev/rules.d \ - $(sysconfdir)/udev/hwdb.d \ + INSTALL_DIRS='$(sysconfdir)/udev/rules.d + $(sysconfdir)/udev/hwdb.d $(sysconfdir)/systemd/network' dist_bashcompletion_DATA="shell-completion/bash/udevadm" dist_network_DATA="network/99-default.link" Created attachment 435504 [details]
/var/db/pkg/sys-fs/udev-230/CONTENTS with fixed ebuild
Created attachment 435506 [details, diff]
ebuild.patch
and much more mess is created in / :
tinderbox@ms-magpie ~ $ sudo chroot amd64-13.0-unstable_20160522-215403
ms-magpie / # ls -al /
total 4
drwxr-xr-x 1 root root 6 May 25 16:52 ' '
drwxr-xr-x 1 root root 274 Jun 3 23:02 .
drwxr-xr-x 1 root root 274 Jun 3 23:02 ..
drwxr-xr-x 1 root root 20 May 29 23:07 backend
drwxr-xr-x 1 root root 4368 Jun 3 20:38 bin
drwxr-xr-x 1 root root 372 Jun 3 07:33 boot
drwxr-xr-x 10 root root 2980 May 31 20:02 dev
drwxr-xr-x 1 root root 12562 Jun 3 23:19 etc
drwxr-xr-x 1 root root 36 May 31 02:51 home
lrwxrwxrwx 1 root root 5 May 22 22:48 lib -> lib64
drwxr-xr-x 1 root root 1366 May 22 22:48 lib32
drwxr-xr-x 1 root root 6942 Jun 3 20:14 lib64
drwxr-xr-x 1 root root 56 May 27 08:29 media
drwxr-xr-x 1 root root 10 May 19 03:30 mnt
drwxr-xr-x 1 root root 28 May 23 09:42 no
drwxr-xr-x 1 syslog root 0 May 25 23:50 nonexistent
drwxr-xr-x 1 root root 1062 Jun 3 19:14 opt
dr-xr-xr-x 290 root wheel 0 May 30 20:57 proc
drwx------ 1 root root 96 Jun 3 19:19 root
drwxr-xr-x 1 root root 256 Jun 3 17:42 run
drwxr-xr-x 1 root root 6222 Jun 3 13:02 sbin
drwxr-xr-x 1 root root 62 May 23 10:03 service
drwxr-xr-x 1 root root 6 Jun 1 16:40 share
dr-xr-xr-x 12 root root 0 May 30 20:57 sys
drwxrwxrwt 1 root root 14168 Jun 3 23:19 tmp
drwxr-xr-x 1 root root 20 Jun 1 20:43 %{_tmpfilesdir}
drwxr-xr-x 1 root root 26 Jun 1 20:43 %{_unitdir}
drwxr-xr-x 1 root root 390 Jun 3 17:42 usr
drwxr-xr-x 1 root root 20 Jun 3 23:02 usrlib64
drwxr-xr-x 1 root root 250 Jun 3 21:17 var
drwxr-xr-x 1 root root 54 May 27 21:34 vz
Interesting. I can event reproduce this with udev-225 (stable). floppym@naomi image % pwd /tmp/portage/sys-fs/udev-225/image floppym@naomi image % ls -l total 0 drwxr-xr-x 3 root root 60 Jun 3 22:54 ' ' drwxr-xr-x 2 root root 60 Jun 3 22:54 bin drwxr-xr-x 3 root root 60 Jun 3 22:54 etc drwxr-xr-x 4 root root 80 Jun 3 22:54 lib drwxr-xr-x 2 root root 80 Jun 3 22:54 lib64 drwxr-xr-x 6 root root 120 Jun 3 22:54 usr commit 1dc1195271f1723ea1708dd29133106a57c11258 Author: Mike Gilbert <floppym@gentoo.org> Date: Fri Jun 3 23:20:36 2016 -0400 sys-fs/udev: eliminate pointless backslashes Overuse of backslash escapes led to a weird directory named ' ' being installed in the root directory. Thanks to Coacher for spotting the weird directory. Bug: https://bugs.gentoo.org/584256 Package-Manager: portage-2.3.0_rc1_p14 sys-fs/udev/{udev-225.ebuild => udev-225-r1.ebuild} | 19 ++++++++----------- sys-fs/udev/{udev-230.ebuild => udev-230-r1.ebuild} | 19 ++++++++----------- sys-fs/udev/udev-9999.ebuild | 19 ++++++++----------- 3 files changed, 24 insertions(+), 33 deletions(-) |
Created attachment 435492 [details] emerge --info sys-fs/udev Hello. After =sys-fs/udev-230 is successfully merged a wild ' ' directory appears in / with contents that are usually meant for TMPDIR. See the attached file 'steps.log' for directory contents and steps to reproduce. Please fix.