1 # 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:
6 # http://www.apache.org/licenses/LICENSE-2.0
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.
14 if(CMAKE_CROSSCOMPILING)
18 get_cmake_property(VPP_COMPONENTS COMPONENTS)
19 string(REPLACE ";" " " VPP_COMPONENTS "${VPP_COMPONENTS}")
21 ##############################################################################
22 # pinned timestamp for reproducible builds
23 ##############################################################################
24 set(VPP_SOURCE_DATE_EPOCH
27 STRING "Artifact build timestamp for reproducible builds"
30 if(VPP_SOURCE_DATE_EPOCH STREQUAL "")
31 set(VPP_TIMESTAMP_ARG "")
33 set(VPP_TIMESTAMP_ARG "--date=@${VPP_SOURCE_DATE_EPOCH}")
37 COMMAND date -R ${VPP_TIMESTAMP_ARG}
38 OUTPUT_VARIABLE TIMESTAMP
39 OUTPUT_STRIP_TRAILING_WHITESPACE
42 # parse /etc/os-release
43 file(READ "/etc/os-release" os_release)
44 string(REPLACE "\n" ";" os_release ${os_release})
45 foreach(l ${os_release})
46 string(REPLACE "=" ";" l ${l})
49 string(REPLACE "\"" "" _value ${_value})
50 set(OS_${_name} ${_value})
53 set(VPP_DEB_BUILD_DEPENDS "python3-all, python3-setuptools")
54 set(VPP_DEB_WITH_PYTHON2 "no")
56 foreach(f rules changelog control)
58 ${CMAKE_CURRENT_SOURCE_DIR}/debian/${f}.in
59 ${VPP_BINARY_DIR}/debian/${f}
64 foreach(f copyright vpp.preinst vpp.postrm vpp.postinst vpp.service)
66 ${CMAKE_CURRENT_SOURCE_DIR}/debian/${f}
67 DESTINATION ${VPP_BINARY_DIR}/debian
71 add_custom_target(pkg-deb
72 COMMENT "Building .deb packages..."
73 WORKING_DIRECTORY ${VPP_BINARY_DIR}
74 COMMAND "dpkg-buildpackage" "-us" "-uc" "-b"