Index: PKGBUILD =================================================================== --- PKGBUILD (revision 318982) +++ PKGBUILD (working copy) @@ -10,26 +10,23 @@ pkgbase=samba pkgname=('libwbclient' 'smbclient' 'samba') -pkgver=4.7.6 +pkgver=4.8.0 pkgrel=1 arch=(x86_64) url="http://www.samba.org" license=('GPL3') -makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups' - 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam' 'systemd' +makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups' + 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam' 'systemd' 'gamin' 'gnutls>=2.4.1' 'talloc' 'tdb' 'dbus' 'libaio' 'perl-parse-yapp') -source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${pkgver}.tar.gz - http://us1.samba.org/samba/ftp/stable/${pkgbase}-${pkgver}.tar.asc +source=(https://download.samba.org/pub/samba/stable/${pkgbase}-${pkgver}.tar.{gz,asc} samba.logrotate samba.pam - samba.service - samba.conf.d - smbd.service - smbd.socket - nmbd.service - smbd@.service - winbindd.service samba.conf) +sha256sums=('87d9b585dbd8628e79aabb6e621a94bd20a072a00762e78e0899fad22fc18fb7' + 'SKIP' + '0b570570ea49f82e6f9da47b1cce3b441859f52de105b54d4d79b873b924623f' + '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5' + '5398a42ccb36ac3b87cfa42c8050b535efc2ca38ab3b9354a52f4e0fe71b5800') validpgpkeys=('52FBC0B86D954B0843324CDC6F33915B6568B7EA') #Samba Distribution Verification Key ### UNINSTALL dmapi package before building!!! @@ -41,18 +38,18 @@ # 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-${pkgver} + _pkgsrc="${srcdir}"/samba-pkg + rm -rf "${_pkgsrc}" + cd "${srcdir}"/samba-${pkgver} # change to use python2 SAVEIFS=${IFS} IFS=$(echo -en "\n\b") - PYTHON_CALLERS="$(find ${srcdir}/samba-${pkgver} -name '*.py') -$(find ${srcdir}/samba-${pkgver} -name 'wscript*') -$(find ${srcdir}/samba-${pkgver} -name 'configure.ac') -$(find ${srcdir}/samba-${pkgver} -name 'upgrade_from_s3') -$(find ${srcdir}/samba-${pkgver}/buildtools -type f) -$(find ${srcdir}/samba-${pkgver}/source4/scripting -type f)" + PYTHON_CALLERS="$(find "${srcdir}"/samba-${pkgver} -name '*.py') +$(find "${srcdir}"/samba-${pkgver} -name 'wscript*') +$(find "${srcdir}"/samba-${pkgver} -name 'configure.ac') +$(find "${srcdir}"/samba-${pkgver} -name 'upgrade_from_s3') +$(find "${srcdir}"/samba-${pkgver}/buildtools -type f) +$(find "${srcdir}"/samba-${pkgver}/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|" \ @@ -63,7 +60,7 @@ _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-${pkgver} + cd "${srcdir}"/samba-${pkgver} ./configure --enable-fhs \ --prefix=/usr \ --sbindir=/usr/bin \ @@ -78,6 +75,8 @@ --with-ldap \ --with-winbind \ --with-acl-support \ + --with-systemd \ + --systemd-install-services \ --enable-gnutls \ --with-pam \ --with-pammodulesdir=/usr/lib/security \ @@ -88,11 +87,11 @@ # Add this to the options once it's working... #--with-system-mitkrb5 /opt/heimdal make - make DESTDIR="${_pkgsrc}/" install + 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/ + if [ ! -e "${_pkgsrc}"/usr/bin/smbtar ]; then + install -m755 "${srcdir}"/samba-${pkgver}/source3/script/smbtar "${_pkgsrc}"/usr/bin/ fi } @@ -102,25 +101,25 @@ # 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/ + _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-samba4.so* ${pkgdir}/usr/lib/samba/ + 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-samba4.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/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/ + 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() { pkgdesc="Tools to access a server's filespace and printers via SMB" depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb' - 'tevent' 'libgcrypt' 'python2' 'talloc' 'readline' 'gnutls' + 'tevent' 'libgcrypt' 'python2' 'talloc' 'readline' 'gnutls' 'libbsd' 'libldap' 'libcups') _smbclient_bins=('smbclient' 'rpcclient' 'smbspool' @@ -129,48 +128,48 @@ # 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 + _pkgsrc="${srcdir}"/samba-pkg + install -d -m755 "${pkgdir}"/usr/bin for bin in ${_smbclient_bins[@]}; do - mv ${_pkgsrc}/usr/bin/${bin} ${pkgdir}/usr/bin/ + 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/ + 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/ + 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/ + 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/ - install -d -m755 ${pkgdir}/usr/share/man/man1 - install -d -m755 ${pkgdir}/usr/share/man/man7 - install -d -m755 ${pkgdir}/usr/share/man/man8 + 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/ + 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/ + 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/ + 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/ + 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 + mkdir -p "${pkgdir}"/usr/lib/cups/backend + ln -sf /usr/bin/smbspool "${pkgdir}"/usr/lib/cups/backend/smb } package_samba() { @@ -186,17 +185,17 @@ # 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 + _pkgsrc="${srcdir}"/samba-pkg # Everything that libwbclient and smbclient didn't install goes # into the samba package... - mv ${_pkgsrc}/* ${pkgdir}/ - rmdir ${_pkgsrc} + mv "${_pkgsrc}"/* "${pkgdir}"/ + rmdir "${_pkgsrc}" _pyver=`python2 -c 'import sys; print(sys.version[:3])'` - find ${pkgdir}/usr/lib/python${_pyver}/site-packages/ -name '*.py' | \ + 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/bin -type f -executable | \ + find "${pkgdir}"/usr/bin "${pkgdir}"/usr/bin -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 @@ -205,49 +204,34 @@ do sed -i "/^sys\.path\.insert/ a\ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ - ${pkgdir}/usr/${script} + "${pkgdir}"/usr/${script} done - # install systemd files - install -d -m755 ${pkgdir}/usr/lib/systemd/system - #for i in smbd nmbd winbindd; do - install -m644 ${srcdir}/*.service ${pkgdir}/usr/lib/systemd/system/ - install -m644 ${srcdir}/*.socket ${pkgdir}/usr/lib/systemd/system/ - install -d -m755 ${pkgdir}/etc/conf.d - install -m644 ${srcdir}/samba.conf.d ${pkgdir}/etc/conf.d/samba - #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 - # install sample smb.conf - install -d -m755 ${pkgdir}/etc/samba - - mkdir -p ${pkgdir}/etc/samba/private - chmod 700 ${pkgdir}/etc/samba/private + install -D -m644 "${srcdir}"/samba.conf "${pkgdir}"/usr/lib/tmpfiles.d/samba.conf + # create config dir + install -d -m755 "${pkgdir}"/etc/samba - install -D -m644 ${srcdir}/samba.logrotate ${pkgdir}/etc/logrotate.d/samba - install -D -m644 ${srcdir}/samba.pam ${pkgdir}/etc/pam.d/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 + # 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/krb5/plugins/libkrb5 + mv "${pkgdir}"/usr/lib/*.so "${pkgdir}"/usr/lib/krb5/plugins/libkrb5/ + # spool directory - install -d -m1777 ${pkgdir}/var/spool/samba - - rm -rf ${pkgdir}/var/run - + install -d -m1777 "${pkgdir}"/var/spool/samba + + rm -rf "${pkgdir}"/var/run + # copy ldap example - install -D -m644 ${srcdir}/samba-${pkgver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema + install -D -m644 "${srcdir}"/samba-${pkgver}/examples/LDAP/samba.schema "${pkgdir}"/usr/share/doc/samba/examples/LDAP/samba.schema } -md5sums=('0253021a45c479cec1e135b004a0177a' - 'SKIP' - '5697da77590ec092cc8a883bae06093c' - '96f82c38f3f540b53f3e5144900acf17' - 'ee4763a656cf00d92bfda31b6bb2c5cb' - '6c447748a064d631435dbef0a3dcf32f' - 'e4ae6a3cac080602120aa151918c4a36' - 'a78b9aa93eb14b0ac445897395693225' - 'df6380c73cb73163968eabc8650f7358' - '70afd2db60a2e8eff7615dbdecd887ac' - 'd5f56f43e1280bba20f6bbd88d16fa41' - '49abd7b719e3713a3f75a8a50958e381') Index: nmbd.service =================================================================== --- nmbd.service (revision 318982) +++ nmbd.service (nonexistent) @@ -1,12 +0,0 @@ -[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 Index: samba.conf.d =================================================================== --- samba.conf.d (revision 318982) +++ samba.conf.d (nonexistent) @@ -1,18 +0,0 @@ -## 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="" Index: samba.logrotate =================================================================== --- samba.logrotate (revision 318982) +++ samba.logrotate (working copy) @@ -1,9 +1,5 @@ /var/log/samba/log.smbd /var/log/samba/log.nmbd /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 } Index: samba.service =================================================================== --- samba.service (revision 318982) +++ samba.service (nonexistent) @@ -1,14 +0,0 @@ -[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 Index: smbd.service =================================================================== --- smbd.service (revision 318982) +++ smbd.service (nonexistent) @@ -1,12 +0,0 @@ -[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 Index: smbd.socket =================================================================== --- smbd.socket (revision 318982) +++ smbd.socket (nonexistent) @@ -1,9 +0,0 @@ -[Unit] -Description=Samba SMB/CIFS server socket - -[Socket] -ListenStream=445 -Accept=yes - -[Install] -WantedBy=sockets.target Index: smbd@.service =================================================================== --- smbd@.service (revision 318982) +++ smbd@.service (nonexistent) @@ -1,7 +0,0 @@ -[Unit] -Description=Samba SMB/CIFS server instance - -[Service] -ExecStart=/usr/bin/smbd -F -ExecReload=/bin/kill -HUP $MAINPID -StandardInput=socket Index: winbindd.service =================================================================== --- winbindd.service (revision 318982) +++ winbindd.service (nonexistent) @@ -1,12 +0,0 @@ -[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