removing gen_ndr/*.* from the master git tree

tridge at tridge at
Wed Apr 28 17:38:43 MDT 2010

Having all the gen_ndr/ files in git master is a real pain. I'd like
to propose that we remove them and instead do one of the following:

 1) we could put them only in the tarball for Samba3 releases

 2) we could have them only in the s3 release branches

In either case it would be the Samba3 release managers job to make
sure they were in the release. Karolin, would you be happy to do that
as part of the Samba3 release process?

This would mean that developers building Samba3 from git master would
need to have perl installed. I don't think that would be a real
problem, but please let me know if you do s3 development from git
master on a platform that doesn't have perl.

Removing the gen_ndr/ files from master gains us the following:

 1) it gets us much closer to a full out of tree build with waf. Right
 now we play games with a symlink:
    bin/default/librpc_gen_ndr => librpc/gen_ndr
 which is quite horrible, and not something I'd like to use long
 term. It is needed because waf really wants to put all build files in
 the build directory, so we need a symlink to trick it into thinking
 the files are build files.

 This trick means that "waf clean" removes the generated files. At
 some point I'm betting someone will accidentially do a commit after a
 clean, and remove the gen_ndr files. It is an accident waiting to

 We got a problem with the generated rap headers today because of this
 trickiness. A rm -rf bin clears the problem, but it's not something I
 think we should keep up forever.

 2) it means that a large part of our git history is taken up with
 generated files. Our git repo would be much smaller if we didn't keep
 re-generating these any time someone changed pidl

Cheers, Tridge

More information about the samba-technical mailing list