Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 143508 - php-4.4.3-r1 fails with a bad patch
Summary: php-4.4.3-r1 fails with a bad patch
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-10 16:08 UTC by Jorg Pitts
Modified: 2006-09-14 15:18 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Failure report on ia64. (php4.4.3-test_bug35239.patch-1056.out,3.02 KB, text/plain)
2006-08-12 10:01 UTC, Bryan Østergaard (RETIRED)
Details
Patch redone by hand on an ~amd64 system (php4.4.3-test_bug35239.patch,791 bytes, patch)
2006-08-12 10:07 UTC, Jason Wever (RETIRED)
Details | Diff
the mysterious broken patch (php4.4.3-test_bug35239-borked.patch,791 bytes, patch)
2006-08-12 23:54 UTC, Jakub Moc (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jorg Pitts 2006-08-10 16:08:09 UTC
>>> Unpacking php-4.4.3.tar.bz2 to /var/tmp/portage/php-4.4.3-r1/work
>>> Unpacking php-patchset-4.4.3-r1.tar.bz2 to /var/tmp/portage/php-4.4.3-r1/work
 * Applying php4.4.3-multilib-search-path.patch ...                                                                                [ ok ]
 * Applying various patches (bugfixes/updates) ...
 *   php4-imap-symlink.patch ...                                                                                                   [ ok ]
 *   php4-iodbc-config.patch ...                                                                                                   [ ok ]
 *   php4-java-jpeg-libdir.patch ...                                                                                               [ ok ]
 *   php4-libtool-1.5.patch ...                                                                                                    [ ok ]
 *   php4-make_test.patch ...                                                                                                      [ ok ]
 *   php4-prefork-peruser-itk.patch ...                                                                                            [ ok ]
 *   php4-uClibc-have_dn_skipname.patch ...                                                                                        [ ok ]
 *   php4-with-iodbc.patch ...                                                                                                     [ ok ]
 * Done with patching
 * Applying various patches (bugfixes/updates) ...
 *   php4.4.3-apache_volatile_vars_typos.patch ...                                                                                 [ ok ]
 *   php4.4.3-array_merge_bin_safety_typo.patch ...                                                                                [ ok ]
 *   php4.4.3-curl_openbasedir_checks.patch ...                                                                                    [ ok ]
 *   php4.4.3-gd_gif_bad_size_segf.patch ...                                                                                       [ ok ]
 *   php4.4.3-gd_symbol_conflict.patch ...                                                                                         [ ok ]
 *   php4.4.3-imap_openbd_sf_bypass.patch ...                                                                                      [ ok ]
 *   php4.4.3-invalid_socket_select.patch ...                                                                                      [ ok ]
 *   php4.4.3-mysql-readmycnf.patch ...                                                                                            [ ok ]
 *   php4.4.3-session_cache_expire_phpinfo.patch ...                                                                               [ ok ]
 *   php4.4.3-session_destroy_warning.patch ...                                                                                    [ ok ]
 *   php4.4.3-sscanf_code_exec.patch ...                                                                                           [ ok ]
 *   php4.4.3-str_repeat_intoverflow.patch ...                                                                                     [ ok ]
 *   php4.4.3-test_bug22414.patch ...                                                                                              [ ok ]
 *   php4.4.3-test_bug35239.patch ...

 * Failed Patch: php4.4.3-test_bug35239.patch !
 *  ( /var/tmp/portage/php-4.4.3-r1/work/4.4.3/4.4.3/php4.4.3-test_bug35239.patch )
 *
 * Include in your bugreport the contents of:
 *
 *   /var/tmp/portage/php-4.4.3-r1/temp/php4.4.3-test_bug35239.patch-7649.out


!!! ERROR: dev-lang/php-4.4.3-r1 failed.
Call stack:
  ebuild.sh, line 1543:   Called dyn_unpack
  ebuild.sh, line 709:   Called src_unpack
  php-4.4.3-r1.ebuild, line 160:   Called php4_4-sapi_src_unpack
  php4_4-sapi.eclass, line 286:   Called epatch
  eutils.eclass, line 333:   Called die

!!! Failed Patch: php4.4.3-test_bug35239.patch!
!!! If you need support, post the topmost build error, and the call stack if relevant.



spock /var/log # emerge --info
Portage 2.1.1_pre4-r4 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.17-gentoo i686)
=================================================================
System uname: 2.6.17-gentoo i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.12.4
Last Sync: Thu, 10 Aug 2006 22:30:07 +0000
ccache version 2.4 [enabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r2
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=athlon-xp -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS=""
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/bmg-main /usr/local/overlays/migration-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowex X a52 aalib aim alsa apache2 apm arts asf audiofile avi berkdb bitmap-fonts bzip2 cario cdparanoia cdr cli crypt cups curl dbus directfb dlloader dri dv dvd dvdr dvdread eds elibc_glibc emacs emboss encode esd exif expat fam fbcon ffmpeg flac foomaticdb fortran freetype ftp gcj gd gdbm gif glut gmp gnome gpm gstreamer gtk gtk2 gtkhtml hal imagemagick imap imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog jack jpeg jpeg2k kde kerberos kernel_linux lcms libcaca libg++ libnotify libsexy libwww lm_sensor mad maildir mbox mikmod mmx mng motif mp3 mpeg musepack mysql nas ncurses nls nptl nptlonl ogg oggvorbis opengl oss pam pcre pdflib perl php png ppds pppd python qt qt3 quicktime readline real reflection ruby samba sasl scanner sdl session sndfile soap sox speex spell spl sqlite sse ssl svg tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU v4l vcd video_cards_ati video_cards_fbdev video_cards_vesa vorbis win32codecs xine xml xml2 xmlrpc xmms xorg xosd xv xvid zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Luca Longinotti (RETIRED) gentoo-dev 2006-08-10 17:06:01 UTC
That patch seems to have had some bad line-endings or something in it, cause we got another report like yours where it failed, but it worked on our systems... Now I manually re-created the patch and re-uploaded it, clear out your distfiles (rm /usr/portage/distfiles/* ) and do emerge --sync again in about an hour or two to get the hopefully fixed version. PLEASE report back if it works or not, thanks!
Best regards, CHTEKK.
Comment 2 Jorg Pitts 2006-08-11 08:54:59 UTC
(In reply to comment #1)
> That patch seems to have had some bad line-endings or something in it, cause we
> got another report like yours where it failed, but it worked on our systems...
> Now I manually re-created the patch and re-uploaded it, clear out your
> distfiles (rm /usr/portage/distfiles/* ) and do emerge --sync again in about an
> hour or two to get the hopefully fixed version. PLEASE report back if it works
> or not, thanks!
> Best regards, CHTEKK.
> 

still fails for me
here is the log

spock /var/tmp/portage/php-4.4.3-r1/work/php-4.4.3/tests/lang # cat /var/tmp/portage/php-4.4.3-r1/temp/php4.4.3-test_bug35239.patch-22393.out
***** php4.4.3-test_bug35239.patch *****

========================================

PATCH COMMAND:  patch -p0 -g0 -E --no-backup-if-mismatch < /var/tmp/portage/php-4.4.3-r1/work/4.4.3/4.4.3/php4.4.3-test_bug35239.patch

========================================
(Stripping trailing CRs from patch.)
patching file tests/lang/bug35239.phpt
Hunk #1 FAILED at 10.
Hunk #2 FAILED at 28.
Hunk #3 FAILED at 38.
3 out of 3 hunks FAILED -- saving rejects to file tests/lang/bug35239.phpt.rej
========================================

PATCH COMMAND:  patch -p1 -g0 -E --no-backup-if-mismatch < /var/tmp/portage/php-4.4.3-r1/work/4.4.3/4.4.3/php4.4.3-test_bug35239.patch

========================================
(Stripping trailing CRs from patch.)
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- tests/lang/bug35239.phpt   2006-08-11 01:47:50.000000000 +0200
|+++ tests/lang/bug35239.phpt   2006-08-11 01:48:24.000000000 +0200
--------------------------
No file to patch.  Skipping patch.
3 out of 3 hunks ignored
========================================

PATCH COMMAND:  patch -p2 -g0 -E --no-backup-if-mismatch < /var/tmp/portage/php-4.4.3-r1/work/4.4.3/4.4.3/php4.4.3-test_bug35239.patch

========================================
(Stripping trailing CRs from patch.)
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- tests/lang/bug35239.phpt   2006-08-11 01:47:50.000000000 +0200
|+++ tests/lang/bug35239.phpt   2006-08-11 01:48:24.000000000 +0200
--------------------------
No file to patch.  Skipping patch.
3 out of 3 hunks ignored
========================================

PATCH COMMAND:  patch -p3 -g0 -E --no-backup-if-mismatch < /var/tmp/portage/php-4.4.3-r1/work/4.4.3/4.4.3/php4.4.3-test_bug35239.patch

========================================
missing header for unified diff at line 3 of patch
(Stripping trailing CRs from patch.)
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- tests/lang/bug35239.phpt   2006-08-11 01:47:50.000000000 +0200
|+++ tests/lang/bug35239.phpt   2006-08-11 01:48:24.000000000 +0200
--------------------------
No file to patch.  Skipping patch.
3 out of 3 hunks ignored
========================================

PATCH COMMAND:  patch -p4 -g0 -E --no-backup-if-mismatch < /var/tmp/portage/php-4.4.3-r1/work/4.4.3/4.4.3/php4.4.3-test_bug35239.patch

========================================
missing header for unified diff at line 3 of patch
(Stripping trailing CRs from patch.)
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- tests/lang/bug35239.phpt   2006-08-11 01:47:50.000000000 +0200
|+++ tests/lang/bug35239.phpt   2006-08-11 01:48:24.000000000 +0200
--------------------------
No file to patch.  Skipping patch.
3 out of 3 hunks ignored

Comment 3 Bryan Østergaard (RETIRED) gentoo-dev 2006-08-12 10:01:58 UTC
Created attachment 94068 [details]
Failure report on ia64.

Same thing happens on ia64, here's the failure log from patch.
Comment 4 Jason Wever (RETIRED) gentoo-dev 2006-08-12 10:07:42 UTC
Created attachment 94070 [details, diff]
Patch redone by hand on an ~amd64 system

Redid this patch by hand on an ~amd64 system and replaced the original in the php-patchset tarball locally.  This now allows php-4.4.3-r1 to unpack as expected for me on both ~sparc and x86.

Not really sure what the story is here, and why the patch file looks like it has DOS end of line characters (original patch did as well) when viewed via less.  The original file from upstream does not appear to contain them with viewed via less, but it also doesn't trigger less's syntax highlighting where the patch does (which could possibly be why the original file doesn't appear to have the DOS end of line characters).  Anyway, enough rambling.  Interested to hear if it works for others.
Comment 5 Bryan Østergaard (RETIRED) gentoo-dev 2006-08-12 10:47:52 UTC
(In reply to comment #4)
> Created an attachment (id=94070) [edit]
> Patch redone by hand on an ~amd64 system
> 
Works on ia64.
Comment 6 Jason Wever (RETIRED) gentoo-dev 2006-08-12 14:58:36 UTC
WIth permission from Jakub, I've made a 4.4.3-r3 patchset, uploaded both it and a fixed ebuild and eclass to use them to their appropriate places.  Hopefully I didn't botch anything :)
Comment 7 Luca Longinotti (RETIRED) gentoo-dev 2006-08-12 16:48:39 UTC
(In reply to comment #6)
> WIth permission from Jakub, I've made a 4.4.3-r3 patchset, uploaded both it and
> a fixed ebuild and eclass to use them to their appropriate places.  Hopefully I
> didn't botch anything :)

I checked the changes, all correct. ;) I'll also see to solve the problem of access to my mirror by giving out access to all the PHP Team, so when I'm not there other people can upload without requiring those kind of hacks.
I'll examine the new patch etc. tomorrow/after tomorrow and revert the hack then, for now it's ok like that I think. But I still can't figure why that patch failed... DOS line endings were my first clue, so I ran dos2unix over it and then it failed on all my and jakub's systems too, so it got worse... Then I actuall re-did the patch manually, by downloading the full new file from their CVS, untarring the php-4.4.3 tarball, and diffing them, from your reports that still didn't work... :S
@ Weeve: What exactly did you do to make it work? This definitely intersts me. :)
Best regards, CHTEKK.
Comment 8 Jason Wever (RETIRED) gentoo-dev 2006-08-12 16:56:28 UTC
All I did was re-implement your patch by hand through unpacking the php-4.4.3 source, making a backup of the file in question, editing the file to match what your patch was doing and did a diff between the backup and the newly modified version.

From talking with Jakub, it sounds like this is what you did as well.  The only difference I can think of is I made my version of the patch on an ~amd64 system.
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2006-08-12 23:44:43 UTC
@base-system - any idea WTH went wrong with this patch?
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2006-08-12 23:54:07 UTC
Created attachment 94111 [details, diff]
the mysterious broken patch

Here's the original weirdly broken patch. Running dos2unix over it makes it fail miserably everywhere.
Comment 11 SpanKY gentoo-dev 2006-08-13 07:32:52 UTC
look at the patch, there are stupid DOS ^M gremlins everywhere

remove the ^M gremlins from the first two lines (---/+++) and it should patch fine
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2006-08-13 07:36:04 UTC
(In reply to comment #11)
> remove the ^M gremlins from the first two lines (---/+++) and it should patch
> fine

Well, the thing is - it did patch fine here even w/ those gremlins... ;)

Comment 13 Gustavo Zacarias (RETIRED) gentoo-dev 2006-09-14 14:28:31 UTC
We're on 4.4.4-r4 stable now, i don't think this is relevant for us any longer.
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2006-09-14 14:31:53 UTC
Current stable patch is broken w/ unified diffs and DOS line endings.

*** This bug has been marked as a duplicate of 49823 ***
Comment 15 SpanKY gentoo-dev 2006-09-14 15:13:33 UTC
wrong, your patch file is broken, not the patch program
Comment 16 Jakub Moc (RETIRED) gentoo-dev 2006-09-14 15:18:46 UTC
Already been thru this - stripping DOS line endings from everything except unified diffs doesn't make any sense, it's a bug. Anyway, the patch is "fixed", no reason to have this one open.