Date: Friday, April 5, 2013 @ 16:04:11 Author: tpowa Revision: 182029
upgpkg: samba 4.0.4-2 fix #34504 #34562 no dnsutils depend required, fixed smbd\@.socket Added: samba/trunk/samba-4.0.3-fix_pidl_with_gcc48.patch Modified: samba/trunk/PKGBUILD samba/trunk/samba.install samba/trunk/smbd@.service ---------------------------------------+ PKGBUILD | 41 +++++++++++++-------- samba-4.0.3-fix_pidl_with_gcc48.patch | 60 ++++++++++++++++++++++++++++++++ samba.install | 7 +++ smbd@.service | 2 - 4 files changed, 93 insertions(+), 17 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-04-05 13:59:03 UTC (rev 182028) +++ PKGBUILD 2013-04-05 14:04:11 UTC (rev 182029) @@ -15,13 +15,13 @@ # to append 'a','b',etc to their subsequent releases, which pamcan # misconstrues as alpha, beta, etc. Bad samba! _realver=4.0.4 -pkgrel=1 +pkgrel=2 arch=(i686 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' - 'gamin' 'gnutls>=2.4.1' 'talloc' 'tdb' 'dnsutils') + 'gamin' 'gnutls>=2.4.1' 'talloc' 'tdb') source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz samba.logrotate swat.xinetd @@ -33,18 +33,19 @@ swat.socket swat@.service winbindd.service - samba.conf) -# 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 - + samba.conf + samba-4.0.3-fix_pidl_with_gcc48.patch) ### 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} cd ${srcdir}/samba-${_realver} - + # fix compile with gcc48 + patch -Np1 -i ${srcdir}/samba-4.0.3-fix_pidl_with_gcc48.patch # change to use python2 SAVEIFS=${IFS} IFS=$(echo -en "\n\b") @@ -98,7 +99,10 @@ package_libwbclient() { pkgdesc="Samba winbind client library" 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/ @@ -117,12 +121,15 @@ 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' - 'libbsd' 'libldap' 'libcups' 'dnsutils') + '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/ @@ -177,7 +184,10 @@ etc/xinetd.d/swat 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}/ @@ -240,8 +250,9 @@ 'd0b18dd7f5fafc8d25cb3a7c37c6d920' 'a78b9aa93eb14b0ac445897395693225' '90845b89f2321cb19c0b13f385f1782a' - '6e458b408dc9a29fae973793f0180dfc' + '70186fa43510bf99e3afd5951e814fbf' '6db11f3dd2112a4b7a73007b189bef3f' 'b0de262f9c62acd162e873658f33d063' '64a52bc798033aeabfae3410bd559aa4' - '49abd7b719e3713a3f75a8a50958e381') + '49abd7b719e3713a3f75a8a50958e381' + 'a4a96fe0b391a74e67fb3d54afc0d657') Added: samba-4.0.3-fix_pidl_with_gcc48.patch =================================================================== --- samba-4.0.3-fix_pidl_with_gcc48.patch (rev 0) +++ samba-4.0.3-fix_pidl_with_gcc48.patch 2013-04-05 14:04:11 UTC (rev 182029) @@ -0,0 +1,60 @@ +From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy <a...@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 <ja...@redhat.com> for explanation of the linemarker format. + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517 + +Reviewed-by: Andreas Schneider <a...@samba.org> +(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526) + +Signed-off-by: Andreas Schneider <a...@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 + Modified: samba.install =================================================================== --- samba.install 2013-04-05 13:59:03 UTC (rev 182028) +++ samba.install 2013-04-05 14:04:11 UTC (rev 182029) @@ -4,4 +4,11 @@ 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: Modified: smbd@.service =================================================================== --- smbd@.service 2013-04-05 13:59:03 UTC (rev 182028) +++ smbd@.service 2013-04-05 14:04:11 UTC (rev 182029) @@ -2,8 +2,6 @@ Description=Samba SMB/CIFS server instance [Service] -Type=forking -PIDFile=/var/run/smbd.pid ExecStart=/usr/sbin/smbd -F ExecReload=/bin/kill -HUP $MAINPID StandardInput=socket