Skip to content

Commit 813c1c5

Browse files
committed
Merge pull request #1 from krallin/build-packages
Generate DEB and RPM packages
2 parents d7727ac + a1d6372 commit 813c1c5

File tree

5 files changed

+79
-2
lines changed

5 files changed

+79
-2
lines changed

.travis.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
language: c
2+
23
compiler:
34
- gcc
45
- clang
6+
7+
addons:
8+
apt:
9+
packages:
10+
- build-essential
11+
- cmake
12+
- rpm
13+
- git
14+
- gdb
15+
- valgrind
16+
517
script: ./ci/run_build.sh
618

719
sudo: false
@@ -12,6 +24,8 @@ deploy:
1224
secure: Yk90ANpSPv1iJy8QDXCPwfaSmEr/WIJ3bzhQ6X8JvZjfrwTosbh0HrUzQyeac3nyvNwj7YJRssolOFc21IBKPpCFTZqYxSkuLPU6ysG4HGHgN6YJhOMm4mG4KKJ6741q3DJendhZpalBhCEi+NcZK/PCSD97Vl4OqRjBUged0fs=
1325
file:
1426
- "./dist/tini"
27+
- "./dist/tini_0.3.4.deb"
28+
- "./dist/tini_0.3.4.rpm"
1529
on:
1630
repo: krallin/tini
1731
tags: true

CMakeLists.txt

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,44 @@ configure_file (
2121
)
2222

2323
configure_file (
24-
"${PROJECT_SOURCE_DIR}/README.md.in"
24+
"${PROJECT_SOURCE_DIR}/tpl/README.md.in"
2525
"${PROJECT_SOURCE_DIR}/README.md"
2626
@ONLY
2727
)
2828

29+
configure_file (
30+
"${PROJECT_SOURCE_DIR}/tpl/travis.yml.tpl"
31+
"${PROJECT_SOURCE_DIR}/.travis.yml"
32+
@ONLY
33+
)
34+
2935
include_directories ("${PROJECT_BINARY_DIR}")
3036

3137
add_executable (tini src/tini.c)
3238

3339
# Installation
3440
install (TARGETS tini DESTINATION bin)
41+
42+
# Packaging
43+
include (InstallRequiredSystemLibraries)
44+
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "A tiny but valid init process for containers")
45+
set (CPACK_PACKAGE_VENDOR "Thomas Orozco")
46+
set (CPACK_PACKAGE_CONTACT "[email protected]")
47+
set (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
48+
set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
49+
set (CPACK_PACKAGE_VERSION_MAJOR "${tini_VERSION_MAJOR}")
50+
set (CPACK_PACKAGE_VERSION_MINOR "${tini_VERSION_MINOR}")
51+
set (CPACK_PACKAGE_VERSION_PATCH "${tini_VERSION_PATCH}")
52+
set (CPACK_PACKAGE_EXECUTABLES "tini")
53+
set (CPACK_PACKAGE_NAME "tini")
54+
set (CPACK_PACKAGE_FILE_NAME "tini_${tini_VERSION_MAJOR}.${tini_VERSION_MINOR}.${tini_VERSION_PATCH}")
55+
set (CPACK_PACKAGE_VERSION "${tini_VERSION_MAJOR}.${tini_VERSION_MINOR}.${tini_VERSION_PATCH}")
56+
57+
set (CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") # TODO
58+
set (CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.4)")
59+
60+
set (CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64")
61+
62+
set (CPACK_GENERATOR "DEB" "RPM")
63+
64+
include (CPack)

ci/run_build.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ cmake -B"${BUILD_DIR}" -H"${SOURCE_DIR}"
1313
pushd "${BUILD_DIR}"
1414
make clean
1515
make
16+
make package
1617

1718
popd
1819

@@ -28,4 +29,4 @@ fi
2829

2930
# Place files
3031
mkdir -p "${DIST_DIR}"
31-
cp "${BUILD_DIR}"/tini "${DIST_DIR}"
32+
cp "${BUILD_DIR}"/tini{,*.rpm,*deb} "${DIST_DIR}"
File renamed without changes.

tpl/travis.yml.tpl

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
language: c
2+
3+
compiler:
4+
- gcc
5+
- clang
6+
7+
addons:
8+
apt:
9+
packages:
10+
- build-essential
11+
- cmake
12+
- rpm
13+
- git
14+
- gdb
15+
- valgrind
16+
17+
script: ./ci/run_build.sh
18+
19+
sudo: false
20+
21+
deploy:
22+
provider: releases
23+
api_key:
24+
secure: Yk90ANpSPv1iJy8QDXCPwfaSmEr/WIJ3bzhQ6X8JvZjfrwTosbh0HrUzQyeac3nyvNwj7YJRssolOFc21IBKPpCFTZqYxSkuLPU6ysG4HGHgN6YJhOMm4mG4KKJ6741q3DJendhZpalBhCEi+NcZK/PCSD97Vl4OqRjBUged0fs=
25+
file:
26+
- "./dist/tini"
27+
- "./dist/tini_@tini_VERSION_MAJOR@.@tini_VERSION_MINOR@.@[email protected]"
28+
- "./dist/tini_@tini_VERSION_MAJOR@.@tini_VERSION_MINOR@.@[email protected]"
29+
on:
30+
repo: krallin/tini
31+
tags: true
32+
condition: "$CC = gcc"

0 commit comments

Comments
 (0)