From nobody@FreeBSD.org  Mon Oct 29 12:31:14 2007
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EF40616A41B
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 29 Oct 2007 12:31:12 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id B33C813C480
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 29 Oct 2007 12:31:12 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.1/8.14.1) with ESMTP id l9TCUZua025057
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 29 Oct 2007 12:30:35 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.1/8.14.1/Submit) id l9TCUZwS025056;
	Mon, 29 Oct 2007 12:30:35 GMT
	(envelope-from nobody)
Message-Id: <200710291230.l9TCUZwS025056@www.freebsd.org>
Date: Mon, 29 Oct 2007 12:30:35 GMT
From: Kyryll A Mirnenko <mirya@zoc.com.ua>
To: freebsd-gnats-submit@FreeBSD.org
Subject: emulators/wine: incomplete dependencies list
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         117627
>Category:       ports
>Synopsis:       emulators/wine: incomplete dependencies list
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gerald
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 29 12:40:02 UTC 2007
>Closed-Date:    Sat Dec 29 19:27:12 UTC 2007
>Last-Modified:  Sun Dec 30 21:40:02 UTC 2007
>Originator:     Kyryll A Mirnenko
>Release:        RELENG_7
>Organization:
>Environment:
FreeBSD miryanote 7.0-BETA1 FreeBSD 7.0-BETA1 #4: Mon Oct 29 01:47:39 EET 2007     root@miryanote:/usr/obj/usr/src/sys/MY-LITE  i386
>Description:
I find out wine automatically catches up some libraries if they're installed and builds the stuff that depends links to 'em, here's what I have (ignore versions mess, it's half-updated 7.0 ports tree):

# cd /usr/local/lib/wine && (ldd *.so | grep " => " | sed "s/ (0x.*)//g;" | sort | uniq)
        libGL.so.1 => /usr/local/lib/libGL.so.1
        libGLU.so.1 => /usr/local/lib/libGLU.so.1
        libICE.so.6 => /usr/local/lib/libICE.so.6
        libSM.so.6 => /usr/local/lib/libSM.so.6
        libX11.so.6 => /usr/local/lib/libX11.so.6
        libXau.so.6 => /usr/local/lib/libXau.so.6
        libXdamage.so.1 => /usr/local/lib/libXdamage.so.1
        libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6
        libXext.so.6 => /usr/local/lib/libXext.so.6
        libXfixes.so.3 => /usr/local/lib/libXfixes.so.3
        libXt.so.6 => /usr/local/lib/libXt.so.6
        libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1
        libaudio.so.2 => /usr/local/lib/libaudio.so.2
        libaudiofile.so.0 => /usr/local/lib/libaudiofile.so.0
        libc.so.6 => /usr/local/lib/compat/libc.so.6
        libc.so.7 => /lib/libc.so.7
        libcrypto.so.5 => /lib/libcrypto.so.5
        libdrm.so.2 => /usr/local/lib/libdrm.so.2
        libesd.so.2 => /usr/local/lib/libesd.so.2
        libexif.so.12 => /usr/local/lib/libexif.so.12
        libgcc_s.so.1 => /lib/libgcc_s.so.1
        libgphoto2.so.2 => /usr/local/lib/libgphoto2.so.2
        libgphoto2_port.so.0 => /usr/local/lib/libgphoto2_port.so.0
        libiconv.so.3 => /usr/local/lib/libiconv.so.3
        libintl.so.8 => /usr/local/lib/libintl.so.8
        liblber-2.3.so.2 => /usr/local/lib/liblber-2.3.so.2
        liblcms.so.1 => /usr/local/lib/liblcms.so.1
        libldap_r-2.3.so.2 => /usr/local/lib/libldap_r-2.3.so.2
        libltdl.so.4 => /usr/local/lib/libltdl.so.4
        libm.so.4 => /usr/local/lib/compat/libm.so.4
        libm.so.5 => /lib/libm.so.5
        librpcsvc.so.4 => /usr/lib/librpcsvc.so.4
        libsasl2.so.2 => /usr/local/lib/libsasl2.so.2
        libssl.so.5 => /usr/lib/libssl.so.5
        libstdc++.so.6 => /usr/lib/libstdc++.so.6
        libthr.so.3 => /lib/libthr.so.3
        libwine.so.1 => /usr/local/lib/libwine.so.1
        libxml2.so.5 => /usr/local/lib/libxml2.so.5
        libxslt.so.2 => /usr/local/lib/libxslt.so.2
        libz.so.3 => /usr/local/lib/compat/libz.so.3
        libz.so.4 => /lib/libz.so.4

Here you see it actually depends also on openldap-client, libgphoto2, nas, esound, etc.

I suggest someone can write a script to scan a system with a huge set of packages installed to catch all such "hidden" dependencies, like this:
1) for every package:
2) get a list of *.so.* in all of its dependent packages
3) get a list of all *.so.* referred by all libraries from this package
4) subtract (2) from (3), and so get all missing dependencies for this package
>How-To-Repeat:
Install graphics/libgphoto2, then emulators/wine, the latter will link to the library of the first.
>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->gerald 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Mon Oct 29 12:40:49 UTC 2007 
Responsible-Changed-Why:  
Over to maintainer (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117627 
State-Changed-From-To: open->feedback 
State-Changed-By: gerald 
State-Changed-When: Sun Nov 4 23:29:36 UTC 2007 
State-Changed-Why:  
This is a good observation.  I am actually aware of the problem and 
have a list of such dependencies, but in discussions we decided not 
to make this port (and the package!) too expensive and include every 
single of them. 

That said, I added one or two such dependencies earlier this year, 
and if you have a strong argument for one, please let me know and 
I'll see whether we can add that. 

(Ultimately, what we'd need is a feature in Wine that allows to 
disable functionality during configure time to avoid the addition 
of such undesirabled dependencies.) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117627 
State-Changed-From-To: feedback->closed 
State-Changed-By: gerald 
State-Changed-When: Sat Dec 29 12:41:50 UTC 2007 
State-Changed-Why:  


http://www.freebsd.org/cgi/query-pr.cgi?pr=117627 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/117627: commit references a PR
Date: Sat, 29 Dec 2007 19:28:06 +0000 (UTC)

 gerald      2007-12-29 19:27:27 UTC
 
   FreeBSD ports repository
 
   Modified files:
     emulators/wine       Makefile 
   Log:
   Add cups-base as a library dependency.
   
   PR:             117627
   Reported by:    Kyryll A Mirnenko <mirya@zoc.com.ua>
   Submitted by:   Tijl Coosemans <tijl@ulyssis.org>
   
   Revision  Changes    Path
   1.248     +2 -1      ports/emulators/wine/Makefile
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: Gerald Pfeifer <gerald@pfeifer.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/117627: emulators/wine: incomplete dependencies list
Date: Sat, 29 Dec 2007 20:30:25 +0100 (CET)

 [ Somehow GNATS ate my text explaining the status change. ]
 
 I am going to add cups-base as an additional dependency of emulators/wine.
 
 Verifying the list of dependencies we could add, I found the following
 
   configure: libxslt development files not found.
   Wine will be built without xslt support. (msxml.dll)
 
   configure: libhal development files not found.
   Wine will be built without dynamic device support. (explorer.exe)
 
   configure: libsane development files not found.
   Wine will be built without scanner support. (sane.ds/twain_32.dll)
 
   configure: libgphoto2 development files not found.
   Wine will be built without Digital Camera support.
 (gphoto2.ds/twain_32.dll)
 
   configure: libldap (OpenLDAP) development files not found.
   Wine will be built without LDAP support. (wldap32.dll)
 
   configure: libcapi20 development files not found.
   Wine will be built without ISDN support. (capi2032.dll)
 
 in addition to options for sound.
 
 This would blow up our dependency list quite a bit for a very small subset
 of use cases (as evidenced by a complete lack of user requests for any of
 these) so I am refraining from these further additions on top of cups-base
 for the time being.

From: Christoph Mallon <christoph.mallon@gmx.de>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/117627: emulators/wine: incomplete dependencies list
Date: Sun, 30 Dec 2007 17:16:57 +0100

 Please remove the dependency on CUPS (or probably better make it 
 optional via make config). I don't want to have CUPS installed just 
 because I install wine.

From: Tom Russo <russo@bogodyn.org>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: ports/117627: emulators/wine: incomplete dependencies list
Date: Sun, 30 Dec 2007 13:57:01 -0700

 Please do remove the unconditional dependency on cups.  I use LPRng on my
 system at the moment, and now I can't upgrade wine when needed (cups conflicts
 with LPRng).  Attempting to "portupgrade -MWITHOUT_CUPS=true -a" now tries to 
 install cups even though I am explicitly trying not to do so.
 

From: Gerald Pfeifer <gerald@pfeifer.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/117627: emulators/wine: incomplete dependencies list
Date: Sun, 30 Dec 2007 22:34:13 +0100 (CET)

 We're going to make CUPS an optional dependency; tune into ports/119155
 for further progress.
 
 Gerald
>Unformatted:
