while working on an update for multimedia/mjpegtools, and adding USE_LIBTOOL=Yes, I would get libraries where lib/libfoo.so.4.0 would be a symlink to lib/libfoo-1.8.so.4.0, the real library.
this comes from libtool, specifically library_names_spec is set to '${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' if library_names_spec is set only to '${libname}${shared_ext}$versuffix', then only lib/libfoo.so.4.0, a real library, is created. the code in the libtool script that uses this is at line 5966. the following patch for the libtool port changes library_names_spec to just '${libname}${shared_ext}$versuffix'. I patched libtool, then uninstalled glib2 and all it's dependencies, then built on an amd64 machine graphics/gimp and all its dependencies, a lot of which now USE_LIBTOOL (thanks marcm!). I also built infrastructure/plist/i386 from scratch on an i386 machine. only one port needed to be changed, databases/openldap. patch for PFRAG.shared, along with a little other libtool cleanup for that port is below the libtool patch. I am also currently running a full package build with this patch. comments? -- <[EMAIL PROTECTED]> Index: devel/libtool/Makefile =================================================================== RCS file: /cvs/ports/devel/libtool/Makefile,v retrieving revision 1.44 diff -u -r1.44 Makefile --- devel/libtool/Makefile 2 Nov 2005 02:47:09 -0000 1.44 +++ devel/libtool/Makefile 14 Nov 2005 06:42:07 -0000 @@ -6,15 +6,14 @@ VERSION= 1.5.20 DISTNAME= libtool-${VERSION} -PKGNAME= ${DISTNAME}p1 -PKGNAME-ltdl= libltdl-${VERSION}p1 +PKGNAME= ${DISTNAME}p2 +PKGNAME-ltdl= libltdl-${VERSION}p2 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=libtool/} HOMEPAGE= http://www.gnu.org/software/libtool/ AUTOCONF_VERSION= 2.59 -BUILD_DEPENDS+= ${MODGNU_AUTOCONF_DEPENDS} MAINTAINER= Brad Smith <[EMAIL PROTECTED]> @@ -24,7 +23,7 @@ PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes -CONFIGURE_STYLE= gnu +CONFIGURE_STYLE= autoconf no-autoheader CONFIGURE_ARGS+= ${CONFIGURE_SHARED} MULTI_PACKAGES= -ltdl @@ -35,6 +34,9 @@ RUN_DEPENDS+= ::devel/libtool,-ltdl . endif .endif + +post-patch: + @cp ${WRKSRC}/libtool.m4 ${WRKSRC}/acinclude.m4 do-regress: cd ${WRKDIR}/bin && ln -sf ${LOCALBASE}/bin/autoconf-2.59 autoconf Index: devel/libtool/patches/patch-libtool_m4 =================================================================== RCS file: devel/libtool/patches/patch-libtool_m4 diff -N devel/libtool/patches/patch-libtool_m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ devel/libtool/patches/patch-libtool_m4 14 Nov 2005 06:42:07 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- libtool.m4.orig Sun Nov 13 14:18:51 2005 ++++ libtool.m4 Sun Nov 13 14:19:12 2005 +@@ -1586,7 +1586,7 @@ openbsd*) + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' ++ library_names_spec='${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then Index: databases/openldap/Makefile =================================================================== RCS file: /cvs/ports/databases/openldap/Makefile,v retrieving revision 1.59 diff -u -r1.59 Makefile --- databases/openldap/Makefile 12 Nov 2005 18:12:06 -0000 1.59 +++ databases/openldap/Makefile 14 Nov 2005 07:22:20 -0000 @@ -4,8 +4,8 @@ COMMENT-server= "Open source LDAP software (server)" DISTNAME= openldap-2.3.11 -FULLPKGNAME= ${DISTNAME:S/-/-client-/}p2 -PKGNAME-server= ${DISTNAME:S/-/-server-/}p2 +FULLPKGNAME= ${DISTNAME:S/-/-client-/}p3 +PKGNAME-server= ${DISTNAME:S/-/-server-/}p3 CATEGORIES= databases net HOMEPAGE= http://www.openldap.org/ Index: databases/openldap/patches/patch-configure =================================================================== RCS file: /cvs/ports/databases/openldap/patches/patch-configure,v retrieving revision 1.2 diff -u -r1.2 patch-configure --- databases/openldap/patches/patch-configure 7 Nov 2005 15:59:08 -0000 1.2 +++ databases/openldap/patches/patch-configure 14 Nov 2005 07:22:20 -0000 @@ -1,15 +1,7 @@ $OpenBSD: patch-configure,v 1.2 2005/11/07 15:59:08 mbalmer Exp $ --- configure.orig Wed Oct 5 20:41:09 2005 +++ configure Tue Oct 18 14:30:27 2005 -@@ -9443,7 +9443,6 @@ openbsd*) - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' -- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in -@@ -34518,6 +34517,7 @@ cat confdefs.h >>conftest.$ac_ext +@@ -34518,6 +34518,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ Index: databases/openldap/pkg/PFRAG.shared =================================================================== RCS file: /cvs/ports/databases/openldap/pkg/PFRAG.shared,v retrieving revision 1.29 diff -u -r1.29 PFRAG.shared --- databases/openldap/pkg/PFRAG.shared 7 Nov 2005 15:59:08 -0000 1.29 +++ databases/openldap/pkg/PFRAG.shared 14 Nov 2005 07:22:20 -0000 @@ -1,7 +1,4 @@ @comment $OpenBSD: PFRAG.shared,v 1.29 2005/11/07 15:59:08 mbalmer Exp $ [EMAIL PROTECTED] lib/liblber-2.3.so.8.1 @lib lib/liblber.so.8.1 [EMAIL PROTECTED] lib/libldap-2.3.so.8.1 @lib lib/libldap.so.8.1 [EMAIL PROTECTED] lib/libldap_r-2.3.so.8.1 @lib lib/libldap_r.so.8.1