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

Re: The automake issue, and why crippling 1.6 is a bad plan



On Thu, Jun 13, 2002 at 11:16:30PM +0200, Wouter Verhelst wrote:
> > The configure.in shipped with SDL upstream causes lintian errors about
> > things which have been a violation of policy at least as far back as I can
> > remember.  My package fixes this in configure.in and then regenerates the
> > build scripts.
> 
> You said the magic word.
> 
> They are _scripts_. That means you can put them in the diff, and generate
> them while building your _source_ package. No need to build
> configure-scripts as part of building your binary package.

Do you want to maintain the list in my debian/rules?  Here is a possibly
complete list of what would have to be added to (and maintained in) my
rules binary target in order to ensure that autoconf and automake need not
be there:

	touch configure.in && \
		touch aclocal.m4 && \
		touch configure \
		touch docs/html/Makefile && \
		touch docs/man3/Makefile && \
		touch docs/Makefile && \
		touch src/audio/alsa/Makefile && \
		touch src/audio/arts/Makefile && \
		touch src/audio/Makefile && \
		touch src/audio/amigaos/Makefile && \
		touch src/audio/baudio/Makefile && \
		touch src/audio/disk/Makefile && \
		touch src/audio/dma/Makefile && \
		touch src/audio/dmedia/Makefile && \
		touch src/audio/dsp/Makefile && \
		touch src/audio/esd/Makefile && \
		touch src/audio/macrom/Makefile && \
		touch src/audio/nas/Makefile && \
		touch src/audio/nto/Makefile && \
		touch src/audio/openbsd/Makefile && \
		touch src/audio/paudio/Makefile && \
		touch src/audio/sun/Makefile && \
		touch src/audio/ums/Makefile && \
		touch src/audio/windib/Makefile && \
		touch src/audio/windx5/Makefile && \
		touch src/audio/mint/Makefile && \
		touch src/Makefile && \
		touch src/cdrom/aix/Makefile && \
		touch src/cdrom/beos/Makefile && \
		touch src/cdrom/Makefile && \
		touch src/cdrom/bsdi/Makefile && \
		touch src/cdrom/dummy/Makefile && \
		touch src/cdrom/freebsd/Makefile && \
		touch src/cdrom/linux/Makefile && \
		touch src/cdrom/macos/Makefile && \
		touch src/cdrom/openbsd/Makefile && \
		touch src/cdrom/qnx/Makefile && \
		touch src/cdrom/win32/Makefile && \
		touch src/endian/Makefile && \
		touch src/events/Makefile && \
		touch src/file/Makefile && \
		touch src/hermes/Makefile && \
		touch src/joystick/amigaos/Makefile && \
		touch src/joystick/Makefile && \
		touch src/joystick/beos/Makefile && \
		touch src/joystick/bsd/Makefile && \
		touch src/joystick/darwin/Makefile && \
		touch src/joystick/dummy/Makefile && \
		touch src/joystick/linux/Makefile && \
		touch src/joystick/macos/Makefile && \
		touch src/joystick/mint/Makefile && \
		touch src/joystick/win32/Makefile && \
		touch src/main/Makefile && \
		touch src/main/macosx/Makefile && \
		touch src/thread/Makefile && \
		touch src/timer/Makefile && \
		touch src/video/XFree86/Xinerama/Makefile && \
		touch src/video/XFree86/Makefile && \
		touch src/video/XFree86/Xv/Makefile && \
		touch src/video/XFree86/Xxf86dga/Makefile && \
		touch src/video/XFree86/Xxf86vm/Makefile && \
		touch src/video/XFree86/extensions/Makefile && \
		touch src/video/Makefile && \
		touch src/video/aalib/Makefile && \
		touch src/video/ataricommon/Makefile && \
		touch src/video/bwindow/Makefile && \
		touch src/video/cybergfx/Makefile && \
		touch src/video/dga/Makefile && \
		touch src/video/directfb/Makefile && \
		touch src/video/dummy/Makefile && \
		touch src/video/epoc/Makefile && \
		touch src/video/fbcon/Makefile && \
		touch src/video/gem/Makefile && \
		touch src/video/ggi/Makefile && \
		touch src/video/maccommon/Makefile && \
		touch src/video/macdsp/Makefile && \
		touch src/video/macrom/Makefile && \
		touch src/video/nanox/Makefile && \
		touch src/video/photon/Makefile && \
		touch src/video/ps2gs/Makefile && \
		touch src/video/qtopia/Makefile && \
		touch src/video/quartz/Makefile && \
		touch src/video/svga/Makefile && \
		touch src/video/vgl/Makefile && \
		touch src/video/wincommon/Makefile && \
		touch src/video/windib/Makefile && \
		touch src/video/windx5/Makefile && \
		touch src/video/x11/Makefile && \
		touch src/video/xbios/Makefile && \
		touch Makefile && \
		touch include/Makefile && \
		touch test/Makefile

And depending on how picky higher level Makefiles are about dates on lower
level ones (I do not recall this being a factor, but I won't dismiss it
completely until I'm reasonably sure that this will never break), this
list may be in the wrong order.  That list is 92 files, and it grows from
release to release.

I also just realized I forgot to include libtool's files in that list.  I
suspect though that my point is proven.


> > This is not an accident or an artifact of dpkg-source,
> > it's an intentional act performed to comply with Debian's policy,
> 
> State me the part of policy that requires you to regenerate your
> configure-script as part of 'debian/rules binary', please?

That for me the part of policy that requires me to do something stupid and
difficult to maintain because other developers don't like the simple and
non-hackish solution, but can't be bothered to fix dpkg so the disgusting
hack isn't necessary?

Want me to not call autothings in my build target?  Fix dpkg so the above
shit need not litter my rules file.


> > the one
> > thing that keeps some people using Debian despite all of the bullshit we
> > have seen come out of places like this list over the past year or so.
> > 
> > I refuse to defy Debian policy because you don't like build-deps on
> > autoconf and automake.
> 
> He's right to not like it. It's a mess.
> 
> If you're concerned about automake trying to regenerate configure and
> friends because patch doesn't care about timestamps, then 'man touch' is
> your friend.

See above for just how clean a solution that really is.

-- 
Joseph Carter <knghtbrd@bluecherry.net>            What're you looking at?
 
We all know Linux is great... it does infinite loops in 5 seconds.
        -- Linus Torvalds

Attachment: pgpgqrHDJq_Nv.pgp
Description: PGP signature


Reply to: