Bug 74435

Summary: [PATCH] devel/automake19: [SUMMARIZE CHANGES]
Product: Ports & Packages Reporter: Palle Girgensohn <girgen>
Component: Individual Port(s)Assignee: Ade Lovett <ade>
Status: Closed FIXED    
Severity: Affects Only Me CC: ade
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
automake-1.9.3.patch none

Description Palle Girgensohn 2004-11-26 18:20:23 UTC
[DESCRIBE CHANGES]

I'm having some difficulties with devel/automake19. I think it is a
problem related to the splendid split between different versions of
the autotools.

in /usr/local/share/aclocal19/init.m4:

# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)ยจ

This stuff creates the aclocal.m4 file in the src root when running
aclocal19 -I m4. As you can see, none of these files will be found,
since the files are installed as aclocal19, autoconf25x, automake19
and autoheader259.

I work with a pretty big project that uses automake/autoconf. When
working with my these sources, I get this when modifying a Makefile.am
or configure.ac or similar:

------------------
cd ../pingpong && /bin/bash /home/girgen/cvs/foo/pingpong/missing --run aclocal-1.9 -I m4
/home/girgen/cvs/foo/pingpong/missing: line 52: aclocal-1.9: command not found
WARNING: `aclocal-1.9' is missing on your system.  You should only need it if
         you modified `acinclude.m4' or `configure.ac'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
 cd ../pingpong && /bin/bash /home/girgen/cvs/foo/pingpong/missing --run automake-1.9 --foreign
/home/girgen/cvs/foo/pingpong/missing: line 52: automake-1.9: command not found
WARNING: `automake-1.9' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
cd ../pingpong && /bin/bash /home/girgen/cvs/foo/pingpong/missing --run autoconf
/home/girgen/cvs/foo/pingpong/missing: line 52: autoconf: command not found
WARNING: `autoconf' is missing on your system.  You should only need it if
         you modified `configure.ac'.  You might want to install the
         `Autoconf' and `GNU m4' packages.  Grab them from any GNU
         archive site.

...
...
config.status: creating po/Makefile
cd ../pingpong && /bin/sh /home/girgen/cvs/foo/pingpong/missing --run autoheader
autoheader: not found
WARNING: `autoheader' is missing on your system.  You should only need it if
         you modified `acconfig.h' or `configure.ac'.  You might want
         to install the `Autoconf' and `GNU m4' packages.  Grab them
         from any GNU archive site.
rm -f stamp-h1
touch ../pingpong/config.h.in
cd . && /bin/sh ./config.status config.h

------------------------

It is not always important run the scripts that fail above, but
sometimes they must be run, indeed, and things will fail if they
don't.

Since the automake19 port really expects the 2.59 version of autoconf,
modifying the refences to aclocal, autoconf, automake and autoheader
in m4/init.m4 will fix this with no bad side effects. Problem is, the
automake port will not build if this is done in the sources (it will
see that an m4/*.m4 file has changed, it seems, try to rebuild stuff
and fail). That's why I copy init.m4 to wrkdir during patch stage, and
install it from there at install stage. Kinda hackish, but it is the
only thing that works.

Port maintainer (ade@FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.63
Comment 1 Ade Lovett freebsd_committer freebsd_triage 2004-11-26 20:14:49 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ade

Mine.
Comment 2 Ade Lovett freebsd_committer freebsd_triage 2005-03-07 17:47:10 UTC
Responsible Changed
From-To: ade->freebsd-ports-bugs

Return to the fold after releasing autotools back into the wild.
Comment 3 Florent Thoumie 2005-04-14 12:31:05 UTC
	This patch looks pretty harmless.
	I'm not sure we need an exp-build before committing this.

	Ade, I know you've return this PR to the pool but what's your
	opinion on this ?

-- 
Florent Thoumie
flz@xbsd.org
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2005-06-15 07:41:47 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ade

Reassign to the man that didn't run away far enough and fast enough.
Comment 5 Ade Lovett freebsd_committer freebsd_triage 2005-06-17 00:56:45 UTC
State Changed
From-To: open->analyzed

The patch looks good.  At one point I was experimenting with various 
autoconf/automake version matches, hoping they could be persuaded to 
co-operate a bit more. 

However, it appears that I do need to lock things down so that 
we have automake/autoconf versions (14,213) (15,253) and (19,259). 

This will require a little more work on all of the automake* ports, 
and in bsd.autotools.mk
Comment 6 Ade Lovett freebsd_committer freebsd_triage 2005-07-28 03:05:58 UTC
State Changed
From-To: analyzed->closed

I've given this considerable further thought and have decided that 
such a solution is not in fact optimal. 

The versioned autotools are only used for building other ports in 
the tree, where the appropriate USE_AUTOTOOLS foo takes care of 
the paths. 

In the case of an IDE, or general cross-platform development, the 
gnu- versions should be used, which all install into a single 
location, so it's merely a matter of some PATH logic to make 
things work. 

As such, the patches would, in my opinion, only result in further 
divergence from the upstream source, where such changes are unlikely 
to happen, and give us nothing over the existing USE_AUTOTOOLS 
framework for building other ports.