2
1

samba.mk 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. #############################################################
  2. #
  3. # samba
  4. #
  5. #############################################################
  6. SAMBA_VERSION:=3.3.13
  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. $(if $(BR2_ENABLE_LOCALE),,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. # binaries to keep
  75. SAMBA_BINTARGETS_y = \
  76. usr/sbin/smbd \
  77. usr/lib/libtalloc.so \
  78. usr/lib/libtdb.so
  79. # binaries to remove
  80. SAMBA_BINTARGETS_ = \
  81. usr/lib/libnetapi.so* \
  82. usr/lib/libsmbsharemodes.so*
  83. # binaries to keep or remove
  84. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_CIFS) += usr/sbin/mount.cifs
  85. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_CIFS) += usr/sbin/umount.cifs
  86. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_EVENTLOGADM) += usr/bin/eventlogadm
  87. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NET) += usr/bin/net
  88. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NMBD) += usr/sbin/nmbd
  89. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NMBLOOKUP) += usr/bin/nmblookup
  90. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NTLM_AUTH) += usr/bin/ntlm_auth
  91. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_PDBEDIT) += usr/bin/pdbedit
  92. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_PROFILES) += usr/bin/profiles
  93. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_RPCCLIENT) += usr/bin/rpcclient
  94. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCACLS) += usr/bin/smbcacls
  95. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCLIENT) += usr/bin/smbclient
  96. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCONTROL) += usr/bin/smbcontrol
  97. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBCQUOTAS) += usr/bin/smbcquotas
  98. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBGET) += usr/bin/smbget
  99. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbadd
  100. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbdel
  101. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbedit
  102. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbmodify
  103. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbrename
  104. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBLDBTOOLS) += usr/bin/ldbsearch
  105. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBPASSWD) += usr/bin/smbpasswd
  106. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSHARESEC) += usr/bin/sharesec
  107. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSPOOL) += usr/bin/smbspool
  108. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSTATUS) += usr/bin/smbstatus
  109. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBTREE) += usr/bin/smbtree
  110. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SWAT) += usr/sbin/swat
  111. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbbackup
  112. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbdump
  113. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbtool
  114. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TESTPARM) += usr/bin/testparm
  115. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WINBINDD) += usr/sbin/winbindd
  116. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WBINFO) += usr/bin/wbinfo
  117. # libraries to keep or remove
  118. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WINBINDD) += usr/lib/libwbclient.so*
  119. SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_LIBSMBCLIENT) += usr/lib/libsmbclient.so*
  120. # non-binaries to remove
  121. SAMBA_TXTTARGETS_ = \
  122. usr/include/libsmbclient.h \
  123. usr/include/netapi.h \
  124. usr/include/smb_share_modes.h \
  125. usr/include/talloc.h \
  126. usr/include/tdb.h \
  127. usr/include/wbclient.h
  128. # non-binaries to keep or remove
  129. SAMBA_TXTTARGETS_$(BR2_PACKAGE_SAMBA_FINDSMB) += usr/bin/findsmb
  130. SAMBA_TXTTARGETS_$(BR2_PACKAGE_SAMBA_SMBTAR) += usr/bin/smbtar
  131. define SAMBA_REMOVE_UNNEEDED_BINARIES
  132. rm -f $(addprefix $(TARGET_DIR)/, $(SAMBA_BINTARGETS_))
  133. rm -f $(addprefix $(TARGET_DIR)/, $(SAMBA_TXTTARGETS_))
  134. endef
  135. SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_REMOVE_UNNEEDED_BINARIES
  136. define SAMBA_REMOVE_SWAT_DOCUMENTATION
  137. # Remove the documentation
  138. rm -rf $(TARGET_DIR)/usr/swat/help/manpages
  139. rm -rf $(TARGET_DIR)/usr/swat/help/Samba3*
  140. rm -rf $(TARGET_DIR)/usr/swat/using_samba/
  141. # Removing the welcome.html file will make swat default to
  142. # welcome-no-samba-doc.html
  143. rm -rf $(TARGET_DIR)/usr/swat/help/welcome.html
  144. endef
  145. ifeq ($(BR2_PACKAGE_SAMBA_SWAT),y)
  146. ifneq ($(BR2_HAVE_DOCUMENTATION),y)
  147. SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_REMOVE_SWAT_DOCUMENTATION
  148. endif
  149. endif
  150. define SAMBA_INSTALL_INITSCRIPTS_CONFIG
  151. # install start/stop script
  152. @if [ ! -f $(TARGET_DIR)/etc/init.d/S91smb ]; then \
  153. $(INSTALL) -m 0755 -D package/samba/S91smb $(TARGET_DIR)/etc/init.d/S91smb; \
  154. fi
  155. # install config
  156. @if [ ! -f $(TARGET_DIR)/etc/samba/smb.conf ]; then \
  157. $(INSTALL) -m 0755 -D package/samba/simple.conf $(TARGET_DIR)/etc/samba/smb.conf; \
  158. fi
  159. endef
  160. SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_INSTALL_INITSCRIPTS_CONFIG
  161. $(eval $(call AUTOTARGETS,package,samba))