r955: Update debian package rules... builds now
authorJelmer Vernooij <jelmer@samba.org>
Mon, 31 May 2004 17:14:27 +0000 (17:14 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:56:22 +0000 (12:56 -0500)
(This used to be commit 3df8ff6cf111c6601554bffb411506bd43f726c7)

packaging/debian/rules
prog_guide.txt
source4/build/pidl/NOTES.txt [deleted file]
source4/build/pidl/pidl.pl
source4/lib/module.c
source4/lib/registry/TODO
source4/lib/registry/common/reg_interface.c
source4/lib/registry/config.m4
source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c

index c2c3dc14ceae00dcbe4787c6320b9cc697b8ddca..478d61d341f4d416f6af4bf6bcc4fdaa5eddd777 100755 (executable)
@@ -5,6 +5,7 @@
 
 
 SOURCEPATH=../source
 
 
 SOURCEPATH=../source
+DOCSPATH=../docs
 
 package=samba4
 
 
 package=samba4
 
@@ -24,18 +25,21 @@ configure:
                --with-syslog \
                --with-readline \
                --with-ldap 
                --with-syslog \
                --with-readline \
                --with-ldap 
-
+       cd $(DOCSPATH) && autoreconf
+       cd $(DOCSPATH) && ./configure
        touch configure
 
 build: configure
        $(checkdir)
        cd $(SOURCEPATH) && $(MAKE) proto all
        touch configure
 
 build: configure
        $(checkdir)
        cd $(SOURCEPATH) && $(MAKE) proto all
+       cd $(DOCSPATH) && $(MAKE) htmlman manpages
        touch build
 
 clean:
        $(checkdir)
        rm -f build
        -cd $(SOURCEPATH) && $(MAKE) clean
        touch build
 
 clean:
        $(checkdir)
        rm -f build
        -cd $(SOURCEPATH) && $(MAKE) clean
+       -cd $(DOCSPATH) && $(MAKE) clean
        rm -f `find . -name "*~"`
        rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
        rm -f debian/*substvars
        rm -f `find . -name "*~"`
        rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
        rm -f debian/*substvars
@@ -52,6 +56,10 @@ binary-arch: checkroot build
        install -d debian/tmp
        cd debian/tmp && install -d `cat ../dirs`
        cd $(SOURCEPATH) && $(MAKE) install DESTDIR=`pwd`/../packaging/debian/tmp
        install -d debian/tmp
        cd debian/tmp && install -d `cat ../dirs`
        cd $(SOURCEPATH) && $(MAKE) install DESTDIR=`pwd`/../packaging/debian/tmp
+       mkdir -p debian/tmp/usr/share/man/man1 
+       mkdir -p debian/tmp/usr/share/man/man7 
+       cp $(DOCSPATH)/output/manpages/*.1 debian/tmp/usr/share/man/man1
+       cp $(DOCSPATH)/output/manpages/*.7 debian/tmp/usr/share/man/man7
        debstd 
        dpkg-gencontrol -isp -psamba4
        chown -R root:root debian/tmp
        debstd 
        dpkg-gencontrol -isp -psamba4
        chown -R root:root debian/tmp
index e972d4482e70e6a6b45b572d9dc6f0538deb5286..3523edb4e7c82e03036301e3a8a74a571ad6c40f 100644 (file)
@@ -757,6 +757,3 @@ docs
 svn instructions
 
 test commit
 svn instructions
 
 test commit
-
-
-
diff --git a/source4/build/pidl/NOTES.txt b/source4/build/pidl/NOTES.txt
deleted file mode 100644 (file)
index 24e55db..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-midl types
-----------
-
-pidl uses slightly different types to midl by default. The following
-defines in your MS IDL may make things easier to use the same IDL on
-both platforms.
-
-#define unistr [string] wchar_t *
-#define uint8 char
-#define uint16 short
-#define uint32 long
-#define HYPER_T hyper
-
-
-Let's look at the mutliple ways you can encode an array.
-
-CONFORMANT ARRAYS
------------------
-
-A conformant array is one with that ends in [*] or []. The strange
-things about conformant arrays are:
-
- * they can only appear as the last element of a structure
-
- * the array size appears before the structure itself on the wire. 
-
-So, in this example:
-
-       typedef struct {
-               long abc;
-               long count;     
-               long foo;
-               [size_is(count)] long s[*];
-       } Struct1;
-
-it appears like this:
-
-[size_is] [abc] [count] [foo] [s...]
-
-the first [size_is] field is the allocation size of the array, and
-occurs before the array elements and even before the structure
-alignment.
-
-Note that size_is() can refer to a constant, but that doesn't change
-the wire representation. It does not make the array a fixed array.
-
-midl.exe would write the above array as the following C header:
-
-       typedef struct {
-               long abc;
-               long count;     
-               long foo;
-               long s[1];
-       } Struct1;
-
-pidl takes a different approach, and writes it like this:
-
-       typedef struct {
-               long abc;
-               long count;     
-               long foo;
-               long *s;
-       } Struct1;
-
-
-
-VARYING ARRAYS
---------------
-
-A varying array looks like this:
-
-       typedef struct {
-               long abc;
-               long count;     
-               long foo;
-               [size_is(count)] long *s;
-       } Struct1;
-
-This will look like this on the wire:
-
-[abc] [count] [foo] [PTR_s]    [count] [s...]
-
-
-FIXED ARRAYS
-------------
-
-A fixed array looks like this:
-
-    typedef struct {
-           long s[10];
-    } Struct1;
-
-The NDR representation looks just like 10 separate long
-declarations. The array size is not encoded on the wire.
-
-pidl also supports "inline" arrays, which are not part of the IDL/NDR
-standard. These are declared like this:
-
-    typedef struct {
-           uint32 foo;
-           uint32 count;
-           uint32 bar;
-           long s[count];
-    } Struct1;
-
-This appears like this:
-
-[foo] [count] [bar] [s...]
-
-Fixed arrays are an extension added to support some of the strange
-embedded structures in security descriptors and spoolss. 
-
-Supported MIDL-compatible properties (attributes is the MIDL term)
-------------------------------------
-in
-out
-ref
-public
-length_is
-switch_is
-size_is
-uuid
-case
-default
-string
-unique
-
-PIDL Specific properties 
----------------
-noprint
-value
-relative
-subcontext
-flag
-
-Unsupported MIDL properties
----------------------------
-aggregatable
-appobject
-async_uuid
-bindable
-call_as
-coclass
-control
-cpp_quote
-defaultbind
-defaultcollelem
-defaultvalue
-defaultvtable
-dispinterface
-displaybind
-dual
-entry
-first_is
-helpcontext
-helpfile
-helpstringcontext
-helpstringdll
-helpstring
-hidden
-idl_module
-idl_quote
-id
-iid_is
-immediatebind
-importlib
-import
-include
-includelib
-last_is
-lcid
-licensed
-local
-max_is
-module
-ms_union
-no_injected_text
-nonbrowsable
-noncreatable
-nonextensible
-object
-odl
-oleautomation
-optional
-pointer_default
-pragma
-progid
-propget
-propputref
-propput
-ptr
-range
-readonly
-requestedit
-restricted
-retval
-source
-switch_type
-transmit_as
-uidefault
-usesgetlasterror
-v1_enum
-vararg
-vi_progid
-wire_marshal
-
-[public] property
------------------
-
-The [public] property on a structure or union is a pidl extension that
-forces the generated pull/push functions to be non-static. This allows
-you to declare types that can be used between modules. If you don't
-specify [public] then pull/push functions for other than top-level
-functions are declared static.
-
-[relative] property
--------------------
-
-The [relative] property can be supplied on a pointer. When it is used
-it declares the pointer as a spoolss style "relative" pointer, which
-means it appears on the wire as an offset within the current
-encapsulating structure. This is not part of normal IDL/NDR, but it is
-a very useful extension as it avoids the manual encoding of many
-complex structures.
-
-
-[noprint] property
-------------------
-
-The [noprint] property is a pidl extension that allows you to specify
-that pidl should not generate a ndr_print_*() function for that
-structure or union. This is used when you wish to define your own
-print function that prints a structure in a nicer manner. A good
-example is the use of [noprint] on dom_sid, which allows the
-pretty-printing of SIDs.
-
-[value] property
-----------------
-
-The [value(expression)] property is a pidl extension that allows you
-to specify the value of a field when it is put on the wire. This
-allows fields that always have a well-known value to be automatically
-filled in, thus making the API more programmer friendly. The
-expression can be any C expression, although if you refer to variables
-in the current structure you will need to dereference them with
-r->. See samr_Name as a good example.
-
-
-[nodiscriminant] property
--------------------------
-
-The [nodiscriminant] property on a union means that the usual uint16
-discriminent field at the start of the union on the wire is
-omitted. This is not normally allowed in IDL/NDR, but is used for some
-spoolss structures.
-
-
-VALIDATOR
----------
-
-We need to write an IDL validator, so we know that we are writing
-valid IDL. Right now the compiler sails on regardless in many cases
-even if the IDL is invalid (for example, I don't check that conformant
-arrays are always the last element in any structure). There are dozens
-of rules that should be checked.
index b3dc7c1b38de613de6045f343ad7a1e564575072..1c122932ba48c94a6a72c6cd64f499c466790af8 100755 (executable)
@@ -65,7 +65,7 @@ sub ShowHelp()
              --dump                dump a pidl file back to idl
              --header              create a C header file
              --parser              create a C parser
              --dump                dump a pidl file back to idl
              --header              create a C header file
              --parser              create a C parser
-             --server              create server boilterplate
+             --server              create server boilerplate
              --template            print a template for a pipe
              --eparser             create an ethereal parser
              --diff                run diff on the idl and dumped output
              --template            print a template for a pipe
              --eparser             create an ethereal parser
              --diff                run diff on the idl and dumped output
index 15f92db59e06d2be6945e6925ae19ff3b4ff9523..f03e19d92482c09fc94c8985fdc2fc1fd428a906 100644 (file)
@@ -2,7 +2,7 @@
    Unix SMB/CIFS implementation.
    module loading system
 
    Unix SMB/CIFS implementation.
    module loading system
 
-   Copyright (C) Jelmer Vernooij 2002-2003
+   Copyright (C) Jelmer Vernooij 2002-2004
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -133,7 +133,7 @@ NTSTATUS register_subsystem(const char *name, register_backend_function callback
        while(t) {
                if(!strcmp(name, t->name)) {
                        /* its already registered! */
        while(t) {
                if(!strcmp(name, t->name)) {
                        /* its already registered! */
-                       DEBUG(0,("SUBSYSTEM '%s' for type already registered\n", name));
+                       DEBUG(0,("Subsystem '%s' already registered\n", name));
                        return NT_STATUS_OBJECT_NAME_COLLISION;
                }
                t = t->next;
                        return NT_STATUS_OBJECT_NAME_COLLISION;
                }
                t = t->next;
index 9b0dbe4c717906bec9f45a4fcdf25059a8f4b3a9..695f786b69d85c9dd1fad5312879f8716afcdb63 100644 (file)
@@ -24,6 +24,9 @@ reg_backend_wine.c:
 
 regshell:
  - support for security descriptors
 
 regshell:
  - support for security descriptors
+
+ regdiff:
+  - fix
  
 gregedit.c:
  - support for editing values / adding values / deleting values
  
 gregedit.c:
  - support for editing values / adding values / deleting values
index 6d305e61bf7cd2ac35125c5b9371dd3d8baa9db2..6ad7ee69cb618fe5b5ea515b0bff9139760ac1e5 100644 (file)
@@ -64,8 +64,12 @@ static struct reg_init_function_entry *reg_find_backend_entry(const char *name)
 
        if(reg_first_init) {
                status = register_subsystem("registry", registry_register);
 
        if(reg_first_init) {
                status = register_subsystem("registry", registry_register);
-               if (!NT_STATUS_IS_OK(status)) 
+               if (NT_STATUS_IS_ERR(status)) {
+                       DEBUG(0, ("Error registering registry subsystem: %s\n", nt_errstr(status)));
+                       /* Don't try the initialisation again */
+                       reg_first_init = False;
                        return NULL;
                        return NULL;
+               }
 
                static_init_registry;
                reg_first_init = False;
 
                static_init_registry;
                reg_first_init = False;
@@ -83,7 +87,7 @@ static struct reg_init_function_entry *reg_find_backend_entry(const char *name)
 
 BOOL reg_has_backend(const char *backend)
 {
 
 BOOL reg_has_backend(const char *backend)
 {
-       return reg_find_backend_entry(backend)?True:False;
+       return reg_find_backend_entry(backend) != NULL?True:False;
 }
 
 /* Open a registry file/host/etc */
 }
 
 /* Open a registry file/host/etc */
index 331b9c2df1e94522c004a705c81002fbd90d7895..a1dc9a45bc7184f28c33d039964277ae40470e94 100644 (file)
@@ -27,7 +27,7 @@ SMB_MODULE_MK(registry_w95, REGISTRY, STATIC, lib/registry/config.mk)
 SMB_MODULE_MK(registry_dir, REGISTRY, STATIC, lib/registry/config.mk)
 SMB_MODULE_MK(registry_rpc, REGISTRY, STATIC, lib/registry/config.mk)
 SMB_MODULE_MK(registry_gconf, REGISTRY, STATIC, lib/registry/config.mk)
 SMB_MODULE_MK(registry_dir, REGISTRY, STATIC, lib/registry/config.mk)
 SMB_MODULE_MK(registry_rpc, REGISTRY, STATIC, lib/registry/config.mk)
 SMB_MODULE_MK(registry_gconf, REGISTRY, STATIC, lib/registry/config.mk)
-SMB_MODULE_MK(registry_ldb, REGISTRY, NOT, lib/registry/config.mk)
+SMB_MODULE_MK(registry_ldb, REGISTRY, STATIC, lib/registry/config.mk)
 
 SMB_SUBSYSTEM_MK(REGISTRY,lib/registry/config.mk)
 
 
 SMB_SUBSYSTEM_MK(REGISTRY,lib/registry/config.mk)
 
index 498dc6991b71ba3a1854322eedbf89fadd15a852..7b574069e96d75de942f0c910efbdfeaa4aed06f 100644 (file)
@@ -39,6 +39,7 @@ static char *reg_path_to_ldb(TALLOC_CTX *mem_ctx, const char *path)
        }
 
        ret[strlen(ret)-1] = ')';
        }
 
        ret[strlen(ret)-1] = ')';
+       printf("Doing search for : %s\n", ret);
        return ret;
 }
 
        return ret;
 }
 
@@ -85,9 +86,12 @@ static WERROR ldb_fetch_subkeys(REG_KEY *k, int *count, REG_KEY ***subkeys)
        return WERR_OK;
 }
 
        return WERR_OK;
 }
 
+static WERROR ldb_get_hive(REG_HANDLE *h, int num, REG_KEY **key)
+{
+       /* FIXME */     
+}
 
 
-
-static WERROR ldb_open_key(REG_HANDLE *h, const char *name, REG_KEY **key)
+static WERROR ldb_open_key(REG_HANDLE *h, int num, const char *name, REG_KEY **key)
 {
        struct ldb_context *c = h->backend_data;
        char *path;
 {
        struct ldb_context *c = h->backend_data;
        char *path;