Bug 107435 - ebuild for automake-1.9.6 with new patch
Bug#: 107435 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: enhancement Priority: P2
Resolution: FIXED Assigned To: base-system@gentoo.org Reported By: gentoo@technoplaza.net
Component: Ebuilds
URL: 
Summary: ebuild for automake-1.9.6 with new patch
Keywords:  
Status Whiteboard: 
Opened: 2005-09-27 12:32 0000
Description:   Opened: 2005-09-27 12:32 0000
automake has a bug where suffix rules aren't applied on a directory level
correctly.

For example:

if WINDOWS
mpg_SOURCES += res/windows.rc
endif

.rc.o:
        windres @WX_INCLUDES@ -o $@ $<

Assuming you were on Windows (and don't let that throw you, it's just an
example, the program occurs on Linux, too), it will compile and put the
windows.o file in the res directory properly, but when linking, it will look
for
windows.o, not res/windows.o like it should.

Discussions on the automake list produced a patch for CVS automake, which I
converted to automake 1.9.6. I'm hoping we can add this patch to the portage
ebuild.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.

------- Comment #1 From John Ratliff 2005-09-27 12:33:38 0000 -------
Created an attachment (id=69369) [details]
patch to fix automake behaviour

------- Comment #2 From John Ratliff 2005-09-27 12:34:05 0000 -------
Created an attachment (id=69370) [details]
new ebuild with the patch

------- Comment #3 From John Ratliff 2005-09-27 12:35:48 0000 -------
where I said 'program occurs on Linux, too, I meant 'problem'.

------- Comment #4 From SpanKY 2005-09-27 12:38:26 0000 -------
just so we're clear ... this patch is a backport of a fix from automake cvs for
automake 1.9.6 ?

------- Comment #5 From John Ratliff 2005-09-27 18:48:11 0000 -------
No. It is a patch that was created by a user on the automake mailing list. I
have no idea if he (Stepan Kasal) is part of the development team or not. This
is what he told me

"Hello,

On Tue, Sep 27, 2005 at 05:23:43AM -0500, John Ratliff wrote:
> I tested it in Linux with automake 1.9.6 and it still doesn't work.

indeed, I previously did some quick testing with rule .list-> .c, and it worked.

But for rules .foo -> .o it really doesn't work.

I wrote a patch which fixes this.  It applies to CVS version, but also to 1.9.6,
so you don't need to install the CVS versions.
Actually, I guess that you can directly patch /usr/bin/automake.

Please find the patch attached to this mail.
(I haven't ran "make check" with it, sorry.)

Does this work for you?"

The patch he gave me would not patch for automake 1.9.6 because of new things in
 automake CVS HEAD. So I put his changes (derived from his patch) into automake
1.9.6 and created the patch I submitted against automake 1.9.6.

Originally, he wanted to know if I could test it in automake CVS, which is how
that got into the discussion. But no, this is a patch for automake 1.9.6. that
would also happen to be applicable to automake CVS.

I hope he will send his patch upstream, but until (and if) he does, the patch
only exists on the mailing list, and then the one I submitted here.

------- Comment #6 From SpanKY 2005-09-27 18:54:29 0000 -------
well, if it's on the automake devel list, that is upstream :)

can you provide URL's for the relevant discussions please ?

------- Comment #7 From John Ratliff 2005-09-27 23:03:15 0000 -------
Sure.

http://lists.gnu.org/archive/html/automake/2005-09/msg00088.html

------- Comment #8 From SpanKY 2005-09-29 01:48:16 0000 -------
in 1.9.6-r1