samba: add optional glusterfs vfs module and ctdb

Also remove a few more private libraries that can be built in.

Co-authored-by: andry-dev <andry-dev@users.noreply.github.com>
Co-authored-by: Andrew J. Hesford <ajh@sideband.org>

Closes: #27300 [via git-merge-pr]
This commit is contained in:
andry-dev 2020-12-20 12:31:09 -05:00 committed by Andrew J. Hesford
parent 304f9485e6
commit da2cea569c
7 changed files with 90 additions and 37 deletions

View file

@ -3997,55 +3997,46 @@ libevemu.so.3 evemu-2.7.0_1
libantilib.so.1 libantimicrox-3.1.2_1
libinih.so.0 inih-52_1
libpcaudio.so.0 pcaudiolib-1.1_1
libauth-unix-token-samba4.so samba-4.13.2_1
libauth4-samba4.so samba-4.13.2_1
libdcerpc-samba4.so samba-4.13.2_1
libdcerpc-samr.so.0 samba-4.13.2_1
libdcerpc-server-core.so.0 samba-4.13.2_1
libdsdb-module-samba4.so samba-4.13.2_1
libgpext-samba4.so samba-4.13.2_1
libnet-keytab-samba4.so samba-4.13.2_1
libnetapi.so.0 samba-4.13.2_1
libnss_winbind.so.2 samba-4.13.2_1
libnss_wins.so.2 samba-4.13.2_1
libsamba-policy.so.0 samba-4.13.2_1
libauth-unix-token-samba4.so samba-4.13.2_1
libdcerpc-samba4.so samba-4.13.2_1
libdsdb-module-samba4.so samba-4.13.2_1
libgpext-samba4.so samba-4.13.2_1
libposix-eadb-samba4.so samba-4.13.2_1
libprinting-migrate-samba4.so samba-4.13.2_1
libsamba-net-samba4.so samba-4.13.2_1
libsamba-policy.so.0 samba-4.13.2_1
libsamba-python-samba4.so samba-4.13.2_1
libshares-samba4.so samba-4.13.2_1
libsmbd-base-samba4.so samba-4.13.2_1
libsmbd-conn-samba4.so samba-4.13.2_1
libsmbpasswdparser-samba4.so samba-4.13.2_1
libxattr-tdb-samba4.so samba-4.13.2_1
libcli-ldap-samba4.so samba-libs-4.13.2_1
libcliauth-samba4.so samba-libs-4.13.2_1
libcluster-samba4.so samba-libs-4.13.2_1
libcommon-auth-samba4.so samba-libs-4.13.2_1
libdcerpc.so.0 samba-libs-4.13.2_1
libdcerpc-binding.so.0 samba-libs-4.13.2_1
libdcerpc-samba-samba4.so samba-libs-4.13.2_1
libflag-mapping-samba4.so samba-libs-4.13.2_1
libgpo-samba4.so samba-libs-4.13.2_1
libiov-buf-samba4.so samba-libs-4.13.2_1
libndr-krb5pac.so.0 samba-libs-4.13.2_1
libndr-nbt.so.0 samba-libs-4.13.2_1
libndr-samba-samba4.so samba-libs-4.13.2_1
libndr-samba4.so samba-libs-4.13.2_1
libndr-standard.so.0 samba-libs-4.13.2_1
libndr.so.1 samba-libs-4.13.2_1
libprinter-driver-samba4.so samba-libs-4.13.2_1
libsamba-credentials.so.0 samba-libs-4.13.2_1
libsamba-errors.so.1 samba-libs-4.13.2_1
libsamba-hostconfig.so.0 samba-libs-4.13.2_1
libsamba-passdb.so.0 samba-libs-4.13.2_1
libsamba-util.so.0 samba-libs-4.13.2_1
libsamdb.so.0 samba-libs-4.13.2_1
libsmb-transport-samba4.so samba-libs-4.13.2_1
libsmbclient.so.0 samba-libs-4.13.2_1
libsmbconf.so.0 samba-libs-4.13.2_1
libsmbldap.so.2 samba-libs-4.13.2_1
libtdb-wrap-samba4.so samba-libs-4.13.2_1
libutil-cmdline-samba4.so samba-libs-4.13.2_1
libwbclient.so.0 samba-libs-4.13.2_1
libcli-ldap-samba4.so samba-libs-4.13.2_1
libcliauth-samba4.so samba-libs-4.13.2_1
libcommon-auth-samba4.so samba-libs-4.13.2_1
libdcerpc-samba-samba4.so samba-libs-4.13.2_1
libgpo-samba4.so samba-libs-4.13.2_1
libndr-samba-samba4.so samba-libs-4.13.2_1
libndr-samba4.so samba-libs-4.13.2_1
libsmb-transport-samba4.so samba-libs-4.13.2_1
libutil-cmdline-samba4.so samba-libs-4.13.2_1
libwinbind-client-samba4.so samba-libs-4.13.2_1

1
srcpkgs/samba-ctdb Symbolic link
View file

@ -0,0 +1 @@
samba

1
srcpkgs/samba-glusterfs Symbolic link
View file

@ -0,0 +1 @@
samba

View file

@ -0,0 +1,2 @@
#!/bin/sh
exec logger -p daemon.notice -t ctdbd

View file

@ -0,0 +1,2 @@
#!/bin/sh
exec ctdbd -i

View file

@ -36,3 +36,17 @@ index 2cd6122..0c84ec2 100644
#include "torture/torture.h"
#include "torture/local/proto.h"
diff --git ctdb/tests/src/protocol_util_test.c ctdb/tests/src/protocol_util_test.c
index edd2a34..48ce96e 100644
--- ctdb/tests/src/protocol_util_test.c
+++ ctdb/tests/src/protocol_util_test.c
@@ -20,6 +20,7 @@
#include "replace.h"
#include "system/network.h"
+#include <unistd.h>
#include <assert.h>
#include "protocol/protocol_basic.c"

View file

@ -1,7 +1,7 @@
# Template file for 'samba'
pkgname=samba
version=4.13.2
revision=1
revision=2
build_style=waf3
build_helper="qemu"
configure_script="buildtools/bin/waf"
@ -13,7 +13,7 @@ configure_args="--enable-fhs --sbindir=/usr/bin --localstatedir=/var
--with-privatedir=/etc/samba/private --with-pammodulesdir=/usr/lib/security
--with-modulesdir=/usr/lib/samba --disable-rpath --disable-rpath-install
--without-systemd --without-gettext --bundled-libraries=NONE
--with-system-mitkrb5 --without-ad-dc
--with-system-mitkrb5 --without-ad-dc --with-cluster-support
--with-shared-modules=${_idmap_modules},${_pdb_modules},${_auth_modules}"
hostmakedepends="pkg-config perl-Parse-Yapp rpcsvc-proto docbook2x
libtasn1-tools tdb-python3 tevent-python3 talloc-python3"
@ -30,9 +30,13 @@ checksum=276464396a05d88b775bda01ac2eb1e5a636ccf7010b0fd28efc3d85583af2b4
lib32disabled=yes
conf_files="/etc/pam.d/samba /etc/samba/smb.conf"
make_dirs="/etc/samba/private 0750 root root"
subpackages="smbclient samba-ctdb samba-libs samba-devel samba-python3"
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
makedepends+=" musl-legacy-compat"
else
makedepends+=" glusterfs-devel"
subpackages+=" samba-glusterfs"
fi
# By default, samba wants to install a bunch of private "*-samba4.so" shared
@ -41,16 +45,16 @@ fi
# that shouldn't be exposed locally. For those that cannot be built in, make
# sure to install them into /usr/lib so xbps-src picks them up.
_privlibs="CHARSET3 MESSAGING_SEND MESSAGING LIBWBCLIENT_OLD addns ads \
asn1util auth authkrb5 cmdline_contexts cmdline-credentials cli_cldap \
cli-ldap-common cli-nbt cli_smb_common cli_spoolss clidns common-auth dbwrap \
events flag-mapping genrand gensec gse http interfaces iov-buf krb5samba \
asn1util auth auth4 authkrb5 cmdline_contexts cmdline-credentials cli_cldap \
cli-ldap-common cli-nbt cli_smb_common cli_spoolss clidns cluster common-auth \
dbwrap events flag_mapping genrand gensec gse http interfaces iov_buf krb5samba \
ldbsamba libcli_lsa3 libcli_netlogon3 libsmb messages_dgm messages_util mscat \
msghdr msrpc3 netif npa_tstream popt_samba3 popt_samba3_cmdline \
printer-driver registry replace samba-cluster-support samba-debug \
msghdr msrpc3 netif net_keytab npa_tstream popt_samba3 popt_samba3_cmdline \
printer_driver registry replace samba-cluster-support samba-debug \
samba-modules samba-security samba-sockets samba3-util samdb-common secrets3 \
server_id_db server-role smbclient-raw smbd_shim socket-blocking \
sys_rw talloc_report_printf talloc_report tdb_wrap time-basic trusts_util \
util_reg util_setid util_tdb tevent-util"
server_id_db server-role samba_python smbclient-raw smbd_shim smbpasswdparser \
socket-blocking sys_rw talloc_report_printf talloc_report tdb-wrap tevent-util \
time-basic torture trusts_util util_reg util_setid util_tdb ctdb-event-client"
configure_args+=" --with-privatelibdir=/usr/lib --builtin-libraries=${_privlibs// /,}"
export PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config"
@ -84,6 +88,12 @@ post_install() {
# Link cups backend
vmkdir usr/lib/cups/backend
ln -fs /usr/bin/smbspool ${DESTDIR}/usr/lib/cups/backend/smb
# Do not ship sudo rule that grants nopasswd privileges by default
rm -rf ${DESTDIR}/etc/sudoers.d
# Do not ship no-op sysvinit scripts
rm -rf ${DESTDIR}/etc/init.d
}
smbclient_package() {
@ -125,6 +135,30 @@ smbclient_package() {
}
}
samba-ctdb_package() {
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" - Clustered TDB support"
pkg_install() {
local _f
vmove "usr/bin/ctdb*"
for _f in man{1,5,7}; do
vmove "usr/share/man/${_f}/ctdb*"
done
for _f in ltdbtool onnode ping_pong; do
vmove "usr/bin/${_f}"
vmove "usr/share/man/man1/${_f}.1"
done
vmove usr/libexec/ctdb
vmove usr/share/ctdb
vmove etc/ctdb
vsv ctdbd
}
}
samba-libs_package() {
short_desc+=" - core libraries"
provides="libsmbclient-${version}_${revision}"
@ -134,9 +168,8 @@ samba-libs_package() {
_libs="dcerpc dcerpc-binding ndr-krb5pac ndr-nbt ndr-standard ndr
samba-credentials samba-errors samba-hostconfig samba-passdb
samba-util samdb smbclient smbconf smbldap wbclient"
_privlibs="cli-ldap cliauth cluster common-auth dcerpc-samba
flag-mapping gpo iov-buf ndr-samba ndr printer-driver
smb-transport tdb-wrap util-cmdline winbind-client"
_privlibs="cli-ldap cliauth common-auth dcerpc-samba gpo
ndr-samba ndr smb-transport util-cmdline winbind-client"
for _lib in ${_libs}; do
vmove "usr/lib/lib${_lib}.so.*"
@ -151,7 +184,8 @@ samba-libs_package() {
}
samba-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"
depends="samba-libs>=${version}_${revision}
${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
@ -173,3 +207,11 @@ samba-python3_package() {
vmove ${py3_lib}
}
}
samba-glusterfs_package() {
short_desc+=" - GlusterFS VFS module"
pkg_install() {
vmove usr/lib/samba/vfs/glusterfs.so
vmove usr/share/man/man8/vfs_glusterfs.8
}
}