Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 251500 - java-utils-2.eclass: java-pkg_doso does not create target-directory for symlinks
Summary: java-utils-2.eclass: java-pkg_doso does not create target-directory for symlinks
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-18 16:36 UTC by Fabian Köster
Modified: 2009-05-19 21:24 UTC (History)
1 user (show)

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


Attachments
The complete build log (build.log,1.42 MB, text/plain)
2008-12-18 16:37 UTC, Fabian Köster
Details
The ebuild for Qt Jambi 4.4.3 (qtjambi-4.4.3.ebuild,4.30 KB, text/plain)
2008-12-18 16:38 UTC, Fabian Köster
Details
Needed patch #1 (configuration-4.4.3.patch,4.64 KB, patch)
2008-12-18 16:39 UTC, Fabian Köster
Details | Diff
Needed patch #2 (generator-4.4.3.patch,435 bytes, patch)
2008-12-18 16:39 UTC, Fabian Köster
Details | Diff
Use dosym and fix a couple of typos (java-utils-2.eclass.patch,1.19 KB, patch)
2009-05-15 10:25 UTC, Davide Pesavento (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Köster 2008-12-18 16:36:19 UTC
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
Comment 1 Fabian Köster 2008-12-18 16:37:36 UTC
Created attachment 175743 [details]
The complete build log
Comment 2 Fabian Köster 2008-12-18 16:38:54 UTC
Created attachment 175745 [details]
The ebuild for Qt Jambi 4.4.3
Comment 3 Fabian Köster 2008-12-18 16:39:22 UTC
Created attachment 175746 [details, diff]
Needed patch #1
Comment 4 Fabian Köster 2008-12-18 16:39:45 UTC
Created attachment 175748 [details, diff]
Needed patch #2
Comment 5 Petteri Räty (RETIRED) gentoo-dev 2008-12-22 21:38:07 UTC
Why can't you call doso on the symlink target instead of the symlink?
Comment 6 Fabian Köster 2008-12-26 14:24:59 UTC
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.
Comment 7 Fabian Köster 2009-02-23 12:56:39 UTC
Does anyone work on this?
Comment 8 Davide Pesavento (RETIRED) gentoo-dev 2009-05-15 10:25:15 UTC
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.
Comment 9 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2009-05-19 21:24:17 UTC
Applied, thanks.