number of years. Samba 4.21 and LDB 2.10 removes this unused and
broken feature.
+Some Samba public libraries made private by default
+---------------------------------------------------
+
+The following Samba C libraries are currently made public due to their
+use by OpenChange or for historical reasons that are no longer clear.
+
+ dcerpc-samr, samba-policy, tevent-util, dcerpc, samba-hostconfig,
+ samba-credentials, dcerpc_server, samdb
+
+The libraries used by the OpenChange client now private, but can be
+made public (like ldb above) with:
+
+ ./configure --private-libraries='!dcerpc,!samba-hostconfig,!samba-credentials,!ldb'
+
+The C libraries without any known user or used only for the OpenChange
+server (a dead project) may be made private entirely in a future Samba
+version.
+
+If you use a Samba library in this list, please be in touch with the
+samba-technical mailing list.
+
Using ldaps from 'winbindd' and 'net ads'
-----------------------------------------
samba_dist.DIST_DIRS('.')
samba_dist.DIST_BLACKLIST('.gitignore .bzrignore source4/selftest/provisions')
-DEFAULT_PRIVATE_LIBS = ["ldb"]
+# A function so the variables are not in global scope
+def get_default_private_libs():
+ # LDB is used by sssd (was made private by default in Samba 4.21)
+ SSSD_LIBS=["ldb"]
+ # These following libs without ABI checking were made private by default in Samba 4.21
+ # Presumably unused (dcerpc-samr was probably a copy and paste error,
+ # and samba-policy has primary use via python bindings). tevent-util
+ # was for openchange but was for PIDL output that is no longer
+ # generated
+ POSSIBLY_UNUSED_LIBS=["dcerpc-samr","samba-policy","tevent-util"]
+ # These were used by mapiproxy in OpenChange (also used LDB and
+ # the real public libs tdb, talloc, tevent)
+ OPENCHANGE_SERVER_LIBS = ["dcerpc_server","samdb"]
+ # These (plus LDB, ndr, talloc, tevent) are used by the OpenChange
+ # client, which is still in use (Fedora/Red Hat packages it)
+ OPENCHANGE_LIBS = ["dcerpc","samba-hostconfig","samba-credentials"]
+ return SSSD_LIBS + POSSIBLY_UNUSED_LIBS + OPENCHANGE_LIBS + OPENCHANGE_SERVER_LIBS
+
+DEFAULT_PRIVATE_LIBS = get_default_private_libs()
# install in /usr/local/samba by default
default_prefix = Options.default_prefix = '/usr/local/samba'