summaryrefslogtreecommitdiff
path: root/recipes-core
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core')
-rw-r--r--recipes-core/util-linux/util-linux/fstrim.service7
-rw-r--r--recipes-core/util-linux/util-linux/fstrim.timer11
-rw-r--r--recipes-core/util-linux/util-linux_%.bbappend18
3 files changed, 36 insertions, 0 deletions
diff --git a/recipes-core/util-linux/util-linux/fstrim.service b/recipes-core/util-linux/util-linux/fstrim.service
new file mode 100644
index 0000000..5c89027
--- /dev/null
+++ b/recipes-core/util-linux/util-linux/fstrim.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Discard unused blocks
+ConditionVirtualization=!container
+
+[Service]
+Type=oneshot
+ExecStart=@SBINDIR@/fstrim -av
diff --git a/recipes-core/util-linux/util-linux/fstrim.timer b/recipes-core/util-linux/util-linux/fstrim.timer
new file mode 100644
index 0000000..df6bef2
--- /dev/null
+++ b/recipes-core/util-linux/util-linux/fstrim.timer
@@ -0,0 +1,11 @@
+[Unit]
+Description=Discard unused blocks once a week
+ConditionVirtualization=!container
+
+[Timer]
+OnCalendar=weekly
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/recipes-core/util-linux/util-linux_%.bbappend b/recipes-core/util-linux/util-linux_%.bbappend
new file mode 100644
index 0000000..341efcf
--- /dev/null
+++ b/recipes-core/util-linux/util-linux_%.bbappend
@@ -0,0 +1,18 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI_append_ = " file://fstrim.service file://fstrim.timer"
+
+inherit systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "fstrim.service fstrim.timer"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/fstrim.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/fstrim.timer ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/*.service
+}
+