Bug 172573 - games-util/biounzip 64bit patch fails when PORTAGE_TMPDIR not set to default
Bug#: 172573 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: games@gentoo.org Reported By: curiousgeorge_banana@yahoo.com
Component: Games
URL: 
Summary: games-util/biounzip 64bit patch fails when PORTAGE_TMPDIR not set to default
Keywords:  
Status Whiteboard: 
Opened: 2007-03-28 16:40 0000
Description:   Opened: 2007-03-28 16:40 0000
Emerging biounzip fails because the 64bit patch is hard-set to something like
/var/tmp/portage/etc/etc/brainfart/

Changing the first two lines of the patch to start at /work/ allows epatch to
function in cases when portage's tmpdir is not /var/tmp/. (In my case it is
/dev/shm.) I don't know if that's the clean way to do relative paths but it
Works For Me (tm).

On a related note, shouldn't epatch apply patches only when they are
architecturally necessary? I'm on 32-bit x86. Why is an amd64 patch being
applied to an x86 system?

Reproducible: Always

Steps to Reproduce:
1. Set PORTAGE_TMPDIR in make.conf to /dev/shm
2. Emerge biounzip.
3. Cry.

Actual Results:  
Emerge fails at patching with a big red Failed Patch error. Additional log
reports indicate epatch finds the patch file, which in turn can't find anything
to patch.

Expected Results:  
biounzip should have emerged.

Just for clarity's sake, my fix is to change this:

--- /var/tmp/portage/games-util/biounzip-1.1a/work/biounzip-1.1-old/biounzip.c 
2007-03-08 02:06:16.000000000 +0200
+++ /var/tmp/portage/games-util/biounzip-1.1a/work/biounzip-1.1/biounzip.c     
2007-03-08 02:06:50.000000000 +0200

to this:

--- /work/biounzip-1.1-old/biounzip.c   2007-03-08 02:06:16.000000000 +0200
+++ /work/biounzip-1.1/biounzip.c       2007-03-08 02:06:50.000000000 +0200

Caveat is that I'm no software developer and I really have no idea what I'm
doing.

------- Comment #1 From Chris Gianelloni (RETIRED) 2007-03-29 15:38:21 0000 -------
(In reply to comment #0)
> On a related note, shouldn't epatch apply patches only when they are
> architecturally necessary? I'm on 32-bit x86. Why is an amd64 patch being
> applied to an x86 system?

Nope.  Policy states we apply them unilaterally except in cases where they can
break other arches.

Anyway, I think I've fixed this now.