[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: package creation
From: |
Daniel Reed |
Subject: |
Re: package creation |
Date: |
Thu, 12 Aug 2004 16:46:40 -0400 (EDT) |
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 <address@hidden> 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."