151 lines
5.5 KiB
Bash
151 lines
5.5 KiB
Bash
TERMUX_PKG_HOMEPAGE=https://www.samba.org/
|
|
TERMUX_PKG_DESCRIPTION="SMB/CIFS fileserver"
|
|
TERMUX_PKG_LICENSE="GPL-3.0"
|
|
TERMUX_PKG_MAINTAINER="@termux"
|
|
TERMUX_PKG_VERSION=4.14.13
|
|
TERMUX_PKG_REVISION=1
|
|
TERMUX_PKG_SRCURL=https://download.samba.org/pub/samba/samba-${TERMUX_PKG_VERSION}.tar.gz
|
|
TERMUX_PKG_SHA256=e1df792818a17d8d21faf33580d32939214694c92b84fb499464210d86a7ff75
|
|
TERMUX_PKG_DEPENDS="libbsd, libcap, libcrypt, libgnutls, libiconv, libicu, libpopt, libtalloc, libtirpc, ncurses, openssl, readline, zlib"
|
|
TERMUX_PKG_BUILD_DEPENDS="e2fsprogs"
|
|
TERMUX_PKG_BUILD_IN_SRC=true
|
|
|
|
termux_step_configure() {
|
|
:
|
|
}
|
|
|
|
termux_step_make() {
|
|
:
|
|
}
|
|
|
|
termux_step_make_install() {
|
|
local _auth_modules='auth_server,auth_netlogond,auth_script'
|
|
local _pdb_modules='pdb_tdbsam,pdb_smbpasswd,pdb_wbc_sam'
|
|
local _vfs_modules='vfs_fake_perms,!vfs_recycle,!vfs_btrfs,!vfs_glusterfs_fuse'
|
|
_vfs_modules+=',!vfs_virusfilter,!vfs_linux_xfs_sgid,!vfs_shell_snap,!vfs_expand_msdfs,!vfs_snapper'
|
|
_vfs_modules+=',!vfs_default_quota,!vfs_audit,!vfs_extd_audit,!vfs_full_audit'
|
|
_vfs_modules+=',!vfs_worm,!vfs_time_audit,!vfs_media_harmony,!vfs_unityed_media,!vfs_shadow_copy,!vfs_shadow_copy2'
|
|
|
|
cd "$TERMUX_PKG_SRCDIR"
|
|
|
|
cat <<EOF > cross-answers.txt
|
|
Checking uname sysname type: "Linux"
|
|
Checking uname machine type: "$TERMUX_ARCH"
|
|
Checking uname release type: "dontcare"
|
|
Checking uname version type: "dontcare"
|
|
Checking simple C program: "hello world"
|
|
rpath library support: OK
|
|
-Wl,--version-script support: NO
|
|
Checking getconf LFS_CFLAGS: NO
|
|
Checking for large file support without additional flags: OK
|
|
Checking for -D_FILE_OFFSET_BITS=64: OK
|
|
Checking for -D_LARGE_FILES: OK
|
|
Checking correct behavior of strtoll: NO
|
|
Checking for working strptime: NO
|
|
Checking for C99 vsnprintf: OK
|
|
Checking for HAVE_SHARED_MMAP: OK
|
|
Checking for HAVE_MREMAP: OK
|
|
Checking for HAVE_INCOHERENT_MMAP: NO
|
|
Checking for HAVE_SECURE_MKSTEMP: OK
|
|
Checking value of NSIG: "65"
|
|
Checking value of _NSIG: "65"
|
|
Checking value of SIGRTMAX: "64"
|
|
Checking value of SIGRTMIN: "36"
|
|
Checking for a 64-bit host to support lmdb: OK
|
|
Checking value of GNUTLS_CIPHER_AES_128_CFB8: "29"
|
|
Checking value of GNUTLS_MAC_AES_CMAC_128: "203"
|
|
Checking errno of iconv for illegal multibyte sequence: OK
|
|
Checking for kernel change notify support: OK
|
|
Checking for Linux kernel oplocks: OK
|
|
Checking for kernel share modes: OK
|
|
Checking whether POSIX capabilities are available: OK
|
|
Checking if can we convert from CP850 to UCS-2LE: OK
|
|
Checking if can we convert from UTF-8 to UCS-2LE: OK
|
|
vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
|
|
Checking whether we can use Linux thread-specific credentials: NO
|
|
Checking whether setreuid is available: NO
|
|
Checking whether setresuid is available: NO
|
|
Checking whether seteuid is available: NO
|
|
Checking whether setuidx is available: NO
|
|
Checking whether fcntl locking is available: OK
|
|
Checking whether fcntl lock supports open file description locks: OK
|
|
Checking whether fcntl supports flags to send direct I/O availability signals: OK
|
|
Checking whether fcntl supports setting/geting hints: NO
|
|
Checking for the maximum value of the 'time_t' type: NO
|
|
Checking whether the realpath function allows a NULL argument: OK
|
|
Checking for ftruncate extend: OK
|
|
getcwd takes a NULL argument: OK
|
|
Checking for readlink breakage: NO
|
|
EOF
|
|
|
|
USING_SYSTEM_ASN1_COMPILE=1 ASN1_COMPILE=/usr/bin/asn1_compile \
|
|
USING_SYSTEM_COMPILE_ET=1 COMPILE_ET=/usr/bin/compile_et \
|
|
CFLAGS="-D__ANDROID_API__=24 -D__USE_FILE_OFFSET64=1" \
|
|
./buildtools/bin/waf configure \
|
|
--jobs="$TERMUX_MAKE_PROCESSES" \
|
|
--bundled-libraries='!asn1_compile,!compile_et' \
|
|
--cross-compile \
|
|
--cross-answers=cross-answers.txt \
|
|
--enable-fhs \
|
|
--prefix="$TERMUX_PREFIX" \
|
|
--sysconfdir="$TERMUX_PREFIX/etc" \
|
|
--localstatedir="$TERMUX_PREFIX/var" \
|
|
--sbindir="$TERMUX_PREFIX/bin" \
|
|
--disable-avahi \
|
|
--disable-cephfs \
|
|
--disable-cups \
|
|
--disable-glusterfs \
|
|
--disable-iprint \
|
|
--disable-python \
|
|
--nopyc \
|
|
--nopyo \
|
|
--disable-rpath \
|
|
--disable-rpath-install \
|
|
--disable-spotlight \
|
|
--without-acl-support \
|
|
--without-ad-dc \
|
|
--without-ads \
|
|
--without-automount \
|
|
--without-dmapi \
|
|
--without-dnsupdate \
|
|
--without-fam \
|
|
--without-gettext \
|
|
--with-gpfs=/dev/null \
|
|
--without-gpgme \
|
|
--without-json \
|
|
--without-ldap \
|
|
--without-ldb-lmdb \
|
|
--without-libarchive \
|
|
--without-lttng \
|
|
--without-ntvfs-fileserver \
|
|
--without-pam \
|
|
--without-quotas \
|
|
--without-regedit \
|
|
--without-systemd \
|
|
--without-utmp \
|
|
--without-winbind \
|
|
--with-shared-modules="${_vfs_modules},${_pdb_modules},${_auth_modules}" \
|
|
--with-static-modules='!auth_winbind' ||
|
|
# --disable-fault-handling \
|
|
# --disable-rpath-private-install \
|
|
# --with-logfilebase="$TERMUX_PREFIX/tmp/log/samba" \
|
|
(cat cross-answers.txt | grep UNKNOWN && return 1)
|
|
|
|
./buildtools/bin/waf install --jobs="$TERMUX_MAKE_PROCESSES"
|
|
|
|
mkdir -p "$TERMUX_PREFIX/share/doc/samba"
|
|
sed -e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
|
|
"$TERMUX_PKG_BUILDER_DIR/smb.conf.example.in" \
|
|
> "$TERMUX_PREFIX/share/doc/samba/smb.conf.example"
|
|
}
|
|
|
|
termux_step_post_massage() {
|
|
# keep empty dirs which were deleted in massage
|
|
mkdir -p "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/var/lib/samba/bind-dns" "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/var/lib/samba/private"
|
|
for dir in cache lock log run; do
|
|
mkdir -p "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/var/$dir/samba"
|
|
done
|
|
# 755 - as opposed to 700 - because testparm throws up a warning otherwise
|
|
chmod 755 "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/var/lock/samba" "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/var/lib/samba" "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/var/cache/samba"
|
|
}
|