Rebase from upstream commit : 3bb9dcf44627ffdd313fe92c563ae454b6ff8aa6
[librecmc/librecmc.git] / package / network / services / samba36 / Makefile
1 #
2 # Copyright (C) 2007-2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=samba
11 PKG_VERSION:=3.6.25
12 PKG_RELEASE:=14
13
14 PKG_SOURCE_URL:=https://download.samba.org/pub/samba \
15                 https://download.samba.org/pub/samba/stable
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
17 PKG_HASH:=8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751
18
19 PKG_LICENSE:=GPL-3.0
20 PKG_LICENSE_FILES:=COPYING
21 PKG_CPE_ID:=cpe:/a:samba:samba
22
23 PKG_BUILD_PARALLEL:=1
24
25 include $(INCLUDE_DIR)/package.mk
26
27 MAKE_PATH:=source3
28 CONFIGURE_PATH:=source3
29
30 PKG_BUILD_BIN:=$(PKG_BUILD_DIR)/$(MAKE_PATH)/bin
31
32 define Package/samba/Default
33   SECTION:=net
34   CATEGORY:=Network
35   TITLE:=Samba 3.6 SMB/CIFS
36   URL:=https://www.samba.org/
37   MAINTAINER:=Felix Fietkau <nbd@nbd.name>
38 endef
39
40 define Package/samba36-server
41   $(call Package/samba/Default)
42   TITLE+= server
43   DEPENDS:=+USE_GLIBC:librt $(ICONV_DEPENDS)
44 endef
45
46 define Package/samba36-hotplug
47   $(call Package/samba/Default)
48   TITLE+= hotplug script for auto sharing
49   DEPENDS:=+blockd
50 endef
51
52 define Package/samba36-client
53   $(call Package/samba/Default)
54   TITLE+= client
55   DEPENDS:=+libreadline +libncurses
56 endef
57
58 define Package/samba36-net
59   $(call Package/samba/Default)
60   TITLE+= net commands
61   DEPENDS:=+libreadline +libncurses
62 endef
63
64 define Package/samba36-server/config
65         config PACKAGE_SAMBA_MAX_DEBUG_LEVEL
66                 int "Maximum level of compiled-in debug messages"
67                 depends on PACKAGE_samba36-server || PACKAGE_samba36-client
68                 default -1
69 endef
70
71 define Package/samba36-server/description
72  The Samba software suite is a collection of programs that implements the
73  SMB protocol for UNIX systems, allowing you to serve files and printers to
74  Windows, NT, OS/2 and DOS clients. This protocol is sometimes also referred
75  to as the LanManager or Netbios protocol.
76 endef
77
78 TARGET_CFLAGS += -DMAX_DEBUG_LEVEL=$(CONFIG_PACKAGE_SAMBA_MAX_DEBUG_LEVEL) -D__location__=\\\"\\\" -ffunction-sections -fdata-sections
79 TARGET_LDFLAGS += -Wl,--gc-sections
80
81 CONFIGURE_VARS += \
82         ac_cv_lib_attr_getxattr=no \
83         ac_cv_search_getxattr=no \
84         ac_cv_file__proc_sys_kernel_core_pattern=yes \
85         libreplace_cv_HAVE_C99_VSNPRINTF=yes \
86         libreplace_cv_HAVE_GETADDRINFO=yes \
87         libreplace_cv_HAVE_IFACE_IFCONF=yes \
88         $(if $(CONFIG_IPV6),,libreplace_cv_HAVE_IPV6=no libreplace_cv_HAVE_IPV6_V6ONLY=no) \
89         LINUX_LFS_SUPPORT=yes \
90         samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \
91         samba_cv_HAVE_GETTIMEOFDAY_TZ=yes \
92         samba_cv_HAVE_IFACE_IFCONF=yes \
93         samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes \
94         samba_cv_HAVE_SECURE_MKSTEMP=yes \
95         samba_cv_HAVE_WRFILE_KEYTAB=no \
96         samba_cv_USE_SETREUID=yes \
97         samba_cv_USE_SETRESUID=yes \
98         samba_cv_have_setreuid=yes \
99         samba_cv_have_setresuid=yes \
100         ac_cv_header_libunwind_h=no \
101         ac_cv_header_zlib_h=no \
102         samba_cv_zlib_1_2_3=no \
103         ac_cv_path_PYTHON="" \
104         ac_cv_path_PYTHON_CONFIG=""
105
106 CONFIGURE_ARGS += \
107         --exec-prefix=/usr \
108         --prefix=/ \
109         --disable-avahi \
110         --disable-cups \
111         --disable-external-libtalloc \
112         --disable-external-libtdb \
113         --disable-external-libtevent \
114         --disable-pie \
115         --disable-relro \
116         --disable-static \
117         --disable-swat \
118         --disable-shared-libs \
119         --with-libiconv="$(ICONV_PREFIX)" \
120         --with-codepagedir=/etc/samba \
121         --with-configdir=/etc/samba \
122         --with-included-iniparser \
123         --with-included-popt \
124         --with-lockdir=/var/lock \
125         --with-logfilebase=/var/log \
126         --with-nmbdsocketdir=/var/nmbd \
127         --with-piddir=/var/run \
128         --with-privatedir=/etc/samba \
129         --with-sendfile-support \
130         --without-acl-support \
131         --without-cluster-support \
132         --without-ads \
133         --without-krb5 \
134         --without-ldap \
135         --without-pam \
136         --without-winbind \
137         --without-libtdb \
138         --without-libtalloc \
139         --without-libnetapi \
140         --without-libsmbclient \
141         --without-libsmbsharemodes \
142         --without-libtevent \
143         --without-libaddns \
144         --with-shared-modules=pdb_tdbsam,pdb_wbc_sam,idmap_nss,nss_info_template,auth_winbind,auth_wbc,auth_domain
145
146 MAKE_FLAGS += DYNEXP= PICFLAG= MODULES=
147
148 define Package/samba36-server/conffiles
149 /etc/config/samba
150 /etc/samba/smb.conf.template
151 /etc/samba/smbpasswd
152 endef
153
154 define Package/samba36-server/install
155         $(INSTALL_DIR) $(1)/etc/config
156         $(INSTALL_CONF) ./files/samba.config $(1)/etc/config/samba
157         $(INSTALL_DIR) $(1)/etc/samba
158         $(INSTALL_CONF) ./files/smb.conf.template $(1)/etc/samba
159         $(INSTALL_DATA) $(PKG_BUILD_DIR)/codepages/lowcase.dat $(1)/etc/samba
160         $(INSTALL_DATA) $(PKG_BUILD_DIR)/codepages/upcase.dat $(1)/etc/samba
161         $(INSTALL_DATA) $(PKG_BUILD_DIR)/codepages/valid.dat $(1)/etc/samba
162         $(INSTALL_DIR) $(1)/etc/init.d
163         $(INSTALL_BIN) ./files/samba.init $(1)/etc/init.d/samba
164         $(INSTALL_DIR) $(1)/usr/sbin
165         $(INSTALL_BIN) $(PKG_BUILD_BIN)/samba_multicall $(1)/usr/sbin
166         $(LN) samba_multicall $(1)/usr/sbin/smbd
167         $(LN) samba_multicall $(1)/usr/sbin/nmbd
168         $(LN) samba_multicall $(1)/usr/sbin/smbpasswd
169 endef
170
171 define Package/samba36-hotplug/install
172         $(INSTALL_DIR) $(1)/etc/hotplug.d/mount
173         $(INSTALL_CONF) ./files/samba.hotplug $(1)/etc/hotplug.d/mount/60-samba
174 endef
175
176 define Package/samba36-client/install
177         $(INSTALL_DIR) $(1)/usr/sbin
178         $(INSTALL_BIN) $(PKG_BUILD_BIN)/smbclient $(1)/usr/sbin
179         $(INSTALL_BIN) $(PKG_BUILD_BIN)/nmblookup $(1)/usr/sbin
180 endef
181
182 define Package/samba36-net/install
183         $(INSTALL_DIR) $(1)/usr/sbin
184         $(INSTALL_BIN) $(PKG_BUILD_BIN)/net $(1)/usr/sbin
185 endef
186
187 $(eval $(call BuildPackage,samba36-client))
188 $(eval $(call BuildPackage,samba36-server))
189 $(eval $(call BuildPackage,samba36-hotplug))
190 $(eval $(call BuildPackage,samba36-net))
191