tebako 0.12.2 → 0.12.4
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.
- checksums.yaml +4 -4
- data/CMakeLists.txt +20 -15
- data/exe/tebako-packager +2 -9
- data/lib/tebako/options_manager.rb +4 -0
- data/lib/tebako/packager.rb +6 -13
- data/lib/tebako/ruby_builder.rb +10 -1
- data/lib/tebako/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 633e17c7549e90b7c460701122d4331970925368dd0a17787a746ae2c71ed331
|
4
|
+
data.tar.gz: b143e619ff94f5bc5f296a7c611cd0f1ef00c60b3c50c0d731be2c9178b11ef6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f599028137f315f0394b84679f89874a264a48a9ca834b044a7b56943affaf3b5a79612860bc82ba7c4f6c5982d7edab6bbcda6ac0a0245db92fee422147189
|
7
|
+
data.tar.gz: c77a413e42a2d91bf7c8b05ea60372194ad52e225243eba05b86431f9dc25bbfae1ca08779ca7469fdfa63310ded32b00df0b2605888a811e59aa4c9b5eba4bf
|
data/CMakeLists.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2021-
|
1
|
+
# Copyright (c) 2021-2025 [Ribose Inc](https://www.ribose.com).
|
2
2
|
# All rights reserved.
|
3
3
|
# This file is a part of tebako
|
4
4
|
#
|
@@ -361,8 +361,11 @@ ExternalProject_Add(${RUBY_PRJ}
|
|
361
361
|
DOWNLOAD_NO_PROGRESS true
|
362
362
|
SOURCE_DIR ${RUBY_SOURCE_DIR}
|
363
363
|
BUILD_IN_SOURCE true
|
364
|
-
|
365
|
-
|
364
|
+
CONFIGURE_COMMAND ""
|
365
|
+
BUILD_COMMAND ruby ${EXE}/tebako-packager pass1 ${OSTYPE_TXT} ${RUBY_SOURCE_DIR} ${FS_MOUNT_POINT} ${DATA_SRC_DIR} ${RUBY_VER}
|
366
|
+
# Make it for MacOS otherwise LDFLAGS are invalid
|
367
|
+
COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_LIB_DIR}
|
368
|
+
COMMAND ${GNU_BASH} -c "${RUBY_SOURCE_DIR}/configure ${OPENSSL_RUBY_OPTION} ${LIBYAML_RUBY_OPTION} \
|
366
369
|
--without-gmp \
|
367
370
|
--disable-dtrace \
|
368
371
|
--disable-debug-env \
|
@@ -373,29 +376,31 @@ ExternalProject_Add(${RUBY_PRJ}
|
|
373
376
|
--prefix=${DATA_SRC_DIR} \
|
374
377
|
${C_FLAGS_DEST}=\"${RUBY_C_FLAGS}\" \
|
375
378
|
LDFLAGS=\"${RUBY_L_FLAGS}\""
|
376
|
-
COMMAND
|
377
|
-
|
378
|
-
INSTALL_COMMAND make install -j${NCORES}
|
379
|
-
COMMAND ${GNU_BASH} -c "ruby ${EXE}/tebako-packager pass2 ${OSTYPE_TXT} ${RUBY_SOURCE_DIR} ${DEPS_LIB_DIR} ${DATA_SRC_DIR} ${RUBY_STASH_DIR} ${RUBY_VER}"
|
379
|
+
COMMAND ruby ${EXE}/tebako-packager pass2 ${OSTYPE_TXT} ${RUBY_SOURCE_DIR} ${DEPS_LIB_DIR} ${DATA_SRC_DIR} ${RUBY_STASH_DIR} ${RUBY_VER}
|
380
|
+
INSTALL_COMMAND ""
|
380
381
|
)
|
381
382
|
|
382
|
-
add_dependencies(${RUBY_PRJ} ${DWARFS_WR_PRJ}
|
383
|
-
|
384
|
-
if(IS_GNU)
|
385
|
-
add_dependencies(${RUBY_PRJ} ${PATCHELF_PRJ})
|
386
|
-
endif(IS_GNU)
|
387
|
-
|
383
|
+
# add_dependencies(${RUBY_PRJ} ${DWARFS_WR_PRJ})
|
388
384
|
|
389
385
|
if (${SETUP_MODE})
|
390
386
|
add_custom_target(setup
|
391
387
|
${CMAKE_COMMAND} -E echo "Tebako setup has completed"
|
392
388
|
DEPENDS ${DWARFS_WR_PRJ} ${RUBY_PRJ}
|
393
389
|
)
|
394
|
-
|
390
|
+
if(IS_GNU)
|
391
|
+
add_dependencies(setup ${PATCHELF_PRJ})
|
392
|
+
endif(IS_GNU)
|
393
|
+
|
394
|
+
else (${SETUP_MODE})
|
395
395
|
add_custom_target(setup
|
396
396
|
${CMAKE_COMMAND} -E echo "Tebako setup has been verified"
|
397
397
|
DEPENDS ${DWARFS_WR_PRJ} ${RUBY_PRJ}
|
398
398
|
)
|
399
|
+
if(IS_GNU)
|
400
|
+
add_dependencies(setup ${PATCHELF_PRJ})
|
401
|
+
endif(IS_GNU)
|
402
|
+
|
403
|
+
|
399
404
|
|
400
405
|
set(CMAKE_CXX_STANDARD 20)
|
401
406
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
@@ -406,7 +411,7 @@ else (${SETUP_MODE})
|
|
406
411
|
|
407
412
|
add_custom_target(packaged_filesystem
|
408
413
|
COMMAND ruby ${DEPS_BIN_DIR}/deploy.rb
|
409
|
-
DEPENDS
|
414
|
+
DEPENDS setup
|
410
415
|
BYPRODUCTS ${DATA_BIN_FILE}
|
411
416
|
)
|
412
417
|
|
data/exe/tebako-packager
CHANGED
@@ -51,14 +51,6 @@ begin
|
|
51
51
|
ruby_ver = Tebako::RubyVersion.new(ARGV[5])
|
52
52
|
Tebako::Packager.pass1(ARGV[1], ARGV[2], ARGV[3], ARGV[4], ruby_ver)
|
53
53
|
|
54
|
-
when "pass1a"
|
55
|
-
# ARGV[0] -- command
|
56
|
-
# ARGV[1] -- RUBY_SOURCE_DIR
|
57
|
-
unless ARGV.length == 2
|
58
|
-
raise Tebako::Error,
|
59
|
-
"tebako-packager pass1a command expects 2 arguments, #{ARGV.length} has been provided."
|
60
|
-
end
|
61
|
-
Tebako::Packager.pass1a(ARGV[1])
|
62
54
|
when "pass2"
|
63
55
|
# ARGV[0] -- command
|
64
56
|
# ARGV[1] -- OSTYPE
|
@@ -72,7 +64,8 @@ begin
|
|
72
64
|
"tebako-packager pass2 command expects 7 arguments, #{ARGV.length} has been provided."
|
73
65
|
end
|
74
66
|
ruby_ver = Tebako::RubyVersion.new(ARGV[6])
|
75
|
-
Tebako::Packager.
|
67
|
+
Tebako::Packager.pass1a(ARGV[2])
|
68
|
+
Tebako::Packager.stash(ARGV[4], ARGV[5], ARGV[2], ruby_ver)
|
76
69
|
Tebako::Packager.pass2(ARGV[1], ARGV[2], ARGV[3], ruby_ver)
|
77
70
|
|
78
71
|
when "finalize"
|
data/lib/tebako/packager.rb
CHANGED
@@ -92,7 +92,7 @@ module Tebako
|
|
92
92
|
def finalize(os_type, src_dir, app_name, ruby_ver, patchelf)
|
93
93
|
puts "-- Running finalize script"
|
94
94
|
|
95
|
-
RubyBuilder.new(ruby_ver, src_dir).
|
95
|
+
RubyBuilder.new(ruby_ver, src_dir).target_build
|
96
96
|
exe_suffix = Packager::PatchHelpers.exe_suffix(os_type)
|
97
97
|
src_name = File.join(src_dir, "ruby#{exe_suffix}")
|
98
98
|
patchelf(src_name, patchelf)
|
@@ -149,19 +149,12 @@ module Tebako
|
|
149
149
|
end
|
150
150
|
|
151
151
|
# Stash
|
152
|
-
#
|
153
|
-
def stash(src_dir, stash_dir)
|
152
|
+
# Created and saves pristine Ruby environment that is used to deploy applications for packaging
|
153
|
+
def stash(src_dir, stash_dir, ruby_source_dir, ruby_ver)
|
154
154
|
puts "-- Running stash script"
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
# puts " ... creating pristine ruby environment at #{src_dir} [patience, it will take some time]"
|
159
|
-
# out, st = Open3.capture2e("cmake", "-E", "chdir", ruby_source_dir, "make", "install")
|
160
|
-
# print out if st.exitstatus != 0 || verbose
|
161
|
-
# raise Tebako::Error.new("stash [make install] failed with code #{st.exitstatus}") if st.exitstatus != 0
|
162
|
-
# end
|
163
|
-
|
164
|
-
puts " ... saving pristine ruby environment to #{stash_dir}"
|
155
|
+
RubyBuilder.new(ruby_ver, ruby_source_dir).toolchain_build
|
156
|
+
|
157
|
+
puts " ... saving pristine Ruby environment to #{stash_dir}"
|
165
158
|
PatchHelpers.recreate(stash_dir)
|
166
159
|
FileUtils.cp_r "#{src_dir}/.", stash_dir
|
167
160
|
end
|
data/lib/tebako/ruby_builder.rb
CHANGED
@@ -41,7 +41,16 @@ module Tebako
|
|
41
41
|
end
|
42
42
|
|
43
43
|
# Final build of tebako package
|
44
|
-
def
|
44
|
+
def toolchain_build
|
45
|
+
puts " ... building toolchain Ruby"
|
46
|
+
Dir.chdir(@src_dir) do
|
47
|
+
BuildHelpers.run_with_capture(["make", "-j#{@ncores}"])
|
48
|
+
BuildHelpers.run_with_capture(["make", "install", "-j#{@ncores}"])
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# Final build of tebako package
|
53
|
+
def target_build
|
45
54
|
puts " ... building tebako package"
|
46
55
|
Dir.chdir(@src_dir) do
|
47
56
|
BuildHelpers.run_with_capture(["make", "ruby", "-j#{@ncores}"]) if @ruby_ver.ruby3x?
|
data/lib/tebako/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tebako
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|