Implementing notrans_man_MANS (Was: Automake bug #516 -- and more)
On Wed, 30 Jan 2008, Ralf Wildenhues wrote: Hello Ralf, * Peter Breitenlohner wrote on Wed, Jan 23, 2008 at 10:28:28AM CET: [...] (1) In some cases it is completely inadequate to apply the program name transform to manpage names. [...] Maybe that could be taken care of by something like notransform_MAN_MANS (needs a better name). notrans_man_MANS sounds good to me. I now have a working version of notrans_man1_MANS & Co, but I noticed an additional problem: The target 'install-man1' tries to install, e.g., '$(dist_man1_MANS)' but doesn't depend on it. I want to fix that as well, at the same time omitting unused variables. Still missing are: (1) documentation in autoconf.texi, (2) a test case, and (3) a ChangeLog entry. How should I proceed, once all that is finished? Email to you and/or automake bugzilla? Are unified diffs against the autoamke-1.10.1 tarball OK? What about re-indenting existing code? (2) There are packages with translated manpages -- good. But automake provides no way to supress their installation or to install them for a subset of the available languages -- not good. I'll come back to this at some later time. Regards Peter
Re: Implementing notrans_man_MANS
Hello Peter, * Peter Breitenlohner wrote on Tue, Feb 19, 2008 at 10:25:34AM CET: > > I now have a working version of notrans_man1_MANS & Co, but I noticed an > additional problem: The target 'install-man1' tries to install, e.g., > '$(dist_man1_MANS)' but doesn't depend on it. I want to fix that as well, at > the same time omitting unused variables. > > Still missing are: (1) documentation in autoconf.texi, (2) a test case, and > (3) a ChangeLog entry. > > How should I proceed, once all that is finished? Email to you and/or > automake bugzilla? [EMAIL PROTECTED] is best. > Are unified diffs against the autoamke-1.10.1 tarball OK? Yes. > What about re-indenting existing code? Please as a separate patch if possible, and please following the already-used style. Thanks, Ralf
Support for a non-standard directory
Hi, Summary: For an open source project, that I work on, it is needed to define a webserver root directory. This is done using a variable webserver_document_root, that is (in my case) defined as /srv/www/htdocs. (please Cc me as I'm not subscribe to the automake ML). When I now run: DISTCHECK_CONFIGURE_FLAGS="--with-dist=suse --without-openpkg" make distcheck it fails :( Whatever I do to the webserver_document_root (more details about this below) it either fails the 'make distcheck', or 'make install' installs in an incorrect location. I'm now going to use a workaround to (mis)use the configure argument --htmldir to define the webserver root directory. Two questions: 1) is a feature request feasible, asking to extend configure so it gets a command line option that can be used to define the webserver root directory (--webserverdir e.g.)? If I search the internet, more people are fighting this battle to obtain a webserver root directory with autotools and have 'make distcheck' work. Hence, it would serve multiple people. 2) Is there a way, that I can make it work with the current automake, autoconf combo? I use automake-1.10 I tried: $(distdir)/$(webserver_document_root)$(webserver_web_prefix) $(DESTDIR)/$(webserver_document_root)$(webserver_web_prefix) $(prefix)$(DESTDIR)/$(webserver_document_root)$(webserver_web_prefix) $(DESTDIR)/$(prefix)/$(webserver_document_root)$(webserver_web_prefix) The changes above result in a working distcheck, but not in a correct behaving: 'make install DESTDIR='. The result is e.g: [/var/tmp/kolab/kolab-webadmin/kolab-webadmin/kolab-webadmin-2.1.99/ME] > ls ./var/tmp/kolab/kolab-webadmin/kolab-webadmin/kolab-webadmin-2.1.99/ME (even more details below) The webserver_document_root is defined in a file that is included from Makefile.am with a variable @[EMAIL PROTECTED] The variable is filled in during configure time. Snappit from Makefile.am: EXTRA_DIST = CLEANFILES = @distribution@ @common@ . Hopefully, you don't shoot me for this lenghty email. What is your advice regarding this? -- TIA, Richard Bos Without a home the journey is endless Some more data Create tarbal: kolab-webadmin> ./bootstrap kolab-webadmin> ./configure --without-openpkg --with-dist=suse kolab-webadmin> make distcheck > out 2>&1 kolab-webadmin> grep -c openpkg out 144 This is not good, as there should be no openpkg reference due to the --without-openpkg argument. The correct way to execute 'make distcheck' is therefor: kolab-webadmin> DISTCHECK_CONFIGURE_FLAGS="--with-dist=suse --without-openpkg" make distcheck > out 2>&1 kolab-webadmin> grep -c openpkg out 0 This is good, but now 'make distcheck' fails: kolab-webadmin> tail -7 out test -z "/srv/www/htdocs/kolab/admin/pics" || /bin/mkdir -p "/srv/www/htdocs/kolab/admin/pics" /bin/mkdir: cannot create directory `/srv/www/htdocs/kolab': Permission denied make[2]: *** [install-dist_wspicsDATA] Error 1 make[2]: Leaving directory `/var/tmp/kolab/kolab-webadmin/kolab-webadmin/kolab-webadmin-2.1.99/_build' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/var/tmp/kolab/kolab-webadmin/kolab-webadmin/kolab-webadmin-2.1.99/_build' make: *** [distcheck] Error 2 The reason is the definition of the webserver directory in Makefile.am kolab-webadmin> grep -n webserver_document_root Makefile.am 21:wstopleveldir = $(webserver_document_root)$(webserver_web_prefix) 29:wskolabdir = $(webserver_document_root)$(webserver_web_prefix)/admin This definition does not take the destination directory into account. Whatever I tried to change the behaviour of automake, I did not get it correct. I tried e.g.: $(distdir)/$(webserver_document_root)$(webserver_web_prefix) $(DESTDIR)/$(webserver_document_root)$(webserver_web_prefix) $(prefix)$(DESTDIR)/$(webserver_document_root)$(webserver_web_prefix) $(DESTDIR)/$(prefix)/$(webserver_document_root)$(webserver_web_prefix) The changes above result in a working distcheck, but not in a correct behaving: 'make install DESTDIR='. When 21:wstopleveldir = $(webserver_document_root)$(webserver_web_prefix) 29:wskolabdir = $(webserver_document_root)$(webserver_web_prefix)/admin is changed to: 21:wstopleveldir = $(htmldir)$(webserver_web_prefix) 29:wskolabdir = $(htmldir)$(webserver_web_prefix)/admin make distcheck works as well make install DESTDIR=.
Re: AM_INIT_AUTOMAKE uses a deprecated macro
* NightStrike wrote on Tue, Feb 19, 2008 at 06:53:04AM CET: > When I use AM_INIT_AUTOMAKE, it makes use of _AM_SET_OPTIONS, which > uses AC_FOREACH, which is deprecated in autoconf and referenced in the > autoconf manual as deprecated. I thought I was using all of the > "latest and greatest" tools. Has this been updated? If so, how/where > do I get the update? Fixed thusly, master and branch-1-10. Thanks for the report. Cheers, Ralf 2008-02-19 Ralf Wildenhues <[EMAIL PROTECTED]> PR automake/498 * m4/options.m4 (_AM_SET_OPTIONS): Use m4_foreach_w instead of obsolete AC_FOREACH. Report by NightStrike and [EMAIL PROTECTED] diff --git a/m4/options.m4 b/m4/options.m4 index 34c086d..8e5017e 100644 --- a/m4/options.m4 +++ b/m4/options.m4 @@ -1,12 +1,12 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 3 +# serial 4 # _AM_MANGLE_OPTION(NAME) # --- @@ -23,7 +23,7 @@ AC_DEFUN([_AM_SET_OPTION], # -- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ---