You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jens-Uwe Mager <ju...@helios.de> on 1998/09/20 17:53:58 UTC

Proposal: changes to the binbuild.sh script

While doing a few binary builds, I have found it to be rather difficult
to install the resulting distribution. I think this is rather paradox,
as a binary distribution is supposed to skip all the complexities users
without developer experiences face. I would like to propose the
following patch to the binbuild.sh utility that makes a few thing
easier.

* It does use the APACI and it configures most of the modules as
  shared. This gives users maximum flexibility by being able to load at
  runtime what they need. These who object to loadable modules and opt
  for a statically linked all-in-one httpd probably will compile it
  themselves anyways.

* It saves the output of a dry (make -n) install run under
  binbuild-install. This file is usable as input to the shell and
  produces an installed apache from the binary tar ball as a make
  install would have done.

* It does not move the httpd any more nor does it make clean to be able
  to run the install process cleanly. This does result in larger tar
  balls, though.

Comments anyone?

--- binbuild.sh.orig	Sun Sep 20 16:11:36 1998
+++ binbuild.sh	Sun Sep 20 17:27:02 1998
@@ -31,8 +31,10 @@
 # directory that it is untarred into
 release=apache_1.3.1
 dir=$release
-# conf is the Configuration file that you wish to use to build httpd
-conf=Configuration
+# arguments for the APCI configuration, do build most of the
+# modules as shared modules, this is most useful for binary
+# distributions.
+conf="--enable-module=most --enable-shared=max"
 # gzcat should be set to something that will take a .tar.gz as an 
 # argument and send the uncompressed .tar to stdout.  On some systems,
 # it will be zcat
@@ -55,25 +57,18 @@
 # particularily nice names but because it is easy
 system=`./$release/src/helpers/GuessOS | sed 's/\//_/g'` || exit 1
 
-cd $dir/src || exit 1
-echo running Configure
-./Configure || exit 1
+cd $dir || exit 1
+echo running configure
+./configure $conf || exit 1
 echo attempting to make httpd
-make 2>&1 | tee ../../make.out-$system
-if [ ! -f httpd ] ; then
+make 2>&1 | tee ../make.out-$system
+if [ ! -f src/httpd ] ; then
     echo error: httpd binary not made
     exit 1
 fi
-echo making binaries in support
-cd ./support || exit 1
-# no, we don't make suexec or worry too much about errors here
-# Marc is lazy.
-make
+echo make succeeded, saving install rules
+make --no-print-directory -n install | sed -e 's/make/:/' >binbuild-install
 cd .. || exit 1
-echo make succeeded, saving the binary and doing a make clean
-mv httpd httpd-$system
-make clean || exit 1
-cd ../.. || exit 1
 
 echo creating tar file
 tar cf - $release > $release-$system.tar || exit 1

--
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Re: Proposal: changes to the binbuild.sh script

Posted by Jens-Uwe Mager <ju...@helios.de>.
On Sun, Sep 20, 1998 at 08:31:53PM +0200, Lars Eilebrecht wrote:

> >  * It does not move the httpd any more nor does it make clean to be able
> >    to run the install process cleanly. This does result in larger tar
> >    balls, though.
> 
> IMHO a bad thing (TM).

Unfortunately I was not able to get it to work otherwise. We would need
a two level clean to be able to run the installation, kinda like a
clean does only remove the .o files and clobber to make all what clean
does and as well removes the binaries that install needs.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

RE: Proposal: changes to the binbuild.sh script

Posted by Lars Eilebrecht <La...@unix-ag.org>.
According to Jens-Uwe Mager:

[...]
>  * It does use the APACI and it configures most of the modules as
>    shared. This gives users maximum flexibility by being able to load at
>    runtime what they need. These who object to loadable modules and opt
>    for a statically linked all-in-one httpd probably will compile it
>    themselves anyways.

I'm +1 to distribute DSO-enabled binaries with all modules for platforms
who support it.

[...]
>  * It does not move the httpd any more nor does it make clean to be able
>    to run the install process cleanly. This does result in larger tar
>    balls, though.

IMHO a bad thing (TM).
  
>  Comments anyone?

Hmmm... It would be cool have the binbuild stuff integrated into configure
(APACI) so that one simply has to do a "make bindist" or something along
these lines.


ciao...
-- 
Lars Eilebrecht                        - Real programmers arrive at work
sfx@unix-ag.org                               - in time for lunch.
http://www.home.unix-ag.org/sfx/