1 |
As gamerlay maintainer, I'd be glad to introduce some changes to |
2 |
unpacker.eclass: |
3 |
1) merging unpacker-nixstaller (Makeself subspecies) from gamerlay: |
4 |
|
5 |
|
6 |
# @FUNCTION: unpack_nixstaller |
7 |
# @USAGE: <files to unpack> |
8 |
# @DESCRIPTION: |
9 |
# Unpack nixstaller generated files |
10 |
# They're shell scripts with the blob package tagged onto |
11 |
# the end of the archive. In the blob placed tarballs with |
12 |
# actual content. |
13 |
# |
14 |
# Please note, if you need additional dependecies make sure to unpack |
15 |
subarch |
16 |
# archive as first argument. |
17 |
# |
18 |
nixstaller_unpack() { |
19 |
unpack_makeself |
20 |
|
21 |
local unpack_files="$@" |
22 |
|
23 |
for i in $unpack_files ; do |
24 |
unpack_banner "$i" |
25 |
# Make sure that file exists |
26 |
[[ -f "./$i" ]] && ( |
27 |
local type=$(file -b ${i}) |
28 |
case ${type} in |
29 |
data) |
30 |
tar -xJf "./$i" |
31 |
;; |
32 |
gzip*) |
33 |
tar -xzf "./$i" |
34 |
;; |
35 |
esac |
36 |
) || die "Failed to unpack $i" |
37 |
done |
38 |
} |
39 |
|
40 |
|
41 |
Original author is Azamat Hackimov aka winterheart (in CC). |
42 |
|
43 |
2) It'd be also nice to detect mojo installers (most of the time, |
44 |
they're "*-bin" or "*Installer" ELF32 sfx-archives) and pass them to |
45 |
unpack_zip by default. |
46 |
Unfortunately, I've no free time ATM, but if it is needed, I can write |
47 |
prototype for Mojo unpacking. |