+2
.tangled/workflows/build.yaml
+2
.tangled/workflows/build.yaml
+2
README.md
+2
README.md
···
41
41
* [MediaInfo (`mediainfo`)](https://mediaarea.net/en/MediaInfo) _(optional: set `ATFILE_DISABLE_NI_MEDIAINFO=1` to ignore)_
42
42
* `md5sum` _(optional: set `ATFILE_DISABLE_NI_MD5SUM=1` to ignore)_
43
43
* Both GNU and BusyBox versions supported
44
+
* `sed`
45
+
* Only GNU version supported
44
46
* [`websocat`](https://github.com/vi/websocat) _(optional: needed for `stream`)_
45
47
* **ATProto account**
46
48
* Limit the amount of files you upload, and avoid copyrighted files, if using a managed PDS<br /><em>(e.g. [Blacksky](https://pds.blacksky.app), [Bluesky](https://bsky.social), [Spark](https://pds.sprk.so), [Tangled](https://tngl.sh), or any other independent PDS you don't own)</eM>
+38
-6
src/commands/something_broke.sh
+38
-6
src/commands/something_broke.sh
···
19
19
function atfile.something_broke.print_prog_version() {
20
20
prog="$1"
21
21
version_arg="$2"
22
+
head="1"
22
23
23
24
[[ -z "$version_arg" ]] && version_arg="--version"
24
25
25
26
if [ -x "$(command -v "$prog")" ]; then
26
-
eval "$prog $version_arg 2>&1"
27
+
version_output="$(eval "$prog $version_arg 2>&1")"
28
+
echo -e "$version_output" | head -n $head | sed "s/$prog //g"
27
29
else
28
30
echo "$prog_not_installed_placeholder"
29
31
fi
···
34
36
atfile.die "Command not available as JSON"
35
37
fi
36
38
39
+
unset cut_version
37
40
unset md5sum_version
41
+
unset sed_version
38
42
finger_record="$(atfile.util.get_finger_record 1)"
43
+
git_version="$(atfile.something_broke.print_prog_version "git")"
44
+
hostname_version="$(atfile.something_broke.print_prog_version "hostname")"
39
45
mediainfo_version="$(atfile.something_broke.print_prog_version "mediainfo")"
40
46
41
47
# shellcheck disable=SC2154
42
48
if [[ $_os == "linux-musl" ]]; then
43
49
md5sum_version="$(atfile.something_broke.print_prog_version "md5sum" "--help")"
50
+
# TODO: cut, sed
44
51
else
52
+
cut_version="$(atfile.something_broke.print_prog_version "cut")"
45
53
md5sum_version="$(atfile.something_broke.print_prog_version "md5sum")"
54
+
sed_version="$(atfile.something_broke.print_prog_version "sed")"
55
+
fi
56
+
57
+
if [[ "$cut_version" != "$prog_not_installed_placeholder" ]]; then
58
+
if [[ "$cut_version" == *GNU* ]]; then
59
+
cut_version="$(echo "$cut_version" | cut -d " " -f 3) (GNU)"
60
+
else
61
+
cut_version="(Unsupported)"
62
+
fi
63
+
fi
64
+
65
+
if [[ "$git_version" != "$prog_not_installed_placeholder" ]]; then
66
+
git_version="$(echo "$git_version" | cut -d " " -f 2)"
46
67
fi
47
68
48
69
if [[ "$md5sum_version" != "$prog_not_installed_placeholder" ]]; then
49
-
md5sum_version="$(echo "$md5sum_version" | head -n 1)"
50
70
if [[ "$md5sum_version" == *GNU* ]]; then
51
-
md5sum_version="$(echo "$md5sum_version" | cut -d " " -f 4) (GNU)"
71
+
md5sum_version="$(echo "$md5sum_version" | cut -d " " -f 3) (GNU)"
52
72
elif [[ "$md5sum_version" == *BusyBox* ]]; then
53
-
md5sum_version="$(echo "$md5sum_version" | cut -d " " -f 2 | cut -d "v" -f 2) (BusyBox)"
73
+
md5sum_version="$(echo "$md5sum_version" | cut -d " " -f 1 | cut -d "v" -f 2) (BusyBox)"
54
74
else
55
-
md5sum_version="(?)"
75
+
md5sum_version="(Unsupported)"
56
76
fi
57
77
fi
58
78
59
79
if [[ "$mediainfo_version" != "$prog_not_installed_placeholder" ]]; then
60
80
mediainfo_version="$(echo "$mediainfo_version" | grep "MediaInfoLib" | cut -d "v" -f 2)"
81
+
fi
82
+
83
+
if [[ "$sed_version" != "$prog_not_installed_placeholder" ]]; then
84
+
if [[ "$sed_version" == *GNU* ]]; then
85
+
sed_version="$(echo "$sed_version" | cut -d " " -f 3) (GNU)"
86
+
else
87
+
sed_version="(Unsupported)"
88
+
fi
61
89
fi
62
90
63
91
debug_output="ATFile
···
118
146
↳ Path: $PATH
119
147
Deps
120
148
↳ Bash: $BASH_VERSION
121
-
↳ curl: $(atfile.something_broke.print_prog_version "curl" "--version" | head -n 1 | cut -d " " -f 2)
149
+
↳ curl: $(atfile.something_broke.print_prog_version "curl" "--version" | cut -d " " -f 1)
150
+
↳ cut: $cut_version
122
151
↳ ExifTool: $(atfile.something_broke.print_prog_version "exiftool" "-ver")
152
+
↳ Git: $git_version
153
+
↳ hostname: $hostname_version
123
154
↳ jq: $(atfile.something_broke.print_prog_version "jq" | sed -e "s|jq-||g")
124
155
↳ md5sum: $md5sum_version
125
156
↳ MediaInfo: $mediainfo_version
157
+
↳ sed: $sed_version
126
158
Misc.
127
159
↳ Checksum: $([[ "$md5sum_version" != "$prog_not_installed_placeholder" ]] && md5sum "$_prog_path" || echo "(?)")
128
160
↳ Dimensions: $(atfile.util.get_term_cols) Cols / $(atfile.util.get_term_rows) Rows