mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
added extra/samba
This commit is contained in:
parent
fab26b2865
commit
936e1bdadc
12 changed files with 307 additions and 0 deletions
203
extra/samba/PKGBUILD
Normal file
203
extra/samba/PKGBUILD
Normal file
|
@ -0,0 +1,203 @@
|
|||
|
||||
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
|
||||
# Contributor: judd <jvinet@zeroflux.org>
|
||||
# Contributor: Michael Hansen <zrax0111 gmail com>
|
||||
# Contributor: Marco A Rojas <marquicus at gmail.com>
|
||||
# Contributor: Netanel Shine <netanel at archlinux.org.il >
|
||||
# Contributor: ngoonee <ngoonee.talk@gmail.com>
|
||||
# Contributor: Adam Russell <adamlr6+arch@gmail.com>
|
||||
# Contributor: Dhananjay Sathe <dhananjaysathe@gmail.com>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - remove makedepend on ceph-libs, remove depend on ceph-libs in samba package
|
||||
|
||||
pkgbase=samba
|
||||
pkgname=('smbclient' 'samba')
|
||||
pkgver=4.12.1
|
||||
pkgrel=1
|
||||
arch=(x86_64)
|
||||
url="https://www.samba.org"
|
||||
license=('GPL3')
|
||||
makedepends=('python' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups'
|
||||
'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb' 'krb5' 'pam'
|
||||
'systemd' 'gnutls' 'talloc' 'tdb' 'dbus' 'libaio'
|
||||
'perl-parse-yapp' 'libnsl' 'libtirpc' 'rpcsvc-proto' 'jansson')
|
||||
optdepends=(
|
||||
'python-dnspython: samba_dnsupdate and samba_upgradedns in AD setup'
|
||||
)
|
||||
source=(https://us1.samba.org/samba/ftp/stable/${pkgbase}-${pkgver}.tar{.gz,.asc}
|
||||
samba.logrotate
|
||||
samba.pam
|
||||
samba.conf)
|
||||
validpgpkeys=('52FBC0B86D954B0843324CDC6F33915B6568B7EA') #Samba Distribution Verification Key <samba-bugs@samba.org>
|
||||
sha512sums=('2645f72dcc4718bd2e85af73a54b3e6d0ca9e11bd6991a47a6c17a8b89b69f294a0875ef9762dde28a25d1ff030e0e2d0e073a6993e2df0d6b17e75b72d1cd26'
|
||||
'SKIP'
|
||||
'2ba0691ded467e4d6e40821f6de58c00f8962209efe2e60284c0c87756ab471c22c3d63b77d506e48c90ed0d852a2a24e41be1d499cf74a73cb99da0b503c858'
|
||||
'1e6183ab0eb812b3ef687ac2c26ce78f7cb30540f606d20023669ac00ba04075487fb72e4dc89cc05dab0269ff6aca98fc1167cc75669c225b88b592482fbf67'
|
||||
'e46ee848baabb261e7468ecee43aba4d001a24f86f5322ae522abdb75030fd0ebd9063b9df0be3576c4d1654d81331f5e389aee16ec2fa138259ae4728e94efc')
|
||||
### UNINSTALL dmapi package before building!!!
|
||||
|
||||
build() {
|
||||
# Use samba-pkg as a staging directory for the split packages
|
||||
# (This is so RPATHS and symlinks are generated correctly via
|
||||
# make install, but the otherwise unsplit pieces can be split)
|
||||
_pkgsrc="${srcdir}"/samba-pkg
|
||||
rm -rf ${_pkgsrc}
|
||||
_samba4_idmap_modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2
|
||||
_samba4_pdb_modules=pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4
|
||||
_samba4_auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4
|
||||
cd samba-${pkgver}
|
||||
./configure --enable-fhs \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--sbindir=/usr/bin \
|
||||
--libdir=/usr/lib \
|
||||
--libexecdir=/usr/lib/samba \
|
||||
--localstatedir=/var \
|
||||
--with-configdir=/etc/samba \
|
||||
--with-lockdir=/var/cache/samba \
|
||||
--with-sockets-dir=/run/samba \
|
||||
--with-piddir=/run \
|
||||
--with-ads \
|
||||
--with-ldap \
|
||||
--with-winbind \
|
||||
--with-acl-support \
|
||||
--with-systemd \
|
||||
--systemd-install-services \
|
||||
--with-pam \
|
||||
--with-pammodulesdir=/usr/lib/security \
|
||||
--bundled-libraries=!tdb,!talloc,!pytalloc-util,!tevent,!popt,!ldb,!pyldb-util \
|
||||
--with-shared-modules=${_samba4_idmap_modules},${_samba4_pdb_modules},${_samba4_auth_modules} \
|
||||
--disable-rpath-install \
|
||||
--with-cluster-support \
|
||||
--with-system-mitkrb5 \
|
||||
--with-experimental-mit-ad-dc \
|
||||
--with-profiling-data
|
||||
|
||||
# Add this to the options once it's working...
|
||||
#--with-system-mitkrb5 /opt/heimdal
|
||||
make
|
||||
make DESTDIR="${_pkgsrc}/" install
|
||||
|
||||
# This gets skipped somehow
|
||||
if [ ! -e "${_pkgsrc}"/usr/bin/smbtar ]; then
|
||||
install -m755 "${srcdir}"/samba-${pkgver}/source3/script/smbtar "${_pkgsrc}"/usr/bin/
|
||||
fi
|
||||
}
|
||||
|
||||
package_smbclient() {
|
||||
pkgdesc="Tools to access a server's filespace and printers via SMB"
|
||||
depends=('popt' 'cifs-utils' 'tdb' 'ldb'
|
||||
'tevent' 'libgcrypt' 'python' 'talloc' 'readline' 'gnutls'
|
||||
'libbsd' 'libldap' 'libcups' 'libarchive' 'libnsl' 'jansson'
|
||||
'libldb.so' 'libtdb.so' 'libtevent.so' 'libreadline.so')
|
||||
replaces=('libwbclient')
|
||||
provides=('libwbclient')
|
||||
|
||||
_smbclient_bins=('smbclient' 'rpcclient' 'smbspool'
|
||||
'smbtree' 'smbcacls' 'smbcquotas' 'smbget' 'net'
|
||||
'nmblookup' 'smbtar')
|
||||
# Use samba-pkg as a staging directory for the split packages
|
||||
# (This is so RPATHS and symlinks are generated correctly via
|
||||
# make install, but the otherwise unsplit pieces can be split)
|
||||
_pkgsrc="${srcdir}"/samba-pkg
|
||||
install -d -m755 "${pkgdir}"/usr/bin
|
||||
for bin in ${_smbclient_bins[@]}; do
|
||||
mv "${_pkgsrc}"/usr/bin/${bin} "${pkgdir}"/usr/bin/
|
||||
done
|
||||
|
||||
# smbclient binaries link to the majority of the samba
|
||||
# libs, so this is a shortcut instead of resolving the
|
||||
# whole dependency tree by hand
|
||||
install -d -m755 "${pkgdir}"/usr/lib
|
||||
for lib in "${_pkgsrc}"/usr/lib/lib*.so*; do
|
||||
mv ${lib} "${pkgdir}"/usr/lib/
|
||||
done
|
||||
|
||||
install -d -m755 "${pkgdir}"/usr/lib/samba
|
||||
for lib in "${_pkgsrc}"/usr/lib/samba/lib*.so*; do
|
||||
mv ${lib} "${pkgdir}"/usr/lib/samba/
|
||||
done
|
||||
|
||||
install -d -m755 "${pkgdir}"/usr/lib/pkgconfig
|
||||
mv "${_pkgsrc}"/usr/lib/pkgconfig/smbclient.pc "${pkgdir}"/usr/lib/pkgconfig/
|
||||
mv "${_pkgsrc}"/usr/lib/pkgconfig/netapi.pc "${pkgdir}"/usr/lib/pkgconfig/
|
||||
mv "${_pkgsrc}"/usr/lib/pkgconfig/wbclient.pc "${pkgdir}"/usr/lib/pkgconfig/
|
||||
|
||||
install -d -m755 "${pkgdir}"/usr/share/man/man1
|
||||
install -d -m755 "${pkgdir}"/usr/share/man/man7
|
||||
install -d -m755 "${pkgdir}"/usr/share/man/man8
|
||||
for bin in ${_smbclient_bins[@]}; do
|
||||
if [ -e "${_pkgsrc}"/usr/share/man/man1/${bin}.1 ]; then
|
||||
mv "${_pkgsrc}"/usr/share/man/man1/${bin}.1 "${pkgdir}"/usr/share/man/man1/
|
||||
fi
|
||||
if [ -e "${_pkgsrc}"/usr/share/man/man8/${bin}.8 ]; then
|
||||
mv "${_pkgsrc}"/usr/share/man/man8/${bin}.8 "${pkgdir}"/usr/share/man/man8/
|
||||
fi
|
||||
done
|
||||
mv "${_pkgsrc}"/usr/share/man/man7/libsmbclient.7 "${pkgdir}"/usr/share/man/man7/
|
||||
|
||||
install -d -m755 "${pkgdir}"/usr/include/samba-4.0
|
||||
mv "${_pkgsrc}"/usr/include/samba-4.0/libsmbclient.h "${pkgdir}"/usr/include/samba-4.0/
|
||||
mv "${_pkgsrc}"/usr/include/samba-4.0/netapi.h "${pkgdir}"/usr/include/samba-4.0/
|
||||
mv "${_pkgsrc}"/usr/include/samba-4.0/wbclient.h "${pkgdir}"/usr/include/samba-4.0/
|
||||
|
||||
mkdir -p "${pkgdir}"/usr/lib/cups/backend
|
||||
ln -sf /usr/bin/smbspool "${pkgdir}"/usr/lib/cups/backend/smb
|
||||
}
|
||||
|
||||
package_samba() {
|
||||
pkgdesc="SMB Fileserver and AD Domain server"
|
||||
depends=('db>=4.7' 'popt' 'libcups' 'libcap>=2.16' 'gnutls>=2.4.1'
|
||||
'talloc' 'ldb' 'libbsd' 'python' 'iniparser' 'tdb' 'libaio' 'perl-parse-yapp' "smbclient>=$pkgver" 'gpgme'
|
||||
'libldb.so' 'libtdb.so' 'libtevent.so')
|
||||
backup=(etc/logrotate.d/samba
|
||||
etc/pam.d/samba
|
||||
etc/conf.d/samba)
|
||||
install=samba.install
|
||||
# Use samba-pkg as a staging directory for the split packages
|
||||
# (This is so RPATHS and symlinks are generated correctly via
|
||||
# make install, but the otherwise unsplit pieces can be split)
|
||||
_pkgsrc="${srcdir}"/samba-pkg
|
||||
# Everything that libwbclient and smbclient didn't install goes
|
||||
# into the samba package...
|
||||
mv "${_pkgsrc}"/* "${pkgdir}"
|
||||
rmdir "${_pkgsrc}"
|
||||
|
||||
# Make admin scripts look in the right place for the samba python module
|
||||
for script in bin/samba_dnsupdate bin/samba_kcc bin/samba_spnupdate \
|
||||
bin/samba_upgradedns bin/samba-tool
|
||||
do
|
||||
sed -i "/^sys\.path\.insert/ a\
|
||||
sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \
|
||||
"${pkgdir}"/usr/${script}
|
||||
done
|
||||
|
||||
# packaging/wscript_build to use /etc/conf.d
|
||||
sed -i -e '/^EnvironmentFile/ s/sysconfig/conf.d/' "${pkgdir}"/usr/lib/systemd/system/*.service
|
||||
install -d -m755 "${pkgdir}"/etc/conf.d
|
||||
install -m644 "${srcdir}"/samba-${pkgver}/packaging/systemd/samba.sysconfig "${pkgdir}"/etc/conf.d/samba
|
||||
|
||||
# create ephemeral dirs via tmpfiles rather than shipping them in package
|
||||
install -D -m644 "${srcdir}"/samba.conf "${pkgdir}"/usr/lib/tmpfiles.d/samba.conf
|
||||
# create config dir
|
||||
install -d -m755 "${pkgdir}"/etc/samba
|
||||
|
||||
mkdir -p "${pkgdir}"/etc/samba/private
|
||||
chmod 700 "${pkgdir}"/etc/samba/private
|
||||
|
||||
install -D -m644 "${srcdir}"/samba.logrotate "${pkgdir}"/etc/logrotate.d/samba
|
||||
install -D -m644 "${srcdir}"/samba.pam "${pkgdir}"/etc/pam.d/samba
|
||||
|
||||
# spool directory
|
||||
install -d -m1777 "${pkgdir}"/var/spool/samba
|
||||
|
||||
rm -rf "${pkgdir}"/run
|
||||
rm -rf "${pkgdir}"/var/run
|
||||
rm -rf "${pkgdir}"/etc/sysconfig
|
||||
|
||||
# copy ldap example
|
||||
install -D -m644 "${srcdir}"/samba-${pkgver}/examples/LDAP/samba.schema "${pkgdir}"/usr/share/doc/samba/examples/LDAP/samba.schema
|
||||
}
|
||||
|
||||
# vim: ts=2 sw=2 et:
|
12
extra/samba/nmbd.service
Normal file
12
extra/samba/nmbd.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Samba NetBIOS name server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/nmbd.pid
|
||||
ExecStart=/usr/bin/nmbd -D
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
2
extra/samba/samba.conf
Normal file
2
extra/samba/samba.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
D /run/samba 0755 - - -
|
||||
d /var/log/samba 0755 - - -
|
18
extra/samba/samba.conf.d
Normal file
18
extra/samba/samba.conf.d
Normal file
|
@ -0,0 +1,18 @@
|
|||
## Path: Network/Samba
|
||||
## Description: Samba process options
|
||||
## Type: string
|
||||
## Default: ""
|
||||
## ServiceRestart: samba
|
||||
SAMBAOPTIONS=""
|
||||
## Type: string
|
||||
## Default: ""
|
||||
## ServiceRestart: smb
|
||||
SMBDOPTIONS=""
|
||||
## Type: string
|
||||
## Default: ""
|
||||
## ServiceRestart: nmb
|
||||
NMBDOPTIONS=""
|
||||
## Type: string
|
||||
## Default: ""
|
||||
## ServiceRestart: winbind
|
||||
WINBINDOPTIONS=""
|
10
extra/samba/samba.install
Normal file
10
extra/samba/samba.install
Normal file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
post_upgrade() {
|
||||
if [ "$(vercmp $2 4.0.4)" -lt 0 ]; then
|
||||
echo "Major upgrade from samba 3.x to 4.x,"
|
||||
echo "please read the Samba4 migration guide:"
|
||||
echo "http://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO"
|
||||
fi
|
||||
}
|
||||
# vim:set ts=2 sw=2 et:
|
5
extra/samba/samba.logrotate
Normal file
5
extra/samba/samba.logrotate
Normal file
|
@ -0,0 +1,5 @@
|
|||
/var/log/samba/log.smbd /var/log/samba/log.nmbd /var/log/samba/*.log {
|
||||
notifempty
|
||||
missingok
|
||||
copytruncate
|
||||
}
|
3
extra/samba/samba.pam
Normal file
3
extra/samba/samba.pam
Normal file
|
@ -0,0 +1,3 @@
|
|||
auth required pam_unix.so
|
||||
account required pam_unix.so
|
||||
session required pam_unix.so
|
14
extra/samba/samba.service
Normal file
14
extra/samba/samba.service
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=Samba AD Daemon
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/samba.pid
|
||||
LimitNOFILE=16384
|
||||
EnvironmentFile=-/etc/conf.d/samba
|
||||
ExecStart=/usr/bin/samba $SAMBAOPTIONS
|
||||
ExecReload=/usr/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
12
extra/samba/smbd.service
Normal file
12
extra/samba/smbd.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Samba SMB/CIFS server
|
||||
After=network.target nmbd.service winbindd.service
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/smbd.pid
|
||||
ExecStart=/usr/bin/smbd -D
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
9
extra/samba/smbd.socket
Normal file
9
extra/samba/smbd.socket
Normal file
|
@ -0,0 +1,9 @@
|
|||
[Unit]
|
||||
Description=Samba SMB/CIFS server socket
|
||||
|
||||
[Socket]
|
||||
ListenStream=445
|
||||
Accept=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
7
extra/samba/smbd@.service
Normal file
7
extra/samba/smbd@.service
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Unit]
|
||||
Description=Samba SMB/CIFS server instance
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/smbd -F
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
StandardInput=socket
|
12
extra/samba/winbindd.service
Normal file
12
extra/samba/winbindd.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Samba Winbind daemon
|
||||
After=network.target nmbd.service
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/winbindd.pid
|
||||
ExecStart=/usr/bin/winbindd -D
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in a new issue