浏览代码

samba: add option to install libsmbclient

Closes #301

The libsmbclient library is part of the samba package. It can be used
to build applications that access Samba shares without the need to
mount them. Currently the library is explicitly not installed by
buildroot. Here's a patch that adds a config option to install it.

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Sven Neumann 16 年之前
父节点
当前提交
1d9178db29
共有 3 个文件被更改,包括 25 次插入2 次删除
  1. 1 0
      CHANGES
  2. 9 0
      package/samba/Config.in
  3. 15 2
      package/samba/samba.mk

+ 1 - 0
CHANGES

@@ -6,6 +6,7 @@
 
 	Issues resolved (http://bugs.uclibc.org):
 
+	#301: allow to install libsmbclient
 	#477: Add sdl_sound package
 	#487: Make kismet package sexier
 	#527: misc fixes for dnsmasq package

+ 9 - 0
package/samba/Config.in

@@ -40,6 +40,15 @@ config BR2_PACKAGE_SAMBA_FINDSMB
 comment "findsmb       - disabled (requires nmblookup, smbclient and perl)"
 	depends on !BR2_PACKAGE_SAMBA_SMBCLIENT || !BR2_PACKAGE_SAMBA_NMBLOOKUP || !BR2_PACKAGE_MICROPERL
 
+config BR2_PACKAGE_SAMBA_LIBSMBCLIENT
+	bool "libsmbclient"
+	depends on BR2_PACKAGE_SAMBA
+	help
+	  libsmbclient is a library toolset that permits applications
+	  to manipulate CIFS/SMB network resources using many of the
+	  standards POSIX functions available for manipulating local
+	  files.
+
 config BR2_PACKAGE_SAMBA_NET
 	bool "net"
 	default y

+ 15 - 2
package/samba/samba.mk

@@ -11,6 +11,14 @@ SAMBA_CAT:=$(ZCAT)
 SAMBA_BINARY:=bin/smbd
 SAMBA_TARGET_BINARY:=usr/sbin/smbd
 
+ifeq ($(BR2_PACKAGE_SAMBA_LIBSMBCLIENT),y)
+SAMBA_LIBSMBCLIENT := libsmbclient
+SAMBA_CONF_OPTIONS := --enable-libsmbclient
+else
+SAMBA_LIBSMBCLIENT :=
+SAMBA_CONF_OPTIONS := --disable-libsmbclient
+endif
+
 $(DL_DIR)/$(SAMBA_SOURCE):
 	$(call DOWNLOAD,$(SAMBA_SITE),$(SAMBA_SOURCE))
 
@@ -58,6 +66,7 @@ $(SAMBA_DIR)/.configured: $(SAMBA_DIR)/.unpacked
 		--disable-static \
 		--disable-cups \
 		$(DISABLE_LARGEFILE) \
+		$(SAMBA_CONF_OPTIONS) \
 	)
 	touch $@
 
@@ -112,7 +121,6 @@ $(TARGET_DIR)/$(SAMBA_TARGET_BINARY): $(SAMBA_DIR)/$(SAMBA_BINARY)
 	rm -f $(addprefix $(TARGET_DIR)/usr/bin/ldb, add del edit modify search)
 	# Remove not used library by Samba binaries
 	rm -f $(TARGET_DIR)/usr/lib/libnetapi*
-	rm -f $(TARGET_DIR)/usr/lib/libsmbclient*
 	rm -f $(TARGET_DIR)/usr/lib/libtalloc*
 	rm -f $(TARGET_DIR)/usr/lib/libtdb*
 	# Remove not wanted Samba binaries
@@ -134,7 +142,12 @@ endif
 	rm -rf $(TARGET_DIR)/var/cache/samba
 	rm -rf $(TARGET_DIR)/var/lib/samba
 
-samba: libiconv $(TARGET_DIR)/$(SAMBA_TARGET_BINARY)
+libsmbclient: $(SAMBA_DIR)/bin/libsmbclient.so
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" \
+		-C $(SAMBA_DIR) installlibs
+
+samba: libiconv $(TARGET_DIR)/$(SAMBA_TARGET_BINARY) $(SAMBA_LIBSMBCLIENT)
 
 samba-source: $(DL_DIR)/$(SAMBA_SOURCE)