Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: vpnc: devel

automake/autoconf?

 

 

vpnc devel RSS feed   Index | Next | Previous | View Threaded


qralston+ml.vpnc-devel at andrew

Jul 5, 2004, 12:37 AM

Post #1 of 14 (1274 views)
Permalink
automake/autoconf?

I've been playing around with vpnc, and I've managed to get it to work
with our Cisco VPN system. Thanks Maurice!

I notice that the vpnc package doesn't use the GNU building tools
(automake, autoconf, etc.) for building. Is this intentional?

If not, I'd be happy to update the vpnc package to use the GNU
building tools. (I speak automake and autoconf reasonable well.)

Regards,

--
James Ralston, Information Technology
Software Engineering Institute
Carnegie Mellon University, Pittsburgh, PA, USA


massar at unix-ag

Jul 5, 2004, 1:11 AM

Post #2 of 14 (1245 views)
Permalink
automake/autoconf? [In reply to]

hi,

> I notice that the vpnc package doesn't use the GNU building tools
> (automake, autoconf, etc.) for building. Is this intentional?
>
> If not, I'd be happy to update the vpnc package to use the GNU
> building tools. (I speak automake and autoconf reasonable well.)

thanks, but what advantage would autoconf/automake exactly offer?
support for operating systems is pretty limited by the availability
of tun/tap which are there actually only 5 supported by vpnc..

cu
maurice


qralston+ml.vpnc-devel at andrew

Jul 5, 2004, 2:58 AM

Post #3 of 14 (1245 views)
Permalink
automake/autoconf? [In reply to]

On 2004-07-05 at 01:11:36+02 Maurice Massar <massar [at] unix-ag> wrote:
> what advantage would autoconf/automake exactly offer? support for
> operating systems is pretty limited by the availability of tun/tap
> which are there actually only 5 supported by vpnc..

True. But autoconf/automake makes it a lot easier to make packages
(RPMs, .debs, etc.), including steps such as passing
distribution-specific compiler options (e.g., CFLAGS), and different
installation locations (e.g., automatic DESTDIR support).

Additionally, the dependency checking of autoconf (e.g., using a
recent version of libgcrypt) makes it a lot easier for end users
(e.g., people who would be building vpnc for themselves) to
troubleshoot build problems. (For example, autoconf can easily make a
"configure" script that will detect a version of libgcrypt that would
be too old.)

Also, it might not matter to you, but autoconf/automake makes it very
easy for software authors to make a distribution package from a
development repository (e.g. CVS), just by running "make
distribution".

And finally, pretty much everyone is familiar with autoconf; people
know to run "./configure; make; make install". If vpnc Did The Right
Thing (including failing with helpful error messages), it would be
easier for end users.

If you have a specific reasons for *not* wanting to use
autoconf/automake, that's fine. But since having vpnc use
autoconf/automake would make my life easier (as I build RPMs for most
software I use), I thought I'd offer to add it.

James


edi at gmx

Jul 5, 2004, 7:53 AM

Post #4 of 14 (1244 views)
Permalink
automake/autoconf? [In reply to]

Moin James!
James Ralston schrieb am Sonntag, den 04. Juli 2004:

> True. But autoconf/automake makes it a lot easier to make packages
> (RPMs, .debs, etc.), including steps such as passing

Nonsense.

> distribution-specific compiler options (e.g., CFLAGS), and different

Who said that we need them? Where would be the big difference between
setting them via configure options or make options.

> installation locations (e.g., automatic DESTDIR support).

*cough* put a lot of autoFoo crap into the package (maybe even larger
than the codesize) just to have another way to install few files?

> Additionally, the dependency checking of autoconf (e.g., using a
> recent version of libgcrypt) makes it a lot easier for end users

This is pointless unless autoconf can download and install dependencies
for them.

> Also, it might not matter to you, but autoconf/automake makes it very
> easy for software authors to make a distribution package from a
> development repository (e.g. CVS), just by running "make
> distribution".

Eh? Run "make release" please.

> And finally, pretty much everyone is familiar with autoconf; people
> know to run "./configure; make; make install". If vpnc Did The Right

People know how to start Windows to play games. So what?!

> If you have a specific reasons for *not* wanting to use
> autoconf/automake, that's fine. But since having vpnc use
> autoconf/automake would make my life easier (as I build RPMs for most
> software I use), I thought I'd offer to add it.

Which problem would autoconf solve for you? You would have even to run
more programs (configure) and wait longer, so I wonder what exactly you
talk about.

Regards,
Eduard.


Nicolas.Mailhot at laPoste

Jul 5, 2004, 9:09 AM

Post #5 of 14 (1244 views)
Permalink
automake/autoconf? [In reply to]

Le lun, 05/07/2004 ? 07:53 +0200, Eduard Bloch a ?crit :

> > Additionally, the dependency checking of autoconf (e.g., using a
> > recent version of libgcrypt) makes it a lot easier for end users
>
> This is pointless unless autoconf can download and install dependencies
> for them.

Sorry, no.

It's ok for an app to check it gets the versions it expects.
It's absolutely *not* ok to auto-download parts (especially binary
parts) during build.

Any app that does this won't pass QA in any serious distro (even though
this seems a common app writer delusion). The reason distributions are
remotely stable is (unlike on some other systems) an app can not force
any random version of its dependencies on the system, and has to use
libs already QAed against the rest of the system (even on build-from-
source setups like gentoo).

The only people for which this kind of auto-download works are the ones
that uploaded the binary parts to download, and usually because they are
very focused on the app they are developing and wouldn't care less if
the rest of the system was hosed.

--
Nicolas Mailhot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=
Url : http://lists.unix-ag.uni-kl.de/pipermail/vpnc-devel/attachments/20040705/87e97db8/attachment.pgp


oliver.gorwits at computing-services

Jul 5, 2004, 11:16 AM

Post #6 of 14 (1246 views)
Permalink
automake/autoconf? [In reply to]

Maurice Massar wrote:
>>If not, I'd be happy to update the vpnc package to use the GNU
>>building tools. (I speak automake and autoconf reasonable well.)
>
>
> thanks, but what advantage would autoconf/automake exactly offer?
> support for operating systems is pretty limited by the availability
> of tun/tap which are there actually only 5 supported by vpnc..

Indeed, and cross-compiling is made more difficult by the use of
autoconf and the like. There are many software projects that avoid them
for this reason alone.

regards,
oliver.
--
Oliver Gorwits, Network Infrastructure Group
Oxford University Computing Services


qralston+ml.vpnc-devel at andrew

Jul 7, 2004, 8:40 AM

Post #7 of 14 (1244 views)
Permalink
automake/autoconf? [In reply to]

On 2004-07-05 at 07:53:12+02 Eduard Bloch <edi [at] gmx> wrote:

> James Ralston schrieb am Sonntag, den 04. Juli 2004:
>
> > But autoconf/automake makes it a lot easier to make packages
> > (RPMs, .debs, etc.), including steps such as passing
>
> Nonsense.

That wasn't a hypothetical statement; it was a statement of fact. I
packaged vpnc as an RPM, and it was more difficult to do so because
vpnc didn't support autoconf/automake.

> > distribution-specific compiler options (e.g., CFLAGS), and
> > different
>
> Who said that we need them? Where would be the big difference
> between setting them via configure options or make options.

Because setting them via configure options is the *expected thing to
do*. RPM's %configure and %install macros, for example, will simply
Do The Right Thing for any package that supports autoconf:

%build
%configure
%__make

%install
%__make DESTDIR="${RPM_BUILD_ROOT}" install

If vpnc supported autoconf/automake, that would have been all I had to
do. But because it didn't, the procedure was more complicated.

Yes, you could manually patch vpnc's Makefile to support DESTDIR. But
this is the kind of thing that autoconf will take care of for you.
Why not take a small amount of effort (which I volunteered!) to add
autoconf/automake support now, so that you don't have to worry about
build again?

> *cough* put a lot of autoFoo crap into the package (maybe even
> larger than the codesize) just to have another way to install few
> files?

Not "another" way; the *preferred* way.

And why does it matter if the autoconf/automake stuff is larger than
the codesize? A few extra KB in the package isn't going to matter.

> > Additionally, the dependency checking of autoconf (e.g., using a
> > recent version of libgcrypt) makes it a lot easier for end users
>
> This is pointless unless autoconf can download and install
> dependencies for them.

No, it's not: being told that you need to install package foo is more
helpful than having the compilation of one of the source files fail
because a function from the missing package wasn't available.

Besides, as Nicolas pointed out, firing off a *build* should not
automatically download or install *anything*. (It wouldn't work with
RPM anyway, as RPMs should be built using a non-privileged user
account.)

> > Also, it might not matter to you, but autoconf/automake makes it
> > very easy for software authors to make a distribution package from
> > a development repository (e.g. CVS), just by running "make
> > distribution".
>
> Eh? Run "make release" please.

But "make distribution" is the standard autoconf/automake target. Why
not just use autoconf? Why reinvent the wheel (with a different
name)?

> > And finally, pretty much everyone is familiar with autoconf;
> > people know to run "./configure; make; make install". If vpnc Did
> > The Right
>
> People know how to start Windows to play games. So what?!

So you believe every single software package in existence should have
completely different, manually-generated Makefiles, with no agreement
on standard build procedures and target names?

> > If you have a specific reasons for *not* wanting to use
> > autoconf/automake, that's fine. But since having vpnc use
> > autoconf/automake would make my life easier (as I build RPMs for
> > most software I use), I thought I'd offer to add it.
>
> Which problem would autoconf solve for you?

All of the ones I've outlined above.

I ask again: what problems would adding autoconf/automake support
*add*? If we can't think of any, and Maurice is willing to use it,
why shouldn't Maurice take me up on my offer?

James


sturm+vpnc at sec-tud

Jul 7, 2004, 9:28 AM

Post #8 of 14 (1242 views)
Permalink
automake/autoconf? [In reply to]

* James Ralston [2004-07-07]:
> > > But autoconf/automake makes it a lot easier to make packages
> > > (RPMs, .debs, etc.), including steps such as passing
> > Nonsense.
> That wasn't a hypothetical statement; it was a statement of fact. I

I am god, obey my orders.

> packaged vpnc as an RPM, and it was more difficult to do so because
> vpnc didn't support autoconf/automake.

I maintain the OpenBSD vpnc package and it wasn't difficult at all to
get it packaged. In fact, we have much more problems patching broken
libtool/auto* scripts. Patching a simple Makefile is what we like best.

> > > distribution-specific compiler options (e.g., CFLAGS), and
> > > different
> Because setting them via configure options is the *expected thing to

Just because you expect sth does not make it *the* expected thing to do.
There is a whole world out there, not just your island.

> do*. RPM's %configure and %install macros, for example, will simply
> Do The Right Thing for any package that supports autoconf:

> %build
> %configure
> %__make
>
> %install
> %__make DESTDIR="${RPM_BUILD_ROOT}" install

Congratulations, this will break with old configure scripts *not*
dealing with DESTDIR. This will further break with configure scripts
setting only a few DESTDIRs. These cases are not hypothetical.

> If vpnc supported autoconf/automake, that would have been all I had to
> do. But because it didn't, the procedure was more complicated.

Why do you believe that your case is the general one? There are people
with other operating systems and package tools that couldn't care less
about rpm's build support.

> Yes, you could manually patch vpnc's Makefile to support DESTDIR. But
> this is the kind of thing that autoconf will take care of for you.

And I will have to patch broken autoconf tests. What do I gain?

> > *cough* put a lot of autoFoo crap into the package (maybe even
> > larger than the codesize) just to have another way to install few
> > files?
> Not "another" way; the *preferred* way.

Preferred by you, certainly not by me.

> But "make distribution" is the standard autoconf/automake target. Why
> not just use autoconf? Why reinvent the wheel (with a different
> name)?

Huh? Nobody reinvents any wheel here. Writing Makefiles is an old
business of programmers and the "release" target is pretty trivial.

> So you believe every single software package in existence should have
> completely different, manually-generated Makefiles, with no agreement
> on standard build procedures and target names?

Yes, I want packages to just use Makefiles, which I could simply patch
to do what is the right thing *in my situation*. And all I need is "make
all && make install" which people use historically anyways. In OpenBSD
we have more than 350 patches for configure scripts (we have about 2500
ports) because they fuck up in one way or another.

I don't care what Makefile targets are named, I care about a process
that makes it easy for me to adapt it to my needs. Adapting auto* to my
needs is much harder than adapting a plain Makefile.

> I ask again: what problems would adding autoconf/automake support
> *add*? If we can't think of any, and Maurice is willing to use it,

All the ones I outlined above.

Nikolay


qralston+ml.vpnc-devel at andrew

Jul 7, 2004, 10:04 AM

Post #9 of 14 (1245 views)
Permalink
automake/autoconf? [In reply to]

On 2004-07-07 at 09:28:52+02 Nikolay Sturm <sturm+vpnc [at] sec-tud> wrote:

> Yes, I want packages to just use Makefiles, which I could simply
> patch to do what is the right thing *in my situation*. And all I
> need is "make all && make install" which people use historically
> anyways.

Fortunately, there's an easy solution here: if you are willing to
provide me with a shell account on an OpenBSD machine, I will ensure
that any autoconf/automake patches to vpnc work correctly on OpenBSD.

This will satisfy your objections, yes?

> In OpenBSD we have more than 350 patches for configure scripts (we
> have about 2500 ports) because they fuck up in one way or another.

Autoconf/automake are powerful tools, but they are also complicated
tools. When package authors use them in a way that works for them but
doesn't work for others, you should definitely let them know.

(You've communicated your patches back to the original package
authors, yes?)

James


sturm+vpnc at sec-tud

Jul 7, 2004, 8:46 PM

Post #10 of 14 (1245 views)
Permalink
automake/autoconf? [In reply to]

* James Ralston [2004-07-07]:
...
> This will satisfy your objections, yes?

No! Didn't you read what I wrote? vpnc is a simple project with a simple
Makefile and all I want is to see projects like these use simple
Makefiles. I am perfectly happy with the status quo and I won't discuss
this any longer. Period.

Nikolay

--
OpenPGP: 0x2036A3A7 - 64E4 7D77 F5C0 EA47 A901 51EF 6E54 6E4F 2036 A3A7
"The XFS you see in the kernel is not SGI-XFS but the X Font Server."
some user on misc [at] openbsd


edi at gmx

Jul 7, 2004, 9:00 PM

Post #11 of 14 (1243 views)
Permalink
automake/autoconf? [In reply to]

Moin James!
James Ralston schrieb am Wednesday, den 07. July 2004:

> > > But autoconf/automake makes it a lot easier to make packages
> > > (RPMs, .debs, etc.), including steps such as passing
> >
> > Nonsense.
>
> That wasn't a hypothetical statement; it was a statement of fact. I

A self-made fact!

> packaged vpnc as an RPM, and it was more difficult to do so because
> vpnc didn't support autoconf/automake.

I packaged it as DEB and I disagree with you. Neither did I hear any
complaints from the SuSE maintainer, and fellow BSD maintainer seem to
have the same opinion as me.

> > Who said that we need them? Where would be the big difference
> > between setting them via configure options or make options.
>
> Because setting them via configure options is the *expected thing to

Expected by whom? What is the difference between running "./configure ;
make install" and "make install"? Yes, it is only the missing configure
run which costs CPU time and extra space for no reason. And also adds
more complexity that tends to break (due to higher failure probability)
and is not adaptive to new environment (we have enough trouble with
obsolete autotools crap in Debian packages where support for amd64 or
mipsel was just missing).

> do*. RPM's %configure and %install macros, for example, will simply
> Do The Right Thing for any package that supports autoconf:
>
> %build
> %configure
> %__make
>
> %install
> %__make DESTDIR="${RPM_BUILD_ROOT}" install

What has autoconf to do with all that? It is a matter of few lines to
add a "install" rule to the current Makefile; why do you insist on
getting a monster to create this simple rule?

> Yes, you could manually patch vpnc's Makefile to support DESTDIR. But
> this is the kind of thing that autoconf will take care of for you.

Really? I think it will be much simpler to write the stuff down instead
of fiddling around with autoconf.

> Why not take a small amount of effort (which I volunteered!) to add
> autoconf/automake support now, so that you don't have to worry about
> build again?

The time costs of this effort are not the only problem, see below.

> Not "another" way; the *preferred* way.
>
> And why does it matter if the autoconf/automake stuff is larger than
> the codesize? A few extra KB in the package isn't going to matter.

"few"? Oh please, I just took the next random package using autoconf
(lufs) and (oh wonder) there is a configure script (plus related stuff)
with 700kB size. Do we really need a such beast for a package with less
than 200kB code size?

> > This is pointless unless autoconf can download and install
> > dependencies for them.
>
> No, it's not: being told that you need to install package foo is more
> helpful than having the compilation of one of the source files fail
> because a function from the missing package wasn't available.

*cough* The error message is more helpfull then README which you need to
read anyways?

> Besides, as Nicolas pointed out, firing off a *build* should not
> automatically download or install *anything*. (It wouldn't work with

It was just a counter-argument to the claim that autoconf makes things
"easier". And you admit that this is often not the case.

> > > Also, it might not matter to you, but autoconf/automake makes it
> > > very easy for software authors to make a distribution package from
> > > a development repository (e.g. CVS), just by running "make
> > > distribution".
> >
> > Eh? Run "make release" please.
>
> But "make distribution" is the standard autoconf/automake target. Why

Well, running "win" was the standard method to start Windows. What's the
point?

> not just use autoconf? Why reinvent the wheel (with a different
> name)?

a) because it is already there
b) because it costs less than 10 lines of Makefile code

> > People know how to start Windows to play games. So what?!
>
> So you believe every single software package in existence should have
> completely different, manually-generated Makefiles, with no agreement
> on standard build procedures and target names?

I believe in the method of using the right method for each thing.
Consistency makes sense on large packages, but not here.

> > > If you have a specific reasons for *not* wanting to use
> > > autoconf/automake, that's fine. But since having vpnc use
> > > autoconf/automake would make my life easier (as I build RPMs for
> > > most software I use), I thought I'd offer to add it.
> >
> > Which problem would autoconf solve for you?
>
> All of the ones I've outlined above.

You did not outline real problems, only hypothetical ones (like missing
of the "distribution" rule which you like) or self-made ones. As
packager and initially user, I am/was perfectly happy with the Makefile.

> I ask again: what problems would adding autoconf/automake support
> *add*? If we can't think of any, and Maurice is willing to use it,
> why shouldn't Maurice take me up on my offer?

I think it's extra work and we are students without much spare time and
such changes require some time to be checked in. And there are still no
concrete advantages, you repeat the old non-arguments.

Regards,
Eduard.
--
Der Atheismus ist ein Zeichen, da? man die Religion ernst nimmt.
-- Sir Karl Raimund Popper


mgalgoci at redhat

Jul 7, 2004, 9:09 PM

Post #12 of 14 (1251 views)
Permalink
automake/autoconf? [In reply to]

> > I ask again: what problems would adding autoconf/automake support
> > *add*? If we can't think of any, and Maurice is willing to use it,
> > why shouldn't Maurice take me up on my offer?
>
> I think it's extra work and we are students without much spare time and
> such changes require some time to be checked in. And there are still no
> concrete advantages, you repeat the old non-arguments.

If someone wants to suffer the pain of automaking and autoconf-ing vpnc, why
not let them go ahead? And if you don't want to touch automake/autoconf, why
not make the person that offered the service the maintainer for those bits?

--
Matthew Galgoci
System Administrator and Sr. Manager of Ruminants
Red Hat, Inc
919.754.3700 x44155


Nicolas.Mailhot at laPoste

Jul 7, 2004, 9:35 PM

Post #13 of 14 (1244 views)
Permalink
automake/autoconf? [In reply to]

Le mer, 07/07/2004 ? 21:00 +0200, Eduard Bloch a ?crit :

> > Besides, as Nicolas pointed out, firing off a *build* should not
> > automatically download or install *anything*. (It wouldn't work with
>
> It was just a counter-argument to the claim that autoconf makes things
> "easier". And you admit that this is often not the case.

And my point was just a counter-argument to the claim that auto-download
makes things easier. I'm rather neutral on autoconf - sometimes it
helps, sometimes it fails spectacularly.

What I am *not* neutral on is auto-downloads and private copies of
dependencies. They do *not* help at all. They cause serious QA/
maintenance/security problems, are a major PITA to detect/extirpate, and
generally imply the build scripts atrophied to the point it's real hard
to plug the app into any decent system.

Unfortunately with broadband generalisation they seem to spread like
Aussie rabbits.

So I was just reacting to my private nemesis - please do not search
anything else in my message.

(Though it should be noted that apps that follow well-known build
patterns like ./configure make make-install have a lot less packaging
problems generally than one-of-a-kind build systems. RPM is pretty
flexible and can stomach pretty weird/atrocious scripts, but the best
rpm layer is the thinnest one - not the 1000-lines horrors one has to
write sometimes)

--
Nicolas Mailhot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=
Url : http://lists.unix-ag.uni-kl.de/pipermail/vpnc-devel/attachments/20040707/5fd8ad5b/attachment.pgp


massar at unix-ag

Jul 13, 2004, 3:02 PM

Post #14 of 14 (1247 views)
Permalink
automake/autoconf? [In reply to]

hi,

> Autoconf/automake are powerful tools, but they are also complicated
> tools. When package authors use them in a way that works for them but
> doesn't work for others, you should definitely let them know.

first, thanks for your offer.

But I am going to keep it the way it is, but some
fixes to the Makefile are need. Adding support for
an install target (and DESTDIR=...) and make CFLAGS
and so overridable from command line..

(if anyone wants to send me something for that, ...
as I've read package-maint. do change things, are some
of these usable upstream?)

cu
maurice

vpnc devel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.