diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-13 10:02:09 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-13 15:01:41 +0000 |
commit | d4e5bf54c9974e5ad47ca34821e40ca11820b465 (patch) | |
tree | d5be19463c08b0a0afef582d9a655bc845c096d4 /testing | |
parent | ac054af1fe0687ac5b92a12f28445beca08f824f (diff) | |
download | aports-d4e5bf54c9974e5ad47ca34821e40ca11820b465.tar.bz2 aports-d4e5bf54c9974e5ad47ca34821e40ca11820b465.tar.xz |
testing/samba: test samba4
Diffstat (limited to 'testing')
-rw-r--r-- | testing/samba/APKBUILD | 275 | ||||
-rw-r--r-- | testing/samba/ld_library_path.patch | 18 | ||||
-rw-r--r-- | testing/samba/samba.confd | 6 | ||||
-rw-r--r-- | testing/samba/samba.initd | 65 | ||||
-rw-r--r-- | testing/samba/samba.logrotate | 9 | ||||
-rw-r--r-- | testing/samba/winbind.post-install | 6 | ||||
l--------- | testing/samba/winbind.post-upgrade | 1 | ||||
-rw-r--r-- | testing/samba/winbind.pre-install | 5 | ||||
l--------- | testing/samba/winbind.pre-upgrade | 1 |
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 |