Skip to content

Commit 7d73670

Browse files
authored
Merge pull request #23 from sabamdarif/1.0.0
2 parents ff0e48f + 557dc98 commit 7d73670

178 files changed

Lines changed: 1442 additions & 776 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/tests

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"mesonbuild.configureOnOpen": false
3+
}

add-new-app.sh

Lines changed: 61 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -94,35 +94,33 @@ EOF
9494

9595
if [ "$app_type" = "native" ]; then
9696
cat >>"$folder_path/install.sh" <<'EOF'
97+
progress_phase "prepare" 0 "Preparing to install..."
9798
package_install_and_check "$package_name"
99+
progress_done
98100
EOF
99101
elif [ "$is_repo_pkg" = "yes" ]; then
100102
cat >>"$folder_path/install.sh" <<EOF
101-
supported_distro="$supported_distro"
102-
103-
# Check if a distro is selected
104-
if [ -z "\$selected_distro" ]; then
105-
print_failed "Error: No distro selected"
106-
exit 1
107-
fi
103+
progress_phase "prepare" 0 "Preparing distro packages..."
108104
109105
# Install based on distro type
110-
case "\$selected_distro" in
106+
case "\$SELECTED_DISTRO" in
111107
"debian"|"ubuntu")
112-
\$selected_distro update -y
113-
\$selected_distro install $package_name -y
108+
pd_package_install_and_check "$package_name"
114109
;;
115110
"fedora")
116-
\$selected_distro update -y
117-
\$selected_distro install $package_name -y
111+
pd_package_install_and_check "$package_name"
112+
;;
113+
"arch*")
114+
pd_package_install_and_check "$package_name"
118115
;;
119116
*)
120-
echo "Unsupported distribution: \$selected_distro"
117+
echo "Unsupported distribution: \$SELECTED_DISTRO"
121118
exit 1
122119
;;
123120
esac
124121
125122
fix_exec "pd_added/$package_name.desktop" "--no-sandbox"
123+
progress_done
126124
EOF
127125
else
128126
# Extract the base URL (everything before /releases/download/)
@@ -152,9 +150,9 @@ esac
152150
153151
appimage_filename="$filename_pattern"
154152
155-
check_and_delete "\${TMPDIR}/\${appimage_filename} \${PREFIX}/share/applications/pd_added/$package_name.desktop"
153+
check_and_delete "\${TMPDIR}/\${appimage_filename} \${TERMUX_PREFIX}/share/applications/pd_added/$package_name.desktop"
156154
157-
print_success "Downloading $package_name AppImage..."
155+
progress_phase "download" 0 "Downloading $package_name AppImage..."
158156
download_file "\${page_url}/releases/download/\${version}/\${appimage_filename}"
159157
install_appimage "\${appimage_filename}" "$package_name"
160158
@@ -168,7 +166,7 @@ else
168166
fi
169167
170168
print_success "Creating desktop entry..."
171-
cat <<DESKTOP_EOF | tee "\${PREFIX}"/share/applications/pd_added/$package_name.desktop >/dev/null
169+
cat <<DESKTOP_EOF | tee "\${TERMUX_PREFIX}"/share/applications/pd_added/$package_name.desktop >/dev/null
172170
[Desktop Entry]
173171
Name=${package_name^}
174172
Exec=pdrun \${run_cmd}
@@ -180,6 +178,7 @@ Comment=$package_name
180178
MimeType=x-scheme-handler/$package_name;
181179
Categories=${selected_categories[0]};
182180
DESKTOP_EOF
181+
progress_done
183182
EOF
184183
elif [[ "$download_url" =~ \.deb$ ]]; then
185184
# Extract the filename pattern from the download URL
@@ -199,42 +198,34 @@ case "\$app_arch" in
199198
*) print_failed "Unsupported architectures" ;;
200199
esac
201200
202-
if [[ "\$selected_distro" == "ubuntu" ]] || [[ "\$selected_distro" == "debian" ]]; then
201+
if [[ "\$SELECTED_DISTRO" == "ubuntu" ]] || [[ "\$SELECTED_DISTRO" == "debian" ]]; then
203202
filename="$filename_pattern"
204203
temp_download="\$TMPDIR/\${filename}"
205204
download_file "\$temp_download" "\${page_url}/releases/download/\${version}/\${filename}"
205+
pd_check_and_delete "/root/\${filename}"
206+
"\${SELECTED_DISTRO_TYPE}"-distro login "\$SELECTED_DISTRO" -- cp "\$temp_download" "/root/\${filename}"
207+
208+
pd_update_sys
206209
distro_run "
207-
check_and_delete '/root/\${filename}'
208-
"
209-
if [[ "\$selected_distro_type" == "chroot" ]]; then
210-
su -c "cp '\$temp_download' '\${working_dir}/\${filename}'"
211-
else
212-
cp "\$temp_download" "\${working_dir}/\${filename}"
213-
fi
214-
distro_run "
215-
sudo apt update -y -o Dpkg::Options::='--force-confnew'
216-
sudo apt install /root/\${filename} -y
217-
check_and_delete '/root/\${filename}'
210+
apt install /root/\${filename} -y
218211
"
219-
elif [[ "\$selected_distro" == "fedora" ]]; then
212+
pd_check_and_delete "/root/\${filename}"
213+
214+
elif [[ "\$SELECTED_DISTRO" == "fedora" ]]; then
220215
filename="$filename_pattern"
221216
temp_download="\$TMPDIR/\${filename}"
222217
download_file "\$temp_download" "\${page_url}/releases/download/\${version}/\${filename}"
223-
distro_run "
224-
check_and_delete '/root/app_installer'
225-
check_and_delete '/root/\${filename}'
226-
"
227-
if [[ "\$selected_distro_type" == "chroot" ]]; then
228-
su -c "cp '\$temp_download' '\${working_dir}/\${filename}'"
229-
else
230-
cp "\$temp_download" "\${working_dir}/\${filename}"
231-
fi
218+
pd_check_and_delete "/root/app_installer"
219+
pd_check_and_delete "/root/\${filename}"
220+
"\${SELECTED_DISTRO_TYPE}"-distro login "\$SELECTED_DISTRO" -- cp "\$temp_download" "/root/\${filename}"
221+
222+
pd_package_install_and_check --just "ar atk dbus-libs libnotify libXtst nss alsa-lib pulseaudio-libs libXScrnSaver glibc gtk3 mesa-libgbm libX11-xcb libappindicator-gtk3"
223+
232224
distro_run "
233225
cd /root
234226
check_and_create_directory 'app_installer'
235227
mv \${filename} app_installer/
236228
cd app_installer
237-
sudo dnf install -y ar atk dbus-libs libnotify libXtst nss alsa-lib pulseaudio-libs libXScrnSaver glibc gtk3 mesa-libgbm libX11-xcb libappindicator-gtk3
238229
ar x \${filename}
239230
extract 'data.tar.xz'
240231
mv opt/* /opt
@@ -255,7 +246,7 @@ else
255246
fi
256247
257248
print_success "Creating desktop entry..."
258-
cat <<DESKTOP_EOF | tee "\${PREFIX}"/share/applications/pd_added/$package_name.desktop >/dev/null
249+
cat <<DESKTOP_EOF | tee "\${TERMUX_PREFIX}"/share/applications/pd_added/$package_name.desktop >/dev/null
259250
[Desktop Entry]
260251
Name=${package_name^}
261252
Exec=pdrun \${run_cmd}
@@ -267,6 +258,7 @@ Comment=$package_name
267258
MimeType=x-scheme-handler/$package_name;
268259
Categories=${selected_categories[0]};
269260
DESKTOP_EOF
261+
progress_done
270262
EOF
271263
else
272264
# For tar/archive installations
@@ -282,7 +274,7 @@ page_url="$base_url"
282274
working_dir="\${distro_path}/opt"
283275
284276
# Check if a distro is selected
285-
if [ -z "\$selected_distro" ]; then
277+
if [ -z "\$SELECTED_DISTRO" ]; then
286278
print_failed "Error: No distro selected"
287279
exit 1
288280
fi
@@ -298,16 +290,11 @@ filename="$filename_pattern"
298290
temp_download="\$TMPDIR/\${filename}"
299291
download_file "\$temp_download" "\${page_url}/releases/download/\${version}/\${filename}"
300292
301-
distro_run "
302-
check_and_delete '/opt/$package_name'
303-
check_and_create_directory '/opt/$package_name'
304-
"
293+
pd_check_and_delete "/opt/$package_name"
294+
pd_check_and_create_directory "/opt/$package_name"
295+
296+
"\${SELECTED_DISTRO_TYPE}"-distro login "\$SELECTED_DISTRO" -- cp "\$temp_download" "\${working_dir}/$package_name/\${filename}"
305297
306-
if [[ "\$selected_distro_type" == "chroot" ]]; then
307-
su -c "cp '\$temp_download' '\${working_dir}/$package_name/\${filename}'"
308-
else
309-
cp "\$temp_download" "\${working_dir}/$package_name/\${filename}"
310-
fi
311298
312299
distro_run "
313300
cd /opt/$package_name
@@ -325,7 +312,7 @@ else
325312
fi
326313
327314
print_success "Creating desktop entry..."
328-
cat <<DESKTOP_EOF | tee "\${PREFIX}"/share/applications/pd_added/$package_name.desktop >/dev/null
315+
cat <<DESKTOP_EOF | tee "\${TERMUX_PREFIX}"/share/applications/pd_added/$package_name.desktop >/dev/null
329316
[Desktop Entry]
330317
Name=${package_name^}
331318
Exec=pdrun \${run_cmd}
@@ -337,6 +324,7 @@ Comment=$package_name
337324
MimeType=x-scheme-handler/$package_name;
338325
Categories=${selected_categories[0]};
339326
DESKTOP_EOF
327+
progress_done
340328
EOF
341329
fi
342330
fi
@@ -354,64 +342,69 @@ create_uninstall_script() {
354342
cat >"$folder_path/uninstall.sh" <<EOF
355343
#!/data/data/com.termux/files/usr/bin/bash
356344
345+
progress_phase "cleanup" 0 "Removing $package_name..."
357346
package_remove_and_check "$package_name"
347+
progress_done
358348
EOF
359349
elif [ "$is_repo_pkg" = "yes" ]; then
360350
cat >"$folder_path/uninstall.sh" <<EOF
361351
#!/data/data/com.termux/files/usr/bin/bash
362352
363-
case "\$selected_distro" in
353+
progress_phase "cleanup" 0 "Removing $package_name..."
354+
case "\$SELECTED_DISTRO" in
364355
"debian"|"ubuntu")
365-
\$selected_distro remove $package_name -y
356+
\$SELECTED_DISTRO remove $package_name -y
366357
;;
367358
"fedora")
368-
\$selected_distro remove $package_name -y
359+
\$SELECTED_DISTRO remove $package_name -y
369360
;;
370361
*)
371-
echo "Unsupported distribution: \$selected_distro"
362+
echo "Unsupported distribution: \$SELECTED_DISTRO"
372363
exit 1
373364
;;
374365
esac
375366
376-
check_and_delete "\$PREFIX/share/applications/pd_added/$package_name.desktop"
367+
check_and_delete "\$TERMUX_PREFIX/share/applications/pd_added/$package_name.desktop"
368+
progress_done
377369
EOF
378370
else
379371
if [[ "$download_url" =~ \.AppImage$ ]]; then
380372
# For AppImage uninstallation
381373
cat >"$folder_path/uninstall.sh" <<EOF
382374
#!/data/data/com.termux/files/usr/bin/bash
383375
376+
progress_phase "cleanup" 0 "Removing $package_name AppImage..."
384377
check_and_delete "\${distro_path}/opt/AppImageLauncher/$package_name"
385378
check_and_delete "\${distro_path}/usr/share/icons/hicolor/*/apps/$package_name.png"
386-
check_and_delete "\${PREFIX}/share/applications/pd_added/$package_name.desktop"
379+
check_and_delete "\${TERMUX_PREFIX}/share/applications/pd_added/$package_name.desktop"
380+
progress_done
387381
EOF
388382
elif [[ "$download_url" =~ \.deb$ ]]; then
389383
cat >"$folder_path/uninstall.sh" <<EOF
390384
#!/data/data/com.termux/files/usr/bin/bash
391385
392-
if [[ "\$selected_distro" == "ubuntu" ]] || [[ "\$selected_distro" == "debian" ]]; then
393-
distro_run "
394-
sudo apt remove $package_name -y
395-
"
396-
elif [[ "\$selected_distro" == "fedora" ]]; then
386+
if [[ "\$SELECTED_DISTRO" == "ubuntu" ]] || [[ "\$SELECTED_DISTRO" == "debian" ]]; then
397387
distro_run "
398-
rm -rf '/opt/$package_name'
388+
apt remove $package_name -y
399389
"
390+
elif [[ "\$SELECTED_DISTRO" == "fedora" ]]; then
391+
pd_check_and_delete "/opt/$package_name"
400392
else
401393
print_failed "Unsupported distro"
402394
fi
403395
404-
check_and_delete "\${PREFIX}/share/applications/pd_added/$package_name.desktop"
396+
check_and_delete "\${TERMUX_PREFIX}/share/applications/pd_added/$package_name.desktop"
397+
progress_done
405398
EOF
406399
else
407400
cat >"$folder_path/uninstall.sh" <<EOF
408401
#!/data/data/com.termux/files/usr/bin/bash
409402
410-
distro_run "
411-
check_and_delete '/opt/$package_name'
412-
"
403+
progress_phase "cleanup" 0 "Removing $package_name..."
404+
pd_check_and_delete '/opt/$package_name'
413405
414-
check_and_delete "\${PREFIX}/share/applications/pd_added/$package_name.desktop"
406+
check_and_delete "\${TERMUX_PREFIXFIX}/share/applications/pd_added/$package_name.desktop"
407+
progress_done
415408
EOF
416409
fi
417410
fi

apps/Abiword/install.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ package_name="abiword"
55
run_cmd="abiword"
66
version="termux_local_version"
77
app_type="native"
8+
progress_phase "prepare" 0 "Preparing to install abiword..."
89
package_install_and_check "$package_name"
10+
progress_done

apps/Abiword/uninstall.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
#!/data/data/com.termux/files/usr/bin/bash
22

3+
progress_phase "cleanup" 0 "Removing abiword..."
4+
35
package_remove_and_check "abiword"
6+
7+
progress_done

apps/Alacritty/install.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ package_name="alacritty"
55
run_cmd="alacritty"
66
version="termux_local_version"
77
app_type="native"
8+
progress_phase "prepare" 0 "Preparing to install alacritty..."
89
package_install_and_check "$package_name"
10+
progress_done

apps/Alacritty/uninstall.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
#!/data/data/com.termux/files/usr/bin/bash
22

3+
progress_phase "cleanup" 0 "Removing alacritty..."
4+
35
package_remove_and_check "alacritty"
6+
7+
progress_done

apps/Antigravity/install.sh

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,23 @@ app_type="distro"
77
supported_distro="all"
88
run_cmd="antigravity --no-sandbox"
99

10-
if [[ "$selected_distro" == "debian" ]] || [[ "$selected_distro" == "ubuntu" ]]; then
10+
progress_phase "prepare" 0 "Preparing..."
1111

12+
if [[ "$SELECTED_DISTRO" == "debian" ]] || [[ "$SELECTED_DISTRO" == "ubuntu" ]]; then
13+
14+
progress_phase "configure" 0 "Configuring repository..."
15+
pd_check_and_create_directory "/etc/apt/keyrings"
16+
pd_update_sys
17+
pd_package_install_and_check --just "gpg"
1218
distro_run '
13-
mkdir -p /etc/apt/keyrings
14-
apt update
15-
apt install gpg -y
1619
curl -fsSL https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | gpg --dearmor --yes -o /etc/apt/keyrings/antigravity-repo-key.gpg
1720
echo "deb [signed-by=/etc/apt/keyrings/antigravity-repo-key.gpg] https://us-central1-apt.pkg.dev/projects/antigravity-auto-updater-dev/ antigravity-debian main" | tee /etc/apt/sources.list.d/antigravity.list > /dev/null
18-
apt update
1921
'
22+
pd_update_sys
2023

21-
elif [[ "$selected_distro" == "fedora" ]]; then
24+
elif [[ "$SELECTED_DISTRO" == "fedora" ]]; then
25+
progress_phase "configure" 0 "Configuring repository..."
26+
pd_check_and_create_directory "/etc/yum.repos.d"
2227
distro_run '
2328
tee /etc/yum.repos.d/antigravity.repo << EOL
2429
[antigravity-rpm]
@@ -27,11 +32,12 @@ baseurl=https://us-central1-yum.pkg.dev/projects/antigravity-auto-updater-dev/an
2732
enabled=1
2833
gpgcheck=0
2934
EOL
30-
dnf makecache
3135
'
36+
pd_update_sys
3237
fi
3338

34-
$selected_distro install $package_name -y
35-
39+
progress_phase "install" 0 "Installing..."
40+
pd_package_install_and_check "$package_name"
3641
fix_exec "pd_added/$package_name.desktop" "--no-sandbox"
3742
fix_exec "pd_added/$package_name-url-handler.desktop" "--no-sandbox"
43+
progress_done

apps/Antigravity/uninstall.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/data/data/com.termux/files/usr/bin/bash
22

3-
$selected_distro remove antigravity -y
4-
5-
check_and_delete "/data/data/com.termux/files/usr/share/applications/antigravity.desktop"
3+
progress_phase "cleanup" 0 "Removing antigravity..."
4+
pd_package_install_and_check "antigravity"
5+
check_and_delete "$TERMUX_PREFIX/share/applications/antigravity.desktop"
6+
progress_done

apps/Atril/install.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ run_cmd="atril"
66
version=termux_local_version
77
app_type="native"
88

9+
progress_phase "prepare" 0 "Preparing to install atril..."
910
package_install_and_check "atril"
11+
progress_done

0 commit comments

Comments
 (0)