[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Sun Oct 28 18:24:02 MDT 2012


The branch, master has been updated
       via  aa41104 pidl: Remove depends_on=PIDL_MISC as it sets -I/ into CFLAGS
       via  06eee7f build: Remove support for IDL-generated files in git tree
       via  2756c3c lib/replace: Return size of xattr if size argument is 0
      from  a7b8d02 source3.selftest: Move last variables to selftesthelpers.

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


- Log -----------------------------------------------------------------
commit aa411045a5ee52d440ccb259a37c6c7489099884
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sun Oct 28 19:57:58 2012 +1100

    pidl: Remove depends_on=PIDL_MISC as it sets -I/ into CFLAGS
    
    This in turn causes an include of <net/if.h> to hang on some systems, as
    /net/ means to run the automounter!
    
    Andrew Bartlett
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Mon Oct 29 01:23:39 CET 2012 on sn-devel-104

commit 06eee7f50b7022451dd9bac39b46e33cd434a186
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sun Oct 28 19:38:10 2012 +1100

    build: Remove support for IDL-generated files in git tree
    
    This was added in a9ea3d6fa510286b83c4bda42c9a857da3625451 but is no
    longer required, as we do not store IDL-generated files in GIT.
    
    Andrew Bartlett

commit 2756c3ce5c7d5d066dc76592dd1078a8594b983b
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Oct 27 19:15:58 2012 +1100

    lib/replace: Return size of xattr if size argument is 0
    
    This makes rep_{f,}getxattr a more complete replacement for the linux function.
    
    Andrew Bartlett

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

Summary of changes:
 buildtools/wafsamba/samba_pidl.py |   26 ++------------------------
 lib/replace/xattr.c               |   15 ++++++++++++---
 librpc/wscript_build              |    1 -
 3 files changed, 14 insertions(+), 28 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_pidl.py b/buildtools/wafsamba/samba_pidl.py
index ff13971..4056359 100644
--- a/buildtools/wafsamba/samba_pidl.py
+++ b/buildtools/wafsamba/samba_pidl.py
@@ -7,7 +7,6 @@ from samba_utils import *
 def SAMBA_PIDL(bld, pname, source,
                options='',
                output_dir='.',
-               symlink=False,
                generate_tables=True):
     '''Build a IDL file using pidl.
        This will produce up to 13 output files depending on the options used'''
@@ -91,27 +90,7 @@ def SAMBA_PIDL(bld, pname, source,
 
     t.env.PIDL = os.path.join(bld.srcnode.abspath(), 'pidl/pidl')
     t.env.OPTIONS = TO_LIST(options)
-
-    # this rather convoluted set of path calculations is to cope with the possibility
-    # that gen_ndr is a symlink into the source tree. By doing this for the source3
-    # gen_ndr directory we end up generating identical output in gen_ndr for the old
-    # build system and the new one. That makes keeping things in sync much easier.
-    # eventually we should drop the gen_ndr files in git, but in the meanwhile this works
-
-    found_dir = bld.path.find_dir(output_dir)
-    if not 'abspath' in dir(found_dir):
-        Logs.error('Unable to find pidl output directory %s' %
-                   os.path.normpath(os.path.join(bld.curdir, output_dir)))
-        sys.exit(1)
-
-    outdir = bld.path.find_dir(output_dir).abspath(t.env)
-
-    if symlink and not os.path.lexists(outdir):
-        link_source = os.path.normpath(os.path.join(bld.curdir,output_dir))
-        os.symlink(link_source, outdir)
-
-    real_outputdir = os.path.realpath(outdir)
-    t.env.OUTPUTDIR = os_path_relpath(real_outputdir, os.path.dirname(bld.env.BUILD_DIRECTORY))
+    t.env.OUTPUTDIR = bld.bldnode.name + '/' + bld.path.find_dir(output_dir).bldpath(t.env)
 
     if generate_tables and table_header_idx is not None:
         pidl_headers = LOCAL_CACHE(bld, 'PIDL_HEADERS')
@@ -124,11 +103,10 @@ Build.BuildContext.SAMBA_PIDL = SAMBA_PIDL
 def SAMBA_PIDL_LIST(bld, name, source,
                     options='',
                     output_dir='.',
-                    symlink=False,
                     generate_tables=True):
     '''A wrapper for building a set of IDL files'''
     for p in TO_LIST(source):
-        bld.SAMBA_PIDL(name, p, options=options, output_dir=output_dir, symlink=symlink, generate_tables=generate_tables)
+        bld.SAMBA_PIDL(name, p, options=options, output_dir=output_dir, generate_tables=generate_tables)
 Build.BuildContext.SAMBA_PIDL_LIST = SAMBA_PIDL_LIST
 
 
diff --git a/lib/replace/xattr.c b/lib/replace/xattr.c
index 8e1c989..a26ff67 100644
--- a/lib/replace/xattr.c
+++ b/lib/replace/xattr.c
@@ -71,7 +71,9 @@ ssize_t rep_getxattr (const char *path, const char *name, void *value, size_t si
 	 * that the buffer is large enough to fit the returned value.
 	 */
 	if((retval=extattr_get_file(path, attrnamespace, attrname, NULL, 0)) >= 0) {
-		if(retval > size) {
+		if (size == 0) {
+			return retval;
+		} else if (retval > size) {
 			errno = ERANGE;
 			return -1;
 		}
@@ -88,6 +90,9 @@ ssize_t rep_getxattr (const char *path, const char *name, void *value, size_t si
 	if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT;
 
 	retval = attr_get(path, attrname, (char *)value, &valuelength, flags);
+	if (size == 0 && retval == -1 && errno == E2BIG) {
+		return valuelength;
+	}
 
 	return retval ? retval : valuelength;
 #elif defined(HAVE_ATTROPEN)
@@ -126,7 +131,9 @@ ssize_t rep_fgetxattr (int filedes, const char *name, void *value, size_t size)
 	const char *attrname = ((s=strchr(name, '.')) == NULL) ? name : s + 1;
 
 	if((retval=extattr_get_fd(filedes, attrnamespace, attrname, NULL, 0)) >= 0) {
-		if(retval > size) {
+		if (size == 0) {
+			return retval;
+		} else if (retval > size) {
 			errno = ERANGE;
 			return -1;
 		}
@@ -143,7 +150,9 @@ ssize_t rep_fgetxattr (int filedes, const char *name, void *value, size_t size)
 	if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT;
 
 	retval = attr_getf(filedes, attrname, (char *)value, &valuelength, flags);
-
+	if (size == 0 && retval == -1 && errno == E2BIG) {
+		return valuelength;
+	}
 	return retval ? retval : valuelength;
 #elif defined(HAVE_ATTROPEN)
 	ssize_t ret = -1;
diff --git a/librpc/wscript_build b/librpc/wscript_build
index ee8483b..0eeb01b 100644
--- a/librpc/wscript_build
+++ b/librpc/wscript_build
@@ -632,7 +632,6 @@ bld.SAMBA_LIBRARY('ndr',
     public_deps='errors talloc samba-util',
     public_headers='gen_ndr/misc.h gen_ndr/ndr_misc.h ndr/libndr.h:ndr.h',
     header_path= [('*gen_ndr*', 'gen_ndr')],
-    depends_on='PIDL_MISC',
     vnum='0.0.1',
     abi_directory='ABI',
     abi_match='ndr_* GUID_*',


-- 
Samba Shared Repository


More information about the samba-cvs mailing list