/usr/X11R6 is deprecated and ebuilds should not install things there any more. pena image # find | grep X11R6 ./usr/X11R6 ./usr/X11R6/lib ./usr/X11R6/lib/X11 ./usr/X11R6/lib/X11/app-defaults ./usr/X11R6/lib/X11/app-defaults/XScreenSaver pena image # pwd /var/tmp/portage/xscreensaver-4.23/image I have xscreensaver-4.22-r4: pena image # qlist xcreesaver | grep -i X11R6 pena image # pena image # qlist xscreensaver | grep XScreenSaver /usr/lib/X11/app-defaults/XScreenSaver Also because the file now goes under /usr/X11R6 it causes collision-protect to fail because of the /usr/X11R6 symlink. Portage 2.0.53_rc6 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo i686) ================================================================= System uname: 2.6.14-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.12.0_pre9 ccache version 2.4 [enabled] dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe -mfpmath=sse -ffast-math -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/env.d/java/ /etc/gconf /etc/init.d /etc/java-config/vms/ /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -pipe -mfpmath=sse -ffast-math -fomit-frame-pointer" DISTDIR="/usr/src/distfiles" FEATURES="autoaddcvs autoconfig ccache collision-protect cvs distlocks fixpackages sandbox sfperms sign strict" GENTOO_MIRRORS=" http://trumpetti.atm.tut.fi/gentoo http://lame.lut.fi/linux/gentoo " LANG="en_US.utf8" LC_ALL="en_US.utf8" LINGUAS="fi" MAKEOPTS="-j2 -s" PKGDIR="/home/pkg/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/mnt/checkouts/overlays/betelgeuse /mnt/checkouts/overlays/axxo" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac acl acpi alsa apm audiofile avi bash-completion berkdb bitmap-fonts bluetooth browserplugin bzip2 bzlib cdb cddb cdparanoia cdr crypt cups dbus dts dvd dvdr dvdread emboss esd firefox flac foomaticdb freetype gif gstreamer gtk2 hal java jpeg kde kdeenablefinal libg++ libwww logitech-mouse lzo mad makecheck mikmod mjpeg mmx mmx2 mp3 mpeg ncurses network nptl nptlonly nsplugin nvidia offensive ogg oggvorbis opengl pam pdflib png qt quicktime readline real rtc ruby samba spell sse sse2 ssl subversion svg symlink tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales vorbis win32codecs xine xml xml2 xv xvid zlib video_cards_nvidia linguas_fi userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
I recently switched to modular X and now tested 4.22-r4 with that and the same thing does happen there too so this is actually a problem with modular X.
Created attachment 71812 [details] emerge log pena portage # grep X11R6 4381-xscreensaver-4.22-r4.log /bin/install -c -m 644 XScreenSaver.ad /var/tmp/portage/xscreensaver-4.22-r4/image//usr/X11R6/lib/X11/app-defaults/XScreenSaver checking for X app-defaults directory... /usr/X11R6/lib/X11/app-defaults checking for text file /usr/X11R6/lib/X11/doc/README... no checking for text file /usr/X11R6/README... no /bin/install -c -m 644 XScreenSaver.ad /var/tmp/portage/xscreensaver-4.22-r4/image//usr/X11R6/lib/X11/app-defaults/XScreenSaver Adding x11@gentoo.org to CC for their input.
Probably something wrong with the configure script, but I'm not sure where it gets that directory from...
Created attachment 71819 [details, diff] xscreensaver-4.23-app-defaults.patch Could You test this patch? It preffers /usr/lib/X11/app-defaults over /usr/X.*/lib
(In reply to comment #4) > Created an attachment (id=71819) [edit] > xscreensaver-4.23-app-defaults.patch > > Could You test this patch? It preffers /usr/lib/X11/app-defaults over > /usr/X.*/lib Seems to work, but I would like to know the underlying reason that /usr/X11R6 gets picked up. Maybe I don't have a file installed from which the ./configure script looks for a value set.
It only tests the directory: 764 ; \ 765 do 766 if test -d "$ac_dir"; then 767 ac_x_app_defaults=$ac_dir 768 break 769 fi 770 done 771 ]) Patch in tree.
This does affect other xscreensaver versions as well. I'm assuming 4.23 will be stable before modular X is though... X11R6 should be a symlink to /usr in 6.8.2* I believe.
You do not run autoconf so the patch does not good in the tree.
Yes, it got somehow lost on way from my overlay to checkout dir. Thanks Petteri.
I still see the problem, although autoconf is run on my system running xorg-x11-7.0.0_rc2. BTW, when you run autoconf after the application of the xscreensaver-4.22-configure.patch, the patched lines get lost. Either you patch configure.in or you apply the patch after running autoconf
I am still getting this file : /usr/X11R6/lib/X11/app-defaults/XScreenSaver The problem is not fixed, but it is not a problem of xscreensaver either. If imake is installed, the configure script will try using imake before checking the directories directly and this patch is thus void. Now, it is up to xorg-cf-files to install proper files, but it doesn't and that's why imake reports app-defaults as being in /usr/X11R6 ... etc. (ProjectRoot is set to /usr/X11R6 in site.def). I simply added "sed -i -e '/(xmkmf)/(echo xmkmf)/' configure.in" to src_unpack, and it worked around the problem. This is not a fix, but it is better than nothing.
>>> Completed installing xscreensaver-4.23-r1 into /var/tmp/portage/xscreensaver-4.23-r1/image/ * checking 639 files for package collisions existing file /usr/X11R6/lib/X11/app-defaults/XScreenSaver is not owned by this package * spent 0.367695093155 seconds checking for file collisions Yes, it seems to this is not 100% fixed so reopening.
It installs /usr/lib/X11/app-defaults/XScreenSaver for me, not /usr/X11R6. I've installed imake, and tried to re-emerge xscreensaver: >>> /usr/lib/X11/app-defaults/XScreenSaver XScreenSaver's configure should output the app-defaults directory: checking for X app-defaults directory... /usr/lib/X11/app-defaults
Make sure you have the latest xorg-cf-files installed when you test this -- it changed the installation root.
That's why I couldn't reproduce it. xorg-cf-files-1.0.1-r1 fixed this.
(In reply to comment #15) > That's why I couldn't reproduce it. xorg-cf-files-1.0.1-r1 fixed this. > I think we should DEPEND on the needed version then.
(In reply to comment #16) > I think we should DEPEND on the needed version then. > That's the only one version available, so no need to depend on it.
(In reply to comment #17) > (In reply to comment #16) > > I think we should DEPEND on the needed version then. > > > That's the only one version available, so no need to depend on it. > Well the reasoning for the depend was that it would update xorg-cf-files before xscreensaver in emerge -uD world so that xscreensaver would not fail.
(In reply to comment #18) > Well the reasoning for the depend was that it would update xorg-cf-files before > xscreensaver in emerge -uD world so that xscreensaver would not fail. xscreensaver doesn't need xmkmf or cf-files to compile correctly, so adding something optional to DEPEND is not a good idea.
(In reply to comment #19) > (In reply to comment #18) > > Well the reasoning for the depend was that it would update xorg-cf-files before > > xscreensaver in emerge -uD world so that xscreensaver would not fail. > > xscreensaver doesn't need xmkmf or cf-files to compile correctly, so adding > something optional to DEPEND is not a good idea. The general solution for that is to block on lower versions.