aboutsummaryrefslogtreecommitdiffstats
path: root/testing/samba
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-08-13 10:02:09 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-08-13 15:01:41 +0000
commitd4e5bf54c9974e5ad47ca34821e40ca11820b465 (patch)
treed5be19463c08b0a0afef582d9a655bc845c096d4 /testing/samba
parentac054af1fe0687ac5b92a12f28445beca08f824f (diff)
downloadaports-d4e5bf54c9974e5ad47ca34821e40ca11820b465.tar.bz2
aports-d4e5bf54c9974e5ad47ca34821e40ca11820b465.tar.xz
testing/samba: test samba4
Diffstat (limited to 'testing/samba')
-rw-r--r--testing/samba/APKBUILD275
-rw-r--r--testing/samba/ld_library_path.patch18
-rw-r--r--testing/samba/samba.confd6
-rw-r--r--testing/samba/samba.initd65
-rw-r--r--testing/samba/samba.logrotate9
-rw-r--r--testing/samba/winbind.post-install6
l---------testing/samba/winbind.post-upgrade1
-rw-r--r--testing/samba/winbind.pre-install5
l---------testing/samba/winbind.pre-upgrade1
9 files changed, 386 insertions, 0 deletions
diff --git a/testing/samba/APKBUILD b/testing/samba/APKBUILD
new file mode 100644
index 0000000000..63c5592b10
--- /dev/null
+++ b/testing/samba/APKBUILD
@@ -0,0 +1,275 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=samba
+pkgver=4.0.8
+pkgrel=0
+pkgdesc="Tools to access a server's filespace and printers via SMB"
+url="http://www.samba.org"
+arch="all"
+license="GPL3"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-common $pkgname-initscript
+ libsmbclient $pkgname-client
+ $pkgname-dc $pkgname-dc-libs:_dc_libs
+ $pkgname-winbind libwbclient $pkgname-winbind-clients:_winbind_clients
+ $pkgname-winbind-krb5-locator:_winbind_krb5_locator
+ $pkgname-pidl py-$pkgname:_py $pkgname-test:_test
+ $pkgname-libs"
+depends="$pkgname-initscript $pkgname-client"
+makedepends="popt-dev ncurses-dev openldap-dev heimdal-dev e2fsprogs-dev
+ libiconv-dev talloc-dev tdb-dev ldb-dev cups-dev python-dev libcap-dev"
+source="http://us1.samba.org/samba/ftp/stable/samba-$pkgver.tar.gz
+ samba.initd
+ samba.confd
+ samba.logrotate
+ "
+pkggroups="winbind"
+
+_builddir="$srcdir"/samba-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ local _jobs=$JOBS
+ if [ -z "$_jobs" ]; then
+ _jobs=$(awk '/^core id/ {n++} END{print n}' /proc/cpuinfo)
+ fi
+ ./configure --prefix=/usr \
+ --jobs=${_jobs:-2} \
+ --sysconfdir=/etc/samba \
+ --with-configdir=/etc/samba \
+ --localstatedir=/var \
+ --enable-fhs \
+ --with-lockdir=/var/cache/samba \
+ --with-piddir=/var/run/samba \
+ --with-logfilebase=/var/log/samba \
+ --without-pam \
+ --with-ads \
+ --with-shared-modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2,pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4,auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 \
+ --enable-cups \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir"/var/log/samba \
+ "$pkgdir"/usr/share/doc/samba \
+ || return 1
+ install -D packaging/RHEL/setup/smbusers "$pkgdir"/etc/samba/smbusers \
+ || return 1
+ install -m 0744 packaging/printing/smbprint "$pkgdir"/usr/bin/smbprint \
+ || return 1
+ install -Dm644 "$srcdir"/samba.logrotate "$pkgdir"/etc/logrotate.d/samba
+}
+
+initscript() {
+ pkgdesc="Init script for Samba"
+ depends=""
+ install -Dm755 $srcdir/samba.initd "$subpkgdir"/etc/init.d/samba
+ install -Dm644 $srcdir/samba.confd "$subpkgdir"/etc/conf.d/samba
+}
+
+_mv_files() {
+ local i
+ for i in "$@"; do
+ mkdir -p "$subpkgdir"/${i%/*}
+ mv "$pkgdir"/$i "$subpkgdir"/$i || return 1
+ done
+}
+
+common() {
+ pkgdesc="Samba common files for both client an servers"
+ depends=
+ # we have moved libnetapi to samba-common
+ replaces="winbind samba"
+ cd "$pkgdir"
+ _mv_files \
+ usr/bin/net \
+ usr/bin/pdbedit \
+ usr/bin/profiles \
+ usr/bin/smbcontrol \
+ usr/bin/testparm \
+ usr/share/samba/codepages \
+ usr/lib/libnetapi.so.* \
+ var/run/samba \
+ var/cache/samba \
+ var/log/samba \
+ || return 1
+ install -d -m 700 "$subpkgdir"/var/lib/samba/private
+}
+
+libsmbclient() {
+ pkgdesc="The SMB client library"
+ replaces="samba"
+ depends=
+ cd "$pkgdir"
+ _mv_files \
+ usr/lib/libsmbclient.so.* \
+ usr/lib/libsmbsharemodes.so.* \
+ || return 1
+}
+
+client() {
+ pkgdesc="Samba client program"
+ replaces="samba"
+ depends=
+ cd "$pkgdir"
+ _mv_files \
+ usr/bin/cifsdd \
+ usr/bin/dbwrap_tool \
+ usr/bin/nmblookup \
+ usr/bin/nmblookup4 \
+ usr/bin/oLschema2ldif \
+ usr/bin/regdiff \
+ usr/bin/regpatch \
+ usr/bin/regshell \
+ usr/bin/regtree \
+ usr/bin/rpcclient \
+ usr/bin/sharesec \
+ usr/bin/smbcacls \
+ usr/bin/smbclient \
+ usr/bin/smbclient4 \
+ usr/bin/smbcquotas \
+ usr/bin/smbget \
+ usr/bin/smbpasswd \
+ usr/bin/smbprint \
+ usr/bin/smbspool \
+ usr/bin/smbta-util \
+ usr/bin/smbtar \
+ usr/bin/smbtree \
+ || return 1
+}
+
+dc() {
+ pkgdesc="Samba AD Domain Controller"
+ cd "$pkgdir"
+ _mv_files \
+ usr/bin/samba-tool \
+ usr/sbin/samba* \
+ usr/lib/samba/ldb \
+ usr/lib/samba/libheimntlm*.so.* \
+ usr/lib/samba/libpac.so \
+ usr/lib/samba/gensec \
+ usr/lib/samba/bind9/dlz_bind9.so \
+ usr/lib/mit_samba.so \
+ || return 1
+ install -d -m 0755 "$subpkgdir"/var/lib/samba/sysvol || return 1
+}
+
+_dc_libs() {
+ pkgdesc="Samba AD Domain Controller libraries"
+ cd "$pkgdir"
+ _mv_files \
+ usr/lib/samba/bind9/dlz_bind9_9.so \
+ usr/lib/samba/libprocess_model.so \
+ usr/lib/samba/libservice.so \
+ usr/lib/samba/service \
+ usr/lib/samba/libdsdb-module.so \
+ usr/lib/samba/libntvfs.so \
+ usr/lib/samba/libposix_eadb.so \
+ usr/lib/libdcerpc-server.so.* \
+ || return 1
+}
+
+winbind() {
+ pkgdesc="Samba user and group resolver"
+ depends=
+ install="winbind.pre-install winbind.pre-upgrade winbind.post-install
+ winbind.post-upgrade"
+ replaces="winbind"
+ cd "$pkgdir"
+ _mv_files \
+ usr/sbin/winbindd \
+ usr/lib/samba/idmap \
+ usr/lib/samba/nss_info \
+ usr/lib/samba/libidmap.so \
+ || return 1
+ install -d -g winbind -m 750 \
+ "$subpkgdir"/var/cache/samba/winbindd_privileged
+}
+
+libwbclient() {
+ pkgdesc="Samba winbind client libraries"
+ # we have moved libwbclient from samba-common
+ replaces="samba-common winbind"
+ cd "$pkgdir"
+ _mv_files \
+ usr/lib/libwbclient.so.* \
+ usr/lib/samba/libwinbind-client.so \
+ || return 1
+}
+
+_winbind_clients() {
+ pkgdesc="Samba winbind clients"
+ replaces="winbind"
+ cd "$pkgdir"
+ _mv_files \
+ usr/bin/ntlm_auth \
+ usr/bin/wbinfo \
+ usr/lib/libnss_winbind.so* \
+ usr/lib/libnss_wins.so* \
+ || return 1
+}
+
+_winbind_krb5_locator() {
+ pkgdesc="Samba winbind krb5 locator"
+ cd "$pkgdir"
+ _mv_files \
+ usr/lib/winbind_krb5_locator.so \
+ || return 1
+}
+
+pidl() {
+ pkgdesc="Perl IDL compiler"
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/perl* "$subpkgdir"/usr/share/
+}
+
+_py() {
+ pkgdesc="Samba python libraries"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
+}
+
+_test() {
+ pkgdesc="Samba server and client testing tools"
+ mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib/samba
+ mv "$pkgdir"/usr/bin/*test \
+ "$pkgdir"/usr/bin/ndrdump \
+ "$pkgdir"/usr/bin/smbtorture \
+ "$subpkgdir"/usr/bin/ || return 1
+ mv "$pkgdir"/usr/lib/libtorture.so.* \
+ "$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/usr/lib/samba/*torture* \
+ "$subpkgdir"/usr/lib/samba/ || return 1
+}
+
+libs() {
+ pkgdesc="Samba libraries"
+ cd "$pkgdir"
+ _mv_files \
+ usr/lib/lib*.so.* \
+ usr/lib/samba/lib* \
+ || return 1
+}
+
+md5sums="03819bc1132e417feac1b39299365b73 samba-4.0.8.tar.gz
+044c756d3c33c2d610c40bcd76cfb75c samba.initd
+c150433426e18261e6e3eed3930e1a76 samba.confd
+b7cafabfb4fa5b3ab5f2e857d8d1c733 samba.logrotate"
+sha256sums="5c6d4ff8249ad4377dc2e854de6744ce0058d1ff28ece6008f5152e922993a88 samba-4.0.8.tar.gz
+86646cb845aababd9e8655994379526f03327a2cc33b489c3a7dea83ab689c8f samba.initd
+1d12f98a7727967b04eb123109b34cfffef320822dc0e8059286b6e3394c3fc0 samba.confd
+4c2b7d529126b2fc4f62fb09d99e49a87632d723a2d9d289a61e37dd84145be1 samba.logrotate"
+sha512sums="0c6a84430a425d1a7299ed4587748ed0b527cb5fd48b227613649bf72737128a071fa19d77cf9c1203ad5b950e922a0a1517536c3672ee2c21f5aae58f6c310b samba-4.0.8.tar.gz
+59d05252b8ebbe6ba6a419edc86b66b9541d0bac9dbe810cccb20e64f6044e2900cc6c0979e077741ed00fbbf2d51f9184c83715013299782707b44e39aa99b1 samba.initd
+4faf581ecef3ec38319e3c4ab6d3995c51fd7ba83180dc5553a2ff4dfb92efadb43030c543292130c4ed0c281dc0972c6973d52d48062c5edb39bb1c4bbb6dd6 samba.confd
+f88ebe59ca3a9e9b77dd5993c13ef3e73a838efb8ed858088b464a330132d662f33e25c27819e38835389dee23057a3951de11bae1eef55db8ff5e1ec6760053 samba.logrotate"
diff --git a/testing/samba/ld_library_path.patch b/testing/samba/ld_library_path.patch
new file mode 100644
index 0000000000..2f0b8b981f
--- /dev/null
+++ b/testing/samba/ld_library_path.patch
@@ -0,0 +1,18 @@
+uclibc dpes not seem to handle a leading ':' in LD_LIBRARY_PATH.
+Eg. LD_LIBRARY_PATH=":/path"
+
+--- ./buildtools/wafsamba/samba_utils.py.orig 2013-08-01 13:16:13.425790642 +0000
++++ ./buildtools/wafsamba/samba_utils.py 2013-08-01 13:17:52.063543307 +0000
+@@ -54,10 +54,9 @@
+ def ADD_LD_LIBRARY_PATH(path):
+ '''add something to LD_LIBRARY_PATH'''
+ if 'LD_LIBRARY_PATH' in os.environ:
+- oldpath = os.environ['LD_LIBRARY_PATH']
++ newpath = os.environ['LD_LIBRARY_PATH'].split(':')
+ else:
+- oldpath = ''
+- newpath = oldpath.split(':')
++ newpath = []
+ if not path in newpath:
+ newpath.append(path)
+ os.environ['LD_LIBRARY_PATH'] = ':'.join(newpath)
diff --git a/testing/samba/samba.confd b/testing/samba/samba.confd
new file mode 100644
index 0000000000..3788c3c173
--- /dev/null
+++ b/testing/samba/samba.confd
@@ -0,0 +1,6 @@
+# add "winbindd" to daemon_list if you want start winbind from here as well
+daemon_list="smbd nmbd"
+
+smbd_options="-D"
+nmbd_options="-D"
+#winbindd_options=""
diff --git a/testing/samba/samba.initd b/testing/samba/samba.initd
new file mode 100644
index 0000000000..c352f4304f
--- /dev/null
+++ b/testing/samba/samba.initd
@@ -0,0 +1,65 @@
+#!/sbin/runscript
+
+extra_started_commands="reload"
+
+DAEMON=${SVCNAME#samba.}
+if [ "$DAEMON" != "samba" ]; then
+ daemon_list=$DAEMON
+fi
+
+depend() {
+ need net
+ after firewall
+}
+
+start_smbd() {
+ start-stop-daemon --start --quiet --exec /usr/sbin/smbd -- \
+ ${smbd_options:-"-D"}
+}
+
+stop_smbd() {
+ start-stop-daemon --stop --quiet --pidfile /var/run/samba/smbd.pid
+}
+
+start_nmbd() {
+ start-stop-daemon --start --quiet --exec /usr/sbin/nmbd -- \
+ ${nmbd_options:-"-D"}
+}
+
+stop_nmbd() {
+ start-stop-daemon --stop --quiet --pidfile /var/run/samba/nmbd.pid
+}
+
+start_winbindd() {
+ start-stop-daemon --start --quiet --exec /usr/sbin/winbindd -- \
+ $winbindd_options
+}
+
+stop_winbindd() {
+ start-stop-daemon --stop --quiet --pidfile /var/run/samba/winbindd.pid
+}
+
+start() {
+ for i in $daemon_list; do
+ ebegin "Starting $i"
+ start_$i
+ eend $?
+ done
+}
+
+stop() {
+ for i in $daemon_list; do
+ ebegin "Stopping $i"
+ stop_$i
+ eend $?
+ done
+}
+
+reload() {
+ for i in $daemon_list; do
+ ebegin "Reloading $i"
+ killall -HUP $i
+ eend $?
+ done
+}
+
diff --git a/testing/samba/samba.logrotate b/testing/samba/samba.logrotate
new file mode 100644
index 0000000000..bf957bd747
--- /dev/null
+++ b/testing/samba/samba.logrotate
@@ -0,0 +1,9 @@
+/var/log/samba/log.* /var/log/samba/*.log {
+ notifempty
+ missingok
+ sharedscripts
+ copytruncate
+ postrotate
+ /bin/kill -HUP `cat /var/run/samba/*.pid 2>/dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/testing/samba/winbind.post-install b/testing/samba/winbind.post-install
new file mode 100644
index 0000000000..59abe0ff92
--- /dev/null
+++ b/testing/samba/winbind.post-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+chgrp winbind /var/cache/samba/winbindd_privileged
+chmod 750 /var/cache/samba/winbindd_privileged
+exit 0
+
diff --git a/testing/samba/winbind.post-upgrade b/testing/samba/winbind.post-upgrade
new file mode 120000
index 0000000000..398738a5e3
--- /dev/null
+++ b/testing/samba/winbind.post-upgrade
@@ -0,0 +1 @@
+winbind.post-install \ No newline at end of file
diff --git a/testing/samba/winbind.pre-install b/testing/samba/winbind.pre-install
new file mode 100644
index 0000000000..792e73a803
--- /dev/null
+++ b/testing/samba/winbind.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup winbind 2>/dev/null
+
+exit 0
diff --git a/testing/samba/winbind.pre-upgrade b/testing/samba/winbind.pre-upgrade
new file mode 120000
index 0000000000..b511f9595e
--- /dev/null
+++ b/testing/samba/winbind.pre-upgrade
@@ -0,0 +1 @@
+winbind.pre-install \ No newline at end of file