diff options
Diffstat (limited to 'package/samba')
-rw-r--r-- | package/samba/Config.in | 62 | ||||
-rw-r--r-- | package/samba/Makefile | 69 | ||||
-rw-r--r-- | package/samba/files/samba.init | 29 | ||||
-rw-r--r-- | package/samba/files/smb.conf | 17 | ||||
-rw-r--r-- | package/samba/ipkg/samba-client.control | 4 | ||||
-rw-r--r-- | package/samba/ipkg/samba-passwd.control | 4 | ||||
-rw-r--r-- | package/samba/ipkg/samba.conffiles | 1 | ||||
-rw-r--r-- | package/samba/ipkg/samba.control | 5 | ||||
-rw-r--r-- | package/samba/ipkg/samba.postinst | 3 | ||||
-rw-r--r-- | package/samba/ipkg/swat.control | 5 | ||||
-rw-r--r-- | package/samba/ipkg/swat.postinst | 6 | ||||
-rw-r--r-- | package/samba/patches/patch-source_client_mtab_c | 11 | ||||
-rw-r--r-- | package/samba/patches/patch-source_configure | 198 | ||||
-rw-r--r-- | package/samba/patches/patch-source_registry_reg_perfcount_c | 21 |
14 files changed, 435 insertions, 0 deletions
diff --git a/package/samba/Config.in b/package/samba/Config.in new file mode 100644 index 000000000..f548a5e2b --- /dev/null +++ b/package/samba/Config.in @@ -0,0 +1,62 @@ +config ADK_COMPILE_SAMBA + tristate + default n + depends ADK_PACKAGE_SAMBA || ADK_PACKAGE_SAMBA_CLIENT || ADK_PACKAGE_SMBFS + +config ADK_PACKAGE_SAMBA + prompt "samba............................. NetBIOS/SMB file and print server" + tristate + default n + select ADK_COMPILE_SAMBA + select ADK_PACKAGE_LIBPOPT + help + The Samba software suite is a collection of programs that implements the + SMB protocol for unix systems, allowing you to serve files and printers to + Windows, NT, OS/2 and DOS clients. This protocol is sometimes also referred + to as the LanManager or Netbios protocol. + + http://www.samba.org/ + + This package contains the SMB file and print server daemons. + +config ADK_SAMBA_CODEPAGE + string "legacy codepage" + default "ISO8859-1" + depends on ADK_PACKAGE_SAMBA + help + which codepage should be added to package + choose one of: + 1125 1251 437 737 775 850 852 857 861 866 932 936 949 950 + ISO8859-1 ISO8859-13 ISO8859-15 ISO8859-2 ISO8859-5 ISO8859-7 + ISO8859-9 KOI8-R KOI8-U + +config ADK_PACKAGE_SAMBA_CLIENT + prompt "samba-client...................... NetBIOS/SMB simple client" + tristate + default n + select ADK_COMPILE_SAMBA + help + The Samba software suite is a collection of programs that implements the + SMB protocol for unix systems, allowing you to serve files and printers to + Windows, NT, OS/2 and DOS clients. This protocol is sometimes also referred + to as the LanManager or Netbios protocol. + + http://www.samba.org/ + + This package contains a simple command-line SMB client. + +config ADK_PACKAGE_SAMBA_PASSWD + prompt "samba-passwd...................... samba password utility" + tristate + default n + select ADK_COMPILE_SAMBA + help + The Samba software suite is a collection of programs that implements the + SMB protocol for unix systems, allowing you to serve files and printers to + Windows, NT, OS/2 and DOS clients. This protocol is sometimes also referred + to as the LanManager or Netbios protocol. + + http://www.samba.org/ + + This package contains a the samba password utility. + diff --git a/package/samba/Makefile b/package/samba/Makefile new file mode 100644 index 000000000..11be3043a --- /dev/null +++ b/package/samba/Makefile @@ -0,0 +1,69 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= samba +PKG_VERSION:= 3.3.4 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 1443165edb7cb3f56f1e77aec1ee3266 +MASTER_SITES:= ftp://se.samba.org/pub/samba/stable/ \ + ftp://ftp.easynet.be/samba/stable/ +WRKSRC= ${WRKDIST}/source + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,SAMBA,samba,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) +$(eval $(call PKG_template,SAMBA_CLIENT,samba-client,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) +$(eval $(call PKG_template,SAMBA_PASSWD,samba-passwd,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) + +CONFIGURE_STYLE:= gnu +TLDFLAGS+= -Wl,-rpath -Wl,/usr/lib/samba +CONFIGURE_ENV+= samba_cv_CC_NEGATIVE_ENUM_VALUES=no \ + samba_cv_USE_SETRESUID=no +ifeq ($(ADK_IPV6),y) +CONFIGURE_ENV+= libreplace_cv_HAVE_IPV6=yes +else +CONFIGURE_ENV+= libreplace_cv_HAVE_IPV6=no +endif +CONFIGURE_ARGS+= --libdir=/usr/lib/samba \ + --localstatedir=/var/log/samba \ + --with-configdir=/etc/samba \ + --with-lockdir=/var/run/samba \ + --with-privatedir=/etc/samba \ + --with-libiconv=/dev/null \ + --with-syslog \ + --without-winbind \ + --disable-cups \ + --disable-swat \ + --disable-avahi \ + --with-utmp=no \ + --with-ldap=no \ + --without-cluster-support \ + --without-sendfile-support +BUILD_STYLE:= auto +INSTALL_STYLE:= auto + +post-install: + ${INSTALL_DIR} ${IDIR_SAMBA}/etc/{init.d,samba} + ${INSTALL_DIR} ${IDIR_SAMBA}/usr/sbin + ${INSTALL_DIR} ${IDIR_SAMBA}/usr/lib/samba + ${INSTALL_DIR} ${IDIR_SAMBA}/usr/lib/samba/{charset,vfs} + ${INSTALL_DATA} ${WRKINST}/usr/lib/samba/charset/CP850.so \ + ${IDIR_SAMBA}/usr/lib/samba/charset + ${INSTALL_DATA} ./files/samba.init ${IDIR_SAMBA}/etc/init.d/samba + ${INSTALL_DATA} ./files/smb.conf ${IDIR_SAMBA}/etc/samba/ + ${INSTALL_BIN} ${WRKINST}/usr/sbin/{nmbd,smbd} ${IDIR_SAMBA}/usr/sbin + ${CP} ${WRKINST}/usr/lib/samba/*.so* ${IDIR_SAMBA}/usr/lib/samba + ${CP} ${WRKINST}/usr/lib/samba/vfs/*.so* ${IDIR_SAMBA}/usr/lib/samba/vfs + ${INSTALL_DATA} ${WRKINST}/usr/lib/samba/*.dat ${IDIR_SAMBA}/usr/lib/samba + ${INSTALL_DIR} ${IDIR_SAMBA_PASSWD}/usr/bin + ${INSTALL_BIN} ${WRKINST}/usr/bin/smbpasswd \ + ${IDIR_SAMBA_PASSWD}/usr/bin/ + ${INSTALL_DIR} ${IDIR_SAMBA_CLIENT}/usr/bin + ${INSTALL_BIN} ${WRKINST}/usr/bin/smbclient \ + ${IDIR_SAMBA_CLIENT}/usr/bin/ + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/samba/files/samba.init b/package/samba/files/samba.init new file mode 100644 index 000000000..94080f31a --- /dev/null +++ b/package/samba/files/samba.init @@ -0,0 +1,29 @@ +#!/bin/sh +#FWINIT 80 +. /etc/rc.conf + +case $1 in +autostop) ;; +autostart) + test x"$samba" = x"NO" && exit 0 + exec sh $0 start + ;; +start) + [ -d /var/run/samba ] || mkdir -p /var/run/samba + [ -d /var/log/samba ] || mkdir -p /var/log/samba + nmbd -D + smbd -D + ;; +stop) + killall nmbd + killall smbd + ;; +restart) + sh $0 stop + sh $0 start + ;; +*) + echo "usage: $0 {start | stop | restart}" + exit 1 +esac +exit $? diff --git a/package/samba/files/smb.conf b/package/samba/files/smb.conf new file mode 100644 index 000000000..1355c4fb5 --- /dev/null +++ b/package/samba/files/smb.conf @@ -0,0 +1,17 @@ +[global] + syslog = 1 + syslog only = yes + workgroup = OpenADK + server string = OpenADK Samba Server + security = share + encrypt passwords = yes + guest account = root + local master = yes + name resolve order = hosts bcast + pid directory = /var/run/samba + load printers = no + printcap name = /dev/null + unix charset = ASCII + dos charset = ASCII + display charset = ASCII + unix extensions = yes diff --git a/package/samba/ipkg/samba-client.control b/package/samba/ipkg/samba-client.control new file mode 100644 index 000000000..dcfe292b3 --- /dev/null +++ b/package/samba/ipkg/samba-client.control @@ -0,0 +1,4 @@ +Package: samba-client +Priority: optional +Section: net +Description: NetBIOS/SMB client diff --git a/package/samba/ipkg/samba-passwd.control b/package/samba/ipkg/samba-passwd.control new file mode 100644 index 000000000..2cba0a83e --- /dev/null +++ b/package/samba/ipkg/samba-passwd.control @@ -0,0 +1,4 @@ +Package: samba-passwd +Priority: optional +Section: net +Description: samba password utility diff --git a/package/samba/ipkg/samba.conffiles b/package/samba/ipkg/samba.conffiles new file mode 100644 index 000000000..5c10c50ad --- /dev/null +++ b/package/samba/ipkg/samba.conffiles @@ -0,0 +1 @@ +/etc/samba/smb.conf diff --git a/package/samba/ipkg/samba.control b/package/samba/ipkg/samba.control new file mode 100644 index 000000000..c1cf603c4 --- /dev/null +++ b/package/samba/ipkg/samba.control @@ -0,0 +1,5 @@ +Package: samba +Priority: optional +Section: net +Depends: libgcc +Description: NetBIOS/SMB file and print server diff --git a/package/samba/ipkg/samba.postinst b/package/samba/ipkg/samba.postinst new file mode 100644 index 000000000..b9f99e86b --- /dev/null +++ b/package/samba/ipkg/samba.postinst @@ -0,0 +1,3 @@ +#!/bin/sh +. $IPKG_INSTROOT/etc/functions.sh +add_rcconf samba samba NO diff --git a/package/samba/ipkg/swat.control b/package/samba/ipkg/swat.control new file mode 100644 index 000000000..318941467 --- /dev/null +++ b/package/samba/ipkg/swat.control @@ -0,0 +1,5 @@ +Package: swat +Priority: optional +Section: net +Depends: samba +Description: NetBIOS/SMB file and print server diff --git a/package/samba/ipkg/swat.postinst b/package/samba/ipkg/swat.postinst new file mode 100644 index 000000000..85c2d226e --- /dev/null +++ b/package/samba/ipkg/swat.postinst @@ -0,0 +1,6 @@ +#!/bin/sh +. $IPKG_INSTROOT/etc/functions.sh +add_service swat 901/tcp +grep -qe '^swat ' -e '^#swat ' $IPKG_INSTROOT/etc/inetd.conf 2>&- || \ + echo '#swat stream tcp nowait.400 root /usr/bin/swat swat' \ + >>$IPKG_INSTROOT/etc/inetd.conf diff --git a/package/samba/patches/patch-source_client_mtab_c b/package/samba/patches/patch-source_client_mtab_c new file mode 100644 index 000000000..7dedcd065 --- /dev/null +++ b/package/samba/patches/patch-source_client_mtab_c @@ -0,0 +1,11 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- samba-3.3.3.orig/source/client/mtab.c 2009-04-01 13:48:54.000000000 +0200 ++++ samba-3.3.3/source/client/mtab.c 2009-04-18 23:27:50.522604765 +0200 +@@ -32,6 +32,7 @@ + #include <errno.h> + #include <stdio.h> + #include <sys/time.h> ++#include <sys/stat.h> + #include <time.h> + #include <fcntl.h> + #include <mntent.h> diff --git a/package/samba/patches/patch-source_configure b/package/samba/patches/patch-source_configure new file mode 100644 index 000000000..c41ed21e7 --- /dev/null +++ b/package/samba/patches/patch-source_configure @@ -0,0 +1,198 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- samba-3.3.3.orig/source/configure 2009-04-01 14:19:36.000000000 +0200 ++++ samba-3.3.3/source/configure 2009-04-18 22:56:27.047962181 +0200 +@@ -44062,194 +44062,6 @@ fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + # +-# +-# +-case "$host_os" in +- *linux*) +- # glibc <= 2.3.2 has a broken getgrouplist +- if test "$cross_compiling" = yes; then +- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&5 +-$as_echo "$as_me: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; }; } +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-#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); +-} +- +-_ACEOF +-rm -f conftest$ac_exeext +-if { (ac_try="$ac_link" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_link") 2>&5 +- ac_status=$? +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- linux_getgrouplist_ok=yes +-else +- $as_echo "$as_me: program exited with status $ac_status" >&5 +-$as_echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-( exit $ac_status ) +-linux_getgrouplist_ok=no +-fi +-rm -rf conftest.dSYM +-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +-fi +- +- +- if test x"$linux_getgrouplist_ok" = x"yes"; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_GETGROUPLIST 1 +-_ACEOF +- +- fi +- ;; +- *) +- +-for ac_func in getgrouplist +-do +-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +-$as_echo_n "checking for $ac_func... " >&6; } +-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +- $as_echo_n "(cached) " >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. +- For example, HP-UX 11i <limits.h> declares gettimeofday. */ +-#define $ac_func innocuous_$ac_func +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char $ac_func (); below. +- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since +- <limits.h> exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include <limits.h> +-#else +-# include <assert.h> +-#endif +- +-#undef $ac_func +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char $ac_func (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined __stub_$ac_func || defined __stub___$ac_func +-choke me +-#endif +- +-int +-main () +-{ +-return $ac_func (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (ac_try="$ac_link" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_link") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { +- test -z "$ac_c_werror_flag" || +- test ! -s conftest.err +- } && test -s conftest$ac_exeext && { +- test "$cross_compiling" = yes || +- $as_test_x conftest$ac_exeext +- }; then +- eval "$as_ac_var=yes" +-else +- $as_echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- eval "$as_ac_var=no" +-fi +- +-rm -rf conftest.dSYM +-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-ac_res=`eval 'as_val=${'$as_ac_var'} +- $as_echo "$as_val"'` +- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } +-as_val=`eval 'as_val=${'$as_ac_var'} +- $as_echo "$as_val"'` +- if test "x$as_val" = x""yes; then +- cat >>confdefs.h <<_ACEOF +-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +-_ACEOF +- +-fi +-done +- +- ;; +-esac +- +-# + # stat64 family may need <sys/stat.h> on some systems, notably ReliantUNIX + # + diff --git a/package/samba/patches/patch-source_registry_reg_perfcount_c b/package/samba/patches/patch-source_registry_reg_perfcount_c new file mode 100644 index 000000000..a06b713d4 --- /dev/null +++ b/package/samba/patches/patch-source_registry_reg_perfcount_c @@ -0,0 +1,21 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- samba-3.3.4.orig/source/registry/reg_perfcount.c 2009-04-28 08:46:16.000000000 +0200 ++++ samba-3.3.4/source/registry/reg_perfcount.c 2009-05-10 23:52:42.000000000 +0200 +@@ -616,14 +616,14 @@ static bool _reg_perfcount_add_counter(P + obj = NULL; + memset(buf, 0, PERFCOUNT_MAX_LEN); + memcpy(buf, data.dptr, data.dsize); +- begin = index(buf, '['); +- end = index(buf, ']'); ++ begin = strchr(buf, '['); ++ end = strchr(buf, ']'); + if(begin == NULL || end == NULL) + return False; + start = begin+1; + + while(start < end) { +- stop = index(start, ','); ++ stop = strchr(start, ','); + if(stop == NULL) + stop = end; + *stop = '\0'; |