The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

perldist_strawberry - Build strawberry-perl-like distribution for MS Windows

DESCRIPTION

This script is used by Strawberry Perl [http://strawberryperl.com] project for building release packages (MSI, MSM, ZIP, portable/ZIP).

SYNOPSIS

To build strawberry-perl-like distribution you will need to prepare a build environment:

  • Install any version of Strawberry Perl 5.12.x (or higher)

    We recommend using portable edition. BEWARE You'll need to install Strawberry Perl to a directory OTHER THAN C:\strawberry.

  • Install Perl::Dist::Strawberry module

    Take this module either from CPAN or the latest version from SVN [http://svn.ali.as/cpan/trunk/Perl-Dist-Strawberry/]

  • Install Windows Installer XML (WiX) toolset

    We recommend using version 3.5. Download WiX from [http://wix.sourceforge.net]. No need to install WiX via MSI installer, you can only download/unpack ZIPped WiX binaries and use option -wixbin_dir=(dirname).

The build process can be launched by:

  c:\> perldist_strawberry -job "<dist_sharedir>/32bit-5.14.2.1.pp"

The whole build process uses only 2 directories:

  c:\strawberry
  c:\strawberry_build

Check options -image_dir and -working_dir to change the defauls.

The results of the build process (*.MSI, *.MSM, *.ZIP) can be found in:

  c:\strawberry_build\output

If you are about to try to build your own distribution you probably want to create a new job desription file (e.g. by cloning any of share/*.pp files distributed with this module).

Then you will run:

  c:\> perldist_strawberry -job c:\buildperl\myperl-32bit.pp

When debugging your own build you should investigate some of the additional options e.g. -restorepoints, -verbosity etc.

OPTIONS

-job=(filename)

filename sould contain build job description, you can use placeholder '<dist_sharedir>' to choose predefined jobs which are distributed with this module (check 'share' folder in this module tarball)

-target=(value)

value can be: 'zip' | 'zip+msi' | 'zip+mzi+portable' (default)

-working_dir=(dirname)

default: c:\strawberry_build

-wixbin_dir=(dirname)

default: autodetect WiX tool in directories extracted from PATH env variable

-image_dir=(dirname)

default: c:\strawberry (BEWARE: dir will be destroyed during build!!)

-cpan_url=(url)

default: http://cpan.strawberryperl.com (or use local mirror e.g. file://C|/cpanmirror/)

-test_modules, -notest_modules

flag - default: 1 (0 = skip tests when installing perl modules)

-test_core, -notest_core

flag - default: 0 (0 = skip tests when installing perl core)

-verbosity=(level)

level - default: 2 (you can use values 1/silent to 5/verbose)

-package_url=(url)

default: http://strawberryperl.com/package/ (or use local mirror e.g. file://C|/pkgmirror/)

-interactive, -nointeractive,

flag - default: 1 (0 = no interactive questions)

-restorepoints, -norestorepoints

flag - default: 0 (1 = create restorepoint after each finished step, in the next run you will be offered to continue from any of the saved restorepoints)

XXX-NOT USED: -offline, -nooffline

flag - default: 0 (1 = internet connection unavailable during build)

XXX-NOT USED: -perl_debug, -noperl_debug

flag - default: 0 (1 = build perl core with debug enabled)

XXX-NOT USED: -msi_debug, -nomsi_debug

flag - default: 0 (1 = build MSI with debug output)

-h, -help

Show this usage info.

AUTHOR

2011+ KMX, <kmx@cpan.org>

2009-2011 Curtis Jewell, <csjewell@cpan.org>

2007-2009 Adam Kennedy, <adamk@cpan.org>

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.