From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4c2LDh1Gfvz309s for ; Wed, 13 Aug 2025 20:53:08 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [IPv6:2001:678:b28::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4c2LDc4NTvz2xWD for ; Wed, 13 Aug 2025 20:53:04 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4c2LDc0H58z2t; Wed, 13 Aug 2025 20:53:04 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1755118384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dwVzEZTJcHrgiTye+lvLM/VnD1idBaukCmr9irpo/U4=; b=jAJrkoa14VDddYMKoKLzjkxJg/SJkCSoNiL0AnYe5crY5Fyeo2P2jIHEy//JTLuoK5WGRe GP1vJ5WaAkSI7qDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1755118384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dwVzEZTJcHrgiTye+lvLM/VnD1idBaukCmr9irpo/U4=; b=pJgvUWnTxy1JIvDUNGyNBoZR7C/5ifUhIMOQk9ziFC/dRmtPUF3kR5DaADPqg3AbIGJEV1 4T35HoSMIDAnegiamwiRYP7ogez+l6/xV4kNpJviTNdVvqn9nKXZi+gOEI/ZZe2nl1fKld 8prR8wAVATg2AWHxA0UWGbv4jVijbMcf/BRHb2EHVC9FYHmZyBZYXaf1n4k5PuHbIqbCWY Qpz7OYHh54A2jEDbSjXwjEja9OrYo3JlRXRNBM6/9ATZJQKPtH2KgsmqT2P+c/opWB3RXm InfdZF1Sh34xtmn7zCR/j848+/r8ovzVdU0AFwhUJltxV6NqipSHhuJVAflE6Q== From: Adolf Belka To: development@lists.ipfire.org Cc: Adolf Belka Subject: [PATCH] fcron: Update to version 3.4.0 Date: Wed, 13 Aug 2025 22:53:00 +0200 Message-ID: <20250813205301.2936038-3-adolf.belka@ipfire.org> In-Reply-To: <20250813205301.2936038-1-adolf.belka@ipfire.org> References: <20250813205301.2936038-1-adolf.belka@ipfire.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit - Update from version 3.2.1 to 3.4.0 - Update of the rootfile - Changelog 3.4.0 Changed the default "From" header of emails sent by fcron, to be RFC5322-compliant. This is done (and can be reverted if needed) via the new fcron.conf option maildisplayname. Changed the default fcron reload delay from 60s to 5s. Better doc and logging on bootrun jobs. 3.3.3 Fixed infinite loop when an lavg job reaches its 'until' deadline and gets rescheduled as the next job to run. Improved signal safety. Improved log messages for: indentation, resume after suspend, child task completion. Fixed compilation warnings: SELinux, signal handling. Updated copyright years. 3.3.2 Add compilation option (configure's '--with-max-fcrontab-reload-delay-seconds') to allow faster or even instant reload for non-root users (thanks Elliot Wolk). Added fcron.conf option 'maildisplayname', to configure the displayname fcron uses when sending email. This allows fcron to be configured ot be RFC5322-compliant (thanks Marco Emilio "sphakka" Poleggi) Fixed fcrondyn output issue where two lines would be joined due to a long shell command. Improve documentation wording (thanks Michael Kopp) 3.3.1 Updated SELinux code to stop using deprecated headers (fixes build on more recent systems) Install programs with R/W perms for the owner Fixed @reboot when using systemd Various other fixes and improvements in doc, install and boot scripts (in particular under systemd) 3.3.0 fcron now handles computer suspend/resume. On Linux systems, fcron can detect resumes and measure the suspend time. On other OSes, a script must be run at suspend and resume via system hooks. Added a new option 'runatresume' (as well as a Vixie-cron-style '@resume' shortcut), to run a job when the system resumes from suspend/hibernation. Refactored the socket (for fcrondyn), suspend and select code. Signed-off-by: Adolf Belka --- config/rootfiles/common/fcron | 125 +++++++++++++++++----------------- lfs/fcron | 35 +++++----- 2 files changed, 78 insertions(+), 82 deletions(-) diff --git a/config/rootfiles/common/fcron b/config/rootfiles/common/fcron index 30823b004..3d6a099ab 100644 --- a/config/rootfiles/common/fcron +++ b/config/rootfiles/common/fcron @@ -2,7 +2,6 @@ etc/fcron.allow etc/fcron.conf #etc/fcron.cyclic etc/fcron.cyclic/info.txt -#etc/fcron.daily etc/fcron.daily/info.txt etc/fcron.deny #etc/fcron.hourly @@ -15,69 +14,67 @@ etc/fcron.weekly/info.txt usr/bin/fcronsighup usr/bin/fcrontab usr/sbin/fcron -#usr/share/doc/fcron-3.2.1 -#usr/share/doc/fcron-3.2.1/en -#usr/share/doc/fcron-3.2.1/en/HTML -#usr/share/doc/fcron-3.2.1/en/HTML/LEGALNOTICE.html -#usr/share/doc/fcron-3.2.1/en/HTML/changes.html -#usr/share/doc/fcron-3.2.1/en/HTML/faq.html -#usr/share/doc/fcron-3.2.1/en/HTML/fcron.8.html -#usr/share/doc/fcron-3.2.1/en/HTML/fcron.conf.5.html -#usr/share/doc/fcron-3.2.1/en/HTML/fcrondyn.1.html -#usr/share/doc/fcron-3.2.1/en/HTML/fcrontab.1.html -#usr/share/doc/fcron-3.2.1/en/HTML/fcrontab.5.html -#usr/share/doc/fcron-3.2.1/en/HTML/fdl.html -#usr/share/doc/fcron-3.2.1/en/HTML/gpl.html -#usr/share/doc/fcron-3.2.1/en/HTML/how-and-why.html -#usr/share/doc/fcron-3.2.1/en/HTML/index.html -#usr/share/doc/fcron-3.2.1/en/HTML/install.html -#usr/share/doc/fcron-3.2.1/en/HTML/manpages.html -#usr/share/doc/fcron-3.2.1/en/HTML/readme.html -#usr/share/doc/fcron-3.2.1/en/HTML/relnotes.html -#usr/share/doc/fcron-3.2.1/en/HTML/thanks.html -#usr/share/doc/fcron-3.2.1/en/HTML/todo.html -#usr/share/doc/fcron-3.2.1/en/HTML/using-fcron.html -#usr/share/doc/fcron-3.2.1/en/txt -#usr/share/doc/fcron-3.2.1/en/txt/changes.txt -#usr/share/doc/fcron-3.2.1/en/txt/faq.txt -#usr/share/doc/fcron-3.2.1/en/txt/gpl.txt -#usr/share/doc/fcron-3.2.1/en/txt/install.txt -#usr/share/doc/fcron-3.2.1/en/txt/readme.txt -#usr/share/doc/fcron-3.2.1/en/txt/relnotes.txt -#usr/share/doc/fcron-3.2.1/en/txt/thanks.txt -#usr/share/doc/fcron-3.2.1/en/txt/todo.txt -#usr/share/doc/fcron-3.2.1/fr -#usr/share/doc/fcron-3.2.1/fr/HTML -#usr/share/doc/fcron-3.2.1/fr/HTML/LEGALNOTICE.html -#usr/share/doc/fcron-3.2.1/fr/HTML/changes.html -#usr/share/doc/fcron-3.2.1/fr/HTML/faq.html -#usr/share/doc/fcron-3.2.1/fr/HTML/fcron.8.html -#usr/share/doc/fcron-3.2.1/fr/HTML/fcron.conf.5.html -#usr/share/doc/fcron-3.2.1/fr/HTML/fcrondyn.1.html -#usr/share/doc/fcron-3.2.1/fr/HTML/fcrontab.1.html -#usr/share/doc/fcron-3.2.1/fr/HTML/fcrontab.5.html -#usr/share/doc/fcron-3.2.1/fr/HTML/fdl.html -#usr/share/doc/fcron-3.2.1/fr/HTML/gpl.html -#usr/share/doc/fcron-3.2.1/fr/HTML/how-and-why.html -#usr/share/doc/fcron-3.2.1/fr/HTML/index.html -#usr/share/doc/fcron-3.2.1/fr/HTML/install.html -#usr/share/doc/fcron-3.2.1/fr/HTML/manpages.html -#usr/share/doc/fcron-3.2.1/fr/HTML/readme.html -#usr/share/doc/fcron-3.2.1/fr/HTML/relnotes.html -#usr/share/doc/fcron-3.2.1/fr/HTML/thanks.html -#usr/share/doc/fcron-3.2.1/fr/HTML/todo.html -#usr/share/doc/fcron-3.2.1/fr/HTML/using-fcron.html -#usr/share/doc/fcron-3.2.1/fr/txt -#usr/share/doc/fcron-3.2.1/fr/txt/changes.txt -#usr/share/doc/fcron-3.2.1/fr/txt/faq.txt -#usr/share/doc/fcron-3.2.1/fr/txt/gpl.txt -#usr/share/doc/fcron-3.2.1/fr/txt/install.txt -#usr/share/doc/fcron-3.2.1/fr/txt/readme.txt -#usr/share/doc/fcron-3.2.1/fr/txt/relnotes.txt -#usr/share/doc/fcron-3.2.1/fr/txt/thanks.txt -#usr/share/doc/fcron-3.2.1/fr/txt/todo.txt -#usr/share/man/fr -#usr/share/man/fr/man1 +#usr/share/doc/fcron-3.4.0 +#usr/share/doc/fcron-3.4.0/en +#usr/share/doc/fcron-3.4.0/en/HTML +#usr/share/doc/fcron-3.4.0/en/HTML/LEGALNOTICE.html +#usr/share/doc/fcron-3.4.0/en/HTML/changes.html +#usr/share/doc/fcron-3.4.0/en/HTML/faq.html +#usr/share/doc/fcron-3.4.0/en/HTML/fcron.8.html +#usr/share/doc/fcron-3.4.0/en/HTML/fcron.conf.5.html +#usr/share/doc/fcron-3.4.0/en/HTML/fcrondyn.1.html +#usr/share/doc/fcron-3.4.0/en/HTML/fcrontab.1.html +#usr/share/doc/fcron-3.4.0/en/HTML/fcrontab.5.html +#usr/share/doc/fcron-3.4.0/en/HTML/fdl.html +#usr/share/doc/fcron-3.4.0/en/HTML/gpl.html +#usr/share/doc/fcron-3.4.0/en/HTML/how-and-why.html +#usr/share/doc/fcron-3.4.0/en/HTML/index.html +#usr/share/doc/fcron-3.4.0/en/HTML/install.html +#usr/share/doc/fcron-3.4.0/en/HTML/manpages.html +#usr/share/doc/fcron-3.4.0/en/HTML/readme.html +#usr/share/doc/fcron-3.4.0/en/HTML/relnotes.html +#usr/share/doc/fcron-3.4.0/en/HTML/thanks.html +#usr/share/doc/fcron-3.4.0/en/HTML/todo.html +#usr/share/doc/fcron-3.4.0/en/HTML/using-fcron.html +#usr/share/doc/fcron-3.4.0/en/txt +#usr/share/doc/fcron-3.4.0/en/txt/changes.txt +#usr/share/doc/fcron-3.4.0/en/txt/faq.txt +#usr/share/doc/fcron-3.4.0/en/txt/gpl.txt +#usr/share/doc/fcron-3.4.0/en/txt/install.txt +#usr/share/doc/fcron-3.4.0/en/txt/readme.txt +#usr/share/doc/fcron-3.4.0/en/txt/relnotes.txt +#usr/share/doc/fcron-3.4.0/en/txt/thanks.txt +#usr/share/doc/fcron-3.4.0/en/txt/todo.txt +#usr/share/doc/fcron-3.4.0/fr +#usr/share/doc/fcron-3.4.0/fr/HTML +#usr/share/doc/fcron-3.4.0/fr/HTML/LEGALNOTICE.html +#usr/share/doc/fcron-3.4.0/fr/HTML/changes.html +#usr/share/doc/fcron-3.4.0/fr/HTML/faq.html +#usr/share/doc/fcron-3.4.0/fr/HTML/fcron.8.html +#usr/share/doc/fcron-3.4.0/fr/HTML/fcron.conf.5.html +#usr/share/doc/fcron-3.4.0/fr/HTML/fcrondyn.1.html +#usr/share/doc/fcron-3.4.0/fr/HTML/fcrontab.1.html +#usr/share/doc/fcron-3.4.0/fr/HTML/fcrontab.5.html +#usr/share/doc/fcron-3.4.0/fr/HTML/fdl.html +#usr/share/doc/fcron-3.4.0/fr/HTML/gpl.html +#usr/share/doc/fcron-3.4.0/fr/HTML/how-and-why.html +#usr/share/doc/fcron-3.4.0/fr/HTML/index.html +#usr/share/doc/fcron-3.4.0/fr/HTML/install.html +#usr/share/doc/fcron-3.4.0/fr/HTML/manpages.html +#usr/share/doc/fcron-3.4.0/fr/HTML/readme.html +#usr/share/doc/fcron-3.4.0/fr/HTML/relnotes.html +#usr/share/doc/fcron-3.4.0/fr/HTML/thanks.html +#usr/share/doc/fcron-3.4.0/fr/HTML/todo.html +#usr/share/doc/fcron-3.4.0/fr/HTML/using-fcron.html +#usr/share/doc/fcron-3.4.0/fr/txt +#usr/share/doc/fcron-3.4.0/fr/txt/changes.txt +#usr/share/doc/fcron-3.4.0/fr/txt/faq.txt +#usr/share/doc/fcron-3.4.0/fr/txt/gpl.txt +#usr/share/doc/fcron-3.4.0/fr/txt/install.txt +#usr/share/doc/fcron-3.4.0/fr/txt/readme.txt +#usr/share/doc/fcron-3.4.0/fr/txt/relnotes.txt +#usr/share/doc/fcron-3.4.0/fr/txt/thanks.txt +#usr/share/doc/fcron-3.4.0/fr/txt/todo.txt #usr/share/man/fr/man1/fcrondyn.1 #usr/share/man/fr/man1/fcrontab.1 #usr/share/man/fr/man3 diff --git a/lfs/fcron b/lfs/fcron index afcbda1b5..f8edd096e 100644 --- a/lfs/fcron +++ b/lfs/fcron @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team # +# Copyright (C) 2007-2025 IPFire Team # # # # 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 # @@ -24,7 +24,7 @@ include Config -VER = 3.2.1 +VER = 3.4.0 THISAPP = fcron-$(VER) DL_FILE = $(THISAPP).src.tar.gz @@ -43,7 +43,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 184b74f9d64186b7d3aae87d48ed0107525fd0c73bb8db86408bd246592ff4fbcbc04f8ca0064868a8555d7c6be2f183172d62daeed75275cd836517da504d0f +$(DL_FILE)_BLAKE2 = 6af224b5c41005f15970be553d9d80e2de809f35d79bcfb35e33ae3a9e9d6f81d058d3e2a52c0c5b960fff7e9f444f8e95f60ccce5392a6031f35a114ea87dbc install : $(TARGET) @@ -74,21 +74,20 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && ./configure \ - --prefix=/usr \ - --without-sendmail \ - --with-spooldir=/var/spool/cron \ - --with-fifodir=/var/run \ - --with-piddir=/var/run \ - --sysconfdir=/etc \ - --with-username=cron \ - --with-groupname=cron \ - --with-run-non-privileged=no \ - --with-fcrondyn=no \ - --with-sysfcrontab=no \ - --with-boot-install=no \ - --with-pam=no \ - --with-selinux=no - + --prefix=/usr \ + --without-sendmail \ + --with-spooldir=/var/spool/cron \ + --with-fifodir=/var/run \ + --with-piddir=/var/run \ + --sysconfdir=/etc \ + --with-username=cron \ + --with-groupname=cron \ + --with-run-non-privileged=no \ + --with-fcrondyn=no \ + --with-sysfcrontab=no \ + --with-boot-install=no \ + --with-pam=no \ + --with-selinux=no cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install echo "root" > /etc/fcron.allow -- 2.50.1