On 2004-08-12T13:28-0700, Gustavo A. Baratto wrote:
) Basically, what I looking for is a 'make package' rule, where all the files
) that would be installed, plus an install script could be tarred up together,
) so we can copy the tarball to many diferent servers, unpack it, run the
) script, and the files get installed without the need of copying over or nfs
) mounting the whole source code? Not a fancy full blown package like rpm.
In naim, I do this by adding code to configure.in and Makefile.am.
configure.in addition:
AC_SUBST([pkgtarball], ['${PACKAGE_TARNAME}-${PACKAGE_VERSION}-${host}.tgz'])
AC_ARG_WITH(pkgtarball,
AC_HELP_STRING([--with-pkgtarball], [binary tarball file
[[naim-VERSION-HOST.tgz]]]),
[
pkgtarball=${withval}
]
)
Makefile.am addition:
tarball: tgz
tgz:
mkdir "${top_builddir}/tmp"
make install-strip DESTDIR="`cd ${top_builddir}/tmp; pwd`"
(cd "${top_builddir}/tmp"; $(AMTAR) cf - --owner 0 --group 0 usr |
GZIP=$(GZIP_ENV) gzip -c >../${pkgtarball})
rm -rf "${top_builddir}/tmp"
pkgtbz2 = `echo ${pkgtarball} | sed 's/gz$$/bz2/'`
tbz2:
mkdir "${top_builddir}/tmp"
make install-strip DESTDIR="`cd ${top_builddir}/tmp; pwd`"
(cd "${top_builddir}/tmp"; $(AMTAR) cf - --owner 0 --group 0 usr | bzip2 -9 -c
>../${pkgtbz2})
rm -rf "${top_builddir}/tmp"
You can then ./configure --prefix=/usr && make tgz. The output will be
YOURPACKAGE-YOURVERSION-YOURHOST.tgz, which you can move to your
to-be-installed machines and untar from /
(By adding a little more code to Makefile.am, you can use this to create a
Cygwin-compatible package as well :)
--
Daniel Reed <[EMAIL PROTECTED]> http://people.redhat.com/djr/ http://naim.n.ml.org/
"If you place a small value on yourself, rest assured, the world will
not raise your price."