Implements deb packaging and put to ppa.
This commit is contained in:
parent
9339b6dee4
commit
fe5bbb6081
|
|
@ -5,7 +5,9 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|||
|
||||
set(etcd-cpp-api_VERSION_MAJOR 0)
|
||||
set(etcd-cpp-api_VERSION_MINOR 1)
|
||||
set(etcd-cpp-api_VERSION ${etcd-cpp-api_MAJOR_VERSION}.${etcd-cpp-api_MINOR_VERSION})
|
||||
set(etcd-cpp-api_VERSION_PATCH 1)
|
||||
set(etcd-cpp-api_VERSION ${etcd-cpp-api_VERSION_MAJOR}.${etcd-cpp-api_VERSION_MINOR}.${etcd-cpp-api_VERSION_PATCH})
|
||||
set(CMAKE_PROJECT_HOMEPAGE_URL https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
include(CheckLibraryExists)
|
||||
|
|
@ -120,3 +122,54 @@ install(EXPORT etcd-targets
|
|||
FILE etcd-targets.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/etcd-cpp-api
|
||||
)
|
||||
|
||||
# deb/rpc packaging for Linux
|
||||
|
||||
set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
|
||||
set(CPACK_PACKAGE_VENDOR etcd-cpp-apiv3)
|
||||
set(CPACK_PACKAGE_CONTACT "Tao He <sighingnow@gmail.com>")
|
||||
set(CPACK_PACKAGE_VERSION "${etcd-cpp-api_VERSION}")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR "${etcd-cpp-api_VERSION_MAJOR}")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "${etcd-cpp-api_VERSION_MINOR}")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH "${etcd-cpp-api_VERSION_PATCH}")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The etcd-cpp-apiv3 is a C++ API for etcd's v3 client API, i.e., `ETCDCTL_API=3`.")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt")
|
||||
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
|
||||
set(CPACK_SOURCE_IGNORE_FILES "${PROJECT_BINARY_DIR}")
|
||||
|
||||
set(CPACK_CMAKE_GENERATOR "Unix Makefiles")
|
||||
set(CPACK_GENERATOR "STGZ;TGZ")
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ")
|
||||
include(CPack)
|
||||
|
||||
# generate deb for ppa
|
||||
#
|
||||
# requires: apt-get install devscripts
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libcpprest-dev, libprotobuf-dev, libgrpc-dev, libgrpc++-dev, libssl-dev")
|
||||
set(CPACK_DEBIAN_BUILD_DEPENDS "ca-certificates,
|
||||
gcc,
|
||||
g++,
|
||||
libboost-all-dev,
|
||||
libcurl4-openssl-dev,
|
||||
libgrpc-dev,
|
||||
libgrpc++-dev,
|
||||
libprotobuf-dev,
|
||||
libprotoc-dev,
|
||||
libssl-dev,
|
||||
libz-dev,
|
||||
lsb-release,
|
||||
openssl,
|
||||
protobuf-compiler-grpc")
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR 2016-2021)
|
||||
set(CPACK_DEBIAN_PACKAGE_LICENSE bsd)
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Tao He <sighingnow@gmail.com>")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/")
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_DISTRIBUTION "focal")
|
||||
set(DPUT_HOST "ppa:graphscope/etcd-cpp-api")
|
||||
set(DPUT_SNAPSHOT_HOST "ppa:graphscope/etcd-cpp-api")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
include(UploadPPA)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,540 @@
|
|||
##
|
||||
# Copyright (c) 2012 Karsten Ohme <k_o_@users.sourceforge.net>
|
||||
# Based on a script from Daniel Pfeifer <daniel@pfeifer-mail.de> Copyright (c) 2010
|
||||
#
|
||||
# This script builds an Ubuntu/Debian source package with "make package_ubuntu". It also offers a convenient way to upload it by dput to Launchpad.
|
||||
#It assumes a working install and package_source configuration (CPACK_PACKAGE_* variables in CMakeLists.txt CMake configuration file) with all files in place.
|
||||
# Also a PGP key for signing the package is necessary. The key is referenced by the CPACK_DEBIAN_PACKAGE_MAINTAINER setting. For uploading the package to Launchpad this should be the Lauchpad PGP key.
|
||||
# You should also be familiar with the meaning of snapshot and release versions. See https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage
|
||||
#
|
||||
# USAGE: INCLUDE IN PROJECT
|
||||
#
|
||||
# set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
# include(UploadPPA)
|
||||
# Add the UploadPPA.cmake file to the projects source directory.
|
||||
#
|
||||
#
|
||||
# From the resulting dsc file in the Debian directory also a Ubuntu/Debian package can be build:
|
||||
#
|
||||
# dpkg-source -x foo.dsc
|
||||
# cd <CPACK_DEBIAN_PACKAGE_NAME>
|
||||
# fakeroot debian/rules binary
|
||||
#
|
||||
# When uploading it to Launchpad with dput you must be registered there and you must have a .dput.cf in place. Follow the instructions on https://help.launchpad.net/Packaging/PPA/Uploading
|
||||
#
|
||||
# Known problems:
|
||||
#
|
||||
# If you set the build type SET(CMAKE_BUILD_TYPE "Release") then the cmakeinstall.cmake file does not install the binary files
|
||||
#
|
||||
#
|
||||
#
|
||||
# CPACK_DEBIAN_PACKAGE_NAME - used as "Source" in control file, default TOLOWER "${CPACK_PACKAGE_NAME}"
|
||||
# CPACK_DEBIAN_PACKAGE_PRIORITY - used as "Priority" in control file, default "optional"
|
||||
# CPACK_DEBIAN_PACKAGE_SECTION - used as "Section" in control file, default "devel"
|
||||
# CPACK_DEBIAN_PACKAGE_HOMEPAGE - used in "Homepage" field in control file
|
||||
# CPACK_DEBIAN_BUILD_DEPENDS - use in "Build-Depends" field in control file, cmake is automatically added
|
||||
# CPACK_DEBIAN_PACKAGE_DEPENDS - used as "Depends" field in the control file, default "${shlibs:Depends}, ${misc:Depends} ${CPACK_PACKAGE_NAME} (= ${binary:Version}) "
|
||||
# for components. Instead of "binary:Version" "Source-Version" is used if CPACK_DEBIAN_PACKAGE_DISTRIBUTION is "dapper"
|
||||
#
|
||||
# CPACK_DEBIAN_PACKAGE_INSTALL - specifies which files have to be installed for the main package separated by ";". This is a space separated list. The file path must be absolute to the root directory of the installation
|
||||
# e.g. "/usr/lib/*.so". * wildcards can be used
|
||||
# CPACK_DEBIAN_PACKAGE_DOCS - specifies which files have to be installed for the main package separated by ";". This is a space separated list. The file path must be absolute to the root directory of the installation
|
||||
# e.g. "/usr/share/docs/${CPACK_DEBIAN_PACKAGE_NAME}-dev/README". * wildcards can be used
|
||||
#
|
||||
# CPACK_PACKAGE_DESCRIPTION_FILE - used main text in "Description" field of control file
|
||||
# CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR - used as upstream author in copyright file (format: Name <email>), default ${CPACK_DEBIAN_PACKAGE_MAINTAINER}
|
||||
# CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR_NAME - used as upstream author name in copyright file, default ${CPACK_DEBIAN_PACKAGE_HOMEPAGE}
|
||||
# CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR - used as the copyright year in copyright file, default this year
|
||||
# CPACK_DEBIAN_PACKAGE_UPSTREAM_URL - used as upstream url in copyright file, default CPACK_DEBIAN_PACKAGE_HOMEPAGE
|
||||
# CPACK_DEBIAN_PACKAGE_LICENSE - used as license indicator for the copyright file generation, possible values gpl, lgpl, bsd, apache
|
||||
# CPACK_DEBIAN_PACKAGE_DISTRIBUTION - distribution name, default "precise"
|
||||
#
|
||||
# CPACK_DEBIAN_PACKAGE_RECOMMENDS - used as "Recommends" field in control file
|
||||
# CPACK_DEBIAN_PACKAGE_SUGGESTS - used as "Suggests" field in control file
|
||||
# CPACK_DEBIAN_PACKAGE_PREDEPENDS - used as "Pre-Depends" field in control file
|
||||
# CPACK_DEBIAN_PACKAGE_BREAKS - used as "Breaks" field in control file
|
||||
# CPACK_DEBIAN_PACKAGE_CONFLICTS - used as "Conflicts" field in control file
|
||||
# CPACK_DEBIAN_PACKAGE_REPLACES - used as "Replaces" field in control file
|
||||
# CPACK_DEBIAN_PACKAGE_ENHANCES - used as "Enhances" field in control file
|
||||
#
|
||||
#
|
||||
#
|
||||
# CPACK_COMPONENTS_ALL - list of additional components separated by ";" - used for the "Package" field in the control file for additional components of a package, e.g. for development files for a library this would be "dev"
|
||||
# The component must match the used components in the CMake file. The component is appended to ${CPACK_DEBIAN_PACKAGE_NAME} with a dash: e.g.: ${CPACK_DEBIAN_PACKAGE_NAME}-dev
|
||||
# CPACK_COMPONENT_${COMPONENT}_DISPLAY_NAME - used as additional short description for the "Description" field of additional packages. ${COMPONENT} must be in the list of CPACK_COMPONENTS_ALL, e.g. dev
|
||||
# CPACK_COMPONENT_${COMPONENT}_DESCRIPTION - used as additional description for the "Description" field of additional packages. ${COMPONENT} must be in the list of CPACK_COMPONENTS_ALL, e.g. dev
|
||||
# CPACK_COMPONENT_${COMPONENT}_DEPENDS - used for the "Depends" field of additional packages. ${COMPONENT} must be in the list of CPACK_COMPONENTS_ALL, e.g. dev
|
||||
# CPACK_COMPONENT_${COMPONENT}_SECTION - used for the "Section" field of additional packages. ${COMPONENT} must be in the list of CPACK_COMPONENTS_ALL, e.g. dev
|
||||
# CPACK_COMPONENT_${COMPONENT}_INSTALL - specifies which files have to be installed for this component separated by ";". The file path must be absolute to the root directory of the installation
|
||||
# e.g. "/usr/lib/*.so". * wildcards can be used
|
||||
# CPACK_COMPONENT_${COMPONENT}_DOCS - specifies which files have to be installed for this component separated by ";". The file path must be absolute to the root directory of the installation
|
||||
# e.g. "/usr/share/docs/${CPACK_DEBIAN_PACKAGE_NAME}/README". * wildcards can be used
|
||||
# CPACK_DEBIAN_PACKAGE_MANPAGES - specifies which files have to be installed as manual pages. Separated by ";".
|
||||
# CPACK_DEBIAN_CUSTOM_BUILD_COMMAND - A custom build command, e.g. create documentation with something like "make doc". The build artifact's path created somewhere in the build directory must be referenced in the CMake INSTALL command by ${CMAKE_CURRENT_BINARY_DIR} variable. E.g.: INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION ${DOCUMENTATION_DIRECTORY} COMPONENT dev OPTIONAL)
|
||||
# The OPTIONAL keyword does not work under CMake 2.6, so you have to use a more difficult construct:
|
||||
# INSTALL(
|
||||
#CODE "FILE (GLOB_RECURSE ALL_DOCS \"${CMAKE_CURRENT_BINARY_DIR}/doc/html/*\")"
|
||||
#CODE "FILE (INSTALL DESTINATION \"\${CMAKE_INSTALL_PREFIX}/${DOCUMENTATION_DIRECTORY}/html\" TYPE FILE FILES \${ALL_DOCS})"
|
||||
#COMPONENT dev)
|
||||
# Here the "\" before ${CMAKE_INSTALL_PREFIX} is important, so this variable is resolved at runtime first.
|
||||
#
|
||||
# CPACK_DEBIAN_PACKAGE_MAINTAINER - used as "Maintainer" field in control and copyright file, default ${CPACK_PACKAGE_CONTACT}, also used as reference for the GPG signing key
|
||||
# CPACK_DEBIAN_PACKAGE_HOMEPAGE - used as "Homepage" in control file, default ${CPACK_PACKAGE_VENDOR}
|
||||
# CPACK_DEBIAN_PACKAGE_SNAPSHOT_HOMEPAGE - used as "Homepage" in control file if this is a snapshot build, default ${CPACK_PACKAGE_VENDOR}
|
||||
# CPACK_PACKAGE_DESCRIPTION_SUMMARY - used as first line of all "Description" fields for all packages in control file
|
||||
#
|
||||
# DPUT_HOST - used as host for dput for uploading the file to Launchpad
|
||||
# DPUT_SNAPSHOT_HOST - used as snapshot host for dput for uploading the file to Launchpad
|
||||
# CPACK_DEBIAN_PACKAGE_TYPE - used for determining the build type, "snapshot" or "release" is possible, default snapshot
|
||||
#
|
||||
# The format of the resulting versioning scheme is the following: ${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_BUILD_NUMBER_PREFIX}${CPACK_DEBIAN_PACKAGE_BUILD_NUMBER}~${CPACK_DEBIAN_PACKAGE_DISTRIBUTION}
|
||||
#${CPACK_DEBIAN_PACKAGE_BUILD_NUMBER_PREFIX}${CPACK_DEBIAN_PACKAGE_BUILD_NUMBER}~${CPACK_DEBIAN_PACKAGE_DISTRIBUTION} is the Debian/Ubuntu revision. See http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version.
|
||||
# An example is libfoo1-1.2.0-0ubuntu1~maverick
|
||||
# "0ubuntu1" stands for the first package in Ubuntu when there is no Debian package existing and "maverick" is the used Ubuntu series
|
||||
#
|
||||
# To generate always a unique code version for snapshots you must should also set ${CPACK_PACKAGE_VERSION} to a unique increasing package version number. This can be done by appending a [<currentVersion>+<nextVersion>SNAPSHOT<DATE>] part to the package version number. The package version number cannot contain hyphens because a Debian/Ubuntu revision follows.
|
||||
# Assuming the libtool versioning scheme http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html an example could be: "1.2.0+1SNAPSHOT20110402031738+0200", when the current version is 1.2.0 and the next version in development is 1.2.1. The date format is using a variant of the ISO date format.
|
||||
#
|
||||
# CPACK_DEBIAN_PACKAGE_BUILD_NUMBER_PREFIX - used as a prefix for the build number, default ""
|
||||
# CPACK_DEBIAN_PACKAGE_BUILD_NUMBER - used for the build number, default 1
|
||||
# CPACK_DEBIAN_NATIVE_PACKAGE - if set a native package is build, default not set
|
||||
#
|
||||
#
|
||||
##
|
||||
|
||||
find_program(DEBUILD_EXECUTABLE debuild)
|
||||
find_program(DPUT_EXECUTABLE dput)
|
||||
|
||||
if(NOT DEBUILD_EXECUTABLE OR NOT DPUT_EXECUTABLE)
|
||||
MESSAGE(WARNING "${DEBUILD_EXECUTABLE} or ${DPUT_EXECUTABLE} not installed.")
|
||||
return()
|
||||
endif(NOT DEBUILD_EXECUTABLE OR NOT DPUT_EXECUTABLE)
|
||||
|
||||
# set default package type
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_TYPE)
|
||||
set(CPACK_DEBIAN_PACKAGE_TYPE "snapshot")
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_TYPE)
|
||||
|
||||
# set default distribution
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_DISTRIBUTION)
|
||||
set(CPACK_DEBIAN_PACKAGE_DISTRIBUTION "precise")
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_DISTRIBUTION)
|
||||
|
||||
# Set the version name
|
||||
set(VERSION_NAME "${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_BUILD_NUMBER_PREFIX}${CPACK_DEBIAN_PACKAGE_BUILD_NUMBER}~${CPACK_DEBIAN_PACKAGE_DISTRIBUTION}")
|
||||
|
||||
# DEBIAN/control
|
||||
# debian policy enforce lower case for package name
|
||||
# Package: (mandatory)
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_NAME)
|
||||
STRING(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_NAME)
|
||||
|
||||
# Maintainer:
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER)
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_DEBIAN_PACKAGE_HOMEPAGE})
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER)
|
||||
|
||||
# Homepage:
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_HOMEPAGE)
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_HOMEPAGE)
|
||||
|
||||
# Section: (recommended)
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
|
||||
SET(CPACK_DEBIAN_PACKAGE_SECTION "devel")
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
|
||||
|
||||
# Priority: (recommended)
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
|
||||
SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
|
||||
|
||||
# Section:
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "\${shlibs:Depends}, \${misc:Depends}")
|
||||
|
||||
# Description:
|
||||
file(STRINGS ${CPACK_PACKAGE_DESCRIPTION_FILE} DESC_LINES)
|
||||
foreach(LINE ${DESC_LINES})
|
||||
set(DEB_LONG_DESCRIPTION "${DEB_LONG_DESCRIPTION} ${LINE}\n")
|
||||
endforeach(LINE ${DESC_LINES})
|
||||
|
||||
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/Debian)
|
||||
set(DEBIAN_SOURCE_DIR ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION})
|
||||
|
||||
file(MAKE_DIRECTORY ${DEBIAN_SOURCE_DIR}/debian)
|
||||
|
||||
##############################################################################
|
||||
# debian/control
|
||||
set(DEBIAN_CONTROL ${DEBIAN_SOURCE_DIR}/debian/control)
|
||||
file(WRITE ${DEBIAN_CONTROL}
|
||||
"Source: ${CPACK_DEBIAN_PACKAGE_NAME}\n"
|
||||
"Section: ${CPACK_DEBIAN_PACKAGE_SECTION}\n"
|
||||
"Priority: ${CPACK_DEBIAN_PACKAGE_PRIORITY}\n"
|
||||
"Maintainer: ${CPACK_DEBIAN_PACKAGE_MAINTAINER}\n"
|
||||
"Build-Depends: "
|
||||
)
|
||||
|
||||
foreach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS})
|
||||
file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
|
||||
endforeach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS})
|
||||
|
||||
file(APPEND ${DEBIAN_CONTROL} "cmake\n"
|
||||
"Standards-Version: 3.8.4\n"
|
||||
)
|
||||
|
||||
|
||||
IF(CPACK_DEBIAN_PACKAGE_TYPE STREQUAL "snapshot")
|
||||
file(APPEND ${DEBIAN_CONTROL} "Homepage: ${CPACK_DEBIAN_PACKAGE_SNAPSHOT_HOMEPAGE}\n")
|
||||
ELSE(CPACK_DEBIAN_PACKAGE_TYPE STREQUAL "snapshot")
|
||||
file(APPEND ${DEBIAN_CONTROL} "Homepage: ${CPACK_DEBIAN_PACKAGE_HOMEPAGE}\n")
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_TYPE STREQUAL "snapshot")
|
||||
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"\n"
|
||||
"Package: ${CPACK_DEBIAN_PACKAGE_NAME}\n"
|
||||
"Architecture: any\n"
|
||||
"Depends: ${CPACK_DEBIAN_PACKAGE_DEPENDS}\n"
|
||||
)
|
||||
|
||||
# Recommends:
|
||||
IF(CPACK_DEBIAN_PACKAGE_RECOMMENDS)
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"Recommends: ${CPACK_DEBIAN_PACKAGE_RECOMMENDS}\n"
|
||||
)
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_RECOMMENDS)
|
||||
|
||||
# Suggests
|
||||
IF(CPACK_DEBIAN_PACKAGE_SUGGESTS)
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"Suggests: ${CPACK_DEBIAN_PACKAGE_SUGGESTS}\n"
|
||||
)
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_SUGGESTS)
|
||||
|
||||
# Pre-Depends:
|
||||
IF(CPACK_DEBIAN_PACKAGE_PREDEPENDS)
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"Pre-Depends: ${CPACK_DEBIAN_PACKAGE_PREDEPENDS}\n"
|
||||
)
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_PREDEPENDS)
|
||||
|
||||
# Conflicts:
|
||||
IF(CPACK_DEBIAN_PACKAGE_CONFLICTS)
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"Conflicts: ${CPACK_DEBIAN_PACKAGE_CONFLICTS}\n"
|
||||
)
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_CONFLICTS)
|
||||
|
||||
# Enhances:
|
||||
IF(CPACK_DEBIAN_PACKAGE_ENHANCES)
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"Enhances: ${CPACK_DEBIAN_PACKAGE_ENHANCES}\n"
|
||||
)
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_ENHANCES)
|
||||
|
||||
# Replaces:
|
||||
IF(CPACK_DEBIAN_PACKAGE_REPLACES)
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"Replaces: ${CPACK_DEBIAN_PACKAGE_REPLACES}\n"
|
||||
)
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_REPLACES)
|
||||
|
||||
file(APPEND ${DEBIAN_CONTROL}
|
||||
"Description: ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}\n"
|
||||
"${DEB_LONG_DESCRIPTION}"
|
||||
)
|
||||
|
||||
foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
|
||||
string(TOUPPER ${COMPONENT} UPPER_COMPONENT)
|
||||
set(DEPENDS "${CPACK_DEBIAN_PACKAGE_NAME}")
|
||||
IF(CPACK_DEBIAN_PACKAGE_DISTRIBUTION STREQUAL "dapper")
|
||||
set(DEPENDS "${DEPENDS} (= \${Source-Version})")
|
||||
ELSE(CPACK_DEBIAN_PACKAGE_DISTRIBUTION STREQUAL "dapper")
|
||||
set(DEPENDS "${DEPENDS} (= \${binary:Version})")
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_DISTRIBUTION STREQUAL "dapper")
|
||||
foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS})
|
||||
set(DEPENDS "${DEPENDS}, ${CPACK_DEBIAN_PACKAGE_NAME}-${DEP}")
|
||||
endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS})
|
||||
file(APPEND ${DEBIAN_CONTROL} "\n"
|
||||
"Package: ${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT}\n"
|
||||
"Section: ${CPACK_COMPONENT_${UPPER_COMPONENT}_SECTION}\n"
|
||||
"Architecture: any\n"
|
||||
"Depends: ${DEPENDS}\n"
|
||||
"Description: ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}"
|
||||
": ${CPACK_COMPONENT_${UPPER_COMPONENT}_DISPLAY_NAME}\n"
|
||||
"${DEB_LONG_DESCRIPTION}"
|
||||
" .\n"
|
||||
" ${CPACK_COMPONENT_${UPPER_COMPONENT}_DESCRIPTION}\n"
|
||||
)
|
||||
endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
|
||||
|
||||
##############################################################################
|
||||
# debian/copyright
|
||||
set(DEBIAN_COPYRIGHT ${DEBIAN_SOURCE_DIR}/debian/copyright)
|
||||
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_LICENSE)
|
||||
set(CPACK_DEBIAN_PACKAGE_LICENSE gpl)
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_LICENSE)
|
||||
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR)
|
||||
set(CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR ${CPACK_DEBIAN_PACKAGE_MAINTAINER})
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR)
|
||||
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR_NAME)
|
||||
set(CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR_NAME ${CPACK_DEBIAN_PACKAGE_HOMEPAGE})
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR_NAME)
|
||||
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_URL)
|
||||
set(CPACK_DEBIAN_PACKAGE_UPSTREAM_URL ${CPACK_DEBIAN_PACKAGE_HOMEPAGE})
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_URL)
|
||||
|
||||
IF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR)
|
||||
execute_process(COMMAND date +%Y OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR)
|
||||
STRING(REPLACE "\n" "" CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR ${CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR})
|
||||
ENDIF(NOT CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR)
|
||||
|
||||
execute_process(COMMAND date +%Y OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_YEAR)
|
||||
STRING(REPLACE "\n" "" CPACK_DEBIAN_PACKAGE_YEAR ${CPACK_DEBIAN_PACKAGE_YEAR})
|
||||
|
||||
execute_process(COMMAND date -R OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_DATE)
|
||||
STRING(REPLACE "\n" "" CPACK_DEBIAN_PACKAGE_DATE ${CPACK_DEBIAN_PACKAGE_DATE})
|
||||
|
||||
set(POSSIBLE_LICENSES gpl lgpl bsd apache)
|
||||
list(FIND POSSIBLE_LICENSES ${CPACK_DEBIAN_PACKAGE_LICENSE} CPACK_DEBIAN_PACKAGE_LICENSE_FOUND)
|
||||
|
||||
IF(CPACK_DEBIAN_PACKAGE_LICENSE_FOUND EQUAL "-1")
|
||||
message(FATAL_ERROR "License ${CPACK_DEBIAN_PACKAGE_LICENSE} is unknown.")
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_LICENSE_FOUND EQUAL "-1")
|
||||
|
||||
find_path(COPYRIGHT_FILES_DIRECTORY copyright.${CPACK_DEBIAN_PACKAGE_LICENSE} PATHS ${CMAKE_MODULE_PATH})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E
|
||||
copy ${COPYRIGHT_FILES_DIRECTORY}/copyright.${CPACK_DEBIAN_PACKAGE_LICENSE} ${DEBIAN_COPYRIGHT}
|
||||
)
|
||||
|
||||
# Here also CONFIGURE_FILE might be better
|
||||
FILE(READ ${DEBIAN_COPYRIGHT} COPYRIGHT_TEMP)
|
||||
STRING(REPLACE "<Maintainer>" ${CPACK_DEBIAN_PACKAGE_MAINTAINER} COPYRIGHT_TEMP ${COPYRIGHT_TEMP})
|
||||
STRING(REPLACE "<Date>" ${CPACK_DEBIAN_PACKAGE_DATE} COPYRIGHT_TEMP ${COPYRIGHT_TEMP})
|
||||
STRING(REPLACE "<Year>" ${CPACK_DEBIAN_PACKAGE_YEAR} COPYRIGHT_TEMP ${COPYRIGHT_TEMP})
|
||||
STRING(REPLACE "<UpstreamURL>" ${CPACK_DEBIAN_PACKAGE_UPSTREAM_URL} COPYRIGHT_TEMP ${COPYRIGHT_TEMP})
|
||||
STRING(REPLACE "<UpstreamAuthor>" ${CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR} COPYRIGHT_TEMP ${COPYRIGHT_TEMP})
|
||||
STRING(REPLACE "<YearUpstreamCopyright>" ${CPACK_DEBIAN_PACKAGE_UPSTREAM_COPYRIGHT_YEAR} COPYRIGHT_TEMP ${COPYRIGHT_TEMP})
|
||||
STRING(REPLACE "<UpstreamAuthorName>" ${CPACK_DEBIAN_PACKAGE_UPSTREAM_AUTHOR_NAME} COPYRIGHT_TEMP ${COPYRIGHT_TEMP})
|
||||
FILE(WRITE ${DEBIAN_COPYRIGHT} ${COPYRIGHT_TEMP})
|
||||
|
||||
##############################################################################
|
||||
# debian/${CPACK_DEBIAN_PACKAGE_NAME}.install
|
||||
set(DEBIAN_INSTALL_FILE ${DEBIAN_SOURCE_DIR}/debian/${CPACK_DEBIAN_PACKAGE_NAME}.install)
|
||||
foreach(INSTALL_UNIT ${CPACK_DEBIAN_PACKAGE_INSTALL})
|
||||
file(APPEND ${DEBIAN_INSTALL_FILE} "debian/tmp${INSTALL_UNIT}\n")
|
||||
endforeach(INSTALL_UNIT ${CPACK_DEBIAN_PACKAGE_INSTALL})
|
||||
|
||||
##############################################################################
|
||||
# debian/${CPACK_DEBIAN_PACKAGE_NAME}.docs
|
||||
set(DEBIAN_DOCS_FILE ${DEBIAN_SOURCE_DIR}/debian/${CPACK_DEBIAN_PACKAGE_NAME}.docs)
|
||||
foreach(INSTALL_UNIT ${CPACK_DEBIAN_PACKAGE_DOCS})
|
||||
file(APPEND ${DEBIAN_DOCS_FILE} "debian/tmp${INSTALL_UNIT}\n")
|
||||
endforeach(INSTALL_UNIT ${CPACK_DEBIAN_PACKAGE_DOCS})
|
||||
|
||||
##############################################################################
|
||||
# debian/${CPACK_DEBIAN_PACKAGE_NAME}.manpages
|
||||
set(DEBIAN_MANPAGES_FILE ${DEBIAN_SOURCE_DIR}/debian/${CPACK_DEBIAN_PACKAGE_NAME}.manpages)
|
||||
foreach(INSTALL_UNIT ${CPACK_DEBIAN_PACKAGE_MANPAGES})
|
||||
file(APPEND ${DEBIAN_MANPAGES_FILE} "debian/tmp${INSTALL_UNIT}\n")
|
||||
endforeach(INSTALL_UNIT ${CPACK_DEBIAN_PACKAGE_MANPAGES})
|
||||
|
||||
foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
|
||||
string(TOUPPER ${COMPONENT} UPPER_COMPONENT)
|
||||
|
||||
##############################################################################
|
||||
# debian/${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT}.install
|
||||
set(DEBIAN_INSTALL_FILE ${DEBIAN_SOURCE_DIR}/debian/${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT}.install)
|
||||
foreach(INSTALL_UNIT ${CPACK_COMPONENT_${UPPER_COMPONENT}_INSTALL})
|
||||
file(APPEND ${DEBIAN_INSTALL_FILE} "debian/tmp${INSTALL_UNIT}\n")
|
||||
endforeach(INSTALL_UNIT ${CPACK_COMPONENT_${UPPER_COMPONENT}_INSTALL})
|
||||
|
||||
##############################################################################
|
||||
# debian/${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT}.docs
|
||||
set(DEBIAN_DOCS_FILE ${DEBIAN_SOURCE_DIR}/debian/${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT}.docs)
|
||||
foreach(INSTALL_UNIT ${CPACK_COMPONENT_${UPPER_COMPONENT}_DOCS})
|
||||
file(APPEND ${DEBIAN_DOCS_FILE} "debian/tmp${INSTALL_UNIT}\n")
|
||||
endforeach(INSTALL_UNIT ${CPACK_COMPONENT_${UPPER_COMPONENT}_DOCS})
|
||||
|
||||
##############################################################################
|
||||
# debian/${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT}.manpages
|
||||
set(DEBIAN_MANPAGES_FILE ${DEBIAN_SOURCE_DIR}/debian/${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT}.manpages)
|
||||
foreach(INSTALL_UNIT ${CPACK_COMPONENT_${UPPER_COMPONENT}_MANPAGES})
|
||||
file(APPEND ${DEBIAN_MANPAGES_FILE} "debian/tmp${INSTALL_UNIT}\n")
|
||||
endforeach(INSTALL_UNIT ${CPACK_COMPONENT_${UPPER_COMPONENT}_MANPAGES})
|
||||
|
||||
endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
|
||||
|
||||
##############################################################################
|
||||
# debian/rules
|
||||
set(DEBIAN_RULES ${DEBIAN_SOURCE_DIR}/debian/rules)
|
||||
file(WRITE ${DEBIAN_RULES}
|
||||
"#!/usr/bin/make -f\n"
|
||||
"\n"
|
||||
"BUILDDIR = build_dir\n"
|
||||
"\n"
|
||||
"build:\n"
|
||||
" mkdir $(BUILDDIR)\n"
|
||||
" cd $(BUILDDIR); cmake ..\n"
|
||||
" cd $(BUILDDIR); ${CPACK_DEBIAN_CUSTOM_BUILD_COMMAND}\n"
|
||||
" make -C $(BUILDDIR) preinstall\n"
|
||||
" touch build\n"
|
||||
"\n"
|
||||
"binary: binary-indep binary-arch\n"
|
||||
"\n"
|
||||
"binary-indep: build\n"
|
||||
"\n"
|
||||
"binary-arch: build\n"
|
||||
" cd $(BUILDDIR); cmake -DCMAKE_INSTALL_PREFIX=../debian/tmp/usr -P cmake_install.cmake\n"
|
||||
" dh_testdir\n"
|
||||
" dh_testroot\n"
|
||||
" dh_installchangelogs\n"
|
||||
" dh_installdocs\n"
|
||||
" dh_installman\n"
|
||||
" dh_install\n"
|
||||
" dh_link\n"
|
||||
" dh_strip\n"
|
||||
" dh_compress\n"
|
||||
" dh_fixperms\n"
|
||||
" dh_listpackages\n"
|
||||
" dh_makeshlibs\n"
|
||||
" dh_gencontrol\n"
|
||||
" dh_md5sums\n"
|
||||
" dh_builddeb\n"
|
||||
)
|
||||
|
||||
# sh_libs is not resolved. Maybe OK, maybe wrong. This is a try.
|
||||
# " dpkg-shlibdeps -e./debian/tmp/usr/lib/libglobalplatform.so\n"
|
||||
# " dh_shlibdeps\n"
|
||||
# " mkdir debian/tmp/DEBIAN\n"
|
||||
#" dpkg-gensymbols -plibglobalplatform\n"
|
||||
# " dpkg-shlibdeps -elibglobalplatform\n"
|
||||
# " dpkg-gencontrol -p${CPACK_DEBIAN_PACKAGE_NAME}\n"
|
||||
# " dpkg --build debian/tmp ..\n"
|
||||
|
||||
|
||||
foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
|
||||
set(PATH debian/tmp_${COMPONENT})
|
||||
set(PACKAGE ${CPACK_DEBIAN_PACKAGE_NAME}-${COMPONENT})
|
||||
file(APPEND ${DEBIAN_RULES}
|
||||
" cd $(BUILDDIR); cmake -DCOMPONENT=${COMPONENT} -DCMAKE_INSTALL_PREFIX=../${PATH}/usr -P cmake_install.cmake\n"
|
||||
" dh_testdir\n"
|
||||
" dh_testroot\n"
|
||||
" dh_installchangelogs\n"
|
||||
" dh_installdocs\n"
|
||||
" dh_installman\n"
|
||||
" dh_install\n"
|
||||
" dh_link\n"
|
||||
" dh_strip\n"
|
||||
" dh_compress\n"
|
||||
" dh_fixperms\n"
|
||||
" dh_listpackages\n"
|
||||
" dh_makeshlibs\n"
|
||||
" dh_gencontrol\n"
|
||||
" dh_md5sums\n"
|
||||
" dh_builddeb\n"
|
||||
)
|
||||
endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
|
||||
|
||||
# sh_libs is not resolved. Maybe OK, maybe wrong. This is a try.
|
||||
# " dpkg-shlibdeps -e./debian/tmp/usr/lib/libglobalplatform.so\n"
|
||||
# " dh_shlibdeps\n"
|
||||
# " mkdir ${PATH}/DEBIAN\n"
|
||||
# " dh_shlibdeps -L libglobalplatform6 -l ../debian/tmp/usr/lib\n"
|
||||
# " dpkg-gensymbols -plibglobalplatform -P${PATH}\n"
|
||||
# " dpkg-shlibdeps -elibglobalplatform\n"
|
||||
# " dpkg-gencontrol -p${PACKAGE} -P${PATH}\n"
|
||||
# " dpkg --build ${PATH} ..\n"
|
||||
|
||||
file(APPEND ${DEBIAN_RULES}
|
||||
"\n"
|
||||
"clean:\n"
|
||||
" rm -f build\n"
|
||||
" rm -rf $(BUILDDIR)\n"
|
||||
"\n"
|
||||
".PHONY: binary binary-arch binary-indep clean\n"
|
||||
)
|
||||
|
||||
execute_process(COMMAND chmod +x ${DEBIAN_RULES})
|
||||
|
||||
##############################################################################
|
||||
# debian/compat - 5 is used to also support dapper
|
||||
file(WRITE ${DEBIAN_SOURCE_DIR}/debian/compat "5")
|
||||
|
||||
##############################################################################
|
||||
# debian/source/format
|
||||
IF(CPACK_DEBIAN_NATIVE_PACKAGE)
|
||||
file(WRITE ${DEBIAN_SOURCE_DIR}/debian/source/format "3.0 (native)")
|
||||
ELSE(CPACK_DEBIAN_NATIVE_PACKAGE)
|
||||
file(WRITE ${DEBIAN_SOURCE_DIR}/debian/source/format "3.0 (quilt)")
|
||||
ENDIF(CPACK_DEBIAN_NATIVE_PACKAGE)
|
||||
|
||||
##############################################################################
|
||||
# debian/changelog
|
||||
|
||||
|
||||
set(DEBIAN_CHANGELOG ${DEBIAN_SOURCE_DIR}/debian/changelog)
|
||||
execute_process(COMMAND date -R OUTPUT_VARIABLE DATE_TIME)
|
||||
|
||||
|
||||
file(WRITE ${DEBIAN_CHANGELOG}
|
||||
"${CPACK_DEBIAN_PACKAGE_NAME} (${VERSION_NAME}) ${CPACK_DEBIAN_PACKAGE_DISTRIBUTION}; urgency=low\n\n"
|
||||
" * Package built with CMake\n\n"
|
||||
" -- ${CPACK_DEBIAN_PACKAGE_MAINTAINER} ${DATE_TIME}"
|
||||
)
|
||||
|
||||
#INSTALL(FILES ${CMAKE_CURRENT_BUILD_DIR}/*.so DESTINATION lib${LIB_SUFFIX})
|
||||
|
||||
##############################################################################
|
||||
# debuild -S
|
||||
set(DEB_SOURCE_CHANGES
|
||||
${CPACK_DEBIAN_PACKAGE_NAME}_${VERSION_NAME}_source.changes
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/Debian/${DEB_SOURCE_CHANGES}
|
||||
COMMAND ${DEBUILD_EXECUTABLE} -S
|
||||
DEPENDS ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz
|
||||
WORKING_DIRECTORY ${DEBIAN_SOURCE_DIR}
|
||||
)
|
||||
|
||||
IF(${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION} STREQUAL ${CPACK_SOURCE_PACKAGE_FILE_NAME})
|
||||
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz
|
||||
COMMAND make -C ${CMAKE_BINARY_DIR} package_source
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz
|
||||
COMMAND tar xzf ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz -C ${CMAKE_BINARY_DIR}/Debian/
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
||||
)
|
||||
ELSE(${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION} STREQUAL ${CPACK_SOURCE_PACKAGE_FILE_NAME})
|
||||
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz
|
||||
COMMAND make -C ${CMAKE_BINARY_DIR} package_source
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz
|
||||
COMMAND tar xzf ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz -C ${CMAKE_BINARY_DIR}/Debian/
|
||||
COMMAND cp -unR ${CMAKE_BINARY_DIR}/Debian/${CPACK_SOURCE_PACKAGE_FILE_NAME}/* ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
||||
)
|
||||
ENDIF(${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION} STREQUAL ${CPACK_SOURCE_PACKAGE_FILE_NAME})
|
||||
|
||||
add_custom_target(package_ubuntu
|
||||
DEPENDS ${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz ${CMAKE_BINARY_DIR}/Debian/${DEB_SOURCE_CHANGES}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/Debian
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# dput ppa:your-lp-id/ppa <source.changes>
|
||||
IF(CPACK_DEBIAN_PACKAGE_TYPE STREQUAL "snapshot")
|
||||
set(USED_DPUT_HOST ${DPUT_SNAPSHOT_HOST})
|
||||
ELSE(CPACK_DEBIAN_PACKAGE_TYPE STREQUAL "snapshot")
|
||||
set(USED_DPUT_HOST ${DPUT_HOST})
|
||||
ENDIF(CPACK_DEBIAN_PACKAGE_TYPE STREQUAL "snapshot")
|
||||
|
||||
|
||||
add_custom_target(dput ${DPUT_EXECUTABLE} ${USED_DPUT_HOST} ${DEB_SOURCE_CHANGES}
|
||||
DEPENDS ${CMAKE_BINARY_DIR}/Debian/${DEB_SOURCE_CHANGES}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/Debian
|
||||
)
|
||||
|
||||
# Also clean Debian directory
|
||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${DEBIAN_SOURCE_DIR})
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
This work was packaged for Debian by:
|
||||
|
||||
<Maintainer> on <Date>
|
||||
|
||||
It was downloaded from
|
||||
|
||||
<UpstreamURL>
|
||||
|
||||
Upstream Author(s):
|
||||
|
||||
<UpstreamAuthor>
|
||||
|
||||
Copyright:
|
||||
|
||||
Copyright (C) <YearUpstreamCopyright> <UpstreamAuthorName>
|
||||
|
||||
License:
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted under the terms of the BSD License.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
On Debian systems, the complete text of the BSD License can be
|
||||
found in `/usr/share/common-licenses/BSD'.
|
||||
|
||||
The Debian packaging is:
|
||||
|
||||
Copyright (C) <Year> <Maintainer>
|
||||
|
||||
and is licensed under the GPL version 3,
|
||||
see `/usr/share/common-licenses/GPL-3'.
|
||||
Loading…
Reference in New Issue