tebako 0.12.16 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CMakeLists.txt +2 -2
  3. data/CODE_OF_CONDUCT.adoc +128 -0
  4. data/CONTRIBUTING.adoc +294 -0
  5. data/Gemfile +1 -1
  6. data/INSTALLATION.adoc +231 -0
  7. data/LICENSE.md +33 -0
  8. data/README.adoc +291 -486
  9. data/Rakefile +1 -1
  10. data/cmake/copy_dir.cmake +1 -1
  11. data/common.env +1 -1
  12. data/exe/tebako +1 -1
  13. data/exe/tebako-packager +1 -1
  14. data/include/tebako/tebako-fs.h +1 -1
  15. data/include/tebako/tebako-main.h +1 -1
  16. data/lib/tebako/build_helpers.rb +1 -1
  17. data/lib/tebako/cache_manager.rb +1 -1
  18. data/lib/tebako/cli.rb +1 -1
  19. data/lib/tebako/cli_helpers.rb +1 -1
  20. data/lib/tebako/codegen.rb +1 -1
  21. data/lib/tebako/deploy_helper.rb +8 -7
  22. data/lib/tebako/error.rb +1 -1
  23. data/lib/tebako/options_manager.rb +1 -1
  24. data/lib/tebako/package_descriptor.rb +1 -1
  25. data/lib/tebako/packager/pass1_patch.rb +1 -1
  26. data/lib/tebako/packager/pass1a_patch.rb +1 -1
  27. data/lib/tebako/packager/pass2_patch.rb +1 -1
  28. data/lib/tebako/packager/pass2_patch_crt.rb +1 -1
  29. data/lib/tebako/packager/pass2msys_patch.rb +1 -1
  30. data/lib/tebako/packager/patch.rb +1 -1
  31. data/lib/tebako/packager/patch_buildsystem.rb +1 -1
  32. data/lib/tebako/packager/patch_helpers.rb +1 -1
  33. data/lib/tebako/packager/patch_libraries.rb +1 -1
  34. data/lib/tebako/packager/patch_literals.rb +1 -1
  35. data/lib/tebako/packager/patch_main.rb +1 -1
  36. data/lib/tebako/packager/rubygems_patch.rb +1 -1
  37. data/lib/tebako/packager.rb +1 -1
  38. data/lib/tebako/packager_lite.rb +1 -1
  39. data/lib/tebako/ruby_builder.rb +1 -1
  40. data/lib/tebako/ruby_version.rb +3 -2
  41. data/lib/tebako/scenario_manager.rb +1 -1
  42. data/lib/tebako/stripper.rb +1 -1
  43. data/lib/tebako/version.rb +2 -2
  44. data/lib/tebako.rb +1 -1
  45. data/src/tebako-main.cpp +1 -1
  46. data/tebako.gemspec +1 -1
  47. data/tools/.github/workflows/build-containers.yml +190 -0
  48. data/tools/.github/workflows/lint.yml +3 -3
  49. data/tools/.github/workflows/test.yml +150 -11
  50. data/tools/ci-scripts/arm-brew-install.sh +1 -1
  51. data/tools/ci-scripts/arm-brew-setup.sh +1 -1
  52. data/tools/ci-scripts/level-up.sh +1 -1
  53. data/tools/ci-scripts/patch-fbthrift.sh +1 -1
  54. data/tools/ci-scripts/patch-folly.sh +2 -2
  55. data/tools/ci-scripts/tools.sh +1 -1
  56. data/tools/ci-scripts/x86-brew-install.sh +1 -1
  57. data/tools/ci-scripts/x86-brew-setup.sh +1 -1
  58. data/tools/cmake-scripts/def-external-project.cmake +1 -1
  59. data/tools/cmake-scripts/macos-environment.cmake +2 -2
  60. data/tools/cmake-scripts/msys-environment.cmake +1 -1
  61. data/tools/cmake-scripts/setup-libarchive.cmake +1 -1
  62. data/tools/cmake-scripts/setup-libfmt.cmake +1 -1
  63. data/tools/cmake-scripts/setup-libhowardhinnerdate.cmake +1 -1
  64. data/tools/cmake-scripts/setup-libutfcpp.cmake +2 -2
  65. data/tools/cmake-scripts/setup-openssl-1.1.1.cmake +1 -1
  66. data/tools/docker/alpine-3.17-dev.Dockerfile +49 -0
  67. data/tools/docker/tools/tools.sh +66 -0
  68. data/tools/docker/ubuntu-20.04-dev.Dockerfile +51 -0
  69. data/tools/dwarfs-test-helper/CMakeLists.txt +1 -1
  70. data/tools/include/pro-statvfs.h +1 -1
  71. data/tools/tests/cmake/CMakeLists.txt +1 -1
  72. data/tools/tests/setup-libfmt/CMakeLists.txt +1 -1
  73. data/tools/tests/setup-libhowardhinnerdate/CMakeLists.txt +1 -1
  74. data/tools/tests/setup-librachive/CMakeLists.txt +1 -1
  75. data/tools/tests/setup-libutfcpp/CMakeLists.txt +1 -1
  76. data/tools/tests/setup-openssl/CMakeLists.txt +1 -1
  77. metadata +10 -2
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2024-2025, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -27,7 +27,7 @@ name: test
27
27
 
28
28
  on:
29
29
  push:
30
- branches: [ master ]
30
+ branches: [ master, main ]
31
31
  pull_request:
32
32
  workflow_dispatch:
33
33
 
@@ -42,7 +42,7 @@ jobs:
42
42
  strategy:
43
43
  fail-fast: false
44
44
  matrix:
45
- os: [ ubuntu-20.04, macos-13, macos-14 ]
45
+ os: [ macos-13, macos-14 ]
46
46
  steps:
47
47
  - name: Checkout
48
48
  uses: actions/checkout@v4
@@ -75,13 +75,62 @@ jobs:
75
75
  test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-targets-release.cmake
76
76
  test -f build/setup-libfmt/deps/lib/pkgconfig/fmt.pc
77
77
 
78
+ test-setup-libfmt-co:
79
+ name: test setup-libfmt on ${{ matrix.architecture.platform }}/${{ matrix.container }}
80
+ runs-on: ${{ matrix.architecture.host }}
81
+ container:
82
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
83
+ defaults:
84
+ run:
85
+ shell: bash
86
+ strategy:
87
+ fail-fast: false
88
+ matrix:
89
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
90
+ architecture:
91
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
92
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
93
+
94
+ steps:
95
+ # JavaScript Actions in Alpine containers are only supported on x64 Linux runners. Doing Linux Arm64
96
+ - name: Checkout
97
+ uses: actions/checkout@v1
98
+
99
+ - name: Run cmake script
100
+ run: |
101
+ cmake -B build/setup-libfmt -DROOT=$PWD -S tests/setup-libfmt
102
+ cmake --build build/setup-libfmt
103
+
104
+ - name: Test setup-libfmt
105
+ run: |
106
+ set -o errexit -o pipefail -o noclobber -o nounset
107
+ test -f build/setup-libfmt/deps/lib/libfmt.a
108
+ test -f build/setup-libfmt/deps/include/fmt/args.h
109
+ test -f build/setup-libfmt/deps/include/fmt/chrono.h
110
+ test -f build/setup-libfmt/deps/include/fmt/color.h
111
+ test -f build/setup-libfmt/deps/include/fmt/compile.h
112
+ test -f build/setup-libfmt/deps/include/fmt/core.h
113
+ test -f build/setup-libfmt/deps/include/fmt/format.h
114
+ test -f build/setup-libfmt/deps/include/fmt/format-inl.h
115
+ test -f build/setup-libfmt/deps/include/fmt/os.h
116
+ test -f build/setup-libfmt/deps/include/fmt/ostream.h
117
+ test -f build/setup-libfmt/deps/include/fmt/printf.h
118
+ test -f build/setup-libfmt/deps/include/fmt/ranges.h
119
+ test -f build/setup-libfmt/deps/include/fmt/std.h
120
+ test -f build/setup-libfmt/deps/include/fmt/xchar.h
121
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-config.cmake
122
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-config-version.cmake
123
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-targets.cmake
124
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-targets-release.cmake
125
+ test -f build/setup-libfmt/deps/lib/pkgconfig/fmt.pc
126
+
78
127
  test-setup-librachive:
79
128
  name: test setup-librachive on ${{ matrix.os }}
80
129
  runs-on: ${{ matrix.os }}
81
130
  strategy:
82
131
  fail-fast: false
83
132
  matrix:
84
- os: [ ubuntu-20.04, macos-13, macos-14 ]
133
+ os: [ macos-13, macos-14 ]
85
134
  steps:
86
135
  - name: Checkout
87
136
  uses: actions/checkout@v4
@@ -100,13 +149,47 @@ jobs:
100
149
  test -f build/setup-librachive/deps/include/archive.h
101
150
  test -f build/setup-librachive/deps/include/archive_entry.h
102
151
 
152
+ test-setup-librachive-co:
153
+ name: test setup-librachive on ${{ matrix.architecture.platform }}/${{ matrix.container }}
154
+ runs-on: ${{ matrix.architecture.host }}
155
+ container:
156
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
157
+ defaults:
158
+ run:
159
+ shell: bash
160
+ strategy:
161
+ fail-fast: false
162
+ matrix:
163
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
164
+ architecture:
165
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
166
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
167
+
168
+ steps:
169
+ - name: Checkout
170
+ uses: actions/checkout@v1
171
+
172
+ - name: Run cmake script
173
+ run: |
174
+ cmake -B build/setup-librachive -DROOT=$PWD tests/setup-librachive
175
+ cmake --build build/setup-librachive
176
+
177
+ - name: Test setup-librachive
178
+ run: |
179
+ set -o errexit -o pipefail -o noclobber -o nounset
180
+ test -f build/setup-librachive/deps/lib/pkgconfig/libarchive.pc
181
+ test -f build/setup-librachive/deps/lib/libarchive.so || test -f build/setup-librachive/deps/lib/libarchive.dylib
182
+ test -f build/setup-librachive/deps/lib/libarchive.a
183
+ test -f build/setup-librachive/deps/include/archive.h
184
+ test -f build/setup-librachive/deps/include/archive_entry.h
185
+
103
186
  test-setup-libutfcpp:
104
187
  name: test setup-libutfcpp on ${{ matrix.os }}
105
188
  runs-on: ${{ matrix.os }}
106
189
  strategy:
107
190
  fail-fast: false
108
191
  matrix:
109
- os: [ ubuntu-20.04, macos-13, macos-14 ]
192
+ os: [ macos-13, macos-14 ]
110
193
  steps:
111
194
  - name: Checkout
112
195
  uses: actions/checkout@v4
@@ -122,13 +205,43 @@ jobs:
122
205
  test -f build/setup-libutfcpp/deps/include/utf8.h
123
206
  test -d build/setup-libutfcpp/deps/include/utf8
124
207
 
208
+ test-setup-libutfcpp-co:
209
+ name: test setup-libutfcpp on ${{ matrix.architecture.platform }}/${{ matrix.container }}
210
+ runs-on: ${{ matrix.architecture.host }}
211
+ container:
212
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
213
+ defaults:
214
+ run:
215
+ shell: bash
216
+ strategy:
217
+ fail-fast: false
218
+ matrix:
219
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
220
+ architecture:
221
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
222
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
223
+ steps:
224
+ - name: Checkout
225
+ uses: actions/checkout@v1
226
+
227
+ - name: Run cmake script
228
+ run: |
229
+ cmake -B build/setup-libutfcpp -DROOT=$PWD tests/setup-libutfcpp
230
+ cmake --build build/setup-libutfcpp
231
+
232
+ - name: Test setup-libutfcpp
233
+ run: |
234
+ set -o errexit -o pipefail -o noclobber -o nounset
235
+ test -f build/setup-libutfcpp/deps/include/utf8.h
236
+ test -d build/setup-libutfcpp/deps/include/utf8
237
+
125
238
  test-setup-libhowardhinnerdate:
126
239
  name: test setup-libhowardhinnerdate on ${{ matrix.os }}
127
240
  runs-on: ${{ matrix.os }}
128
241
  strategy:
129
242
  fail-fast: false
130
243
  matrix:
131
- os: [ ubuntu-20.04, macos-13 ]
244
+ os: [ macos-13, macos-14 ]
132
245
  steps:
133
246
  - name: Checkout
134
247
  uses: actions/checkout@v4
@@ -143,6 +256,35 @@ jobs:
143
256
  set -o errexit -o pipefail -o noclobber -o nounset
144
257
  test -f build/setup-libhowardhinnerdate/deps/include/date/date.h
145
258
 
259
+ test-setup-libhowardhinnerdate-co:
260
+ name: test setup-libhowardhinnerdate on ${{ matrix.architecture.platform }}/${{ matrix.container }}
261
+ runs-on: ${{ matrix.architecture.host }}
262
+ container:
263
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
264
+ defaults:
265
+ run:
266
+ shell: bash
267
+ strategy:
268
+ fail-fast: false
269
+ matrix:
270
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
271
+ architecture:
272
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
273
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
274
+ steps:
275
+ - name: Checkout
276
+ uses: actions/checkout@v1
277
+
278
+ - name: Run cmake script
279
+ run: |
280
+ cmake -B build/setup-libhowardhinnerdate -DROOT=$PWD tests/setup-libhowardhinnerdate
281
+ cmake --build build/setup-libhowardhinnerdate
282
+
283
+ - name: Test setup-libhowardhinnerdate
284
+ run: |
285
+ set -o errexit -o pipefail -o noclobber -o nounset
286
+ test -f build/setup-libhowardhinnerdate/deps/include/date/date.h
287
+
146
288
  test-cross-brew-install:
147
289
  name: test arm-brew-setup/install
148
290
  runs-on: macos-13
@@ -174,9 +316,6 @@ jobs:
174
316
  - name: Checkout
175
317
  uses: actions/checkout@v4
176
318
 
177
- - name: Checkout
178
- uses: actions/checkout@v4
179
-
180
319
  - name: Install packages
181
320
  run: brew install flex bison bash
182
321
 
@@ -187,7 +326,7 @@ jobs:
187
326
  name: test openssl 1.1.1 setup on alpine
188
327
  runs-on: ubuntu-latest
189
328
  container:
190
- image: alpine:3.17
329
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-alpine-3.17-dev'
191
330
 
192
331
  steps:
193
332
  - name: Install packages
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -1,7 +1,7 @@
1
1
  #! /bin/bash
2
2
  # Copyright (c) 2022,2024 [Ribose Inc](https://www.ribose.com).
3
3
  # All rights reserved.
4
- # This file is a part of tebako
4
+ # This file is a part of the Tebako project.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without
7
7
  # modification, are permitted provided that the following conditions
@@ -1,7 +1,7 @@
1
1
  #! /bin/bash
2
- # Copyright (c) 2022-2024, [Ribose Inc](https://www.ribose.com).
2
+ # Copyright (c) 2022-2025, [Ribose Inc](https://www.ribose.com).
3
3
  # All rights reserved.
4
- # This file is a part of tebako
4
+ # This file is a part of the Tebako project.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without
7
7
  # modification, are permitted provided that the following conditions
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  # Copyright (c) 2023, [Ribose Inc](https://www.ribose.com).
3
3
  # All rights reserved.
4
- # This file is a part of tebako
4
+ # This file is a part of the Tebako project.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without
7
7
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2021-2022 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2021-2024, [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2021-2025, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tamatebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tamatebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2022-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2022-2024 [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2022-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2023-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -0,0 +1,49 @@
1
+ # Copyright (c) 2024-2025 [Ribose Inc](https://www.ribose.com).
2
+ # All rights reserved.
3
+ # This file is a part of the Tebako project.
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions
7
+ # are met:
8
+ # 1. Redistributions of source code must retain the above copyright
9
+ # notice, this list of conditions and the following disclaimer.
10
+ # 2. Redistributions in binary form must reproduce the above copyright
11
+ # notice, this list of conditions and the following disclaimer in the
12
+ # documentation and/or other materials provided with the distribution.
13
+ #
14
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16
+ # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
18
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
+ # POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ FROM alpine:3.17
27
+
28
+ ENV TZ=Etc/UTC
29
+ ENV ARCH=x64
30
+
31
+ RUN apk --no-cache --upgrade add build-base cmake git bash sudo \
32
+ autoconf boost-static boost-dev flex-dev bison make clang \
33
+ binutils-dev libevent-dev acl-dev sed python3 pkgconfig curl \
34
+ lz4-dev openssl-dev zlib-dev xz ninja zip unzip tar xz-dev \
35
+ libunwind-dev libdwarf-dev gflags-dev elfutils-dev gcompat \
36
+ libevent-static openssl-libs-static lz4-static libffi-dev \
37
+ zlib-static libunwind-static acl-static fmt-dev xz-static \
38
+ gdbm-dev yaml-dev yaml-static ncurses-dev ncurses-static \
39
+ readline-dev readline-static p7zip ruby-dev jemalloc-dev \
40
+ gettext-dev gperf brotli-dev brotli-static clang libxslt-dev \
41
+ libxslt-static ccache double-conversion-dev glog-dev
42
+
43
+ RUN gem install bundler
44
+
45
+ ENV CC=clang
46
+ ENV CXX=clang++
47
+
48
+ ENV PS1="\[\]\[\e]0;\u@\h: \w\a\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ \[\]"
49
+ CMD ["bash"]
@@ -0,0 +1,66 @@
1
+ #!/bin/bash
2
+
3
+ # Copyright (c) 2024-2025 [Ribose Inc](https://www.ribose.com).
4
+ # All rights reserved.
5
+ # This file is a part of the Tebako project.
6
+ #
7
+ # Redistribution and use in source and binary forms, with or without
8
+ # modification, are permitted provided that the following conditions
9
+ # are met:
10
+ # 1. Redistributions of source code must retain the above copyright
11
+ # notice, this list of conditions and the following disclaimer.
12
+ # 2. Redistributions in binary form must reproduce the above copyright
13
+ # notice, this list of conditions and the following disclaimer in the
14
+ # documentation and/or other materials provided with the distribution.
15
+ #
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
+ # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
+ # POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ set -o errexit -o pipefail -o noclobber -o nounset
29
+
30
+ : "${LOCAL_BUILDS:=/tmp/tebako}"
31
+ : "${CMAKE_VERSION:=3.24.4-1}"
32
+ : "${RUBY_VERSION:=3.3.7}"
33
+ : "${RUBY_INSTALL_VERSION:=0.9.3}"
34
+ : "${ARCH:=x64}"
35
+
36
+ install_cmake() {
37
+ echo "Running install_cmake for CMake version ${CMAKE_VERSION} for ${ARCH}"
38
+ local cmake_install="${LOCAL_BUILDS}/cmake"
39
+ mkdir -p "${cmake_install}"
40
+ pushd "${cmake_install}"
41
+ wget -nv "https://github.com/xpack-dev-tools/cmake-xpack/releases/download/v${CMAKE_VERSION}/xpack-cmake-${CMAKE_VERSION}-linux-${ARCH}.tar.gz"
42
+ tar -zxf "xpack-cmake-${CMAKE_VERSION}-linux-${ARCH}.tar.gz" --directory /usr --strip-components=1 --skip-old-files
43
+ popd
44
+ rm -rf "${cmake_install}"
45
+ }
46
+
47
+ install_ruby() {
48
+ echo "Running ruby_install version ${RUBY_INSTALL_VERSION} for Ruby ${RUBY_VERSION}"
49
+ local ruby_install=${LOCAL_BUILDS}/ruby_install
50
+ mkdir -p "${ruby_install}"
51
+ pushd "${ruby_install}"
52
+ wget -nv "https://github.com/postmodern/ruby-install/releases/download/v${RUBY_INSTALL_VERSION}/ruby-install-${RUBY_INSTALL_VERSION}.tar.gz"
53
+ tar -xzvf "ruby-install-${RUBY_INSTALL_VERSION}.tar.gz"
54
+ cd "ruby-install-${RUBY_INSTALL_VERSION}"
55
+ make install
56
+ ruby-install --system ruby "${RUBY_VERSION}" -- --without-gmp --disable-dtrace --disable-debug-env --disable-install-doc CC="${CC}"
57
+ popd
58
+ rm -rf "${ruby_install}"
59
+ }
60
+
61
+ DIR0=$( dirname "$0" )
62
+ DIR_TOOLS=$( cd "$DIR0" && pwd )
63
+
64
+ echo "Running tools.sh with args: $* DIR_TOOLS: ${DIR_TOOLS}"
65
+
66
+ "$@"
@@ -0,0 +1,51 @@
1
+ # Copyright (c) 2024-2025 [Ribose Inc](https://www.ribose.com).
2
+ # All rights reserved.
3
+ # This file is a part of the Tebako project.
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions
7
+ # are met:
8
+ # 1. Redistributions of source code must retain the above copyright
9
+ # notice, this list of conditions and the following disclaimer.
10
+ # 2. Redistributions in binary form must reproduce the above copyright
11
+ # notice, this list of conditions and the following disclaimer in the
12
+ # documentation and/or other materials provided with the distribution.
13
+ #
14
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16
+ # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
18
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
+ # POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ FROM ubuntu:focal
27
+
28
+ ENV DEBIAN_FRONTEND=noninteractive
29
+ ENV TZ=Etc/UTC
30
+ ARG ARCH=x64
31
+
32
+ RUN apt-get -y update && \
33
+ apt-get -y install sudo wget git make pkg-config clang-12 clang++-12 \
34
+ autoconf binutils-dev libevent-dev acl-dev libfmt-dev libjemalloc-dev \
35
+ libdouble-conversion-dev libiberty-dev liblz4-dev liblzma-dev libssl-dev \
36
+ libboost-filesystem-dev libboost-program-options-dev libboost-system-dev \
37
+ libboost-iostreams-dev libboost-date-time-dev libboost-context-dev \
38
+ libboost-regex-dev libboost-thread-dev libbrotli-dev libunwind-dev \
39
+ libdwarf-dev libelf-dev libgoogle-glog-dev libffi-dev libgdbm-dev \
40
+ libyaml-dev libncurses-dev libreadline-dev libutfcpp-dev libstdc++-10-dev \
41
+ gcc-10 g++-10 curl gpg gcovr ccache
42
+
43
+ ENV CC=clang-12
44
+ ENV CXX=clang++-12
45
+
46
+ COPY tools /opt/tools
47
+ RUN /opt/tools/tools.sh install_cmake && \
48
+ /opt/tools/tools.sh install_ruby
49
+
50
+ ENV PS1="\[\]\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ \[\]"
51
+ CMD ["bash"]
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2025, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  * All rights reserved.
5
- * This file is a part of tebako (libdwarfs-wr)
5
+ * This file is a part of the Tebako project. (libdwarfs-wr)
6
6
  *
7
7
  * Redistribution and use in source and binary forms, with or without
8
8
  * modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2025, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions