From 59fa2dcdee8e277429bca809e7334c7ac53fc1a3 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 12 Apr 2015 18:48:17 +0200 Subject: update to samba4, simplify package, support subpackages later --- package/samba/Makefile | 147 ++++++++------------- package/samba/files/cache.txt | 38 ++++++ .../patch-buildtools_wafsamba_samba_autoconf_py | 13 ++ 3 files changed, 103 insertions(+), 95 deletions(-) create mode 100644 package/samba/files/cache.txt create mode 100644 package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py (limited to 'package/samba') 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) + -- cgit v1.2.3