Add Samba to buildroot.
This commit is contained in:
parent
7b957dd483
commit
d8bcc8f168
181
package/samba/Config.in
Normal file
181
package/samba/Config.in
Normal file
@ -0,0 +1,181 @@
|
||||
config BR2_PACKAGE_SAMBA
|
||||
bool "samba"
|
||||
default n
|
||||
help
|
||||
Provides print services to all manner of SMB/CIFS clients,
|
||||
including the numerous versions of Microsoft Windows
|
||||
operating systems.
|
||||
|
||||
http://www.samba.org/
|
||||
|
||||
NOTE: A complete Samba install takes close to 40MB of space,
|
||||
so choose only the components you need.
|
||||
|
||||
menu "Samba tools selection"
|
||||
depends BR2_PACKAGE_SAMBA
|
||||
|
||||
config BR2_PACKAGE_SAMBA_CIFS
|
||||
bool "cifs"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Support CIFS
|
||||
|
||||
config BR2_PACKAGE_SAMBA_EVENTLOGADM
|
||||
bool "eventlogadm"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Write Eventlog records to a tdb or perform other eventlog functions
|
||||
|
||||
config BR2_PACKAGE_SAMBA_NET
|
||||
bool "net"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Distributed SMB/CIFS Server Management Utility
|
||||
|
||||
config BR2_PACKAGE_SAMBA_NMBD
|
||||
bool "nmbd"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
NetBIOS name server to provide NetBIOS over IP naming services
|
||||
to clients
|
||||
|
||||
config BR2_PACKAGE_SAMBA_NMBLOOKUP
|
||||
bool "nmblookup"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Query NetBIOS names and map them to IP addresses in a network
|
||||
using NetBIOS over TCP/IP queries
|
||||
|
||||
config BR2_PACKAGE_SAMBA_NTLM_AUTH
|
||||
bool "ntlm_auth"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Helper utility that authenticates users using NT/LM authentication
|
||||
|
||||
config BR2_PACKAGE_SAMBA_PDBEDIT
|
||||
bool "pdbedit"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Manage the SAM database (Database of Samba Users)
|
||||
|
||||
config BR2_PACKAGE_SAMBA_PROFILES
|
||||
bool "profiles"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Utility that reports and changes SIDs in Windows NT registry files
|
||||
|
||||
config BR2_PACKAGE_SAMBA_RPCCLIENT
|
||||
bool "rpcclient"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Tool for executing client side MS-RPC functions using RPC
|
||||
calls from a UNIX workstation.
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBCACLS
|
||||
bool "smbcacls"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Set or get ACLs on an NT file or directory names
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBCLIENT
|
||||
bool "smbclient"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
ftp-like client to access SMB/CIFS resources on servers
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBCONTROL
|
||||
bool "smbcontrol"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Send messages to smbd, nmbd or winbindd processes
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBCQUOTAS
|
||||
bool "smbcquotas"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Set or get QUOTAs of NTFS 5 shares
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBGET
|
||||
bool "smbget"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
wget-like utility for download files over SMB
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBPASSWD
|
||||
bool "smbpasswd"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Change a user's SMB passwd
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBSPOOL
|
||||
bool "smbspool"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Send a print file to an SMB printer
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBSTATUS
|
||||
bool "smbstatus"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Report on current Samba connections
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SMBTREE
|
||||
bool "smbtree"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
A text based smb network browser
|
||||
|
||||
config BR2_PACKAGE_SAMBA_SWAT
|
||||
bool "swat"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Samba Web Administration Tool
|
||||
|
||||
config BR2_PACKAGE_SAMBA_TDB
|
||||
bool "tdb"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Tools to operate on the .tdb database files
|
||||
|
||||
config BR2_PACKAGE_SAMBA_TESTPARM
|
||||
bool "testparm"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Check an smb.conf configuration file for internal correctness
|
||||
|
||||
config BR2_PACKAGE_SAMBA_WINBINDD
|
||||
bool "winbindd"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA
|
||||
help
|
||||
Name Service Switch daemon for resolving names from NT servers
|
||||
|
||||
config BR2_PACKAGE_SAMBA_WBINFO
|
||||
bool "wbinfo"
|
||||
default y
|
||||
depends on BR2_PACKAGE_SAMBA_WINBINDD
|
||||
help
|
||||
Query information from winbind daemon
|
||||
|
||||
endmenu
|
79
package/samba/init-samba
Executable file
79
package/samba/init-samba
Executable file
@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Stolen from RedHat FC5.
|
||||
#
|
||||
|
||||
# Check that smb.conf exists.
|
||||
[ -f /etc/samba/smb.conf ] || exit 0
|
||||
|
||||
# Make directories.
|
||||
mkdir -p /var/cache/samba
|
||||
mkdir -p /var/log/samba
|
||||
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
echo -n "Starting SMB services: "
|
||||
smbd -D
|
||||
RETVAL=$?
|
||||
echo "done"
|
||||
|
||||
echo -n "Starting NMB services: "
|
||||
nmbd -D
|
||||
RETVAL2=$?
|
||||
echo "done"
|
||||
|
||||
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb || \
|
||||
RETVAL=1
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n "Shutting down SMB services: "
|
||||
kill -9 `pidof smbd`
|
||||
RETVAL=$?
|
||||
rm -f /var/run/smbd.pid
|
||||
echo "done"
|
||||
|
||||
echo -n "Shutting down NMB services: "
|
||||
kill -9 `pidof nmbd`
|
||||
RETVAL2=$?
|
||||
rm -f /var/run/nmbd.pid
|
||||
|
||||
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb
|
||||
echo "done"
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
reload() {
|
||||
echo -n "Reloading smb.conf file: "
|
||||
kill -HUP `pidof smbd`
|
||||
RETVAL=$?
|
||||
echo "done"
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
reload)
|
||||
reload
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
42
package/samba/samba-getgrouplist.patch
Normal file
42
package/samba/samba-getgrouplist.patch
Normal file
@ -0,0 +1,42 @@
|
||||
diff -ur samba-3.0.23c/source/configure.in samba-3.0.23c-patched/source/configure.in
|
||||
--- samba-3.0.23c/source/configure.in 2006-07-21 11:22:57.000000000 -0500
|
||||
+++ samba-3.0.23c-patched/source/configure.in 2006-11-09 10:23:26.000000000 -0600
|
||||
@@ -1399,38 +1399,6 @@
|
||||
AC_DEFINE(HAVE_PRCTL, 1, [Whether prctl is available]),[])
|
||||
|
||||
#
|
||||
-#
|
||||
-#
|
||||
-case "$host_os" in
|
||||
- *linux*)
|
||||
- # glibc <= 2.3.2 has a broken getgrouplist
|
||||
- AC_TRY_RUN([
|
||||
-#include <unistd.h>
|
||||
-#include <sys/utsname.h>
|
||||
-main() {
|
||||
- /* glibc up to 2.3 has a broken getgrouplist */
|
||||
-#if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
|
||||
- int libc_major = __GLIBC__;
|
||||
- int libc_minor = __GLIBC_MINOR__;
|
||||
-
|
||||
- if (libc_major < 2)
|
||||
- exit(1);
|
||||
- if ((libc_major == 2) && (libc_minor <= 3))
|
||||
- exit(1);
|
||||
-#endif
|
||||
- exit(0);
|
||||
-}
|
||||
-], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no])
|
||||
- if test x"$linux_getgrouplist_ok" = x"yes"; then
|
||||
- AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist])
|
||||
- fi
|
||||
- ;;
|
||||
- *)
|
||||
- AC_CHECK_FUNCS(getgrouplist)
|
||||
- ;;
|
||||
-esac
|
||||
-
|
||||
-#
|
||||
# stat64 family may need <sys/stat.h> on some systems, notably ReliantUNIX
|
||||
#
|
||||
|
119
package/samba/samba.mk
Normal file
119
package/samba/samba.mk
Normal file
@ -0,0 +1,119 @@
|
||||
#############################################################
|
||||
#
|
||||
# samba
|
||||
#
|
||||
#############################################################
|
||||
SAMBA_VER:=3.0.23d
|
||||
SAMBA_SOURCE:=samba-$(SAMBA_VER).tar.gz
|
||||
SAMBA_SITE:=ftp://us1.samba.org/pub/samba/
|
||||
SAMBA_DIR:=$(BUILD_DIR)/samba-$(SAMBA_VER)/source
|
||||
SAMBA_CAT:=$(ZCAT)
|
||||
SAMBA_BINARY:=bin/smbd
|
||||
SAMBA_TARGET_BINARY:=usr/sbin/smbd
|
||||
|
||||
$(DL_DIR)/$(SAMBA_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(SAMBA_SITE)/$(SAMBA_SOURCE)
|
||||
|
||||
$(SAMBA_DIR)/.unpacked: $(DL_DIR)/$(SAMBA_SOURCE)
|
||||
$(SAMBA_CAT) $(DL_DIR)/$(SAMBA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
toolchain/patch-kernel.sh `dirname $(SAMBA_DIR)` package/samba/ samba\*.patch
|
||||
touch $(SAMBA_DIR)/.unpacked
|
||||
|
||||
$(SAMBA_DIR)/.configured: $(SAMBA_DIR)/.unpacked
|
||||
(cd $(SAMBA_DIR); rm -rf config.cache; \
|
||||
./autogen.sh; \
|
||||
$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
samba_cv_HAVE_GETTIMEOFDAY_TZ=yes \
|
||||
samba_cv_USE_SETREUID=yes \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--with-lockdir=/var/cache/samba \
|
||||
--with-piddir=/var/run \
|
||||
--with-privatedir=/etc/samba \
|
||||
--with-logfilebase=/var/log/samba \
|
||||
--with-configdir=/etc/samba \
|
||||
--without-ldap \
|
||||
--with-included-popt \
|
||||
--with-included-iniparser \
|
||||
--disable-cups \
|
||||
--disable-static \
|
||||
);
|
||||
touch $(SAMBA_DIR)/.configured
|
||||
|
||||
$(SAMBA_DIR)/$(SAMBA_BINARY): $(SAMBA_DIR)/.configured
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) -C $(SAMBA_DIR)
|
||||
|
||||
SAMBA_TARGETS_ :=
|
||||
SAMBA_TARGETS_y :=
|
||||
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_CIFS) += usr/sbin/mount.cifs \
|
||||
usr/sbin/umount.cifs
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_EVENTLOGADM) += usr/bin/eventlogadm
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_NET) += usr/bin/net
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_NMBD) += usr/sbin/nmbd
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_NMBLOOKUP) += usr/bin/nmblookup
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_NTLM_AUTH) += usr/bin/ntlm_auth
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_PDBEDIT) += usr/bin/pdbedit
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_PROFILES) += usr/bin/profiles
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_RPCCLIENT) += usr/bin/rpcclient
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBCACLS) += usr/bin/smbcacls
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBCLIENT) += usr/bin/smbclient
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBCONTROL) += usr/bin/smbcontrol
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBCQUOTAS) += usr/bin/smbcquotas
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBGET) += usr/bin/smbget
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBPASSWD) += usr/bin/smbpasswd
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBSPOOL) += usr/bin/smbspool
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBSTATUS) += usr/bin/smbstatus
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SMBTREE) += usr/bin/smbtree
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_SWAT) += usr/sbin/swat
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbbackup \
|
||||
usr/bin/tdbdump \
|
||||
usr/bin/tdbtool
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_TESTPARM) += usr/bin/testparm
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_WINBINDD) += usr/sbin/winbindd
|
||||
SAMBA_TARGETS_$(BR2_PACKAGE_SAMBA_WBINFO) += usr/bin/wbinfo
|
||||
|
||||
$(TARGET_DIR)/$(SAMBA_TARGET_BINARY): $(SAMBA_DIR)/$(SAMBA_BINARY)
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) \
|
||||
prefix="${TARGET_DIR}/usr" \
|
||||
BASEDIR="${TARGET_DIR}/usr" \
|
||||
SBINDIR="${TARGET_DIR}/usr/sbin" \
|
||||
LOCKDIR="${TARGET_DIR}/var/cache/samba" \
|
||||
PRIVATEDIR="${TARGET_DIR}/etc/samba" \
|
||||
CONFIGDIR="${TARGET_DIR}/etc/samba" \
|
||||
VARDIR="${TARGET_DIR}/var/log/samba" \
|
||||
-C $(SAMBA_DIR) installservers installbin installcifsmount
|
||||
for file in $(SAMBA_TARGETS_) ; do \
|
||||
rm -f $(TARGET_DIR)/$$file; \
|
||||
done
|
||||
$(INSTALL) -m 0755 -D package/samba/init-samba $(TARGET_DIR)/etc/init.d/S91smb
|
||||
@if [ ! -f $(TARGET_DIR)/etc/samba/smb.conf ] ; then \
|
||||
$(INSTALL) -m 0755 -D package/samba/simple.conf $(TARGET_DIR)/etc/samba/smb.conf; \
|
||||
fi;
|
||||
rm -rf $(TARGET_DIR)/var/cache/samba
|
||||
rm -rf $(TARGET_DIR)/var/lib/samba
|
||||
|
||||
samba: uclibc $(TARGET_DIR)/$(SAMBA_TARGET_BINARY)
|
||||
|
||||
samba-clean:
|
||||
rm -f $(TARGET_DIR)/$(SAMBA_TARGET_BINARY)
|
||||
for file in $(SAMBA_TARGETS_y) ; do \
|
||||
rm -f $(TARGET_DIR)/$$file; \
|
||||
done
|
||||
rm -f $(TARGET_DIR)/etc/init.d/S91smb
|
||||
rm -rf $(TARGET_DIR)/etc/samba
|
||||
-$(MAKE) -C $(SAMBA_DIR) clean
|
||||
|
||||
samba-dirclean:
|
||||
rm -rf $(SAMBA_DIR)
|
||||
#############################################################
|
||||
#
|
||||
# Toplevel Makefile options
|
||||
#
|
||||
#############################################################
|
||||
ifeq ($(strip $(BR2_PACKAGE_SAMBA)),y)
|
||||
TARGETS+=samba
|
||||
endif
|
25
package/samba/simple.conf
Normal file
25
package/samba/simple.conf
Normal file
@ -0,0 +1,25 @@
|
||||
#======================= Global Settings =====================================
|
||||
[global]
|
||||
workgroup = MYGROUP
|
||||
server string = MYDATA
|
||||
max log size = 50
|
||||
security = share
|
||||
encrypt passwords = yes
|
||||
smb passwd file = /etc/samba/smbpasswd
|
||||
log file = /var/log/samba/log.smbd
|
||||
hosts allow = 127.
|
||||
interfaces = eth0 192.168.0.1/255.255.255.0
|
||||
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
|
||||
|
||||
#============================ Share Definitions ==============================
|
||||
idmap uid = 16777216-33554431
|
||||
idmap gid = 16777216-33554431
|
||||
template shell = /bin/false
|
||||
winbind use default domain = no
|
||||
|
||||
[data]
|
||||
path = /data
|
||||
public = yes
|
||||
only guest = yes
|
||||
writable = yes
|
||||
printable = no
|
Loading…
Reference in New Issue
Block a user