[1/2] smartmontools: Add update of drive database
Commit Message
- Existing install uses database provide with source tarball. The database is also
updated on a periodic basis which can vary between a few weeks up to 6 months or so.
- The last release was back in Aug 2023 so the database all users will have is quite old.
- This patch adds a script into the monthly fcron directory that will run the
update-smart-drivedb script from the smartmontools installation. This script downloads
the database file via https and also checks the signature of the file to ensure that
it has not been changed in any way. The script is run with the -q (quiet) option.
The script checks if the downloaded database is corrupted ands will not install it if
it is corrupted. It checks if the database has changed since the last version
installed on the system. If not changed it does not replace the file.
- Tested this out with my production IPFire system and I ended up with the latest
database from 3 weeks ago.
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
config/rootfiles/common/smartmontools | 1 +
config/smartmontools/fcron.monthly | 5 +++++
lfs/smartmontools | 7 ++++++-
3 files changed, 12 insertions(+), 1 deletion(-)
create mode 100644 config/smartmontools/fcron.monthly
@@ -30,3 +30,4 @@ usr/sbin/update-smart-drivedb
#usr/share/man/man8/update-smart-drivedb.8
#usr/share/smartmontools
usr/share/smartmontools/drivedb.h
+etc/fcron.monthly/smart-drivedb
new file mode 100644
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+/usr/sbin/update-smart-drivedb -q
+
+exit 0
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2025 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -74,5 +74,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP) && ./configure --prefix=/usr
cd $(DIR_APP) && make BUILD_INFO='"($(NAME) $(VERSION))"' $(MAKETUNING)
cd $(DIR_APP) && make install
+
+ # Install cron job.
+ install -m 754 -v $(DIR_CONF)/smartmontools/fcron.monthly \
+ /etc/fcron.monthly/smart-drivedb
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)