| 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: |
|
||||||
Responsible Changed From-To: freebsd-ports-bugs->ade Mine. Responsible Changed From-To: ade->freebsd-ports-bugs Return to the fold after releasing autotools back into the wild. 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 Responsible Changed From-To: freebsd-ports-bugs->ade Reassign to the man that didn't run away far enough and fast enough. 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 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. |
[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