automake
[Top][All Lists]
Advanced

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

automake parallel install


From: Havoc Pennington
Subject: automake parallel install
Date: 09 Jan 2002 12:53:43 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1

Hi,

Tom asked me to repost this to the list. I'm not subscribed, so please
cc if you want to hear from me.

Thanks,
Havoc

--- Begin Message --- Subject: automake parallel install stuff Date: 08 Jan 2002 18:34:50 -0500 User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1
Hi,

I'm wondering if we could convince you and the autoconf guys to think
about making incompatible autotools releases install in parallel.  I
just patched the Red Hat Linux automake RPMs to work this way, the
patches are very simple. I'm appending them. (In the tarballs you'd
also need to change the Makefile.am to rename the install directories,
I did that via "mv" in the spec file to avoid re-running automake in
the automake specfile, which was just too complicated for me. ;-))
Also, in the spec file I rename automake to automake-1.4, aclocal to
aclocal-1.4, automake to automake-1.5, aclocal to aclocal-1.5, and
symlink automake to automake-1.5. I provide versioned executables in
both RPMs because those are probably the best ones for other packages
to refer to - so the packages won't need to be changed when
automake-1.6 appears and gets the "automake" symlink.

Parallel install is really important - the usual Linux system is just
getting too big for us to port all packages to a new auto* (or
whatever dependency changed this week) in one release cycle. The
result of not having parallel install will basically be that no one
ever wants to upgrade to the new versions.

We're seeing the same thing in GNOME - if packages could port to
2.53/1.5 piecemeal, then they'd all be ported already, but as it
stands you have to port every module in GNOME at once or it's
impossible to compile GNOME as a whole on one machine anymore, and no
one wants to port every module in one go. So the barrier to entry for
1.5 is really high.

If we could get the parallel install moved upstream, then we could
count on everyone being able to install both versions and upstream
packages could reference the "automake-1.5" executable.

Parallel install has worked really well for the GNOME platform, it
makes it trivial for people to hack on both platforms at once, lets
distributions ship GNOME 2 without breaking ABI, and is just generally
a major time-and-effort-saving device.

People seem to have an aesthetic reaction against including the
version number in the name of everything at first, but I don't think
there's really a practical reason why it's bad to do so, and in fact
it's standard for anything that's an ABI - such as library sonames.

Havoc


--- automake-1.4-p5/aclocal.in.compatrename     Tue Jan  8 15:49:31 2002
+++ automake-1.4-p5/aclocal.in  Tue Jan  8 15:52:45 2002
@@ -32,7 +32,7 @@
 $PACKAGE = "@PACKAGE@";
 $prefix = "@prefix@";
 # Note that this isn't pkgdatadir, but a separate directory.
-$acdir = "@datadir@/aclocal";
+$acdir = "@datadir@/aclocal-1.4";
 
 # Some globals.
 
@@ -145,6 +145,9 @@
     local (@dirlist);
     local ($print_and_exit) = 0;
 
+    ## put in -I /usr/share/aclocal always 
+    push (@dirlist, "@datadir@/aclocal");
+
     while (@arglist)
     {
        if ($arglist[0] =~ /^--acdir=(.+)$/)
--- automake-1.4-p5/automake.in.compatrename    Tue Jan  8 15:49:37 2002
+++ automake-1.4-p5/automake.in Tue Jan  8 15:50:05 2002
@@ -32,7 +32,7 @@
 $VERSION = "@VERSION@";
 $PACKAGE = "@PACKAGE@";
 $prefix = "@prefix@";
-$am_dir = "@datadir@/@PACKAGE@";
+$am_dir = "@datadir@/@address@hidden";
 $TAR = "@TAR@";
 
 # String constants.


--- automake-1.5/automake.in.compatrename       Thu Aug 23 01:26:53 2001
+++ automake-1.5/automake.in    Tue Jan  8 16:19:42 2002
@@ -32,7 +32,7 @@
 BEGIN
 {
   my $prefix = "@prefix@";
-  my $perllibdir = $ENV{'perllibdir'} || "@datadir@/@PACKAGE@";
+  my $perllibdir = $ENV{'perllibdir'} || "@datadir@/@address@hidden";
   unshift @INC, "$perllibdir";
 }
 
@@ -127,7 +127,7 @@
 my $VERSION = "@VERSION@";
 my $PACKAGE = "@PACKAGE@";
 my $prefix = "@prefix@";
-my $libdir = "@datadir@/@PACKAGE@";
+my $libdir = "@datadir@/@address@hidden";
 
 # String constants.
 my $IGNORE_PATTERN = '^\s*##([^#\n].*)?\n';
--- automake-1.5/aclocal.in.compatrename        Tue Jul 17 01:36:23 2001
+++ automake-1.5/aclocal.in     Tue Jan  8 16:18:45 2002
@@ -32,7 +32,7 @@
 $PACKAGE = "@PACKAGE@";
 $prefix = "@prefix@";
 # Note that this isn't pkgdatadir, but a separate directory.
-$acdir = "@datadir@/aclocal";
+$acdir = "@datadir@/aclocal-1.5";
 
 # Some globals.
 
@@ -156,6 +156,9 @@
     local (@dirlist);
     local ($print_and_exit) = 0;
 
+    ## put in -I /usr/share/aclocal always 
+    push (@dirlist, "@datadir@/aclocal");
+
     while (@arglist)
     {
        if ($arglist[0] =~ /^--acdir=(.+)$/)

--- End Message ---

reply via email to

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