samba.mk 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. #############################################################
  2. #
  3. # samba
  4. #
  5. #############################################################
  6. SAMBA_VERSION:=3.3.8
  7. SAMBA_SOURCE:=samba-$(SAMBA_VERSION).tar.gz
  8. SAMBA_SITE:=http://samba.org/samba/ftp/stable/
  9. SAMBA_SUBDIR = source
  10. SAMBA_AUTORECONF = NO
  11. SAMBA_LIBTOOL_PATCH = NO
  12. SAMBA_INSTALL_STAGING = YES
  13. SAMBA_INSTALL_TARGET = YES
  14. SAMBA_DEPENDENCIES = \
  15. libiconv \
  16. $(if $(BR2_PACKAGE_SAMBA_RPCCLIENT),readline) \
  17. $(if $(BR2_PACKAGE_SAMBA_SMBCLIENT),readline) \
  18. $(if $(BR2_PACKAGE_SAMBA_AVAHI),avahi) \
  19. $(if $(BR2_PACKAGE_SAMBA_GAMIN),gamin)
  20. SAMBA_CONF_ENV = \
  21. samba_cv_HAVE_GETTIMEOFDAY_TZ=yes \
  22. samba_cv_USE_SETREUID=yes \
  23. samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes \
  24. samba_cv_HAVE_IFACE_IFCONF=yes \
  25. samba_cv_HAVE_MMAP=yes \
  26. samba_cv_HAVE_FCNTL_LOCK=yes \
  27. samba_cv_HAVE_SECURE_MKSTEMP=yes \
  28. samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \
  29. samba_cv_fpie=no \
  30. libreplace_cv_HAVE_IPV6=$(if $(BR2_INET_IPV6),yes,no) \
  31. $(if $(BR2_PACKAGE_SAMBA_AVAHI),AVAHI_LIBS=-pthread)
  32. SAMBA_CONF_OPT = \
  33. --localstatedir=/var \
  34. --with-piddir=/var/run \
  35. --with-lockdir=/var/lock \
  36. --with-logfilebase=/var/log \
  37. --with-configdir=/etc/samba \
  38. --with-privatedir=/etc/samba \
  39. \
  40. --disable-cups \
  41. --disable-static \
  42. --enable-shared \
  43. --enable-shared-libs \
  44. --disable-pie \
  45. --disable-relro \
  46. --disable-dnssd \
  47. \
  48. $(if $(BR2_PACKAGE_SAMBA_AVAHI),--enable-avahi,--disable-avahi) \
  49. $(if $(BR2_PACKAGE_SAMBA_GAMIN),--enable-fam,--disable-fam) \
  50. $(if $(BR2_PACKAGE_SAMBA_SWAT),--enable-swat,--disable-swat) \
  51. \
  52. --without-cluster-support \
  53. --without-cifsupcall \
  54. --without-ads \
  55. --without-ldap \
  56. --with-included-popt \
  57. --with-included-iniparser \
  58. --with-libiconv=$(STAGING_DIR) \
  59. \
  60. $(if $(BR2_PACKAGE_SAMBA_CIFS),--with-cifsmount,--without-cifsmount) \
  61. $(if $(BR2_PACKAGE_SAMBA_RPCCLIENT),--with-readline=$(STAGING_DIR)) \
  62. $(if $(BR2_PACKAGE_SAMBA_SMBCLIENT),--with-readline=$(STAGING_DIR)) \
  63. $(if $(BR2_PACKAGE_SAMBA_WINBINDD),--with-winbind,--without-winbind)
  64. SAMBA_INSTALL_TARGET_OPT = \
  65. DESTDIR=$(TARGET_DIR) -C $(SAMBA_DIR)/$(SAMBA_SUBDIR) \
  66. installlibs installservers installbin installscripts \
  67. $(if $(BR2_PACKAGE_SAMBA_CIFS),installcifsmount) \
  68. $(if $(BR2_PACKAGE_SAMBA_SWAT),installswat)
  69. SAMBA_UNINSTALL_TARGET_OPT = \
  70. DESTDIR=$(TARGET_DIR) -C $(SAMBA_DIR)/$(SAMBA_SUBDIR) \
  71. uninstalllibs uninstallservers uninstallbin uninstallscripts \
  72. $(if $(BR2_PACKAGE_SAMBA_CIFS),uninstallcifsmount) \
  73. $(if $(BR2_PACKAGE_SAMBA_SWAT),uninstallswat)
  74. $(eval $(call AUTOTARGETS,package,samba))
  75. # binaries to keep
  76. SAMBA_BINTARGETS_y = \
  77. usr/sbin/smbd \
  78. usr/lib/libtalloc.so \
  79. usr/lib/libtdb.so
  80. # binaries to remove
  81. SAMBA_BINTARGETS_ = \
  82. usr/lib/libnetapi.so* \
  83. usr/lib/libsmbsharemodes.so*
  84. # binaries to keep or remove
  85. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_CIFS) += usr/sbin/mount.cifs
  86. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_CIFS) += usr/sbin/umount.cifs
  87. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_EVENTLOGADM) += usr/bin/eventlogadm
  88. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NET) += usr/bin/net
  89. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NMBD) += usr/sbin/nmbd
  90. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NMBLOOKUP) += usr/bin/nmblookup
  91. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NTLM_AUTH) += usr/bin/ntlm_auth
  92. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_PDBEDIT) += usr/bin/pdbedit
  93. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_PROFILES) += usr/bin/profiles
  94. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_RPCCLIENT) += usr/bin/rpcclient
  95. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCACLS) += usr/bin/smbcacls
  96. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCLIENT) += usr/bin/smbclient
  97. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCONTROL) += usr/bin/smbcontrol
  98. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCQUOTAS) += usr/bin/smbcquotas
  99. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBGET) += usr/bin/smbget
  100. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbadd
  101. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbdel
  102. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbedit
  103. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbmodify
  104. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbrename
  105. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbsearch
  106. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBPASSWD) += usr/bin/smbpasswd
  107. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSHARESEC) += usr/bin/sharesec
  108. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSPOOL) += usr/bin/smbspool
  109. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSTATUS) += usr/bin/smbstatus
  110. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBTREE) += usr/bin/smbtree
  111. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SWAT) += usr/sbin/swat
  112. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbbackup
  113. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbdump
  114. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbtool
  115. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TESTPARM) += usr/bin/testparm
  116. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WINBINDD) += usr/sbin/winbindd
  117. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WBINFO) += usr/bin/wbinfo
  118. # libraries to keep or remove
  119. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WINBINDD) += usr/lib/libwbclient.so*
  120. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_LIBSMBCLIENT) += usr/lib/libsmbclient.so*
  121. # non-binaries to remove
  122. SAMBA_TXTTARGETS_ = \
  123. usr/include/libsmbclient.h \
  124. usr/include/netapi.h \
  125. usr/include/smb_share_modes.h \
  126. usr/include/talloc.h \
  127. usr/include/tdb.h \
  128. usr/include/wbclient.h
  129. # non-binaries to keep or remove
  130. SAMBA_TXTTARGETS_$(BR2_PACKAGE_SAMBA_FINDSMB) += usr/bin/findsmb
  131. SAMBA_TXTTARGETS_$(BR2_PACKAGE_SAMBA_SMBTAR) += usr/bin/smbtar
  132. $(SAMBA_HOOK_POST_INSTALL):
  133. $(call MESSAGE,"Post installing")
  134. # remove unneeded
  135. rm -f $(addprefix $(TARGET_DIR)/, $(SAMBA_BINTARGETS_))
  136. rm -f $(addprefix $(TARGET_DIR)/, $(SAMBA_TXTTARGETS_))
  137. # strip binaries
  138. $(STRIPCMD) $(STRIP_STRIP_ALL) $(addprefix $(TARGET_DIR)/, $(SAMBA_BINTARGETS_y))
  139. # install start/stop script
  140. @if [ ! -f $(TARGET_DIR)/etc/init.d/S91smb ]; then \
  141. $(INSTALL) -m 0755 -D package/samba/S91smb $(TARGET_DIR)/etc/init.d/S91smb; \
  142. fi
  143. # install config
  144. @if [ ! -f $(TARGET_DIR)/etc/samba/smb.conf ]; then \
  145. $(INSTALL) -m 0755 -D package/samba/simple.conf $(TARGET_DIR)/etc/samba/smb.conf; \
  146. fi
  147. $(Q)touch $@