Packaging

[ Start > PikeDevel > Packaging ] [ Edit this Page | Show Page Versions | Show Formatted ]


While it's currently possible to generate a standard executable installer for Pike by performing a "make bin_export", it's understandable that many people would like to have packages that are native to their particular OS. This document is intended to collect the bits and pieces of information that would make life easier for potential packagers.

The appropriate location for storing packaging source files (RPM specs, Fink info files, and so forth) is in the "packaging" directory in CVS. Currently, there are directories for Debian, Fink and Windows.

- Debian Linux
- RPM Based Linux
- OpenBSD
- Solaris
- Mac OSX (Native pkg, Fink, DarwinPorts)

The only real packaging information is provided in src/Makefile.in: there is a variable in the Makefile called "buildroot" which will be prepended onto the install path. Note that you won't be able to run pike from this "temporary" location until it's moved into its final home.

__Relocatable Packages__

Sometimes it's nice to be able to allow a user to specify the location Pike will be installed in at install time. The location of the master is hardcoded in the pike binary. During compilation, a dummy placeholder value is used, and replaced by the real location at runtime. A similar technique could be used so that Pike can be run without having to specify the master using the -m argument.

{code}
pike -m /path/to/your/master.pike
{code}

__MacOSX__

This assumes that dependencies such as PCRE, Gmp and Nettle have been precompiled and assembled as universal binaries using the ~~lipo~~ command. 

{code}
ABI=64 LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.6.sdk/" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.6.sdk/" make CONFIGUREARGS="--with-abi=64"
make
make bin_export
{code}

{code}
ABI=32 LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.6.sdk/" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.6.sdk/" make CONFIGUREARGS="--with-abi=32"
make
make bin_export
{code}

Powered by PikeWiki2

 
gotpike.org | Copyright © 2004 - 2009 | Pike is a trademark of Department of Computer and Information Science, Linköping University