If the first argument passed to java-pkg_doso is a symlink, the target-directory is not created. Portage logs the following (See attachment for complete log): + ln -s libcom_trolltech_qt_core.so.1.0.0 /var/tmp/portage/dev-java/qtjambi-4.4.3/image//usr/lib/qtjambi-4/libcom_trolltech_qt_core.so ln: creating symbolic link `/var/tmp/portage/dev-java/qtjambi-4.4.3/image//usr/lib/qtjambi-4/libcom_trolltech_qt_core.so': No such file or directory + debug-print '/var/tmp/portage/dev-java/qtjambi-4.4.3/work/qtjambi-src-gpl-4.4.3_01/lib/libcom_trolltech_qt_core.so is a symlink, linking accordanly' Reproducible: Always Steps to Reproduce: 1. Build the appended ebuild for Qt Jambi Actual Results: The symlinks /usr/lib/qtjambi-4/libcom_trolltech_qt_core.so, libcom_trolltech_qt_core.so.1 and libcom_trolltech_qt_core.so.1.0 are not copied. Expected Results: The symlinks should be copied, the same way as for example libcom_trolltech_qt_gui.so, libcom_trolltech_qt_gui.so.1 and libcom_trolltech_qt_gui.so.1.0 are. Portage 2.2_rc17 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo-r6 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r6-i686-Genuine_Intel-R-_CPU_T2400_@_1.83GHz-with-glibc2.0 Timestamp of tree: Wed, 17 Dec 2008 17:17:01 +0000 ccache version 2.4 [disabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7-r1, 2.1.6 dev-lang/python: 2.4.4-r13, 2.5.2-r7 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.2 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=prescott -pipe -msse3 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -march=prescott -pipe -msse3 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages noclean parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ " LANG="de_DE.utf8@euro" LC_ALL="de_DE.utf8@euro" LDFLAGS="-Wl,-O1" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/java-overlay /usr/portage/local/layman/kaliko /usr/portage/local/local-overlay" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X aac acl acpi alsa bash-completion berkdb bitmap-fonts bluetooth branding bzip2 cairo cdaudio cddb cdparanoia cdr chipcard cli cracklib crypt css cups dbus dga diracdri dvd dvdr dvdread emboss encode esd evo fam ffmpeg firefox flac fortran gdbm geldkarte gif gpm gstreamer gtk hal hbci iconv idn ipv6 isdnlog jabber java java6 jpeg kde latex ldap libnotify mad midi mikmod mmx mp3 mpeg mudflap ncurses networkmanager nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sasl scanner schroedinger sdl session speex spell spl sqlite sse sse2 ssl startup-notification subversion svg sysfs tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb vorbis wifi win32codecs x264 x86 xcomposite xinerama xml xorg xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiationrewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="ati radeon" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 175743 [details] The complete build log
Created attachment 175745 [details] The ebuild for Qt Jambi 4.4.3
Created attachment 175746 [details, diff] Needed patch #1
Created attachment 175748 [details, diff] Needed patch #2
Why can't you call doso on the symlink target instead of the symlink?
I can do that, but I also want to get the symlinks. So my current workaround is to force the symlink-targets to be copied first: 1) java-pkg_doso "${S}"/lib/*.so.1.0.0 "${S}"/lib/*.so.1.0 "${S}"/lib/*.so.1 "${S}"/lib/*.so instead of 2) java-pkg_doso "${S}"/lib/* 1) works, 2) does not.
Does anyone work on this?
Created attachment 191336 [details, diff] Use dosym and fix a couple of typos This patch should fix the issue by using dosym in java-pkg_doso(), which automatically creates the needed directories before the symlink.
Applied, thanks.