This is the mail archive of the automake@gnu.org mailing list for the automake project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: package creation


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 <n@ml.org>	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."



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]