patchelf 1.4.0 → 1.5.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.
- checksums.yaml +4 -4
- data/lib/patchelf/alt_saver.rb +7 -7
- data/lib/patchelf/cli.rb +2 -2
- data/lib/patchelf/version.rb +1 -1
- metadata +10 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1e44d5adb39d260d124ebc5231362a134e0719cf2f4a379ddab0d4a7343db66
|
4
|
+
data.tar.gz: a1cdf1d41641b728e205de2559c86eb4fb7a98f09d6a1882123310edf6701bcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 432fd63c969cd337644e4360dbc110a0fae0aaba480174ea3162ddab17814fea9eceeff266cc2f98c571b06830f4ff94ac148b762c49d6fe2135cb692a212a29
|
7
|
+
data.tar.gz: 9d7b9769ae80913cbc621801f6caee0e1e61ccbc32514302f892e7ecbff3c8439ae89557c1bb3b10d27e21732fe1e7a36bf8be12b8296237a3f6dd39a6b76c3b
|
data/lib/patchelf/alt_saver.rb
CHANGED
@@ -177,7 +177,7 @@ module PatchELF
|
|
177
177
|
end
|
178
178
|
|
179
179
|
def modify_needed
|
180
|
-
# due to gsoc time constraints only
|
180
|
+
# due to gsoc time constraints only implementing features used by brew.
|
181
181
|
raise NotImplementedError
|
182
182
|
end
|
183
183
|
|
@@ -257,7 +257,7 @@ module PatchELF
|
|
257
257
|
new_rpath_strtab_idx = shdr_dynstr.sh_size.to_i
|
258
258
|
new_dynstr[new_rpath_strtab_idx..(new_rpath_strtab_idx + new_rpath.size)] = "#{new_rpath}\x00"
|
259
259
|
|
260
|
-
dyn_tags.
|
260
|
+
dyn_tags.each_value do |dyn|
|
261
261
|
dyn[:header].d_val = new_rpath_strtab_idx
|
262
262
|
with_buf_at(dyn[:offset]) { |b| dyn[:header].write(b) }
|
263
263
|
end
|
@@ -273,7 +273,7 @@ module PatchELF
|
|
273
273
|
def modify_soname
|
274
274
|
return unless ehdr.e_type == ELFTools::Constants::ET_DYN
|
275
275
|
|
276
|
-
# due to gsoc time constraints only
|
276
|
+
# due to gsoc time constraints only implementing features used by brew.
|
277
277
|
raise NotImplementedError
|
278
278
|
end
|
279
279
|
|
@@ -306,7 +306,7 @@ module PatchELF
|
|
306
306
|
# consider DT_NULL when copying
|
307
307
|
replacement_size = (dt_null_idx + 1) * dyn_num_bytes
|
308
308
|
|
309
|
-
# make space for dt_runpath tag at the top, shift data by one tag
|
309
|
+
# make space for dt_runpath tag at the top, shift data by one tag position
|
310
310
|
new_dynamic_data[dyn_num_bytes..(replacement_size + dyn_num_bytes)] = new_dynamic_data[0..replacement_size]
|
311
311
|
|
312
312
|
dyn_rpath = ELFTools::Structs::ELF_Dyn.new endian: endian, elf_class: elf_class
|
@@ -966,7 +966,7 @@ module PatchELF
|
|
966
966
|
def overwrite_replaced_sections
|
967
967
|
# the original source says this has to be done separately to
|
968
968
|
# prevent clobbering the previously written section contents.
|
969
|
-
@replaced_sections.
|
969
|
+
@replaced_sections.each_key do |rsec_name|
|
970
970
|
shdr = find_section(rsec_name)&.header
|
971
971
|
next unless shdr
|
972
972
|
|
@@ -976,7 +976,7 @@ module PatchELF
|
|
976
976
|
end
|
977
977
|
end
|
978
978
|
|
979
|
-
def
|
979
|
+
def write_section_alignment(shdr)
|
980
980
|
return if shdr.sh_type == ELFTools::Constants::SHT_NOTE && shdr.sh_addralign <= @section_alignment
|
981
981
|
|
982
982
|
shdr.sh_addralign = @section_alignment
|
@@ -1012,7 +1012,7 @@ module PatchELF
|
|
1012
1012
|
shdr.sh_addr = start_addr + (cur_off - start_offset)
|
1013
1013
|
shdr.sh_size = rsec_data.size
|
1014
1014
|
|
1015
|
-
|
1015
|
+
write_section_alignment(shdr)
|
1016
1016
|
|
1017
1017
|
seg_type = {
|
1018
1018
|
'.interp' => ELFTools::Constants::PT_INTERP,
|
data/lib/patchelf/cli.rb
CHANGED
@@ -63,11 +63,11 @@ module PatchELF
|
|
63
63
|
|
64
64
|
def patch_requests
|
65
65
|
@options[:set].each do |sym, val|
|
66
|
-
patcher.__send__("#{sym}="
|
66
|
+
patcher.__send__(:"#{sym}=", val)
|
67
67
|
end
|
68
68
|
|
69
69
|
@options[:needed].each do |type, val|
|
70
|
-
patcher.__send__("#{type}_needed"
|
70
|
+
patcher.__send__(:"#{type}_needed", *val)
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
data/lib/patchelf/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: patchelf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- david942j
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: elftools
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,22 +70,16 @@ dependencies:
|
|
70
70
|
name: simplecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0.17'
|
76
|
-
- - "<"
|
73
|
+
- - ">="
|
77
74
|
- !ruby/object:Gem::Version
|
78
|
-
version: '0.
|
75
|
+
version: '0.22'
|
79
76
|
type: :development
|
80
77
|
prerelease: false
|
81
78
|
version_requirements: !ruby/object:Gem::Requirement
|
82
79
|
requirements:
|
83
|
-
- - "
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0.17'
|
86
|
-
- - "<"
|
80
|
+
- - ">="
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0.
|
82
|
+
version: '0.22'
|
89
83
|
- !ruby/object:Gem::Dependency
|
90
84
|
name: tty-platform
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -149,14 +143,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
143
|
requirements:
|
150
144
|
- - ">="
|
151
145
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
146
|
+
version: '3.1'
|
153
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
148
|
requirements:
|
155
149
|
- - ">="
|
156
150
|
- !ruby/object:Gem::Version
|
157
151
|
version: '0'
|
158
152
|
requirements: []
|
159
|
-
rubygems_version: 3.
|
153
|
+
rubygems_version: 3.5.3
|
160
154
|
signing_key:
|
161
155
|
specification_version: 4
|
162
156
|
summary: patchelf
|