net-fs/samba: bundle ctdb
authorIan Stakenvicius <axs@gentoo.org>
Wed, 27 Jan 2016 22:22:43 +0000 (17:22 -0500)
committerIan Stakenvicius <axs@gentoo.org>
Wed, 27 Jan 2016 23:04:59 +0000 (18:04 -0500)
Samba is the only consumer of dev-db/ctdb, and samba-4.2 and above has dropped support
for building against an external ctdb.  This commit builds and installs ctdb bundled
within samba instead, and soft-blocks the external package to avoid collisions.

Bug: https://bugs.gentoo.org/show_bug.cgi?id=561402

Package-Manager: portage-2.2.26

net-fs/samba/samba-4.2.7-r2.ebuild [moved from net-fs/samba/samba-4.2.7-r1.ebuild with 94% similarity]
net-fs/samba/samba-4.3.3-r1.ebuild
net-fs/samba/samba-4.3.4-r1.ebuild [moved from net-fs/samba/samba-4.3.4.ebuild with 93% similarity]

similarity index 94%
rename from net-fs/samba/samba-4.2.7-r1.ebuild
rename to net-fs/samba/samba-4.2.7-r2.ebuild
index 4530accb0a6bdf1ff2ced97b4e09a410566b6c0c..8ea672219c7c42ca4898edd60e1d979e0ae211cb 100644 (file)
@@ -31,6 +31,12 @@ ldap pam quota selinux syslog +system-mitkrb5 systemd test winbind"
 MULTILIB_WRAPPED_HEADERS=(
        /usr/include/samba-4.0/policy.h
        /usr/include/samba-4.0/dcerpc_server.h
+       /usr/include/samba-4.0/ctdb.h
+       /usr/include/samba-4.0/ctdb_client.h
+       /usr/include/samba-4.0/ctdb_protocol.h
+       /usr/include/samba-4.0/ctdb_private.h
+       /usr/include/samba-4.0/ctdb_typesafe_cb.h
+       /usr/include/samba-4.0/ctdb_version.h
 )
 
 # sys-apps/attr is an automagic dependency (see bug #489748)
@@ -58,7 +64,7 @@ CDEPEND="${PYTHON_DEPS}
        acl? ( virtual/acl )
        addns? ( net-dns/bind-tools[gssapi] )
        aio? ( dev-libs/libaio )
-       cluster? ( >=dev-db/ctdb-1.0.114_p1 )
+       cluster? ( !dev-db/ctdb )
        cups? ( net-print/cups )
        dmapi? ( sys-apps/dmapi )
        fam? ( virtual/fam )
@@ -90,6 +96,8 @@ CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
 
 WAF_BINARY="${S}/buildtools/bin/waf"
 
+SHAREDMODS=""
+
 pkg_setup() {
        python-single-r1_pkg_setup
        if use aio ; then
@@ -104,6 +112,9 @@ pkg_setup() {
                        ewarn "and recompile your kernel..."
                fi
        fi
+       if use cluster ; then
+               SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_tdb2,idmap_ad"
+       fi
 }
 
 src_prepare() {
@@ -142,7 +153,6 @@ multilib_src_configure() {
                        $(use_with ads)
                        $(usex ads '--with-shared-modules=idmap_ad' '')
                        $(use_with aio aio-support)
-                       $(usex cluster '--with-ctdb-dir=/usr' '')
                        $(use_enable avahi)
                        $(use_with cluster cluster-support)
                        $(use_enable cups)
@@ -160,6 +170,7 @@ multilib_src_configure() {
                        $(usex system-mitkrb5 '--with-system-mitkrb5' '')
                        $(use_with winbind)
                        $(usex test '--enable-selftest' '')
+                       --with-shared-modules=${SHAREDMODS}
                )
        else
                myconf+=(
index bb4da0b936174467d20b1158a22f7a0b26678047..17a891147eec0f3184f5141ea88eadba6b389a0f 100644 (file)
@@ -30,6 +30,13 @@ ldap pam quota selinux syslog +system-mitkrb5 systemd test winbind"
 
 MULTILIB_WRAPPED_HEADERS=(
        /usr/include/samba-4.0/policy.h
+       /usr/include/samba-4.0/dcerpc_server.h
+       /usr/include/samba-4.0/ctdb.h
+       /usr/include/samba-4.0/ctdb_client.h
+       /usr/include/samba-4.0/ctdb_protocol.h
+       /usr/include/samba-4.0/ctdb_private.h
+       /usr/include/samba-4.0/ctdb_typesafe_cb.h
+       /usr/include/samba-4.0/ctdb_version.h
 )
 
 # sys-apps/attr is an automagic dependency (see bug #489748)
@@ -56,7 +63,7 @@ CDEPEND="${PYTHON_DEPS}
        acl? ( virtual/acl )
        addns? ( net-dns/bind-tools[gssapi] )
        aio? ( dev-libs/libaio )
-       cluster? ( >=dev-db/ctdb-1.0.114_p1 )
+       cluster? ( !dev-db/ctdb )
        cups? ( net-print/cups )
        dmapi? ( sys-apps/dmapi )
        fam? ( virtual/fam )
@@ -88,6 +95,8 @@ CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
 
 WAF_BINARY="${S}/buildtools/bin/waf"
 
+SHAREDMODS=""
+
 pkg_setup() {
        python-single-r1_pkg_setup
        if use aio ; then
@@ -102,6 +111,9 @@ pkg_setup() {
                        ewarn "and recompile your kernel..."
                fi
        fi
+       if use cluster ; then
+               SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_tdb2,idmap_ad"
+       fi
 }
 
 src_prepare() {
@@ -140,7 +152,6 @@ multilib_src_configure() {
                        $(use_with ads)
                        $(usex ads '--with-shared-modules=idmap_ad' '')
                        $(use_with aio aio-support)
-                       $(usex cluster '--with-ctdb-dir=/usr' '')
                        $(use_enable avahi)
                        $(use_with cluster cluster-support)
                        $(use_enable cups)
@@ -158,6 +169,7 @@ multilib_src_configure() {
                        $(usex system-mitkrb5 '--with-system-mitkrb5' '')
                        $(use_with winbind)
                        $(usex test '--enable-selftest' '')
+                       --with-shared-modules=${SHAREDMODS}
                )
        else
                myconf+=(
similarity index 93%
rename from net-fs/samba/samba-4.3.4.ebuild
rename to net-fs/samba/samba-4.3.4-r1.ebuild
index 45798e971d6d4a9742df78cec81dd9dea1295203..cf4f9af611d336237074fdb159e5b114f2a04a0c 100644 (file)
@@ -31,6 +31,12 @@ ldap pam quota selinux syslog +system-mitkrb5 systemd test winbind"
 MULTILIB_WRAPPED_HEADERS=(
        /usr/include/samba-4.0/policy.h
        /usr/include/samba-4.0/dcerpc_server.h
+       /usr/include/samba-4.0/ctdb.h
+       /usr/include/samba-4.0/ctdb_client.h
+       /usr/include/samba-4.0/ctdb_protocol.h
+       /usr/include/samba-4.0/ctdb_private.h
+       /usr/include/samba-4.0/ctdb_typesafe_cb.h
+       /usr/include/samba-4.0/ctdb_version.h
 )
 
 # sys-apps/attr is an automagic dependency (see bug #489748)
@@ -41,7 +47,7 @@ CDEPEND="${PYTHON_DEPS}
        dev-libs/popt[${MULTILIB_USEDEP}]
        sys-libs/readline:=
        virtual/libiconv
-       dev-python/subunit[${PYTHON_USEDEP}]
+       dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
        >=net-libs/socket_wrapper-1.1.3[${MULTILIB_USEDEP}]
        sys-apps/attr[${MULTILIB_USEDEP}]
        sys-libs/libcap
@@ -57,7 +63,7 @@ CDEPEND="${PYTHON_DEPS}
        acl? ( virtual/acl )
        addns? ( net-dns/bind-tools[gssapi] )
        aio? ( dev-libs/libaio )
-       cluster? ( >=dev-db/ctdb-1.0.114_p1 )
+       cluster? ( !dev-db/ctdb )
        cups? ( net-print/cups )
        dmapi? ( sys-apps/dmapi )
        fam? ( virtual/fam )
@@ -89,6 +95,8 @@ CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
 
 WAF_BINARY="${S}/buildtools/bin/waf"
 
+SHAREDMODS=""
+
 pkg_setup() {
        python-single-r1_pkg_setup
        if use aio ; then
@@ -103,6 +111,9 @@ pkg_setup() {
                        ewarn "and recompile your kernel..."
                fi
        fi
+       if use cluster ; then
+               SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_tdb2,idmap_ad"
+       fi
 }
 
 src_prepare() {
@@ -141,7 +152,6 @@ multilib_src_configure() {
                        $(use_with ads)
                        $(usex ads '--with-shared-modules=idmap_ad' '')
                        $(use_with aio aio-support)
-                       $(usex cluster '--with-ctdb-dir=/usr' '')
                        $(use_enable avahi)
                        $(use_with cluster cluster-support)
                        $(use_enable cups)
@@ -159,6 +169,7 @@ multilib_src_configure() {
                        $(usex system-mitkrb5 '--with-system-mitkrb5' '')
                        $(use_with winbind)
                        $(usex test '--enable-selftest' '')
+                       --with-shared-modules=${SHAREDMODS}
                )
        else
                myconf+=(