CPackDeb Added several optional debian binary package fields
This fixes bugs #0011355 and 0008342. The merged patch is a contribution from Michael Lasmanis and Petri Hodju with some extra documentation added by the merger.
This commit is contained in:
parent
06b5eaa3cf
commit
a749724029
|
@ -62,7 +62,43 @@
|
|||
# Default : -
|
||||
# May be set when invoking cpack in order to trace debug informations
|
||||
# during CPackDeb run.
|
||||
|
||||
# CPACK_DEBIAN_PACKAGE_PREDEPENDS
|
||||
# Mandatory : NO
|
||||
# Default : -
|
||||
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
# This field is like Depends, except that it also forces dpkg to complete installation of
|
||||
# the packages named before even starting the installation of the package which declares
|
||||
# the pre-dependency.
|
||||
# CPACK_DEBIAN_PACKAGE_ENHANCES
|
||||
# Mandatory : NO
|
||||
# Default : -
|
||||
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
# This field is similar to Suggests but works in the opposite direction.
|
||||
# It is used to declare that a package can enhance the functionality of another package.
|
||||
# CPACK_DEBIAN_PACKAGE_BREAKS
|
||||
# Mandatory : NO
|
||||
# Default : -
|
||||
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
# When one binary package declares that it breaks another, dpkg will refuse to allow the
|
||||
# package which declares Breaks be installed unless the broken package is deconfigured first,
|
||||
# and it will refuse to allow the broken package to be reconfigured.
|
||||
# CPACK_DEBIAN_PACKAGE_CONFLICTS
|
||||
# Mandatory : NO
|
||||
# Default : -
|
||||
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
# When one binary package declares a conflict with another using a Conflicts field,
|
||||
# dpkg will refuse to allow them to be installed on the system at the same time.
|
||||
# CPACK_DEBIAN_PACKAGE_PROVIDES
|
||||
# Mandatory : NO
|
||||
# Default : -
|
||||
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
# A virtual package is one which appears in the Provides control field of another package.
|
||||
# CPACK_DEBIAN_PACKAGE_REPLACES
|
||||
# Mandatory : NO
|
||||
# Default : -
|
||||
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
# Packages can declare in their control file that they should overwrite
|
||||
# files in certain other packages, or completely replace other packages.
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2009 Kitware, Inc.
|
||||
|
|
|
@ -94,6 +94,18 @@ int cmCPackDebGenerator::PackageFiles()
|
|||
this->GetOption("CPACK_DEBIAN_PACKAGE_SUGGESTS");
|
||||
const char* debian_pkg_url =
|
||||
this->GetOption("CPACK_DEBIAN_PACKAGE_HOMEPAGE");
|
||||
const char* debian_pkg_predep =
|
||||
this->GetOption("CPACK_DEBIAN_PACKAGE_PREDEPENDS");
|
||||
const char* debian_pkg_enhances =
|
||||
this->GetOption("CPACK_DEBIAN_PACKAGE_ENHANCES");
|
||||
const char* debian_pkg_breaks =
|
||||
this->GetOption("CPACK_DEBIAN_PACKAGE_BREAKS");
|
||||
const char* debian_pkg_conflicts =
|
||||
this->GetOption("CPACK_DEBIAN_PACKAGE_CONFLICTS");
|
||||
const char* debian_pkg_provides =
|
||||
this->GetOption("CPACK_DEBIAN_PACKAGE_PROVIDES");
|
||||
const char* debian_pkg_replaces =
|
||||
this->GetOption("CPACK_DEBIAN_PACKAGE_REPLACES");
|
||||
|
||||
{ // the scope is needed for cmGeneratedFileStream
|
||||
cmGeneratedFileStream out(ctlfilename.c_str());
|
||||
|
@ -102,22 +114,46 @@ int cmCPackDebGenerator::PackageFiles()
|
|||
out << "Section: " << debian_pkg_section << "\n";
|
||||
out << "Priority: " << debian_pkg_priority << "\n";
|
||||
out << "Architecture: " << debian_pkg_arch << "\n";
|
||||
if(debian_pkg_dep)
|
||||
if(debian_pkg_dep && *debian_pkg_dep)
|
||||
{
|
||||
out << "Depends: " << debian_pkg_dep << "\n";
|
||||
}
|
||||
if(debian_pkg_rec)
|
||||
if(debian_pkg_rec && *debian_pkg_rec)
|
||||
{
|
||||
out << "Recommends: " << debian_pkg_rec << "\n";
|
||||
}
|
||||
if(debian_pkg_sug)
|
||||
if(debian_pkg_sug && *debian_pkg_sug)
|
||||
{
|
||||
out << "Suggests: " << debian_pkg_sug << "\n";
|
||||
}
|
||||
if(debian_pkg_url)
|
||||
if(debian_pkg_url && *debian_pkg_url)
|
||||
{
|
||||
out << "Homepage: " << debian_pkg_url << "\n";
|
||||
}
|
||||
if (debian_pkg_predep && *debian_pkg_predep)
|
||||
{
|
||||
out << "Pre-Depends: " << debian_pkg_predep << "\n";
|
||||
}
|
||||
if (debian_pkg_enhances && *debian_pkg_enhances)
|
||||
{
|
||||
out << "Enhances: " << debian_pkg_enhances << "\n";
|
||||
}
|
||||
if (debian_pkg_breaks && *debian_pkg_breaks)
|
||||
{
|
||||
out << "Breaks: " << debian_pkg_breaks << "\n";
|
||||
}
|
||||
if (debian_pkg_conflicts && *debian_pkg_conflicts)
|
||||
{
|
||||
out << "Conflicts: " << debian_pkg_conflicts << "\n";
|
||||
}
|
||||
if (debian_pkg_provides && *debian_pkg_provides)
|
||||
{
|
||||
out << "Provides: " << debian_pkg_provides << "\n";
|
||||
}
|
||||
if (debian_pkg_replaces && *debian_pkg_replaces)
|
||||
{
|
||||
out << "Replaces: " << debian_pkg_replaces << "\n";
|
||||
}
|
||||
unsigned long totalSize = 0;
|
||||
{
|
||||
std::string dirName = this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
||||
|
|
Loading…
Reference in New Issue