summaryrefslogtreecommitdiff
path: root/package/samba
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-04-12 18:48:17 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2015-04-12 18:48:40 +0200
commit59fa2dcdee8e277429bca809e7334c7ac53fc1a3 (patch)
tree8fed9a4a262298baf4b5044a8d36abc9f49e6436 /package/samba
parentcb6b9d5287c70d0d4e3142a427f9d80896537825 (diff)
update to samba4, simplify package, support subpackages later
Diffstat (limited to 'package/samba')
-rw-r--r--package/samba/Makefile147
-rw-r--r--package/samba/files/cache.txt38
-rw-r--r--package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py13
3 files changed, 103 insertions, 95 deletions
diff --git a/package/samba/Makefile b/package/samba/Makefile
index c1f575b57..c73b92fd5 100644
--- a/package/samba/Makefile
+++ b/package/samba/Makefile
@@ -1,109 +1,66 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-include ${ADK_TOPDIR}/rules.mk
+include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= samba
-PKG_VERSION:= 3.6.25
+PKG_VERSION:= 4.2.0
PKG_RELEASE:= 1
-PKG_HASH:= 8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751
-PKG_DESCR:= smb file and print server
+PKG_HASH:= 66a6057815a971fee64fbe936ff6cbad542421a4bd52cba8d8d41afc9abc490f
+PKG_DESCR:= file and print server
PKG_SECTION:= net/fs
-PKG_BUILDDEP:= gettext-tiny util-linux popt
-PKG_DEPENDS:= samba-lib libuuid libpopt
+PKG_BUILDDEP:= gettext-tiny util-linux popt python2 gnutls
+PKG_BUILDDEP:= heimdal-host python2-host
+PKG_DEPENDS:= libuuid libpopt libgnutls
PKG_URL:= http://www.samba.org/
PKG_SITES:= http://samba.org/samba/ftp/stable/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-PKG_SUBPKGS:= SAMBA SAMBA_CLIENT SAMBA_PASSWD SAMBA_LIB
-PKGSD_SAMBA_CLIENT:= smb client
-PKGSS_SAMBA_CLIENT:= libreadline samba-lib
-PKGSD_SAMBA_PASSWD:= smb password utility
-PKGSD_SAMBA_LIB:= smb libraries
-PKGSC_SAMBA_LIB:= libs/net
-
-PKG_FLAVOURS_SAMBA:= WITH_WINBIND WITH_LDAP
-PKGFD_WITH_WINBIND:= enable winbind support
-PKGFS_WITH_WINBIND:= libkrb5
-PKGFB_WITH_WINBIND:= krb5
-PKGFD_WITH_LDAP:= enable ldap support
-PKGFS_WITH_LDAP:= libopenldap
-PKGFB_WITH_LDAP:= openldap
-
-WRKSRC= ${WRKDIST}/source3
-
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,SAMBA,samba,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,SAMBA_CLIENT,samba-client,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_CLIENT},${PKG_SECTION}))
-$(eval $(call PKG_template,SAMBA_PASSWD,samba-passwd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_PASSWD},${PKG_SECTION}))
-$(eval $(call PKG_template,SAMBA_LIB,samba-lib,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_LIB},${PKGSC_SAMBA_LIB}))
-
-ifneq ($(ADK_PACKAGE_SAMBA_WITH_WINBIND),)
-CONFIGURE_ARGS+= --with-winbind \
- --with-krb5="$(STAGING_TARGET_DIR)/usr"
-else
-CONFIGURE_ARGS+= --without-winbind
-endif
-
-ifneq ($(ADK_PACKAGE_SAMBA_WITH_LDAP),)
-CONFIGURE_ARGS+= --with-ldap
-else
-CONFIGURE_ARGS+= --with-ldap=no
-endif
-
-CONFIGURE_ENV+= samba_cv_CC_NEGATIVE_ENUM_VALUES=no \
- samba_cv_USE_SETRESUID=yes \
- samba_cv_HAVE_WRFILE_KEYTAB=yes \
- ac_cv_func_ext_krb5_enctype_to_string=yes \
- smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes \
- smb_krb5_cv_enctype_to_string_takes_size_t_arg=no \
- ac_cv_lib_ext_nsl_connect=no \
- ac_cv_search_yp_get_default_domain=no \
- ac_cv_lib_ext_nsl_gethostbyname=no \
- ac_cv_file__proc_sys_kernel_core_pattern=yes \
- libreplace_cv_HAVE_GETADDRINFO=no
-CONFIGURE_ARGS+= --libdir=/usr/lib \
- --localstatedir=/var/log/samba \
- --with-configdir=/etc/samba \
- --with-lockdir=/var/run/samba \
- --with-privatedir=/etc/samba \
- --with-libiconv=/dev/null \
- --with-syslog \
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SAMBA,samba,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= minimal
+CONFIGURE_ARGS+= --enable-fhs \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --cross-compile \
+ --cross-answers=$(WRKSRC)/cache.txt \
+ --hostcc=gcc \
+ --without-pam \
+ --without-fam \
+ --without-dmapi \
+ --without-ads \
+ --without-ldap \
+ --without-acl-support \
+ --disable-glusterfs \
+ --disable-iprint \
--disable-cups \
- --disable-swat \
--disable-avahi \
- --with-utmp=no \
- --with-pam=no \
- --without-cluster-support \
- --without-sendfile-support
-
-samba-install:
- ${INSTALL_DIR} ${IDIR_SAMBA}/etc/samba ${IDIR_SAMBA}/usr/sbin
- ${INSTALL_DIR} ${IDIR_SAMBA}/usr/lib/{charset,vfs}
- ${INSTALL_DATA} ${WRKINST}/usr/lib/charset/CP850.so \
- ${IDIR_SAMBA}/usr/lib/charset
- ${INSTALL_DATA} ./files/smb.conf ${IDIR_SAMBA}/etc/samba
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/{nmbd,smbd} ${IDIR_SAMBA}/usr/sbin
- ${CP} ${WRKINST}/usr/lib/vfs/*.so* ${IDIR_SAMBA}/usr/lib/vfs
- ${INSTALL_DATA} ${WRKINST}/usr/lib/*.dat ${IDIR_SAMBA}/usr/lib
+ --disable-rpath \
+ --bundled-libraries='!asn1_compile,!compile_et' \
+ --disable-rpath-install
+CONFIGURE_ENV+= PYTHON_CONFIG="$(STAGING_TARGET_DIR)/usr/bin/python-config" \
+ python_LDFLAGS="" \
+ python_LIBDIR=""
-samba-passwd-install:
- ${INSTALL_DIR} ${IDIR_SAMBA_PASSWD}/usr/bin
- ${INSTALL_BIN} ${WRKINST}/usr/bin/smbpasswd \
- ${IDIR_SAMBA_PASSWD}/usr/bin
+pre-configure:
+ $(CP) ./files/cache.txt $(WRKSRC)
+ echo 'Checking uname machine type: "$(ADK_TARGET_ARCH)"' >>$(WRKSRC)/cache.txt
-samba-client-install:
- ${INSTALL_DIR} ${IDIR_SAMBA_CLIENT}/usr/bin
- ${INSTALL_BIN} ${WRKINST}/usr/bin/smbclient \
- ${IDIR_SAMBA_CLIENT}/usr/bin
-
-samba-lib-install:
- ${INSTALL_DIR} ${IDIR_SAMBA_LIB}/usr/lib
- ${CP} ${WRKINST}/usr/lib/{libsmbclient,libsmbsharemodes,libnetapi}.so* \
- ${IDIR_SAMBA_LIB}/usr/lib
- $(CP) ${WRKINST}/usr/lib/{libtalloc,libtdb,libtevent}.so* \
- ${IDIR_SAMBA_LIB}/usr/lib
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
+samba-install:
+ $(INSTALL_DIR) $(IDIR_SAMBA)/etc/samba
+ $(INSTALL_DIR) $(IDIR_SAMBA)/usr/{sbin,bin,lib}
+ $(INSTALL_DATA) ./files/smb.conf $(IDIR_SAMBA)/etc/samba
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/{nmbd,smbd} \
+ $(IDIR_SAMBA)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/{smbpasswd,smbclient} \
+ $(IDIR_SAMBA)/usr/bin
+ $(CP) $(WRKINST)/usr/lib/lib*.so* \
+ $(IDIR_SAMBA)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/samba \
+ $(IDIR_SAMBA)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/samba/files/cache.txt b/package/samba/files/cache.txt
new file mode 100644
index 000000000..c9e34b630
--- /dev/null
+++ b/package/samba/files/cache.txt
@@ -0,0 +1,38 @@
+Checking simple C program: OK
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking for large file support without additional flags: OK
+Checking for -D_LARGE_FILES: OK
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+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 for HAVE_IFACE_GETIFADDRS: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether setreuid is available: OK
+Checking whether setresuid is available: OK
+Checking whether seteuid is available: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking whether POSIX capabilities are available: OK
+Checking for ftruncate extend: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+getcwd takes a NULL argument: OK
+Checking uname sysname type: "Linux"
+Checking uname release type: "3.0.0"
+Checking uname version type: "#1 Tue Nov 1 12:34:56 UTC 2013"
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
diff --git a/package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py b/package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py
new file mode 100644
index 000000000..d8025784a
--- /dev/null
+++ b/package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py
@@ -0,0 +1,13 @@
+--- samba-4.2.0.orig/buildtools/wafsamba/samba_autoconf.py 2015-02-24 19:59:51.000000000 +0100
++++ samba-4.2.0/buildtools/wafsamba/samba_autoconf.py 2015-04-07 23:06:53.000000000 +0200
+@@ -646,10 +646,6 @@ def SAMBA_CONFIG_H(conf, path=None):
+ if not IN_LAUNCH_DIR(conf):
+ return
+
+- if conf.CHECK_CFLAGS(['-fstack-protector']) and conf.CHECK_LDFLAGS(['-fstack-protector']):
+- conf.ADD_CFLAGS('-fstack-protector')
+- conf.ADD_LDFLAGS('-fstack-protector')
+-
+ if Options.options.debug:
+ conf.ADD_CFLAGS('-g', testflags=True)
+