Packaging
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 PackagesSometimes 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.
pike -m /path/to/your/master.pike
MacOSXThis assumes that dependencies such as PCRE, Gmp and Nettle have been precompiled and assembled as universal binaries using the lipo command.
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
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
Powered by PikeWiki2
|
|