diff options
-rw-r--r-- | extra/samba/APKBUILD | 92 | ||||
-rw-r--r-- | extra/samba/samba.confd | 6 | ||||
-rw-r--r-- | extra/samba/samba.initd | 64 |
3 files changed, 162 insertions, 0 deletions
diff --git a/extra/samba/APKBUILD b/extra/samba/APKBUILD new file mode 100644 index 00000000..309c7a3b --- /dev/null +++ b/extra/samba/APKBUILD @@ -0,0 +1,92 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=samba +pkgver=3.2.8 +pkgrel=0 +pkgdesc="Tools to access a server's filespace and printers via SMB" +url="http://www.samba.org" +license="GPL3" +subpackages="$pkgname-dev $pkgname-doc winbind $pkgname-common + $pkgname-initscript" +depends="db popt ncurses uclibc samba-initscript" +makedepends="db-dev popt-dev ncurses-dev" +source="http://us1.$pkgname.org/$pkgname/ftp/stable/$pkgname-$pkgver.tar.gz + samba.initd + samba.confd + " + +build() { + cd "$srcdir"/$pkgname-$pkgver/source +# patch -Np2 -i "$srcdir"/no-clients.patch || return 1 + ./configure --prefix=/usr \ + --sysconfdir=/etc/samba \ + --with-configdir=/etc/samba \ + --libdir=/usr/lib/samba \ + --localstatedir=/var \ + --with-fhs \ + --with-lockdir=/var/cache/samba \ + --with-piddir=/var/run/samba \ + --with-logfilebase=/var/log/samba \ + --without-pam \ + --without-ads \ + --with-libsmbclient \ + --disable-nss-wrapper \ + --disable-dnssd \ + --disable-swat + make proto || return 1 + make everything || return 1 + make DESTDIR="$pkgdir" install + + install -d "$pkgdir"/var/log/samba \ + "$pkgdir"/usr/share/doc/samba + cd "$srcdir"/$pkgname-$pkgver + cp -r examples "pkgdir"/usr/share/doc/samba/ + install -D packaging/RHEL/setup/smbusers "$pkgdir"/etc/samba/smbusers +} + +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 +} + +winbind() { + pkgdesc="Samba user and group resolver" + depends="uclibc samba-common popt samba-initscript" + cd "$pkgdir" + _mv_files \ + usr/bin/wbinfo \ + usr/bin/ntlm_auth \ + usr/sbin/winbindd \ + usr/lib/samba/idmap \ + usr/lib/samba/libwbclient* +} + +common() { + pkgdesc="Samba common files for both client an servers" + depends="uclibc popt" + cd "$pkgdir" + _mv_files \ + usr/bin/net \ + usr/bin/nmblookup \ + usr/bin/smbpasswd \ + usr/bin/testparm \ + usr/lib/samba/*.dat \ + usr/lib/samba/libtalloc* \ + usr/lib/samba/libtdb* \ + var/run/samba \ + var/cache/samba \ + var/log/samba +} + +md5sums="06efd6e6cc4aac628a1a0b082e4be0f2 samba-3.2.8.tar.gz +587c1c4824ef5b0ac593fcf8ec8fec78 samba.initd +c150433426e18261e6e3eed3930e1a76 samba.confd" diff --git a/extra/samba/samba.confd b/extra/samba/samba.confd new file mode 100644 index 00000000..3788c3c1 --- /dev/null +++ b/extra/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/extra/samba/samba.initd b/extra/samba/samba.initd new file mode 100644 index 00000000..45d9ef00 --- /dev/null +++ b/extra/samba/samba.initd @@ -0,0 +1,64 @@ +#!/sbin/runscript + +opts="reload" + +DAEMON=${SVCNAME#samba.} +if [ "$DAEMON" != "samba" ]; then + daemon_list=$DAEMON +fi + +depend() { + need net +} + +start_smbd() { + start-stop-daemon --start --quiet --exec /usr/sbin/smbd -- \ + ${smbd_options:-D} +} + +stop_smbd() { + start-stop-daemon --stop --quiet --pidfie /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 --pidfie /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 --oknodo --exec /usr/sbin/winbindd +} + +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 +} + |