summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-08-08 18:18:13 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-08-08 18:18:13 (GMT)
commit4ba24ce4744642ebb8b357f01f3ffdddb0f474f8 (patch)
tree9479f5deccb72943185bad4f05151e957e6fc579 /Modules
parent9deca5887dc8f8a162b965d042b9afd9c7c1e4dd (diff)
downloadCMake-4ba24ce4744642ebb8b357f01f3ffdddb0f474f8.zip
CMake-4ba24ce4744642ebb8b357f01f3ffdddb0f474f8.tar.gz
CMake-4ba24ce4744642ebb8b357f01f3ffdddb0f474f8.tar.bz2
ENH: patch from Mathieu: more entries in the debian control file
Alex
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CPackDeb.cmake57
1 files changed, 49 insertions, 8 deletions
diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index 8f03f26..a2b8261 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -1,3 +1,9 @@
+
+# CPack script for creating Debian package
+# Author: Mathieu Malaterre
+#
+# http://wiki.debian.org/HowToPackageForDebian
+
IF(CMAKE_BINARY_DIR)
MESSAGE(FATAL_ERROR "CPackDeb.cmake may only be used by CPack internally.")
ENDIF(CMAKE_BINARY_DIR)
@@ -15,13 +21,17 @@ ENDIF(NOT AR_EXECUTABLE)
# Let's define the control file found in debian package:
-# Package:
+# Binary package:
+# http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-binarycontrolfiles
+
+# DEBIAN/control
# debian policy enforce lower case for package name
+# Package: (mandatory)
IF(NOT DEBIAN_PACKAGE_NAME)
STRING(TOLOWER "${CPACK_PACKAGE_NAME}" DEBIAN_PACKAGE_NAME)
ENDIF(NOT DEBIAN_PACKAGE_NAME)
-# Version:
+# Version: (mandatory)
IF(NOT DEBIAN_PACKAGE_VERSION)
IF(NOT CPACK_PACKAGE_VERSION)
MESSAGE(FATAL_ERROR "Debian package requires a package version")
@@ -29,21 +39,21 @@ IF(NOT DEBIAN_PACKAGE_VERSION)
SET(DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
ENDIF(NOT DEBIAN_PACKAGE_VERSION)
-# Architecture:
+# Architecture: (mandatory)
IF(NOT DEBIAN_PACKAGE_ARCHITECTURE)
# There is no such thing as i686 architecture on debian, you should use i386 instead
# $ dpkg --print-architecture
SET(DEBIAN_PACKAGE_ARCHITECTURE i386)
ENDIF(NOT DEBIAN_PACAKGE_ARCHITECTURE)
+# have a look at GET_PROPERTY(result GLOBAL ENABLED_FEATURES), this returns
+# the successful FIND_PACKAGE() calls, maybe this can help
# Depends:
IF(NOT DEBIAN_PACKAGE_DEPENDS)
- SET(DEBIAN_PACKAGE_DEPENDS
- "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)"
- )
+ MESSAGE(STATUS "DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.")
ENDIF(NOT DEBIAN_PACKAGE_DEPENDS)
-# Maintainer:
+# Maintainer: (mandatory)
IF(NOT DEBIAN_PACKAGE_MAINTAINER)
IF(NOT CPACK_PACKAGE_CONTACT)
MESSAGE(FATAL_ERROR "Debian package requires a maintainer for a package, set CPACK_PACKAGE_CONTACT or DEBIAN_PACKAGE_MAINTAINER")
@@ -51,10 +61,41 @@ IF(NOT DEBIAN_PACKAGE_MAINTAINER)
SET(DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
ENDIF(NOT DEBIAN_PACKAGE_MAINTAINER)
-# Description:
+# Description: (mandatory)
IF(NOT DEBIAN_PACKAGE_DESCRIPTION)
IF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
MESSAGE(FATAL_ERROR "Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or DEBIAN_PACKAGE_DESCRIPTION")
ENDIF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
SET(DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
ENDIF(NOT DEBIAN_PACKAGE_DESCRIPTION)
+
+# Section: (recommended)
+IF(NOT DEBIAN_PACKAGE_SECTION)
+ SET(DEBIAN_PACKAGE_SECTION "devel")
+ENDIF(NOT DEBIAN_PACKAGE_SECTION)
+
+# Priority: (recommended)
+IF(NOT DEBIAN_PACKAGE_PRIORITY)
+ SET(DEBIAN_PACKAGE_PRIORITY "optional")
+ENDIF(NOT DEBIAN_PACKAGE_PRIORITY )
+
+# Recommends:
+# You should set: DEBIAN_PACKAGE_RECOMMENDS
+
+# Suggests:
+# You should set: DEBIAN_PACKAGE_SUGGESTS
+
+
+# For debian source packages:
+# debian/control
+# http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-sourcecontrolfiles
+
+# .dsc
+# http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-debiansourcecontrolfiles
+
+# Builds-Depends:
+#IF(NOT DEBIAN_PACKAGE_BUILDS_DEPENDS)
+# SET(DEBIAN_PACKAGE_BUILDS_DEPENDS
+# "debhelper (>> 5.0.0), libncurses5-dev, tcl8.4"
+# )
+#ENDIF(NOT DEBIAN_PACKAGE_BUILDS_DEPENDS)