karnel-termux 4.11.2 → 4.11.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.
- package/karnel/cli/commands/update.sh +75 -46
- package/karnel/cli/commands/upgrade.sh +13 -48
- package/karnel/utils/env.sh +1 -1
- package/package.json +2 -5
|
@@ -186,67 +186,96 @@ update_karnel() {
|
|
|
186
186
|
separator
|
|
187
187
|
echo
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
# Tries every method in order until one succeeds
|
|
190
|
+
_update_try_git && { _update_cleanup; return 0; }
|
|
191
|
+
_update_try_npm && { _update_cleanup; return 0; }
|
|
192
|
+
_update_try_npm_install && { _update_cleanup; return 0; }
|
|
193
|
+
_update_try_pnpm && { _update_cleanup; return 0; }
|
|
194
|
+
_update_try_curl && { _update_cleanup; return 0; }
|
|
192
195
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
log_success "Karnel-Termux updated"
|
|
196
|
-
elif [[ $rc -eq 2 ]]; then
|
|
197
|
-
log_success "Karnel-Termux is already up to date"
|
|
198
|
-
else
|
|
199
|
-
log_error "Failed to update via git"
|
|
200
|
-
_update_karnel_npm_fallback
|
|
201
|
-
fi
|
|
196
|
+
log_error "All update methods failed"
|
|
197
|
+
_update_show_manual
|
|
202
198
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
log_warn "Karnel-Termux installation not detected"
|
|
210
|
-
_update_karnel_npm_fallback
|
|
211
|
-
fi
|
|
199
|
+
echo
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
_update_cleanup() {
|
|
203
|
+
rm -f "$KARNEL_CACHE/new_version" "$KARNEL_CACHE/last_version_check"
|
|
204
|
+
}
|
|
212
205
|
|
|
206
|
+
_update_try_git() {
|
|
207
|
+
[[ -d "$KARNEL_PATH/../.git" ]] || return 1
|
|
208
|
+
loading "Updating via git" _update_karnel_repo
|
|
209
|
+
local rc=$?
|
|
213
210
|
echo
|
|
211
|
+
if [[ $rc -eq 0 ]]; then
|
|
212
|
+
log_success "Karnel-Termux updated via git"
|
|
213
|
+
source "$KARNEL_PATH/utils/env.sh" 2>/dev/null
|
|
214
|
+
local new_ver="$KARNEL_VERSION"
|
|
215
|
+
log_success "Version: v$new_ver"
|
|
216
|
+
return 0
|
|
217
|
+
elif [[ $rc -eq 2 ]]; then
|
|
218
|
+
log_success "Karnel-Termux is already up to date"
|
|
219
|
+
return 0
|
|
220
|
+
fi
|
|
221
|
+
log_error "Git update failed"
|
|
222
|
+
return 1
|
|
214
223
|
}
|
|
215
224
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
225
|
+
_update_try_npm() {
|
|
226
|
+
command -v npm &>/dev/null || return 1
|
|
227
|
+
log_info "Trying npm update..."
|
|
228
|
+
if npm update -g karnel-termux --ignore-scripts 2>/dev/null; then
|
|
219
229
|
local new_ver
|
|
220
230
|
new_ver=$(npm list -g karnel-termux 2>/dev/null | grep karnel-termux | grep -oP '@\K[0-9.]+' || echo "latest")
|
|
221
|
-
log_success "
|
|
222
|
-
|
|
223
|
-
log_error "npm update failed"
|
|
224
|
-
log_info "Try: npm install -g karnel-termux@latest"
|
|
231
|
+
log_success "Updated to v$new_ver via npm"
|
|
232
|
+
return 0
|
|
225
233
|
fi
|
|
234
|
+
log_info "npm update not available, trying npm install..."
|
|
235
|
+
return 1
|
|
226
236
|
}
|
|
227
237
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
238
|
+
_update_try_npm_install() {
|
|
239
|
+
command -v npm &>/dev/null || return 1
|
|
240
|
+
log_info "Trying npm install..."
|
|
241
|
+
if npm install -g karnel-termux@latest --ignore-scripts 2>/dev/null; then
|
|
242
|
+
local new_ver
|
|
243
|
+
new_ver=$(npm list -g karnel-termux 2>/dev/null | grep karnel-termux | grep -oP '@\K[0-9.]+' || echo "latest")
|
|
244
|
+
log_success "Updated to v$new_ver via npm install"
|
|
245
|
+
return 0
|
|
235
246
|
fi
|
|
247
|
+
return 1
|
|
236
248
|
}
|
|
237
249
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
echo " curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh | bash"
|
|
245
|
-
}
|
|
246
|
-
else
|
|
247
|
-
log_info "Reinstall via curl:"
|
|
248
|
-
echo " bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh)\""
|
|
250
|
+
_update_try_pnpm() {
|
|
251
|
+
command -v pnpm &>/dev/null || return 1
|
|
252
|
+
log_info "Trying pnpm..."
|
|
253
|
+
if pnpm add -g karnel-termux@latest 2>/dev/null; then
|
|
254
|
+
log_success "Updated via pnpm"
|
|
255
|
+
return 0
|
|
249
256
|
fi
|
|
257
|
+
return 1
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
_update_try_curl() {
|
|
261
|
+
command -v curl &>/dev/null || return 1
|
|
262
|
+
log_info "Trying curl reinstall..."
|
|
263
|
+
local tmp_install
|
|
264
|
+
tmp_install=$(mktemp)
|
|
265
|
+
if curl -fsSL "https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh" -o "$tmp_install" 2>/dev/null; then
|
|
266
|
+
bash "$tmp_install" 2>/dev/null && { rm -f "$tmp_install"; log_success "Updated via curl"; return 0; }
|
|
267
|
+
fi
|
|
268
|
+
rm -f "$tmp_install"
|
|
269
|
+
return 1
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
_update_show_manual() {
|
|
273
|
+
log_info "Update manually with one of these:"
|
|
274
|
+
echo
|
|
275
|
+
echo " npm install -g karnel-termux@latest"
|
|
276
|
+
echo " pnpm add -g karnel-termux@latest"
|
|
277
|
+
echo " bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh)\""
|
|
278
|
+
echo
|
|
250
279
|
}
|
|
251
280
|
|
|
252
281
|
_update_karnel_repo() {
|
|
@@ -9,61 +9,26 @@ upgrade_main() {
|
|
|
9
9
|
separator
|
|
10
10
|
echo
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
import "@/cli/commands/update"
|
|
13
|
+
update_karnel
|
|
14
14
|
|
|
15
|
-
if [[ -d "$karnel_root/.git" ]]; then
|
|
16
|
-
_upgrade_from_git "$karnel_root"
|
|
17
|
-
elif command -v npm &>/dev/null && npm list -g karnel-termux &>/dev/null 2>&1; then
|
|
18
|
-
_upgrade_from_npm
|
|
19
|
-
elif command -v pnpm &>/dev/null && pnpm list -g karnel-termux &>/dev/null 2>&1; then
|
|
20
|
-
_upgrade_from_pnpm
|
|
21
|
-
else
|
|
22
|
-
log_warn "Cannot detect installation method"
|
|
23
|
-
log_info "Reinstall via:"
|
|
24
|
-
list_item "npm: npm install -g karnel-termux@latest"
|
|
25
|
-
list_item "curl: bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh)\""
|
|
26
|
-
fi
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
_upgrade_from_git() {
|
|
30
|
-
local karnel_root="$1"
|
|
31
|
-
log_info "Upgrading from git..."
|
|
32
|
-
if ! git -C "$karnel_root" pull origin main 2>/dev/null; then
|
|
33
|
-
log_warn "Git pull failed — check internet connection"
|
|
34
|
-
return 1
|
|
35
|
-
fi
|
|
36
|
-
|
|
37
|
-
log_success "Repository updated"
|
|
38
15
|
source "$KARNEL_PATH/utils/env.sh" 2>/dev/null
|
|
39
|
-
log_success "Karnel v$KARNEL_VERSION"
|
|
16
|
+
log_success "Karnel upgraded to v$KARNEL_VERSION"
|
|
40
17
|
|
|
41
|
-
|
|
42
|
-
ln -sf "$KARNEL_PATH/bin/karnel" "$PREFIX/bin/karnel"
|
|
43
|
-
log_success "Symlink updated"
|
|
44
|
-
fi
|
|
18
|
+
_upgrade_fix_symlink
|
|
45
19
|
|
|
46
20
|
echo
|
|
47
|
-
|
|
21
|
+
log_info "Running cleanup..."
|
|
22
|
+
import "@/cli/commands/cleanup"
|
|
23
|
+
cleanup_main
|
|
24
|
+
echo
|
|
25
|
+
log_success "Karnel is up to date (v$KARNEL_VERSION)"
|
|
48
26
|
echo
|
|
49
27
|
}
|
|
50
28
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
new_ver=$(npm list -g karnel-termux 2>/dev/null | grep karnel-termux | grep -oP '@\K[0-9.]+')
|
|
56
|
-
log_success "Karnel upgraded to v$new_ver"
|
|
57
|
-
else
|
|
58
|
-
log_error "npm upgrade failed"
|
|
59
|
-
fi
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
_upgrade_from_pnpm() {
|
|
63
|
-
log_info "Upgrading via pnpm..."
|
|
64
|
-
if pnpm add -g karnel-termux@latest 2>&1; then
|
|
65
|
-
log_success "Karnel upgraded via pnpm"
|
|
66
|
-
else
|
|
67
|
-
log_error "pnpm upgrade failed"
|
|
29
|
+
_upgrade_fix_symlink() {
|
|
30
|
+
if [[ ! -L "$PREFIX/bin/karnel" ]] || [[ "$(readlink "$PREFIX/bin/karnel")" != "$KARNEL_PATH/bin/karnel" ]]; then
|
|
31
|
+
ln -sf "$KARNEL_PATH/bin/karnel" "$PREFIX/bin/karnel" 2>/dev/null
|
|
32
|
+
log_success "Symlink updated"
|
|
68
33
|
fi
|
|
69
34
|
}
|
package/karnel/utils/env.sh
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "karnel-termux",
|
|
3
|
-
"version": "4.11.
|
|
3
|
+
"version": "4.11.4",
|
|
4
4
|
"description": "Modular Dev Environment for Termux — install languages, databases, AI agents, editors, and more with one command",
|
|
5
5
|
"bin": {
|
|
6
6
|
"karnel": "karnel/bin/karnel"
|
|
@@ -40,8 +40,5 @@
|
|
|
40
40
|
"bugs": {
|
|
41
41
|
"url": "https://github.com/israelmarques1024-dotcom/karnel-termux/issues"
|
|
42
42
|
},
|
|
43
|
-
"homepage": "https://karneltermux.vercel.app"
|
|
44
|
-
"os": [
|
|
45
|
-
"android"
|
|
46
|
-
]
|
|
43
|
+
"homepage": "https://karneltermux.vercel.app"
|
|
47
44
|
}
|