Re: Is including a custom dist-foo into distcheck impossible

2007-06-07 Thread deckrider

I do something similar for building an nsis-based win32 installer:

http://pidgin-bs.svn.sourceforge.net/viewvc/pidgin-bs/bot-sentry/trunk/configure.ac?revision=165&view=markup

http://pidgin-bs.svn.sourceforge.net/viewvc/pidgin-bs/bot-sentry/trunk/Makefile.am?revision=165&view=markup

Note that these are conditional targets, since I want the package to
build/distcheck even on hosts that don't have makensis installed and
available.

I don't know that my way is 'correct' and although it appears to work,
I'm open to any improvements that may be noticed.



Also, you may wish to reconsider whether it is wise to include a
debian target/directory directly, or whether you might follow the
usual convention for delivering debian source packages:

http://lists.alioth.debian.org/pipermail/pkg-request-tracker-maintainers/2006-October/000175.html
http://osdir.com/ml/linux.debian.devel.mentors/2002-11/msg00143.html
http://people.debian.org/~mpalmer/debian-mentors_FAQ.html

([EMAIL PROTECTED] is a good place for further discussion)



On 6/7/07, Noah Slater <[EMAIL PROTECTED]> wrote:

Hello,

I am developing a package with Automake that needs to have a custom
dist taget for making debian packages in addition to the usual
tarballs etc.

I have created a dist-deb that works perfectly but I am unable to find
any way of including this into the distcheck target.

Is this possible?

Thanks,

Noah

--
"Creativity can be a social contribution, but only in so
far as society is free to use the results." - R. Stallman






--
ASCII ribbon campaign:
()  against HTML email
/\  against Microsoft attachments
   Information:  http://www.expita.com/nomime.html




Re: make distcheck and the /etc dir

2007-06-04 Thread deckrider

On 6/4/07, deckrider <[EMAIL PROTECTED]> wrote:

On 6/4/07, Jason Curl <[EMAIL PROTECTED]> wrote:
> Daniel Leidert wrote:
> > BTW: If you use
> >
> > etcdir=${sysconfdir}
> >
> > you can set
> >
> > DISTCHECK_CONFIGURE_FLAGS = --sysconfdir=/etc
> >
> > And if you want to make this the default, set it in your configure
> > script:
> >
> > AC_SUBST([sysconfdir],[/etc])
> >
> > However, you should carefully think about this. I personally would leave
> > it up to the user to choose a directory.
>
> After comments from previous posts I'm thinking how I can then take the
> prefix the user provided and put that in "config.h" that the program can
> then read to know where the configuration files are. I'll now have to
> learn how to extend the installation to make backups of any old
> configurations that might be there.
>
> Doing AC_SUBST([sysconfdir],[/etc]) brings back the original problem and
> doesn't help.

When you use automake, you get all these nice user-controlled things
like --prefix and --sysconfdir (even if you don't want them).  I
generally advise to use them instead of working to not use them,
thereby confusing the user who might be running './configure --help'
and seeing that they exist and finding later that your packages is
working to ignore them.

You may find some additional interesting information here (automake
uses autoconf):

http://www.gnu.org/software/autoconf/manual/autoconf.html#Installation-Directory-Variables

In short, assuming that the configure.ac/Makefile.am you are working
on controls the installation of the c/c++ compiled software that wants
to look for this configuration file, I would recommend against any
configure.ac stuff and instead do something like this in your
Makefile.am:

AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)"\


oopsI mean this:

AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\"


This works because automake will supply you with a sysconfdir value
(either a default one, or one provided by the user).






Re: make distcheck and the /etc dir

2007-06-04 Thread deckrider

On 6/4/07, Jason Curl <[EMAIL PROTECTED]> wrote:

Daniel Leidert wrote:
> BTW: If you use
>
> etcdir=${sysconfdir}
>
> you can set
>
> DISTCHECK_CONFIGURE_FLAGS = --sysconfdir=/etc
>
> And if you want to make this the default, set it in your configure
> script:
>
> AC_SUBST([sysconfdir],[/etc])
>
> However, you should carefully think about this. I personally would leave
> it up to the user to choose a directory.

After comments from previous posts I'm thinking how I can then take the
prefix the user provided and put that in "config.h" that the program can
then read to know where the configuration files are. I'll now have to
learn how to extend the installation to make backups of any old
configurations that might be there.

Doing AC_SUBST([sysconfdir],[/etc]) brings back the original problem and
doesn't help.


When you use automake, you get all these nice user-controlled things
like --prefix and --sysconfdir (even if you don't want them).  I
generally advise to use them instead of working to not use them,
thereby confusing the user who might be running './configure --help'
and seeing that they exist and finding later that your packages is
working to ignore them.

You may find some additional interesting information here (automake
uses autoconf):

http://www.gnu.org/software/autoconf/manual/autoconf.html#Installation-Directory-Variables

In short, assuming that the configure.ac/Makefile.am you are working
on controls the installation of the c/c++ compiled software that wants
to look for this configuration file, I would recommend against any
configure.ac stuff and instead do something like this in your
Makefile.am:

AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)"\

This works because automake will supply you with a sysconfdir value
(either a default one, or one provided by the user).




Re: make distcheck and the /etc dir

2007-06-04 Thread deckrider

On 6/4/07, Jason Curl <[EMAIL PROTECTED]> wrote:

Hello,

I have a project where the program expects the configuration files to be
stored in '/etc/lx2005'. Appropriately, I've got such a Makefile.am:

   # Makefile.am for installing configuration data
   etcdir=/etc/lx2005


I often struggle with this, and have to refer to this FAQ:

http://sources.redhat.com/automake/automake.html#Hard_002dCoded-Install-Paths




spaces and distcheck

2007-05-14 Thread deckrider

Hi,


From using automake (GNU automake) 1.10 on cygwin, I noticed that

'make distcheck' doesn't work when the build directory contains
spaces.  This seems to also be true on unix (the reason it was noticed
on cygwin is because the default home directory seems to contain
spaces).

Example:

mkdir "dir with spaces"
cd "dir with spaces"
/path/to/configure
make distcheck

Thanks,
Dave.




passing -R to libtool

2007-04-03 Thread deckrider

I'm using:

automake (GNU automake) 1.10
autoconf (GNU Autoconf) 2.61
ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)

Given that I don't know where a user has installed prerequisite
libraries, I assume the user can pass their location using LDFLAGS.
For instance:

./configure LDFLAGS="-L/my/path/to/the/lib"

However, for each of these -L in LDFLAGS, I think I would like to have
a corresponding -R sent to libtool.  Is this correct?  What is the
best practice for this? Does the user decide to give -R, and if so,
what variable, and should I use AC_ARG_VAR() for it?

Thanks,
Dave.




Re: HPUX: PARALLEL=4 make -P

2007-02-16 Thread deckrider

On 2/14/07, deckrider <[EMAIL PROTECTED]> wrote:

On 2/14/07, Ralf Wildenhues <[EMAIL PROTECTED]> wrote:
> In other words, this parallel make looks buggy and unusable to me,
> and there is really nothing Automake can do about it.
> Am I missing anything?

Not that I can tell.  Thank you for your efforts in simplifying the
problem so that it is plain to all.

> If you (or someone else who read this far) has a support contract with
> HP, please report this as a bug and report back the tracker URL if
> publicly available.  Thanks.

I have reported this bug using your self-contained example:

http://www1.itrc.hp.com/service/mcmItrc/viewCallReq.do?callID=3217798259

However, the above URL may not be publicly available without a support contract.



Some follow-up was provided by HP on this:

"This appears to be a bug. I found a bug report, JAGaf76708, that
describes this problem. I found the patch for 11.11, PHCO_31907. I
tested it and it does fix the problem. I have not found a patch for
11.23. I will check with the lab and let you know something soon."




Re: HPUX: PARALLEL=4 make -P

2007-02-14 Thread deckrider

On 2/14/07, Ralf Wildenhues <[EMAIL PROTECTED]> wrote:

In other words, this parallel make looks buggy and unusable to me,
and there is really nothing Automake can do about it.
Am I missing anything?


Not that I can tell.  Thank you for your efforts in simplifying the
problem so that it is plain to all.


If you (or someone else who read this far) has a support contract with
HP, please report this as a bug and report back the tracker URL if
publicly available.  Thanks.


I have reported this bug using your self-contained example:

http://www1.itrc.hp.com/service/mcmItrc/viewCallReq.do?callID=3217798259

However, the above URL may not be publicly available without a support contract.




Re: HPUX: PARALLEL=4 make -P

2007-02-13 Thread deckrider

Hmmm...I think I need more coffee...I hit transmit too soon and I'm
now not sure I see the config.status issue at all  :(

On 2/13/07, deckrider <[EMAIL PROTECTED]> wrote:

On 2/12/07, Ralf Wildenhues <[EMAIL PROTECTED]> wrote:
> Hello Jason, all,
>
> * Jason Kraftcheck wrote on Mon, Feb 12, 2007 at 07:34:25PM CET:
> >
> > This looks like a race to create .libs by concurrent libtool processes.
>
> Nope.  Unless the output is mangled in order, the link commands are
> simply issued too early.

This is what I thought at first.  However, another characteristic is
that I am _not_ able to cause an error through these steps:

configure
make
make clean
PARALLEL=4
export PARALLEL
while make -P ; do make clean ; done

In other words, _after_ config.status runs, it is safe to run in
parallel.  But as you can see in the log, config.status is at times
running _again_ with HP make.  Thus, if I do this in Makefile.am, I
also don't see errors:

$(PROGRAMS): Makefile

We also have a very large project, but have not seen this problem in
it.  Perhaps the reason is that it has a lot of $(BUILT_SOURCES) to
generate before it starts compiling and linking, and by the time it
compiles and links, config.status has already finished running.

But I am not certain of my conclusions ... just reporting some
additional behavior that I've seen.

> Looks like a bug in HP-UX make.  Haven't
> reproduced it yet, though.  My guess is it doesn't understand inference
> rules with separated dependencies, when targets and/or dependencies are
> in subdirectories.  But I haven't been able to confirm this either.
>
> > Perhaps libtool should check again to see if the directory exists if mkdir
> > fails?
>
> It does already.
>
> Cheers,
> Ralf




--
ASCII ribbon campaign:
()  against HTML email
/\  against Microsoft attachments
   Information:  http://www.expita.com/nomime.html




Re: HPUX: PARALLEL=4 make -P

2007-02-13 Thread deckrider

On 2/12/07, Ralf Wildenhues <[EMAIL PROTECTED]> wrote:

Hello Jason, all,

* Jason Kraftcheck wrote on Mon, Feb 12, 2007 at 07:34:25PM CET:
>
> This looks like a race to create .libs by concurrent libtool processes.

Nope.  Unless the output is mangled in order, the link commands are
simply issued too early.


This is what I thought at first.  However, another characteristic is
that I am _not_ able to cause an error through these steps:

configure
make
make clean
PARALLEL=4
export PARALLEL
while make -P ; do make clean ; done

In other words, _after_ config.status runs, it is safe to run in
parallel.  But as you can see in the log, config.status is at times
running _again_ with HP make.  Thus, if I do this in Makefile.am, I
also don't see errors:

$(PROGRAMS): Makefile

We also have a very large project, but have not seen this problem in
it.  Perhaps the reason is that it has a lot of $(BUILT_SOURCES) to
generate before it starts compiling and linking, and by the time it
compiles and links, config.status has already finished running.

But I am not certain of my conclusions ... just reporting some
additional behavior that I've seen.


Looks like a bug in HP-UX make.  Haven't
reproduced it yet, though.  My guess is it doesn't understand inference
rules with separated dependencies, when targets and/or dependencies are
in subdirectories.  But I haven't been able to confirm this either.

> Perhaps libtool should check again to see if the directory exists if mkdir
> fails?

It does already.

Cheers,
Ralf





Re: HPUX: PARALLEL=4 make -P

2007-02-12 Thread deckrider

On 2/10/07, Ralf Wildenhues <[EMAIL PROTECTED]> wrote:

Hello deckrider,


Hi Ralf, thanks for the reply.


* deckrider wrote on Sat, Feb 10, 2007 at 12:47:23AM CET:
> I'm having some parallel problem that isn't always repeatable (as is
> the case with many parallel problems) when using HP make as follows:
>
> PARALLEL=4 make -P distcheck
>
> I get errors like this:

Please post the whole make output.  Please also post the configure
output.  Thanks.


Output attached as configure.txt and make.txt

I configured as follows:

cd bug-1.0.0
mkdir build
cd build
../configure

I don't always get errors every time, so I ran HP make to create
make.txt like this, and used the make.txt that was created when
finally seeing an error:

PARALLEL=4
export PARALLEL
while make -P distcheck > ../../make.txt 2>&1 ; do sleep 1 ; done


> It seems that perhaps $(bin_PROGRAMS) depending on Makefile in my
> example might be needed to solve this.  However, I might expect
> Automake to take care of it.

What should this have to do with the issues you're seeing?
Nothing in the output you posted hints at a rebuild of the Makefile.

> I'm attaching bug-1.0.0.zip which is a small project which reproduces
> the error on my system:

Thanks.

> $ uname -a
> HP-UX omztdv1 B.11.23 U ia64 2505142627 unlimited-user license
>
> We have 4 CPUs on this system, which is why we use PARALLEL=4 (I would
> guess that this may not be repeatable on a single CPU system).

I only have access to single CPU HP-UXen.  I don't have enough
information to ask intelligent questions yet, though.

Cheers,
Ralf
checking build system type... ia64-hp-hpux11.23
checking host system type... ia64-hp-hpux11.23
checking target system type... ia64-hp-hpux11.23
checking for a BSD-compatible install... .././install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... .././install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for a sed that does not truncate output... /opt/vzb/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ld used by gcc... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -p
checking whether ln -s works... yes
checking how to recognise dependent libraries... file_magic 
(s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... no
checking for c++... c++
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc3
checking how to run the C++ preprocessor... c++ -E
checking for g77... g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes
checking the maximum length of command line arguments... 262144
checking command to parse /usr/bin/nm -p output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... 
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... 
yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... hpux11.23 dld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libto

init.d script best practice

2007-02-05 Thread deckrider

Is there a best practice example for using autoconf/automake to
install system init scripts?  For instance, HP-UX looks for these in
/sbin/init.d and /sbin/rc*.d and many others look to /etc/init.d and
/etc/rc*.d.

Thanks