samba36: backport an upstream fix for an information leak (CVE-2017-15275)
[openwrt/openwrt.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:=9
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-client
47 $(call Package/samba/Default)
48 TITLE+= client
49 DEPENDS:=+libreadline +libncurses
50 endef
51
52 define Package/samba36-net
53 $(call Package/samba/Default)
54 TITLE+= net commands
55 DEPENDS:=+libreadline +libncurses
56 endef
57
58 define Package/samba36-server/config
59 config PACKAGE_SAMBA_MAX_DEBUG_LEVEL
60 int "Maximum level of compiled-in debug messages"
61 depends on PACKAGE_samba36-server || PACKAGE_samba36-client
62 default -1
63 endef
64
65 define Package/samba36-server/description
66 The Samba software suite is a collection of programs that implements the
67 SMB protocol for UNIX systems, allowing you to serve files and printers to
68 Windows, NT, OS/2 and DOS clients. This protocol is sometimes also referred
69 to as the LanManager or Netbios protocol.
70 endef
71
72 TARGET_CFLAGS += -DMAX_DEBUG_LEVEL=$(CONFIG_PACKAGE_SAMBA_MAX_DEBUG_LEVEL) -D__location__=\\\"\\\" -ffunction-sections -fdata-sections
73 TARGET_LDFLAGS += -Wl,--gc-sections
74
75 CONFIGURE_VARS += \
76 ac_cv_lib_attr_getxattr=no \
77 ac_cv_search_getxattr=no \
78 ac_cv_file__proc_sys_kernel_core_pattern=yes \
79 libreplace_cv_HAVE_C99_VSNPRINTF=yes \
80 libreplace_cv_HAVE_GETADDRINFO=yes \
81 libreplace_cv_HAVE_IFACE_IFCONF=yes \
82 LINUX_LFS_SUPPORT=yes \
83 samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \
84 samba_cv_HAVE_GETTIMEOFDAY_TZ=yes \
85 samba_cv_HAVE_IFACE_IFCONF=yes \
86 samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes \
87 samba_cv_HAVE_SECURE_MKSTEMP=yes \
88 samba_cv_HAVE_WRFILE_KEYTAB=no \
89 samba_cv_USE_SETREUID=yes \
90 samba_cv_USE_SETRESUID=yes \
91 samba_cv_have_setreuid=yes \
92 samba_cv_have_setresuid=yes \
93 ac_cv_header_libunwind_h=no \
94 ac_cv_header_zlib_h=no \
95 samba_cv_zlib_1_2_3=no \
96 ac_cv_path_PYTHON="" \
97 ac_cv_path_PYTHON_CONFIG=""
98
99 CONFIGURE_ARGS += \
100 --exec-prefix=/usr \
101 --prefix=/ \
102 --disable-avahi \
103 --disable-cups \
104 --disable-pie \
105 --disable-relro \
106 --disable-static \
107 --disable-swat \
108 --disable-shared-libs \
109 --with-libiconv="$(ICONV_PREFIX)" \
110 --with-codepagedir=/etc/samba \
111 --with-configdir=/etc/samba \
112 --with-included-iniparser \
113 --with-included-popt \
114 --with-lockdir=/var/lock \
115 --with-logfilebase=/var/log \
116 --with-nmbdsocketdir=/var/nmbd \
117 --with-piddir=/var/run \
118 --with-privatedir=/etc/samba \
119 --with-sendfile-support \
120 --without-acl-support \
121 --without-cluster-support \
122 --without-ads \
123 --without-krb5 \
124 --without-ldap \
125 --without-pam \
126 --without-winbind \
127 --without-libtdb \
128 --without-libtalloc \
129 --without-libnetapi \
130 --without-libsmbclient \
131 --without-libsmbsharemodes \
132 --without-libtevent \
133 --without-libaddns \
134 --with-shared-modules=pdb_tdbsam,pdb_wbc_sam,idmap_nss,nss_info_template,auth_winbind,auth_wbc,auth_domain
135
136 MAKE_FLAGS += DYNEXP= PICFLAG= MODULES=
137
138 define Package/samba36-server/conffiles
139 /etc/config/samba
140 /etc/samba/smb.conf.template
141 /etc/samba/smbpasswd
142 endef
143
144 define Package/samba36-server/install
145 $(INSTALL_DIR) $(1)/etc/config
146 $(INSTALL_CONF) ./files/samba.config $(1)/etc/config/samba
147 $(INSTALL_DIR) $(1)/etc/samba
148 $(INSTALL_DATA) ./files/smb.conf.template $(1)/etc/samba
149 $(INSTALL_DATA) $(PKG_BUILD_DIR)/codepages/lowcase.dat $(1)/etc/samba
150 $(INSTALL_DATA) $(PKG_BUILD_DIR)/codepages/upcase.dat $(1)/etc/samba
151 $(INSTALL_DATA) $(PKG_BUILD_DIR)/codepages/valid.dat $(1)/etc/samba
152 $(INSTALL_DIR) $(1)/etc/init.d
153 $(INSTALL_BIN) ./files/samba.init $(1)/etc/init.d/samba
154 $(INSTALL_DIR) $(1)/usr/sbin
155 $(INSTALL_BIN) $(PKG_BUILD_BIN)/samba_multicall $(1)/usr/sbin
156 $(LN) samba_multicall $(1)/usr/sbin/smbd
157 $(LN) samba_multicall $(1)/usr/sbin/nmbd
158 $(LN) samba_multicall $(1)/usr/sbin/smbpasswd
159 endef
160
161 define Package/samba36-client/install
162 $(INSTALL_DIR) $(1)/usr/sbin
163 $(INSTALL_BIN) $(PKG_BUILD_BIN)/smbclient $(1)/usr/sbin
164 $(INSTALL_BIN) $(PKG_BUILD_BIN)/nmblookup $(1)/usr/sbin
165 endef
166
167 define Package/samba36-net/install
168 $(INSTALL_DIR) $(1)/usr/sbin
169 $(INSTALL_BIN) $(PKG_BUILD_BIN)/net $(1)/usr/sbin
170 endef
171
172 $(eval $(call BuildPackage,samba36-client))
173 $(eval $(call BuildPackage,samba36-server))
174 $(eval $(call BuildPackage,samba36-net))
175