Sets construction variables for the &b-Package; Builder.
Builds software distribution packages.
Packages consist of files to install and packaging information.
The former may be specified with the &source; parameter and may be left out,
in which case the &FindInstalledFiles; function will collect
all files that have an &b-Install; or &b-InstallAs; Builder attached.
If the ⌖ is not specified
it will be deduced from additional information given to this Builder.
The packaging information is specified
with the help of construction variables documented below.
This information is called a tag to stress that
some of them can also be attached to files with the &Tag; function.
The mandatory ones will complain if they were not specified.
They vary depending on chosen target packager.
The target packager may be selected with the "PACKAGETYPE" command line
option or with the &cv-PACKAGETYPE; construction variable. Currently
the following packagers available:
* msi - Microsoft Installer
* rpm - Redhat Package Manger
* ipkg - Itsy Package Management System
* tarbz2 - compressed tar
* targz - compressed tar
* zip - zip file
* src_tarbz2 - compressed tar source
* src_targz - compressed tar source
* src_zip - zip file source
An updated list is always available under the "package_type" option when
running "scons --help" on a project that has packaging activated.
env = Environment(tools=['default', 'packaging'])
env.Install('/bin/', 'my_program')
env.Package( NAME = 'foo',
VERSION = '1.2.3',
PACKAGEVERSION = 0,
PACKAGETYPE = 'rpm',
LICENSE = 'gpl',
SUMMARY = 'balalalalal',
DESCRIPTION = 'this should be really really long',
X_RPM_GROUP = 'Application/fu',
SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz'
)
Specifies the system architecture for which
the package is being built.
The default is the system architecture
of the machine on which SCons is running.
This is used to fill in the
Architecture:
field in an Ipkg
control file,
and as part of the name of a generated RPM file.
A hook for modifying the file that controls the packaging build
(the .spec for RPM,
the control for Ipkg,
the .wxs for MSI).
If set, the function will be called
after the SCons template for the file has been written.
XXX
The name of a file containing the change log text
to be included in the package.
This is included as the
%changelog
section of the RPM
.spec file.
A long description of the project being packaged.
This is included in the relevant section
of the file that controls the packaging build.
A language-specific long description for
the specified lang.
This is used to populate a
%description -l
section of an RPM
.spec file.
The abbreviated name of the license under which
this project is released (gpl, lpgl, bsd etc.).
See http://www.opensource.org/licenses/alphabetical
for a list of license names.
Specfies the name of the project to package.
Specifies the directory where all files in resulting archive will be
placed if applicable. The default value is "$NAME-$VERSION".
Selects the package type to build. Currently these are available:
* msi - Microsoft Installer
* rpm - Redhat Package Manger
* ipkg - Itsy Package Management System
* tarbz2 - compressed tar
* targz - compressed tar
* zip - zip file
* src_tarbz2 - compressed tar source
* src_targz - compressed tar source
* src_zip - zip file source
This may be overridden with the "package_type" command line option.
The version of the package (not the underlying project).
This is currently only used by the rpm packager
and should reflect changes in the packaging,
not the underlying project code itself.
The URL
(web address)
of the location from which the project was retrieved.
This is used to fill in the
Source:
field in the controlling information for Ipkg and RPM packages.
A short summary of what the project is about.
This is used to fill in the
Summary:
field in the controlling information for Ipkg and RPM packages,
and as the
Description:
field in MSI packages.
The person or organization who supply the packaged software.
This is used to fill in the
Vendor:
field in the controlling information for RPM packages,
and the
Manufacturer:
field in the controlling information for MSI packages.
The version of the project, specified as a string.
This is used to fill in the
Depends:
field in the controlling information for Ipkg packages.
This is used to fill in the
Description:
field in the controlling information for Ipkg packages.
The default value is
$SUMMARY\n$DESCRIPTION
This is used to fill in the
Maintainer:
field in the controlling information for Ipkg packages.
This is used to fill in the
Priority:
field in the controlling information for Ipkg packages.
This is used to fill in the
Section:
field in the controlling information for Ipkg packages.
This is used to fill in the
Language:
attribute in the controlling information for MSI packages.
The text of the software license in RTF format.
Carriage return characters will be
replaced with the RTF equivalent \\par.
TODO
This is used to fill in the
AutoReqProv:
field in the RPM
.spec file.
internal, but overridable
This is used to fill in the
BuildRequires:
field in the RPM
.spec file.
internal, but overridable
internal, but overridable
This is used to fill in the
Conflicts:
field in the RPM
.spec file.
This value is used as the default attributes
for the files in the RPM package.
The default value is
(-,root,root).
This is used to fill in the
Distribution:
field in the RPM
.spec file.
This is used to fill in the
Epoch:
field in the controlling information for RPM packages.
This is used to fill in the
ExcludeArch:
field in the RPM
.spec file.
This is used to fill in the
ExclusiveArch:
field in the RPM
.spec file.
This is used to fill in the
Group:
field in the RPM
.spec file.
This is used to fill in the
Group(lang):
field in the RPM
.spec file.
Note that
lang
is not literal
and should be replaced by
the appropriate language code.
This is used to fill in the
Icon:
field in the RPM
.spec file.
internal, but overridable
This is used to fill in the
Packager:
field in the RPM
.spec file.
This is used to fill in the
Provides:
field in the RPM
.spec file.
This is used to fill in the
%post:
section in the RPM
.spec file.
This is used to fill in the
%pre:
section in the RPM
.spec file.
This is used to fill in the
Prefix:
field in the RPM
.spec file.
internal, but overridable
This is used to fill in the
%postun:
section in the RPM
.spec file.
This is used to fill in the
%preun:
section in the RPM
.spec file.
This is used to fill in the
Requires:
field in the RPM
.spec file.
This is used to fill in the
Serial:
field in the RPM
.spec file.
This is used to fill in the
Url:
field in the RPM
.spec file.