* Messages for package mail-mta/exim-4.82_rc4: * Failed Patch: exim_469_dsn_1_3.patch ! * ( exim_469_dsn_1_3.patch ) * * Include in your bugreport the contents of: * * /var/tmp/portage/mail-mta/exim-4.82_rc4/temp/exim_469_dsn_1_3.patch.out * ERROR: mail-mta/exim-4.82_rc4::gentoo failed (prepare phase): * Failed Patch: exim_469_dsn_1_3.patch! * * Call stack: * ebuild.sh, line 93: Called src_prepare * environment, line 2939: Called epatch 'exim_469_dsn_1_3.patch' * environment, line 1256: Called die * The specific snippet of code: * die "Failed Patch: ${patchname}!"; *
Created attachment 361766 [details] patch.out
# emerge --info [22/9650] Portage 2.2.7 (hardened/linux/amd64, gcc-4.7.3, glibc-2.15-r3, 3.10.1-hardened-r1 x86_64) ================================================================= System uname: Linux-3.10.1-hardened-r1-x86_64-Intel_Xeon_E312xx_-Sandy_Bridge-with-gentoo-2.2 KiB Mem: 2366904 total, 412312 free KiB Swap: 524284 total, 428944 free Timestamp of tree: Thu, 24 Oct 2013 04:15:01 +0000 ld GNU gold (GNU Binutils 2.23.1) 1.11 ccache version 3.1.9 [enabled] app-shells/bash: 4.2_p45 dev-lang/python: 2.7.5-r3, 3.2.5-r3 dev-util/ccache: 3.1.9 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.11.6, 1.12.6 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.6.3, 4.7.3-r1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.9 (virtual/os-headers) sys-libs/glibc: 2.15-r3 Repositories: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -mtune=native -frecord-gcc-switches -fno-unwind-tables -fno-asynchronous-unwind-tables -fpeel-loops -ftracer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=core2 -mtune=native -frecord-gcc-switches -fno-unwind-tables -fno-asynchronous-unwind-tables -fpeel-loops -ftracer" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs ccache collision-protect compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.mirror.pw.edu.pl/ http://ftp.vectranet.pl/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="-O" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" USE="acl acpi amd64 bash-completion caps cli cracklib crypt cxx dri hardened iconv idn justify mmx mmxext modules mudflap multilib ncurses nls nptl openmp pax_kernel pcre postgres readline session sse sse2 sse3 ssse3 threads unicode urandom vhosts vim-syntax xattr" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authz_host dir mime unique_id" APACHE2_MPMS="itk" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NGINX_MODULES_HTTP="access auth_basic browser charset fastcgi gzip gzip_static headers_more limit_conn limit_req proxy realip referer rewrite userid" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3 php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="tarpit" USE_PYTHON="3.2" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Created attachment 361828 [details, diff] work in progress Attached is my work in progress, it doesn't compile, and I don't quite know how to fix it. Maybe you can figure it out.
Attached patch for patch (yo dawg?:)) dosesn't apply: # patch -p1 --dry-run <exim-4.82-dsn.patch checking file exim_469_dsn_1_3.patch Hunk #2 FAILED at 525. 1 out of 8 hunks FAILED It looks patch exim-4.82 should be applied before patch exim_469 but failed hunks contains diff for readconf.c with applied exim_469 patch.
hmmm, you should also apply the 4.72 one, did you do that? (yeah, patch to patch sulks and confuses a lot)
>>> Preparing source in /var/tmp/portage/mail-mta/exim-4.82_rc5/work/exim-4.82_RC5 ... * Applying exim-4.14-tail.patch ... [ ok ] * Applying exim-4.74-localscan_dlopen.patch ... [ ok ] * Applying exim-4.69-r1.27021.patch ... [ ok ] * Applying exim-4.74-radius-db-ENV-clash.patch ... [ ok ] * Applying exim-4.82-makefile-freebsd.patch ... [ ok ] * Applying exim-4.77-as-needed-ldflags.patch ... [ ok ] * Applying exim-4.76-crosscompile.patch ... [ ok ] * Applying exim-4.80-spool-mail-group.patch ... [ ok ] * Applying exim-4.82-dsn.patch ... * Failed Patch: exim-4.82-dsn.patch ! * ( /usr/portage/mail-mta/exim/files/exim-4.82-dsn.patch ) And the snip from my ebuild looks like this: if use dsn ; then cp "${DISTDIR}"/exim_${DSN_EXIM_V}_dsn_${DSN_V}.patch . || die epatch "${FILESDIR}"/${PN}-4.82-dsn.patch epatch exim_${DSN_EXIM_V}_dsn_${DSN_V}.patch fi But in your diff is: if use dsn ; then cp "${DISTDIR}"/exim_${DSN_EXIM_V}_dsn_${DSN_V}.patch . || die epatch "${FILESDIR}"/${PN}-4.76-dsn.patch + epatch "${FILESDIR}"/${PN}-4.82-dsn.patch epatch exim_${DSN_EXIM_V}_dsn_${DSN_V}.patch fi It looks we are using diffrent ebuilds:) I don't have line: epatch "${FILESDIR}"/${PN}-4.76-dsn.patch With above line patch applies correctly. I can see you are using dsn version DSN_EXIM_V=469, why not DSN_EXIM_V=476? I wanted to fix original patch using your patch as a hint. But I failed, reading diff of diff is to *diff*icult for me:) About problem with compilation I suspect you move section:" + if (dsn_ret == dsn_ret_hdrs) + { + strcpy(p, " RET=HDRS"); + while (*p) p++; " too far towards beginning of the file. It should be (probably - I don't have C lang skills) arround 1400-1500 line. Next problem I can see is smtp_in.c. In original sources "if" statement was changed and has more "else" clauses. I don't know in which place DSN patch should add own "else if" but your patch moves it before "if" statement. It gives another compilation error: smtp_in.c: In function 'smtp_setup_msg': smtp_in.c:3386:7: error: 'else' without a previous 'if' else if (dsn && strcmpic(name, US"RET") == 0) ^ make[1]: *** [smtp_in.o] Error 1
ok, I guess we should start taking the latest version here. It'll probably still break, but using the latest is good. Then I guess we better try to get an alternate patch for 4.82 and abandon the patch on patch principle. Alternative is to wait for upstream to fix their patch. Not sure if people are going to happy with that.
I've committed a patch that applies and compiles. I'd appreciate some testing of the patch, as I have no idea if it works correctly. Thanks!
I made simple test, sended email with and without DSN request, works correctly. In EHLO I'm getting "250-DSN". After 5 minuts of using I didn't get segfault yet;) It's a pitty there is no tests suite for DSN made by upstream. Thank you for fixing patch.
you're my hero! Then it goes in exim-4.82!
Are you going to add PRDR, Redis, TPDA support to ebuild?
hmmm, unless you need it, I guess