aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authoreric_G <46165813+ericgaspar@users.noreply.github.com>2025-09-24 23:19:15 +0200
committerGitHub <noreply@github.com>2025-09-24 23:19:15 +0200
commit9f0d8496b270888758c48c22310ab9df9a4feb08 (patch)
tree77791aa974a84b56ae6d5fea13ec38d7ed28f04a /scripts
parentca0f40885c7c8178161672bd369040dbc52208f5 (diff)
parent192d0fa48372d1ac5a8f73947df2e8da5e5da54a (diff)
downloadmastodon_ynh-9f0d8496b270888758c48c22310ab9df9a4feb08.tar.gz
mastodon_ynh-9f0d8496b270888758c48c22310ab9df9a4feb08.tar.bz2
mastodon_ynh-9f0d8496b270888758c48c22310ab9df9a4feb08.zip
Merge pull request #466 from selfhoster1312/new-helpers
WIP: Remove custom swap helpers ; use new upstream helpers
Diffstat (limited to 'scripts')
-rw-r--r--scripts/install1
-rw-r--r--scripts/remove1
-rw-r--r--scripts/restore1
-rw-r--r--scripts/upgrade1
-rw-r--r--scripts/ynh_add_swap100
5 files changed, 0 insertions, 104 deletions
diff --git a/scripts/install b/scripts/install
index 4b6b798..ddff21c 100644
--- a/scripts/install
+++ b/scripts/install
@@ -1,7 +1,6 @@
#!/bin/bash
source _common.sh
-source ynh_add_swap
source /usr/share/yunohost/helpers
admin_mail=$(ynh_user_get_info --username=$admin --key=mail)
diff --git a/scripts/remove b/scripts/remove
index 5901cc8..0f07807 100644
--- a/scripts/remove
+++ b/scripts/remove
@@ -1,7 +1,6 @@
#!/bin/bash
source _common.sh
-source ynh_add_swap
source /usr/share/yunohost/helpers
#=================================================
diff --git a/scripts/restore b/scripts/restore
index 9a706fb..2491c12 100644
--- a/scripts/restore
+++ b/scripts/restore
@@ -2,7 +2,6 @@
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
source ../settings/scripts/_common.sh
-source ../settings/scripts/ynh_add_swap
source /usr/share/yunohost/helpers
#=================================================
diff --git a/scripts/upgrade b/scripts/upgrade
index 97e9062..24b131e 100644
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -1,7 +1,6 @@
#!/bin/bash
source _common.sh
-source ynh_add_swap
source /usr/share/yunohost/helpers
config="$install_dir/live/.env.production"
diff --git a/scripts/ynh_add_swap b/scripts/ynh_add_swap
deleted file mode 100644
index f99e1a7..0000000
--- a/scripts/ynh_add_swap
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/bash
-
-# Add swap
-#
-# usage: ynh_add_swap --size=SWAP in Mb
-# | arg: -s, --size= - Amount of SWAP to add in Mb.
-ynh_add_swap () {
- # Declare an array to define the options of this helper.
- declare -Ar args_array=( [s]=size= )
- local size
- # Manage arguments with getopts
- ynh_handle_getopts_args "$@"
-
- local swap_max_size=$(( $size * 1024 ))
-
- local free_space=$(df --output=avail / | sed 1d)
- # Because we don't want to fill the disk with a swap file, divide by 2 the available space.
- local usable_space=$(( $free_space / 2 ))
-
- SD_CARD_CAN_SWAP=${SD_CARD_CAN_SWAP:-0}
-
- # Can't swap inside an LXD
- if [ "$(systemd-detect-virt)" == "lxc" ]
- then
- ynh_print_warn "You are inside a LXC container, swap will not be added, but that can cause troubles for the app $app. Please make sure you have more than 2.5G available RAM."
- return
- fi
-
- # Swap on SD card only if it's is specified
- if ynh_is_main_device_a_sd_card && [ "$SD_CARD_CAN_SWAP" == "0" ]
- then
- ynh_print_warn "The main mountpoint of your system '/' is on an SD card, swap will not be added to prevent some damage of this one, but that can cause troubles for the app $app. If you still want activate the swap, you can relaunch the command preceded by 'SD_CARD_CAN_SWAP=1'"
- return
- fi
-
- # Compare the available space with the size of the swap.
- # And set a acceptable size from the request
- if [ $usable_space -ge $swap_max_size ]
- then
- local swap_size=$swap_max_size
- elif [ $usable_space -ge $(( $swap_max_size / 2 )) ]
- then
- local swap_size=$(( $swap_max_size / 2 ))
- elif [ $usable_space -ge $(( $swap_max_size / 3 )) ]
- then
- local swap_size=$(( $swap_max_size / 3 ))
- elif [ $usable_space -ge $(( $swap_max_size / 4 )) ]
- then
- local swap_size=$(( $swap_max_size / 4 ))
- else
- echo "Not enough space left for a swap file" >&2
- local swap_size=0
- fi
-
- # If there's enough space for a swap, and no existing swap here
- if [ $swap_size -ne 0 ] && [ ! -e /swap_$app ]
- then
- # Preallocate space for the swap file, fallocate may sometime not be used, use dd instead in this case
- if ! fallocate -l ${swap_size}K /swap_$app
- then
- dd if=/dev/zero of=/swap_$app bs=1024 count=${swap_size}
- fi
- chmod 0600 /swap_$app
- # Create the swap
- mkswap /swap_$app
- # And activate it
- swapon /swap_$app
- # Then add an entry in fstab to load this swap at each boot.
- echo -e "/swap_$app swap swap defaults 0 0 #Swap added by $app" >> /etc/fstab
- fi
-}
-
-ynh_del_swap () {
- # If there a swap at this place
- if [ -e /swap_$app ]
- then
- # Clean the fstab
- sed -i "/#Swap added by $app/d" /etc/fstab
- # Desactive the swap file
- swapoff /swap_$app
- # And remove it
- rm /swap_$app
- fi
-}
-
-# Check if the device of the main mountpoint "/" is an SD card
-#
-# [internal]
-#
-# return 0 if it's an SD card, else 1
-ynh_is_main_device_a_sd_card () {
- local main_device=$(lsblk --output PKNAME --noheadings $(findmnt / --nofsroot --uniq --output source --noheadings --first-only))
-
- if echo $main_device | grep --quiet "mmc" && [ $(tail -n1 /sys/block/$main_device/queue/rotational) == "0" ]
- then
- return 0
- else
- return 1
- fi
-}