Fabrizio,
if you want the stuff in ${prefix}/etc/ you just change the line in
src/Makefile.am:
xrootdstartupdir = $(sysconfdir)/xrootd
->
xrootdstartupdir = $(sysconfdir)/
That's a very trivial operation and has exactly the result you want.
Cheers Andreas.
> Ciao, Fabrizio
>
> On Thursday 13 December 2007, Fabrizio Furano wrote:
> > Hi Derek,
> >
> > I appreciate your responsiveness, but I don't want to steer into
> > philosophical talks. Maybe ZX spectrum was better than C=64, but I don't
> > care now.
>
> Well, I did not want to sound philosophical, but I tried to state the real
> advantages and disadvantages as I see them. Xrootd has made an own standard
> of its build and deployment structure, and a large number of users have
> adapted to this. The autotools build follows a very widely spread standard in
> unix software engineering, and this was also why I was asked to implement it
> (which caused me and Gerri a lot of work at that time). I still think that it
> is worth make a reasonable effort to try to comply with standards, but
> naturally in the crazy fast changing world of software development,
> reasonable is defined very differently by the users.
>
> As I said. I can introduce and adapt the configure easily, if this is needed
> and if you can suggest to me exactly what you want. On the other hand, one
> could rethink the decision to support autotools. However, if xrootd gets a
> wider range of users, as it certainly deserves, it may be an advantage to
> keep the autobuild, especially since the main work has already been done.
>
> Cheers,
> Derek
>
>
>
> >
> > The point is that there are tenths of sites (with many different
> > architectures, and not only babarians) using the plain classic build and
> > the rpms that Wilko provides.
> > So, from my perspective, I just see that if I try to use the autotools
> > build:
> >
> > - as a developer i don't feel comfortable with it. For instance, I don't
> > want to choose if to look at the libraries in a hidden directory or being
> > forced to install everything in /usr/, or having to look at the executables
> > in N different places.
> > - if I want to setup a cluster, or even a single server, I have no clue at
> > all about how to start it, since the bundled scripts (used by a lot of
> > people) do not work.
> > - I don't want to mess up things and write shell scripts on top of
> > something just to start my own executables (btw this is what Alien seems to
> > do, workarounds over workarounds). It should just work out of the box, like
> > in the classic case.
> >
> >
> > Given this, which I think is pretty pragmatic, I'd like to be even more
> > pragmatic. Since this morning I am fighting to install a manager with a
> > trivial config file, with no success. This makes me quite upset. I am not
> > able to deal with my own stuff.
> > I switched back to configure.classic and it works. So, I have no idea of
> > what's good or bad, but please, if you have a clean list of hints/fixes to
> > do, my wish is to work together and put the 'alternate' build system in a
> > state where it is usable and it does not need workarounds.
> > For how it is now, if I have to setup a cluster somewhere, I will simply
> > ignore it, but that's not what I'd prefer.
> >
> > I hope that I don't make you upset with this. Let's make this thing work
> > together if you want.
> >
> >
> > Fabrizio
> >
> > Derek Feichtinger wrote:
> > > Hi, Fabrizio
> > >
> > > I'm sorry that you have so much fuzz with this.
> > >
> > > Some comments follow:
> > >> So, if I keep the default prefix /usr/local, I expect to have the
> > >> config files in /usr/local/etc, and the libs in /usr/local/lib, but
> > >> what I see now is that "make install" puts that stuff into /usr/local/
> > >> etc/xrootd and similar for lib.
> > >
> > > The choice for $PREFIX/etc/xrootd instead of just $PREFIX/etc was taken
> > > because an administrator does not want /etc cluttered with a whole number
> > > of files from a single package, so it is nicer to have it in a separate
> > > directory named for the service.
> > >
> > > StartOLB
> > > StartOLB.cf.example
> > > StartXRD
> > > StartXRD.cf.example
> > > StopOLB
> > > StopXRD
> > > XrdOlbMonPerf
> > > xrootd.cf.example
> > >
> > > I can easily build in an option, if this is a problem (hardcoded
> > > locations?). But usually, one wants to have typical init scripts which
> > > fit into a system's service startup and shutdown structure.
> > >
> > > For the libraries you looked wrongly, for they are in $PREFIX/lib and not
> > > in a separate folder. This would break the standard convention for
> > > libraries. But the include files are also segregated into
> > > $PREFIX/include/xrootd/ for better structuring.
> > >
> > >> This is not compatible with the standard StartXRD scripts, which
> > >> everybody use (except Alice afaik). What do you think about this? Are
> > >> you aware of any workaround for that?
> > >
> > > While I was working for ALICE, we always used custom scripts. But since
> > > xrootd needs a minimum of switches and mainly relies on the config files,
> > > this never seemed a drawback to me. It involved just a few lines of shell
> > > code.
> > >
> > >> Btw in the meantime, I will
> > >> install my machines like I always did, i.e. with the plain
> > >> configure.classic, but that is not what the Alice guys are used to,
> > >> even if it's much simpler by now imho.
> > >
> > > Well, configure.classic works well and is faster than the autotools
> > > build. But autotools is still _the_ standard in the build system and
> > > portability world. New systems like cmake are popping up, but these
> > > things are really difficult and painful to develop, and they take long
> > > until a big community adopts them.
> > >
> > > Also, if you look at a xrootd Makefile.am and then at the corresponding
> > > classic GNUMakefile, the Makefile.am is structured much simpler.
> > > It is trivial to build RPMs and other packages from an autotools build,
> > > since it correctly observes the DESTDIR setting (packaging directory),
> > > and the libraries correctly contain the right -rpath, so that no
> > > LD_LIBRARY_PATH needs to be set.
> > > Autotools configure is slower, because it makes real compilation tests
> > > for the system's features. The generated configure script shows all the
> > > standard behavior expected by users and offers a wide range of user
> > > options. Also, you can build multiple architectures from the same
> > > sources, e.g. by having them on a shared filesystem.
> > >
> > > Configure.classic is a separate and well working system, but it has
> > > completely non-standard behavior and if I want to deploy software in a
> > > standard way, I have to do extra work.
> > >
> > > The technology used by autotools to generate the configure (m4, etc.) is
> > > too old and inconvenient, and some things are clearly too complex.
> > > However, since so much work has been done before, you usually don't have
> > > to deal with these kind of issues, and you more or less just use the
> > > ready made macros. Don't forget that a large part of the complexity comes
> > > for the innate problems that portability implies - years of operations
> > > systems development and complex and subtle differences across their
> > > versions.
> > >
> > > Sorry again for your losing time because of these issues, but it really
> > > was hard for me in the last few weeks to pay close attention to this, and
> > > keeping a separate build is not always easy.
> > >
> > > Cheers,
> > > Derek
> > >
> > > On Thursday 13 December 2007, Fabrizio Furano wrote:
> > >> Hi Derek,
> > >>
> > >> well, I am sorry to bother you so much, but I am not able to get out
> > >> from this maze.
> > >>
> > >> The problem I find is that when I make install, it puts the things
> > >> in a way which looks incompatible with the normal start/stop scripts,
> > >> which hence do not work. This may be one reason for the bloody mess of
> > >> alternative install/start/stop scripts that I see around.
> > >>
> > >> So, if I keep the default prefix /usr/local, I expect to have the
> > >> config files in /usr/local/etc, and the libs in /usr/local/lib, but
> > >> what I see now is that "make install" puts that stuff into /usr/local/
> > >> etc/xrootd and similar for lib.
> > >>
> > >> This is not compatible with the standard StartXRD scripts, which
> > >> everybody use (except Alice afaik). What do you think about this? Are
> > >> you aware of any workaround for that? Btw in the meantime, I will
> > >> install my machines like I always did, i.e. with the plain
> > >> configure.classic, but that is not what the Alice guys are used to,
> > >> even if it's much simpler by now imho.
> > >>
> > >> Fabrizio Furano
> > >> [log in to unmask]
>
>
>
>
--
|