summaryrefslogtreecommitdiff
path: root/extra/samba
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-04-13 00:05:58 -0700
committerroot <root@rshg054.dnsready.net>2013-04-13 00:05:58 -0700
commit8f0418e4a239ba973834592537b474d3aac52d5b (patch)
tree55787459ba85dcd3ea548b37ca4027ef993c28b5 /extra/samba
parentd976aa5e1544c80dc2457ea20b27f28f3fa05899 (diff)
Sat Apr 13 00:05:58 PDT 2013
Diffstat (limited to 'extra/samba')
-rw-r--r--extra/samba/PKGBUILD315
-rw-r--r--extra/samba/nmbd.service2
-rw-r--r--extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch60
-rw-r--r--extra/samba/samba.install7
-rw-r--r--extra/samba/smbd.service2
-rw-r--r--extra/samba/smbd@.service4
-rw-r--r--extra/samba/winbindd.service2
7 files changed, 264 insertions, 128 deletions
diff --git a/extra/samba/PKGBUILD b/extra/samba/PKGBUILD
index 20d337625..c1089a201 100644
--- a/extra/samba/PKGBUILD
+++ b/extra/samba/PKGBUILD
@@ -1,26 +1,35 @@
-# $Id: PKGBUILD 180160 2013-03-18 13:15:20Z tpowa $
+
# 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>
+
pkgbase=samba
pkgname=('libwbclient' 'smbclient' 'samba')
-pkgver=3.6.13
+pkgver=4.0.5
# We use the 'A' to fake out pacman's version comparators. Samba chooses
# to append 'a','b',etc to their subsequent releases, which pamcan
# misconstrues as alpha, beta, etc. Bad samba!
-_realver=3.6.13
+_realver=4.0.5
pkgrel=1
arch=(i686 x86_64)
url="http://www.samba.org"
license=('GPL3')
-makedepends=('db' 'popt' 'libcups' 'acl' 'libldap' 'libcap' 'krb5' 'pam' 'gamin' 'gnutls>=2.4.1' 'talloc' 'tdb')
+makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups'
+ 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam'
+ 'gamin' 'gnutls>=2.4.1' 'talloc' 'tdb')
source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz
samba.logrotate
swat.xinetd
samba.pam
smbd.service
smbd.socket
- smbd@.service
nmbd.service
+ smbd@.service
swat.socket
swat@.service
winbindd.service
@@ -28,134 +37,175 @@ source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz
### UNINSTALL dmapi package before building!!!
build() {
- cd ${srcdir}/${pkgbase}-${_realver}/source3
- ./configure --prefix=/usr \
- --libdir=/usr/lib/ \
+ # 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}
+ cd ${srcdir}/samba-${_realver}
+ # change to use python2
+ SAVEIFS=${IFS}
+ IFS=$(echo -en "\n\b")
+ PYTHON_CALLERS="$(find ${srcdir}/samba-${_realver} -name '*.py')
+$(find ${srcdir}/samba-${_realver} -name 'wscript*')
+$(find ${srcdir}/samba-${_realver} -name 'configure.ac')
+$(find ${srcdir}/samba-${_realver} -name 'upgrade_from_s3')
+$(find ${srcdir}/samba-${_realver}/buildtools -type f)
+$(find ${srcdir}/samba-${_realver}/source4/scripting -type f)"
+ sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" \
+ -e "s|python-config|python2-config|" \
+ -e "s|bin/python|bin/python2|" \
+ ${PYTHON_CALLERS}
+ IFS=${SAVEIFS}
+
+ export PYTHON=/usr/bin/python2
+_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 ${srcdir}/samba-${_realver}
+ ./configure --enable-fhs \
+ --prefix=/usr \
+ --libdir=/usr/lib \
--localstatedir=/var \
--with-configdir=/etc/samba \
--with-lockdir=/var/cache/samba \
- --with-piddir=/var/run/samba \
- --with-fhs \
- --with-pam \
- --with-pam_smbpass \
- --with-pammodulesdir=/usr/lib/security \
- --with-dnsupdate \
- --with-automount \
- --with-quotas \
+ --with-sockets-dir=/var/run/samba \
+ --with-piddir=/var/run \
--with-ads \
+ --with-ldap \
+ --with-swat \
+ --with-winbind \
--with-acl-support \
- --with-libsmbclient \
- --with-syslog \
- --enable-external-libtalloc \
- --disable-dnssd \
- --disable-avahi \
- --with-shared-modules=idmap_ad,idmap_adex,idmap_rid,idmap_hash,idmap_tdb2 \
- --enable-external-libtdb
+ --enable-gnutls \
+ --with-pam \
+ --with-pammodulesdir=/usr/lib/security \
+ --with-shared-modules=${_samba4_idmap_modules},${_samba4_pdb_modules},${_samba4_auth_modules} \
+ --disable-rpath-install
+
+ # 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-${_realver}/source3/script/smbtar ${_pkgsrc}/usr/bin/
+ fi
}
-package_libwbclient () {
+package_libwbclient() {
pkgdesc="Samba winbind client library"
-depends=('glibc')
- cd ${srcdir}/${pkgbase}-${_realver}/source3
- mkdir -p ${pkgdir}/usr/lib
- for i in libwbclient*; do
- cp -a bin/${i}*.so* ${pkgdir}/usr/lib/
- done
- install -D -m644 pkgconfig/wbclient.pc ${pkgdir}/usr/lib/pkgconfig/wbclient.pc
- install -D -m644 ../nsswitch/libwbclient/wbclient.h ${pkgdir}/usr/include/wbclient.h
+depends=('glibc' 'libbsd')
+ # 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/lib
+ mv ${_pkgsrc}/usr/lib/libwbclient*.so* ${pkgdir}/usr/lib/
+
+ install -d -m755 ${pkgdir}/usr/lib/samba
+ mv ${_pkgsrc}/usr/lib/samba/libwinbind-client*.so* ${pkgdir}/usr/lib/samba/
+ mv ${_pkgsrc}/usr/lib/samba/libreplace.so* ${pkgdir}/usr/lib/samba/
+
+ install -d -m755 ${pkgdir}/usr/lib/pkgconfig
+ mv ${_pkgsrc}/usr/lib/pkgconfig/wbclient.pc ${pkgdir}/usr/lib/pkgconfig/
+
+ install -d -m755 ${pkgdir}/usr/include/samba-4.0
+ mv ${_pkgsrc}/usr/include/samba-4.0/wbclient.h ${pkgdir}/usr/include/samba-4.0/
}
-package_smbclient () {
+package_smbclient() {
pkgdesc="Tools to access a server's filespace and printers via SMB"
-depends=('readline' 'popt' 'libldap' 'cifs-utils' 'libcap' 'krb5' 'db' 'e2fsprogs' 'tdb' 'talloc' 'libwbclient')
- cd ${srcdir}/${pkgbase}-${_realver}/source3
- mkdir -p ${pkgdir}/usr/bin ${pkgdir}/usr/lib
- install -m755 bin/{smbclient,rpcclient,smbspool,smbtree,smbcacls,smbcquotas,smbget,net,nmblookup} ${pkgdir}/usr/bin/
- for i in libnetapi* libsmbclient*;do
- cp -a bin/${i}*.so* ${pkgdir}/usr/lib/
- done
- install -m755 script/smbtar ${pkgdir}/usr/bin/
- mkdir -p ${pkgdir}/usr/lib/cups/backend
- ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb
- mkdir -p ${pkgdir}/usr/include
- install -m644 include/libsmbclient.h ${pkgdir}/usr/include/
- install -m644 lib/netapi/netapi.h ${pkgdir}/usr/include/
- mkdir -p ${pkgdir}/usr/lib/pkgconfig
- install -m644 pkgconfig/smbclient.pc ${pkgdir}/usr/lib/pkgconfig/
- install -m644 pkgconfig/netapi.pc ${pkgdir}/usr/lib/pkgconfig/
- mkdir -p ${pkgdir}/usr/share/man/man{1,7}
- for man in rpcclient smbcacls smbclient smbcquotas smbget \
- smbtree smbtar nmblookup; do
- install -m644 ../docs/manpages/${man}.1 ${pkgdir}/usr/share/man/man1/
- done
- install -m644 ../docs/manpages/libsmbclient.7 ${pkgdir}/usr/share/man/man7/
+depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb'
+ 'tevent' 'libgcrypt' 'python2' 'talloc' 'readline' 'gnutls'
+ 'libbsd' 'libldap' 'libcups')
+
+ _smbclient_bins=('smbclient' 'smbclient4' 'rpcclient' 'smbspool'
+ 'smbtree' 'smbcacls' 'smbcquotas' 'smbget' 'net'
+ 'nmblookup' 'nmblookup4' '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/smbclient-raw.pc ${pkgdir}/usr/lib/pkgconfig/
+ mv ${_pkgsrc}/usr/lib/pkgconfig/netapi.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/
+
+ mkdir -p ${pkgdir}/usr/lib/cups/backend
+ ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb
}
-package_samba () {
-pkgdesc="Tools to access a server's filespace and printers via SMB"
+package_samba() {
+pkgdesc="SMB Fileserver and AD Domain server"
+depends=('db>=4.7' 'popt' 'libcups' 'libcap>=2.16' 'gamin' 'gnutls>=2.4.1'
+ 'talloc' 'ldb' 'libbsd' 'python2' 'tdb' "smbclient>=$pkgver")
backup=(etc/logrotate.d/samba
etc/pam.d/samba
etc/samba/smb.conf
etc/xinetd.d/swat
etc/conf.d/samba)
-depends=('db' 'popt' 'libcups' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap' 'krb5' 'pam' 'gamin' 'gnutls' 'e2fsprogs' 'tdb' 'talloc')
-install='samba.install'
- cd ${srcdir}/samba-${_realver}/source3
- mkdir -p ${pkgdir}/etc/samba/private
- chmod 700 ${pkgdir}/etc/samba/private
- make DESTDIR=${pkgdir} install
- chmod 644 ${pkgdir}/usr/include/*.h
- rm -rf ${pkgdir}/usr/var
- rm -rf ${pkgdir}/var/run/samba
- (cd script; cp installbin.sh i; cat i | sed 's/\/sbin\///' > installbin.sh)
- mkdir -p ${pkgdir}/etc/samba
- cat ../examples/smb.conf.default | \
- sed 's|log file = .*$|log file = /var/log/samba/log.%m|g' >${pkgdir}/etc/samba/smb.conf.default
- install -D -m644 ../../samba.logrotate ${pkgdir}/etc/logrotate.d/samba
- install -D -m644 ../../swat.xinetd ${pkgdir}/etc/xinetd.d/swat
- install -D -m644 ../../samba.pam ${pkgdir}/etc/pam.d/samba
- # spool directory
- install -d -m1777 ${pkgdir}/var/spool/samba
- sed -i 's|/usr/spool/samba|/var/spool/samba|g' ${pkgdir}/etc/samba/smb.conf.default
- # fix logrotate
- sed -i -e 's|log.%m|%m.log|g' ${pkgdir}/etc/samba/smb.conf.default
- # nsswitch libraries
- install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_wins.so ${pkgdir}/usr/lib/libnss_wins.so
- ln -s libnss_wins.so ${pkgdir}/usr/lib/libnss_wins.so.2
- install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_winbind.so ${pkgdir}/usr/lib/libnss_winbind.so
- ln -s libnss_winbind.so ${pkgdir}/usr/lib/libnss_winbind.so.2
- # winbind krb5 locator
- mkdir -p ${pkgdir}/usr/lib/krb5/plugins/libkrb5
- install -d -m 0755 ${pkgdir}/usr/lib/krb5/plugins/libkrb5
- install -m 755 bin/winbind_krb5_locator.so ${pkgdir}/usr/lib/krb5/plugins/libkrb5/winbind_krb5_locator.so
- # remove conflict files of smbclient
- for man in libsmbclient smbspool \
- mount.cifs net cifs.upcall; do
- rm -f ${pkgdir}/usr/share/man/man8/${man}.8
- done
- for i in libnetapi* libwbclient* libsmbclient* winbind_krb5*;do
- rm -f ${pkgdir}/usr/lib/$i
- done
- for bin in net \
- nmblookup rpcclient smbcacls smbclient \
- smbcquotas smbget smbspool smbtar smbtree; do
- rm -f ${pkgdir}/usr/bin/$bin
- done
- rm -f ${pkgdir}/usr/sbin/cifs.upcall
- rm -f ${pkgdir}/usr/include/netapi.h
- rm -f ${pkgdir}/usr/include/wbclient.h
- for man in rpcclient smbcacls smbclient smbcquotas \
- smbtree smbtar nmblookup smbget; do
- rm -f ${pkgdir}/usr/share/man/man1/${man}.1
- done
- for man in tdbbackup tdbdump tdbtool; do
- rm -f ${pkgdir}/usr/share/man/man8/${man}.8
- done
- rm -f ${pkgdir}/usr/share/man/man7/libsmbclient.7
- rm -f ${pkgdir}/usr/include/libsmbclient.h
- # copy ldap example
- install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema
+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}
+
+ _pyver=`python2 -c 'import sys; print(sys.version[:3])'`
+
+ find ${pkgdir}/usr/lib/python${_pyver}/site-packages/ -name '*.py' | \
+ xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
+ find ${pkgdir}/usr/bin ${pkgdir}/usr/sbin -type f -executable | \
+ xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
+
+ # Make admin scripts look in the right place for the samba python module
+ for script in sbin/samba_dnsupdate sbin/samba_kcc sbin/samba_spnupdate \
+ sbin/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
+
# install systemd files
install -d -m755 ${pkgdir}/usr/lib/systemd/system
for i in smbd nmbd swat winbindd; do
@@ -164,20 +214,41 @@ install='samba.install'
done
# create ephemeral dirs via tmpfiles rather than shipping them in package
install -D -m644 ${srcdir}/samba.conf ${pkgdir}/usr/lib/tmpfiles.d/samba.conf
- rm -rf ${pkgdir}/var/run
+ # install sample smb.conf
+ install -d -m755 ${pkgdir}/etc/samba
+ install -m644 ${srcdir}/samba-${_realver}/packaging/LSB/smb.conf ${pkgdir}/etc/samba/smb.conf.default
+
+ 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}/swat.xinetd ${pkgdir}/etc/xinetd.d/swat
+ install -D -m644 ${srcdir}/samba.pam ${pkgdir}/etc/pam.d/samba
+
+ # winbind krb5 locator
+ mkdir -p ${pkgdir}/usr/lib/krb5/plugins/libkrb5
+ mv ${pkgdir}/usr/lib/*.so ${pkgdir}/usr/lib/krb5/plugins/libkrb5/
- mkdir -p ${pkgdir}/usr/lib/pkgconfig
- install -m644 pkgconfig/smbsharemodes.pc ${pkgdir}/usr/lib/pkgconfig/
+ # fix logrotate
+ sed -i -e 's|log.%m|%m.log|g' ${pkgdir}/etc/samba/smb.conf.default
+
+ # spool directory
+ install -d -m1777 ${pkgdir}/var/spool/samba
+
+ rm -rf ${pkgdir}/var/run
+
+ # copy ldap example
+ install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema
}
-md5sums=('b9fe8413cbb6fa4b970a159968db2fb4'
+md5sums=('58ec2fec08872b72f8fd526f2da20a9e'
'5697da77590ec092cc8a883bae06093c'
'a4bbfa39fee95bba2e7ad6b535fae7e6'
'96f82c38f3f540b53f3e5144900acf17'
- '4d86a4e3b2ac4b35e12ac667d1d261a7'
+ 'd0b18dd7f5fafc8d25cb3a7c37c6d920'
'a78b9aa93eb14b0ac445897395693225'
- '4f2a5266f88d016a78014bb02e118c7f'
- '46bac3375dcf25baea4699226410987a'
+ '90845b89f2321cb19c0b13f385f1782a'
+ '70186fa43510bf99e3afd5951e814fbf'
'6db11f3dd2112a4b7a73007b189bef3f'
'b0de262f9c62acd162e873658f33d063'
- '03257dd11fc041d59e612c02a54ef4c0'
+ '64a52bc798033aeabfae3410bd559aa4'
'49abd7b719e3713a3f75a8a50958e381')
diff --git a/extra/samba/nmbd.service b/extra/samba/nmbd.service
index 44b4ffba1..4f86c4db9 100644
--- a/extra/samba/nmbd.service
+++ b/extra/samba/nmbd.service
@@ -4,7 +4,7 @@ After=network.target
[Service]
Type=forking
-PIDFile=/var/run/samba/nmbd.pid
+PIDFile=/var/run/nmbd.pid
ExecStart=/usr/sbin/nmbd -D
ExecReload=/bin/kill -HUP $MAINPID
diff --git a/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch b/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch
new file mode 100644
index 000000000..cb2378a78
--- /dev/null
+++ b/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch
@@ -0,0 +1,60 @@
+From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001
+From: Alexander Bokovoy <ab@samba.org>
+Date: Wed, 6 Feb 2013 10:17:57 +0200
+Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output
+
+When PIDL calls out to C preprocessor to expand IDL files
+and parse the output, it filters out linemarkers and line control
+information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
+and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control
+
+With gcc 4.8 stdc-predef.h is included automatically and linemarker for the
+file has extended flags that PIDL couldn't parse ('system header that needs to
+be extern "C" protected for C++')
+
+Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format.
+
+Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517
+
+Reviewed-by: Andreas Schneider <asn@samba.org>
+(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526)
+
+Signed-off-by: Andreas Schneider <asn@samba.org>
+---
+ pidl/idl.yp | 4 +++-
+ pidl/lib/Parse/Pidl/IDL.pm | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/pidl/idl.yp b/pidl/idl.yp
+index b5c5185..c8a65f6 100644
+--- a/pidl/idl.yp
++++ b/pidl/idl.yp
+@@ -610,7 +610,9 @@ again:
+
+ for ($parser->YYData->{INPUT}) {
+ if (/^\#/) {
+- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
++ # Linemarker format is described at
++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
+ $parser->YYData->{LINE} = $1-1;
+ $parser->YYData->{FILE} = $2;
+ goto again;
+diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
+index d4820ff..6927c89 100644
+--- a/pidl/lib/Parse/Pidl/IDL.pm
++++ b/pidl/lib/Parse/Pidl/IDL.pm
+@@ -2576,7 +2576,9 @@ again:
+
+ for ($parser->YYData->{INPUT}) {
+ if (/^\#/) {
+- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
++ # Linemarker format is described at
++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
+ $parser->YYData->{LINE} = $1-1;
+ $parser->YYData->{FILE} = $2;
+ goto again;
+--
+1.8.1.1
+
diff --git a/extra/samba/samba.install b/extra/samba/samba.install
index d8c6c49ef..420643f0e 100644
--- a/extra/samba/samba.install
+++ b/extra/samba/samba.install
@@ -4,4 +4,11 @@ post_install() {
systemd-tmpfiles --create samba.conf
}
+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:
diff --git a/extra/samba/smbd.service b/extra/samba/smbd.service
index 5c006a44e..12c08474a 100644
--- a/extra/samba/smbd.service
+++ b/extra/samba/smbd.service
@@ -4,7 +4,7 @@ After=network.target nmbd.service winbindd.service
[Service]
Type=forking
-PIDFile=/var/run/samba/smbd.pid
+PIDFile=/var/run/smbd.pid
ExecStart=/usr/sbin/smbd -D
ExecReload=/bin/kill -HUP $MAINPID
diff --git a/extra/samba/smbd@.service b/extra/samba/smbd@.service
index 58ccd6a9f..e1f71be3f 100644
--- a/extra/samba/smbd@.service
+++ b/extra/samba/smbd@.service
@@ -2,8 +2,6 @@
Description=Samba SMB/CIFS server instance
[Service]
-Type=forking
-PIDFile=/var/run/samba/smbd.pid
-ExecStart=/usr/sbin/smbd -D
+ExecStart=/usr/sbin/smbd -F
ExecReload=/bin/kill -HUP $MAINPID
StandardInput=socket
diff --git a/extra/samba/winbindd.service b/extra/samba/winbindd.service
index 67a778fc7..02e3014b1 100644
--- a/extra/samba/winbindd.service
+++ b/extra/samba/winbindd.service
@@ -4,7 +4,7 @@ After=network.target nmbd.service
[Service]
Type=forking
-PIDFile=/var/run/samba/winbindd.pid
+PIDFile=/var/run/winbindd.pid
ExecStart=/usr/sbin/winbindd -D
ExecReload=/bin/kill -HUP $MAINPID