automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Support for a non-standard directory


From: Richard Bos
Subject: Re: Support for a non-standard directory
Date: Wed, 20 Feb 2008 23:07:36 +0100
User-agent: KMail/1.9.6 (enterprise 20070904.708012)

Hi Ralf,

thank you for your support.

Op Wednesday 20 February 2008 21:20:48 schreef Ralf Wildenhues:
> > When I now run:
> > DISTCHECK_CONFIGURE_FLAGS="--with-dist=suse --without-openpkg" make
> > distcheck it fails :(
>
> That is likely because distcheck ensures that with --prefix, all
> installed files can be redirected to be inside a subtree.

Okay, but other directories can be specified, and those parallel to the one 
specified with --prefix.  E.g. --prefix=/usr, while --sysconfigdir=/etc 
and --datadir=/var

> Do you have a way to override the webserver_document_root?  If yes,
> assuming that the possibility is --enable-webserver-document-root=DIR,
> you can add
>   DISTCHECK_CONFIGURE_FLAGS='--with-dist=suse --without-openpkg
> --enable-webserver-document-root=${sharedstatedir}/htdocs'
>
> Alternatively, you could default the directory in configure.ac
>
>   if test -n "$enable_webserver_document_root"; then
>     ...
>   else
>     webserver_document_root='${sharedstatedir}/htdocs'
>   fi
>   AC_SUBST([webserver_document_root])

I don't know, if this is possible due to the way we have setup the automake 
chain.  We define webserver_document_root in a distribution dependend file, 
that is included in Makefile.am.  If you don't mind I'll sent you a tarbal 
(250k), with the project.  Having a look at the real files, with the 
possibility to execute, says much more than many words trying to explain how 
it works (or we have put it together).

> > 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.
>
> --htmldir should be for documentation in HTML format.

Yes, that is true.  Therefor I wrote (mis)use.  But this one works! ;)

> > 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.)?
>
> No.  It is deliberate that all configure scripts understand the same
> flags, --enable-* and --with-* are for package-specific extensions (that
> are to be ignored by other packages).  The GNU Coding Standards mandate
> this; the rationale is to allow you to build trees of packages,
> connected by AC_CONFIG_SUBDIRS, and not have configure scripts fail due
> to arguments it does not know.

But, all directories options don't start with that, see ./configure --help:
Fine tuning of the installation directories:
  --bindir=DIR           user executables [EPREFIX/bin]
  --sbindir=DIR          system admin executables [EPREFIX/sbin]
  --libexecdir=DIR       program executables [EPREFIX/libexec]
  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
  --libdir=DIR           object code libraries [EPREFIX/lib]
  --includedir=DIR       C header files [PREFIX/include]
etc
As such, it would be nice if configure would include an option to specify 
an --serverdir or --servicedir.  Another reason would be, because /srv is 
adviced by FHS
http://www.pathname.com/fhs/pub/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM

> >  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.
>
> FWIW, I have seen none of this battle so far.

One that is/was very similar is:
http://www.cygwin.com/ml/automake/2004-10/msg00032.html
I did not check other threads though (there won't be too many as calling 'make 
distcheck' with the environment variable DISTCHECK... resulting in an error 
is, I think, rather exceptional.

-- 
Richard Bos
We are borrowing the world of our children,
It is not inherited from our parents.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]