blob: 0e4b6dbcce78eafd54b02977cc60910a34f5d29e [file] [log] [blame]
Damjan Marion4d2f86a2019-01-18 13:28:22 +01001# Copyright (c) 2019 Cisco and/or its affiliates.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
Damjan Marion5857daf2020-06-16 16:05:12 +020014if(CMAKE_CROSSCOMPILING)
15 return()
16endif()
17
Damjan Marion4d2f86a2019-01-18 13:28:22 +010018get_cmake_property(VPP_COMPONENTS COMPONENTS)
19string(REPLACE ";" " " VPP_COMPONENTS "${VPP_COMPONENTS}")
20
21execute_process(
22 COMMAND date -R
23 OUTPUT_VARIABLE TIMESTAMP
24 OUTPUT_STRIP_TRAILING_WHITESPACE
25)
26
Damjan Mariona4164932020-05-12 12:22:18 +020027# parse /etc/os-release
28file(READ "/etc/os-release" os_release)
29string(REPLACE "\n" ";" os_release ${os_release})
30foreach(l ${os_release})
31 string(REPLACE "=" ";" l ${l})
32 list(GET l 0 _name)
33 list(GET l 1 _value)
34 string(REPLACE "\"" "" _value ${_value})
35 set(OS_${_name} ${_value})
36endforeach()
37
38if (OS_ID STREQUAL "ubuntu" AND OS_VERSION_ID VERSION_LESS 20.04)
39 set(VPP_DEB_BUILD_DEPENDS "python-all, python3-all, python3-setuptools")
40 set(VPP_DEB_WITH_PYTHON2 "yes")
41else()
42 set(VPP_DEB_BUILD_DEPENDS "python3-all, python3-setuptools")
43 set(VPP_DEB_WITH_PYTHON2 "no")
44endif()
45
46foreach(f rules changelog control)
Damjan Marion4d2f86a2019-01-18 13:28:22 +010047 configure_file(
48 ${CMAKE_CURRENT_SOURCE_DIR}/debian/${f}.in
49 ${CMAKE_BINARY_DIR}/debian/${f}
Damjan Mariona4164932020-05-12 12:22:18 +020050 @ONLY
Damjan Marion4d2f86a2019-01-18 13:28:22 +010051 )
52endforeach()
53
Damjan Mariona4164932020-05-12 12:22:18 +020054foreach(f copyright vpp.preinst vpp.postrm vpp.postinst vpp.service)
Damjan Marion4d2f86a2019-01-18 13:28:22 +010055 file(COPY
56 ${CMAKE_CURRENT_SOURCE_DIR}/debian/${f}
57 DESTINATION ${CMAKE_BINARY_DIR}/debian
58 )
59endforeach()
60
61file(WRITE ${CMAKE_BINARY_DIR}/debian/compat "9\n")
62
63add_custom_target(package-deb
64 COMMENT "Building .deb packages..."
65 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
66 COMMAND "dpkg-buildpackage" "-us" "-uc" "-b"
Damjan Marion7ec2fe22019-01-22 09:10:16 +010067 USES_TERMINAL
Damjan Marion4d2f86a2019-01-18 13:28:22 +010068)