Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 300940

Summary: sqlite ebuild fails on Interix
Product: Gentoo/Alt Reporter: Greg Turner <gmturner007>
Component: Prefix SupportAssignee: Gentoo Prefix <prefix>
Status: RESOLVED FIXED    
Severity: normal CC: pesa, rob
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Interix   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Interix lacks ESTALE
Patch to ebuild to utilize other patch

Description Greg Turner 2010-01-14 06:50:13 UTC
This was already fixed, apparently, but somehow dropped out of portage.

Reproducible: Always

Steps to Reproduce:
1. emerge sqlite
Actual Results:  
fail

Expected Results:  
succeed
Comment 1 Greg Turner 2010-01-14 06:50:50 UTC
Created attachment 216458 [details, diff]
Interix lacks ESTALE
Comment 2 Greg Turner 2010-01-14 06:52:00 UTC
Created attachment 216460 [details, diff]
Patch to ebuild to utilize other patch
Comment 3 Markus Duft (RETIRED) gentoo-dev 2010-01-14 14:40:38 UTC
applied and tested - thanks!

the only little thing i changed, is the epatch line, to use ${P}-interix-no-estale.patch instead of ${PN}-3.6.22-interix-no-estale.patch - but i guess thats different from dev to dev :)

also i had to do another additional patch for SUA 5.2, i guess interix6 has utimes() support, but older ones don't...
Comment 4 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-01-14 23:10:56 UTC
*** Bug 301034 has been marked as a duplicate of this bug. ***
Comment 5 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-01-14 23:15:15 UTC
(In reply to comment #4)
> *** Bug 301034 has been marked as a duplicate of this bug. ***
> 

Markus, Patch didn't apply. I commented it out. Please fix.

Hint: different SRC_URI depending on USE=tcl or not.

Also, we probably need to discuss this as a team but adding patches to stuff that some other team maintains should probably not happen without their input!
Comment 6 Davide Pesavento (RETIRED) gentoo-dev 2010-01-14 23:18:28 UTC
*** Bug 301034 has been marked as a duplicate of this bug. ***
Comment 7 Greg Turner 2010-01-15 06:19:50 UTC
> the only little thing i changed, is the epatch line, to use
> ${P}-interix-no-estale.patch instead of ${PN}-3.6.22-interix-no-estale.patch -
> but i guess thats different from dev to dev :)

FWIW, my thinking on that was that ${P} would have to change with the next version bump, whereas ${PN}-x.x.x can just be blindly copied without breaking anything.  Obviously, its not particularly important either way.

> also i had to do another additional patch for SUA 5.2, i guess interix6 has
> utimes() support, but older ones don't...

Hmm, I see it in /usr/lib/libc.so.5.2... Doesn't that mean 5.2 should have it?  Wierdly, on my box, there is no manpage for it and no header in /usr/include, /usr/local/include, or /opt/gentoo/usr/include greps positive for "utimes".  But my /opt/gentoo/usr/include/python2.6/pyconfig.h defines HAVE_UTIMES to 1.

I don't see any warning or errors about it during the sqlite ebuild.
Comment 8 Markus Duft (RETIRED) gentoo-dev 2010-01-15 08:02:23 UTC
(In reply to comment #7)
[snip]
> Hmm, I see it in /usr/lib/libc.so.5.2... Doesn't that mean 5.2 should have it? 
[snip]

microsoft "forgot" to update the version numbers there. sua 6 still uses 5.2, but they are not the same. they are (maybe) compatible, but new stuff came into it.

(In reply to comment #5)
[snip]
> Markus, Patch didn't apply. I commented it out. Please fix.
> 
> Hint: different SRC_URI depending on USE=tcl or not.
ARGH... i'll look into it.

> 
> Also, we probably need to discuss this as a team but adding patches to stuff
> that some other team maintains should probably not happen without their input!
> 

i thought, build issues can be fixed without the need to contact maintainers (at least right now for us prefix devs while migrating...)? did i miss something?
Comment 9 Markus Duft (RETIRED) gentoo-dev 2010-01-15 08:18:51 UTC
how ever we will handle this in the future, i now committed the fixed patches - just to not leave it in a half-broken state ;)
Comment 10 Viktor S 2010-01-18 22:45:57 UTC
So this patch (no estale) still doesn't apply on ~amd64 (synced today) and makes the build fail ... Rather annoying since it's an PREFIX-thing!
Comment 11 Viktor S 2010-01-18 23:48:03 UTC
>>> Emerging (5 of 58) dev-db/sqlite-3.6.22
 * sqlite-3.6.22.tar.gz RMD160 SHA1 SHA256 size ;-) ...                  [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
 * CPV:  dev-db/sqlite-3.6.22
 * REPO: gentoo
 * USE:  amd64 elibc_glibc fts3 kernel_linux multilib readline tcl threadsafe userland_GNU
>>> Unpacking source...
>>> Unpacking sqlite-3.6.22.tar.gz to /var/tmp/portage/dev-db/sqlite-3.6.22/work
>>> Source unpacked in /var/tmp/portage/dev-db/sqlite-3.6.22/work
>>> Preparing source in /var/tmp/portage/dev-db/sqlite-3.6.22/work/sqlite-3.6.22 ...
 * Applying sqlite-3.6.22-interix-no-estale.patch ...

 * Failed Patch: sqlite-3.6.22-interix-no-estale.patch !
 *  ( /usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.patch )
 * 
 * Include in your bugreport the contents of:
 * 
 *   /var/tmp/portage/dev-db/sqlite-3.6.22/temp/sqlite-3.6.22-interix-no-estale.patch.out

 * ERROR: dev-db/sqlite-3.6.22 failed:
 *   Failed Patch: sqlite-3.6.22-interix-no-estale.patch!
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_prepare
 *   environment, line 3268:  Called epatch '/usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.patch'
 *   environment, line 1726:  Called die
 * The specific snippet of code:
 *               die "Failed Patch: ${patchname}!";
 * 
 * If you need support, post the output of 'emerge --info =dev-db/sqlite-3.6.22',
 * the complete build log and the output of 'emerge -pqv =dev-db/sqlite-3.6.22'.
 * The complete build log is located at '/var/tmp/portage/dev-db/sqlite-3.6.22/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-db/sqlite-3.6.22/temp/environment'.
 * S: '/var/tmp/portage/dev-db/sqlite-3.6.22/work/sqlite-3.6.22'

>>> Failed to emerge dev-db/sqlite-3.6.22, Log file:

>>>  '/var/tmp/portage/dev-db/sqlite-3.6.22/temp/build.log'

 * Messages for package app-portage/portage-utils-0.3:

 * /etc/portage/postsync.d/q-reinitialize has been installed for convenience
 * If you wish for it to be automatically run at the end of every --sync simply chmod +x /etc/portage/postsync.d/q-reinitialize
 * Normally this should only take a few seconds to run but file systems such as ext3 can take a lot longer.
 * If ever you find this to be an inconvenience simply chmod -x /etc/portage/postsync.d/q-reinitialize

 * Messages for package dev-db/sqlite-3.6.22:

 * Failed Patch: sqlite-3.6.22-interix-no-estale.patch !
 *  ( /usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.patch )
 * 
 * Include in your bugreport the contents of:
 * 
 *   /var/tmp/portage/dev-db/sqlite-3.6.22/temp/sqlite-3.6.22-interix-no-estale.patch.out
 * ERROR: dev-db/sqlite-3.6.22 failed:
 *   Failed Patch: sqlite-3.6.22-interix-no-estale.patch!
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_prepare
 *   environment, line 3268:  Called epatch '/usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.patch'
 *   environment, line 1726:  Called die
 * The specific snippet of code:
 *               die "Failed Patch: ${patchname}!";
 * 
 * If you need support, post the output of 'emerge --info =dev-db/sqlite-3.6.22',
 * the complete build log and the output of 'emerge -pqv =dev-db/sqlite-3.6.22'.
 * The complete build log is located at '/var/tmp/portage/dev-db/sqlite-3.6.22/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-db/sqlite-3.6.22/temp/environment'.
 * S: '/var/tmp/portage/dev-db/sqlite-3.6.22/work/sqlite-3.6.22'

[root@stargate:dump/http]# cat /var/tmp/portage/dev-db/sqlite-3.6.22/temp/sqlite-3.6.22-interix-no-estale.patch.out
***** sqlite-3.6.22-interix-no-estale.patch *****

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

PATCH COMMAND:  patch -p0 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.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:
--------------------------
|--- sqlite-3.6.22.orig/sqlite3.c	2010-01-13 22:28:39 -0800
|+++ sqlite-3.6.22/sqlite3.c	2010-01-13 22:36:25 -0800
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
=================================================

PATCH COMMAND:  patch -p1 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.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:
--------------------------
|--- sqlite-3.6.22.orig/sqlite3.c	2010-01-13 22:28:39 -0800
|+++ sqlite-3.6.22/sqlite3.c	2010-01-13 22:36:25 -0800
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
=================================================

PATCH COMMAND:  patch -p2 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.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:
--------------------------
|--- sqlite-3.6.22.orig/sqlite3.c	2010-01-13 22:28:39 -0800
|+++ sqlite-3.6.22/sqlite3.c	2010-01-13 22:36:25 -0800
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
=================================================

PATCH COMMAND:  patch -p3 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.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:
--------------------------
|--- sqlite-3.6.22.orig/sqlite3.c	2010-01-13 22:28:39 -0800
|+++ sqlite-3.6.22/sqlite3.c	2010-01-13 22:36:25 -0800
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
=================================================

PATCH COMMAND:  patch -p4 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-db/sqlite/files/sqlite-3.6.22-interix-no-estale.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:
--------------------------
|--- sqlite-3.6.22.orig/sqlite3.c	2010-01-13 22:28:39 -0800
|+++ sqlite-3.6.22/sqlite3.c	2010-01-13 22:36:25 -0800
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
Comment 12 Markus Duft (RETIRED) gentoo-dev 2010-01-19 08:33:47 UTC
(In reply to comment #11)
> >>> Emerging (5 of 58) dev-db/sqlite-3.6.22
[snip]
>  * Applying sqlite-3.6.22-interix-no-estale.patch ...
[snip]

are you sure you're in sync? a patch with that name does not exist anymore, since i fixed this bug on 2010.01.15 ...
Comment 13 Viktor S 2010-01-19 08:40:05 UTC
I'm sorry, that was a confusion of terminal windows (old failure!). Nevermind me. :)