[SCM] Samba Shared Repository - branch master updated

Andrew Tridgell tridge at samba.org
Wed Dec 8 04:46:01 MST 2010


The branch, master has been updated
       via  735c1cd s4-pkgconfig: add @LIB_RPATH@ to our link flags
       via  8b3ae1a waf: added --disable-symbol-versions configure option
       via  af1b098 s4-ldb: added @LIB_RPATH@ to the ldb pc file
       via  92961d2 waf: support @LIB_RPATH@ in pc files
      from  2079a6d s4-acl: Changed the mechanism of attribute removal to speed it up.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 735c1cd2da15167748e92ba6de48fdb5169db587
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Dec 8 20:41:37 2010 +1100

    s4-pkgconfig: add @LIB_RPATH@ to our link flags
    
    this is only set when rpath is used on install. It ensures that
    applications that link against Samba libraries get the rpath right
    
    Autobuild-User: Andrew Tridgell <tridge at samba.org>
    Autobuild-Date: Wed Dec  8 12:46:00 CET 2010 on sn-devel-104

commit 8b3ae1a3b80a07f40d17a59e4f334e2df496b535
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Dec 8 19:00:00 2010 +1100

    waf: added --disable-symbol-versions configure option
    
    some people may not want symbol versions.

commit af1b098441b0d49dd5caf80a6950171135ca5e79
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Dec 8 18:47:54 2010 +1100

    s4-ldb: added @LIB_RPATH@ to the ldb pc file

commit 92961d28281653906f58f01817cf58b02f85168c
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Dec 8 18:47:39 2010 +1100

    waf: support @LIB_RPATH@ in pc files
    
    this will be used to get the needed -Wl,-rpath options into our pc
    files
    
    Pair-Programmed-With: Andrew Bartlett <abartlet at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/pkgconfig.py       |    8 ++++++--
 buildtools/wafsamba/wscript            |   11 ++++++++---
 lib/talloc/pytalloc-util.pc.in         |    2 +-
 lib/talloc/talloc.pc.in                |    2 +-
 lib/tdb/tdb.pc.in                      |    2 +-
 lib/tevent/tevent.pc.in                |    2 +-
 lib/torture/torture.pc.in              |    2 +-
 lib/util/samba-util.pc.in              |    2 +-
 librpc/ndr.pc.in                       |    2 +-
 librpc/ndr_standard.pc.in              |    2 +-
 source4/auth/gensec/gensec.pc.in       |    2 +-
 source4/dsdb/samdb.pc.in               |    2 +-
 source4/lib/ldb/ldb.pc.in              |    2 +-
 source4/lib/ldb/pyldb-util.pc.in       |    2 +-
 source4/lib/policy/policy.pc.in        |    2 +-
 source4/lib/registry/registry.pc.in    |    2 +-
 source4/librpc/dcerpc.pc.in            |    2 +-
 source4/librpc/dcerpc_atsvc.pc.in      |    2 +-
 source4/librpc/dcerpc_samr.pc.in       |    2 +-
 source4/param/samba-hostconfig.pc.in   |    2 +-
 source4/rpc_server/dcerpc_server.pc.in |    2 +-
 21 files changed, 33 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/pkgconfig.py b/buildtools/wafsamba/pkgconfig.py
index 1a41c80..4abf8d6 100644
--- a/buildtools/wafsamba/pkgconfig.py
+++ b/buildtools/wafsamba/pkgconfig.py
@@ -54,10 +54,14 @@ def PKG_CONFIG_FILES(bld, pc_files, vnum=None):
                                 source=f+'.in',
                                 target=f)
         t.vars = []
-        for v in [ 'PREFIX', 'EXEC_PREFIX' ]:
-            t.vars.append(t.env[v])
+        if t.env.RPATH_ON_INSTALL:
+            t.env.LIB_RPATH = t.env.RPATH_ST % t.env.LIBDIR
+        else:
+            t.env.LIB_RPATH = ''
         if vnum:
             t.env.PACKAGE_VERSION = vnum
+        for v in [ 'PREFIX', 'EXEC_PREFIX', 'LIB_RPATH' ]:
+            t.vars.append(t.env[v])
         bld.INSTALL_FILES(dest, f, flat=True, destname=base)
 Build.BuildContext.PKG_CONFIG_FILES = PKG_CONFIG_FILES
 
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index f355125..5756df4 100644
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -61,6 +61,9 @@ def set_options(opt):
     gr.add_option('--nonshared-binary',
                    help=("Disable use of shared libs for the listed binaries"),
                    action="store", dest='NONSHARED_BINARIES', default='')
+    gr.add_option('--disable-symbol-versions',
+                   help=("Disable use of the --version-script linker option"),
+                   action="store_true", dest='disable_symbol_versions', default=False)
 
     opt.add_option('--with-modulesdir',
                    help=("modules directory [PREFIX/modules]"),
@@ -288,9 +291,11 @@ def configure(conf):
             # the user can of course always override it.
             conf.env.PRIVATELIBDIR = conf.env.LIBDIR
 
-    if not conf.env.DISABLE_SHARED and conf.CHECK_LIBRARY_SUPPORT(rpath=support_rpath,
-                                                                  version_script=True,
-                                                                  msg='-Wl,--version-script support'):
+    if (not conf.env.DISABLE_SHARED and
+        not Options.options.disable_symbol_versions and
+        conf.CHECK_LIBRARY_SUPPORT(rpath=support_rpath,
+                                   version_script=True,
+                                   msg='-Wl,--version-script support')):
         conf.env.HAVE_LD_VERSION_SCRIPT = True
     else:
         conf.env.HAVE_LD_VERSION_SCRIPT = False
diff --git a/lib/talloc/pytalloc-util.pc.in b/lib/talloc/pytalloc-util.pc.in
index b17b373..bc704b4 100644
--- a/lib/talloc/pytalloc-util.pc.in
+++ b/lib/talloc/pytalloc-util.pc.in
@@ -7,5 +7,5 @@ Name: pytalloc-util
 Description: Utility functions for using talloc objects with Python
 Version: @TALLOC_VERSION@
 Libs: -L${libdir} -lpytalloc-util
-Cflags: -I${includedir} 
+Cflags: @LIB_RPATH@ -I${includedir}
 URL: http://talloc.samba.org/
diff --git a/lib/talloc/talloc.pc.in b/lib/talloc/talloc.pc.in
index 5ce2109..437281a 100644
--- a/lib/talloc/talloc.pc.in
+++ b/lib/talloc/talloc.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: talloc 
 Description: A hierarchical pool based memory system with destructors
 Version: @TALLOC_VERSION@
-Libs: -L${libdir} -ltalloc
+Libs: @LIB_RPATH@ -L${libdir} -ltalloc
 Cflags: -I${includedir} 
 URL: http://talloc.samba.org/
diff --git a/lib/tdb/tdb.pc.in b/lib/tdb/tdb.pc.in
index 6f8f553..b78419e 100644
--- a/lib/tdb/tdb.pc.in
+++ b/lib/tdb/tdb.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: tdb
 Description: A trivial database
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -ltdb
+Libs: @LIB_RPATH@ -L${libdir} -ltdb
 Cflags: -I${includedir} 
 URL: http://tdb.samba.org/
diff --git a/lib/tevent/tevent.pc.in b/lib/tevent/tevent.pc.in
index b1dd439..1091ff0 100644
--- a/lib/tevent/tevent.pc.in
+++ b/lib/tevent/tevent.pc.in
@@ -8,5 +8,5 @@ Description: An event system library
 Version: @PACKAGE_VERSION@
 Requires: talloc
 Libs: -L${libdir} -ltevent
-Cflags: -I${includedir} 
+Cflags: @LIB_RPATH@ -I${includedir}
 URL: http://samba.org/
diff --git a/lib/torture/torture.pc.in b/lib/torture/torture.pc.in
index 6582816..459b35c 100644
--- a/lib/torture/torture.pc.in
+++ b/lib/torture/torture.pc.in
@@ -8,5 +8,5 @@ Name: torture
 Description: Samba torture (test) suite
 Requires: talloc
 Version: 0.0.1
-Libs: -L${libdir} -ltorture 
+Libs: @LIB_RPATH@ -L${libdir} -ltorture
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/lib/util/samba-util.pc.in b/lib/util/samba-util.pc.in
index e61ee44..a49c1d0 100644
--- a/lib/util/samba-util.pc.in
+++ b/lib/util/samba-util.pc.in
@@ -7,5 +7,5 @@ Name: samba-util
 Description: Samba utility functions
 Requires: talloc tevent
 Version: 0.0.1
-Libs: -L${libdir} -lsamba-util
+Libs: @LIB_RPATH@ -L${libdir} -lsamba-util
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/librpc/ndr.pc.in b/librpc/ndr.pc.in
index 9cff0ca..f7a1651 100644
--- a/librpc/ndr.pc.in
+++ b/librpc/ndr.pc.in
@@ -7,5 +7,5 @@ Name: ndr
 Description: Network Data Representation Core Library
 Requires: samba-hostconfig talloc
 Version: 0.0.1
-Libs: -L${libdir} -lndr 
+Libs: @LIB_RPATH@ -L${libdir} -lndr
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1 -D_GNU_SOURCE=1
diff --git a/librpc/ndr_standard.pc.in b/librpc/ndr_standard.pc.in
index 80eace1..d400ef1 100644
--- a/librpc/ndr_standard.pc.in
+++ b/librpc/ndr_standard.pc.in
@@ -7,5 +7,5 @@ Name: ndr-standard
 Description: NDR marshallers for the standard set of DCE/RPC interfaces
 Requires: ndr
 Version: 0.0.1
-Libs: -L${libdir} -lndr-standard
+Libs: @LIB_RPATH@ -L${libdir} -lndr-standard
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1 -D_GNU_SOURCE=1
diff --git a/source4/auth/gensec/gensec.pc.in b/source4/auth/gensec/gensec.pc.in
index f50d2a8..f32226d 100644
--- a/source4/auth/gensec/gensec.pc.in
+++ b/source4/auth/gensec/gensec.pc.in
@@ -7,5 +7,5 @@ modulesdir=${prefix}/modules/gensec
 Name: gensec
 Description: Generic Security Library
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lgensec 
+Libs: @LIB_RPATH@ -L${libdir} -lgensec
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/dsdb/samdb.pc.in b/source4/dsdb/samdb.pc.in
index 1a0b6d9..691f73e 100644
--- a/source4/dsdb/samdb.pc.in
+++ b/source4/dsdb/samdb.pc.in
@@ -6,5 +6,5 @@ includedir=@includedir@
 Name: samdb
 Description: Sam Database
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lsamdb
+Libs: @LIB_RPATH@ -L${libdir} -lsamdb
 Cflags: -I${includedir} -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/lib/ldb/ldb.pc.in b/source4/lib/ldb/ldb.pc.in
index 01482f6..aeba17a 100644
--- a/source4/lib/ldb/ldb.pc.in
+++ b/source4/lib/ldb/ldb.pc.in
@@ -9,7 +9,7 @@ Description: An LDAP-like embedded database
 Version: @PACKAGE_VERSION@
 Requires.private: tdb
 Requires: talloc 
-Libs: -L${libdir} -lldb
+Libs: @LIB_RPATH@ -L${libdir} -lldb
 Libs.private: @LDAP_LIBS@
 Cflags: -I${includedir} 
 Modulesdir: ${modulesdir}
diff --git a/source4/lib/ldb/pyldb-util.pc.in b/source4/lib/ldb/pyldb-util.pc.in
index 2afca04..348ae8b 100644
--- a/source4/lib/ldb/pyldb-util.pc.in
+++ b/source4/lib/ldb/pyldb-util.pc.in
@@ -8,6 +8,6 @@ Name: pyldb-util
 Description: Python bindings for LDB
 Version: @PACKAGE_VERSION@
 Requires: ldb
-Libs: -L${libdir} -lpyldb-util
+Libs: @LIB_RPATH@ -L${libdir} -lpyldb-util
 Cflags: -I${includedir}
 URL: http://ldb.samba.org/
diff --git a/source4/lib/policy/policy.pc.in b/source4/lib/policy/policy.pc.in
index 4848cbc..fe5c66d 100644
--- a/source4/lib/policy/policy.pc.in
+++ b/source4/lib/policy/policy.pc.in
@@ -8,5 +8,5 @@ Description: Active Directory Group Policy library
 Requires: talloc
 Requires.private: ldb
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lpolicy
+Libs: @LIB_RPATH@ -L${libdir} -lpolicy
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/lib/registry/registry.pc.in b/source4/lib/registry/registry.pc.in
index 386817d..e923931 100644
--- a/source4/lib/registry/registry.pc.in
+++ b/source4/lib/registry/registry.pc.in
@@ -8,5 +8,5 @@ Description: Windows-style registry library
 Requires: talloc
 Requires.private: ldb
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lregistry 
+Libs: @LIB_RPATH@ -L${libdir} -lregistry
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/librpc/dcerpc.pc.in b/source4/librpc/dcerpc.pc.in
index 798b8df..b79507a 100644
--- a/source4/librpc/dcerpc.pc.in
+++ b/source4/librpc/dcerpc.pc.in
@@ -7,5 +7,5 @@ Name: dcerpc
 Description: DCE/RPC client library
 Requires: ndr
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -ldcerpc 
+Libs: @LIB_RPATH@ -L${libdir} -ldcerpc
 Cflags: -I${includedir} -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/librpc/dcerpc_atsvc.pc.in b/source4/librpc/dcerpc_atsvc.pc.in
index 030df93..f781f23 100644
--- a/source4/librpc/dcerpc_atsvc.pc.in
+++ b/source4/librpc/dcerpc_atsvc.pc.in
@@ -7,5 +7,5 @@ Name: dcerpc_atsvc
 Description: DCE/RPC client library - ATSVC
 Requires.private: dcerpc ndr
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -ldcerpc-atsvc
+Libs: @LIB_RPATH@ -L${libdir} -ldcerpc-atsvc
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/librpc/dcerpc_samr.pc.in b/source4/librpc/dcerpc_samr.pc.in
index c034b0f..1c80aa9 100644
--- a/source4/librpc/dcerpc_samr.pc.in
+++ b/source4/librpc/dcerpc_samr.pc.in
@@ -7,5 +7,5 @@ Name: dcerpc_samr
 Description: DCE/RPC client library - SAMR
 Requires.private: dcerpc ndr
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -ldcerpc-samr
+Libs: @LIB_RPATH@ -L${libdir} -ldcerpc-samr
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/param/samba-hostconfig.pc.in b/source4/param/samba-hostconfig.pc.in
index 7a6072c..307f27b 100644
--- a/source4/param/samba-hostconfig.pc.in
+++ b/source4/param/samba-hostconfig.pc.in
@@ -6,5 +6,5 @@ includedir=@includedir@
 Name: samba-hostconfig
 Description: Host-wide Samba configuration
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lsamba-hostconfig 
+Libs: @LIB_RPATH@ -L${libdir} -lsamba-hostconfig
 Cflags: -I${includedir}  -DHAVE_IMMEDIATE_STRUCTURES=1
diff --git a/source4/rpc_server/dcerpc_server.pc.in b/source4/rpc_server/dcerpc_server.pc.in
index d521436..18150ad 100644
--- a/source4/rpc_server/dcerpc_server.pc.in
+++ b/source4/rpc_server/dcerpc_server.pc.in
@@ -7,5 +7,5 @@ Name: dcerpc_server
 Description: DCE/RPC server library
 Requires: dcerpc
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -ldcerpc-server
+Libs: @LIB_RPATH@ -L${libdir} -ldcerpc-server
 Cflags: -I${includedir} -DHAVE_IMMEDIATE_STRUCTURES=1


-- 
Samba Shared Repository


More information about the samba-cvs mailing list