From nobody Fri Feb 27 13:02:02 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fMpPr0z4pz6T07q for ; Fri, 27 Feb 2026 13:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fMpPr0LqNz3Ryx for ; Fri, 27 Feb 2026 13:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772197328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FE5fw/euBmGOJDciEL36KUbLWSnssGCMAxmqL8wwJI0=; b=E8OuDr+ax6Hb04HRPg1I/D0a1JNRVsOP4unC+xueb1rIphsFtyXscBtCojOuJV74zdnnI4 wzo+D2BnbiVVtM6A+Lnb/+Iom3b/K3SVqyuXQIHDn259xti7z4MBRQXFfUOmqpBV8YpZ2B OloVJww7EuP/kKDH82GivtoEcJOaWnxWpDcWrAgyV6rMAdJmi16aKofDv+zG7w8bDjAeOl 6SrGEEq5Cu1mAJMnNCraYgwhVBSHP0R9y5DjDZpXScPFzUpu/IzE8jWLmCuq3HuRNcU8O6 mXW8tF2BkNYO6adXddSbVUDz9vqtpv9n5DFAP5ErFiTbwRRcvlc3e2xlRNZPcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772197328; a=rsa-sha256; cv=none; b=g+J8tS3Yyjky3f/677beXo34r14fx8uUmWSp/Li2OstrzRxoJlZw0gUV5oghfDYHMELo5H lNnG8lf4+8zVOcXKza1zW7sfiA+xlnnql6wDe7bTrsxR+mNMvhPMmpRLR4GJno33SVUTPa 96dmAxwMOtMwq3+ME5vScCehQGhlgDbAvHVU08RUI+gEM+/o9qOex95EtoIV2lmer03t9P fuH3E24PxZ6Sy0/74KvxUGkLePrSKo5LwcpV/baLNE5+/ZVcgneI9WmsYISOstsF07eYFu 7aPRdl4Cg6pJa+wyHVCnCHC1Jir1P/uXy0f5nWhQDiio5YD1guJE4GDsLvf6QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772197328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FE5fw/euBmGOJDciEL36KUbLWSnssGCMAxmqL8wwJI0=; b=VunW6NbZ2MBdaP5S9Pg4pjAOwXjYmUpIrmIte2NEmgTaiUmh5TOAuciJdLBCQ9t/DF9ZKQ SlXAI4jaSY1LJlZ/KSwmuTjNDjgvChB5aaaekOCKitUCDj4E+Wy0mTOYkf9WbhBO2y3Bp5 jVutrW7JtTcUH7qVtiK1ce7Ubame0VIGDVKZM/DbicEcb7u4pkYbtMsQJlhEDUtm+e2a3y dZihtUvM0asz0YAPxaYKsJII5uzB1BIFYGwEyebUCjFm8glXVxIsPUjJzIh3E+ogjXe2yO cIOC4DrKCBXE6ubFI1CYv/Lhl6otaxGWZCHYQgi25szWYB62/uOwKVpyz+Kbsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fMpPq6rlBz3px for ; Fri, 27 Feb 2026 13:02:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d3b5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Feb 2026 13:02:02 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Lorenzo Salvadore Subject: git: 18f83b741b - main - Status/sendcalls: Update deadlines List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: salvadore X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 18f83b741b97ef200a1f8206aee4549d7b7a3fe1 Auto-Submitted: auto-generated Date: Fri, 27 Feb 2026 13:02:02 +0000 Message-Id: <69a195ca.1d3b5.6a215bcb@gitrepo.freebsd.org> The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/doc/commit/?id=18f83b741b97ef200a1f8206aee4549d7b7a3fe1 commit 18f83b741b97ef200a1f8206aee4549d7b7a3fe1 Author: Lorenzo Salvadore AuthorDate: 2026-02-25 14:19:05 +0000 Commit: Lorenzo Salvadore CommitDate: 2026-02-27 13:01:20 +0000 Status/sendcalls: Update deadlines While here, also fix a bug about months being counted starting from 0 instead of from 1. --- tools/sendcalls/call.txt.template | 4 --- tools/sendcalls/sendcalls | 70 +++++++++++++++++++++++++++------------ 2 files changed, 48 insertions(+), 26 deletions(-) diff --git a/tools/sendcalls/call.txt.template b/tools/sendcalls/call.txt.template index e6e844758b..fb89167d7d 100644 --- a/tools/sendcalls/call.txt.template +++ b/tools/sendcalls/call.txt.template @@ -3,10 +3,6 @@ Dear FreeBSD Community, The deadline for the next FreeBSD Status Report update is %%DEADLINE%% for work done since the last round of quarterly reports: %%START%% %%YEAR%% - %%STOP%% %%YEAR%%. -I would like to remind you that reports are published on a quarterly -basis and are usually collected during the last month of each quarter, -You are also welcome to submit them even earlier if you want, and the -earlier you submit them, the more time we have for reviewing. Status report submissions do not need to be very long. They may be about anything happening in the FreeBSD project and community, and diff --git a/tools/sendcalls/sendcalls b/tools/sendcalls/sendcalls index 57b6c384a6..96069ab5ca 100755 --- a/tools/sendcalls/sendcalls +++ b/tools/sendcalls/sendcalls @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# Copyright (c) 2020-2023 Lorenzo Salvadore +# Copyright (c) 2020-2026 Lorenzo Salvadore # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -47,9 +47,13 @@ my $year; # calls. # - $urgency_tag indicates the urgency with which we are requesting the # reports. It will be included in the subject of the calling mail. It -# can be empty, [2 WEEKS LEFT REMINDER] or [LAST OFFICIAL REMINDER]. +# can be empty, [1 MONTH LEFT REMINDER] or [LAST OFFICIAL REMINDER]. +# - $year_quarter is the year of the quarter. +# - $year_deadline is the year of the deadline. my $quarter; my $urgency_tag; +my $year_quarter; +my $year_deadline; # Variables related to the contacts of the last status reports # @@ -109,20 +113,20 @@ $template_substitutions{1}{'%%START%%'} = 'January'; $template_substitutions{1}{'%%STOP%%'} = 'March'; $template_substitutions{1}{'%%START_NUM%%'} = '01'; $template_substitutions{1}{'%%STOP_NUM%%'} = '03'; -$template_substitutions{1}{'%%DEADLINE%%'} = 'March, 31st'; +$template_substitutions{1}{'%%DEADLINE%%'} = 'April, 14th'; $template_substitutions{2}{'%%START%%'} = 'April'; $template_substitutions{2}{'%%STOP%%'} = 'June'; $template_substitutions{2}{'%%START_NUM%%'} = '04'; $template_substitutions{2}{'%%STOP_NUM%%'} = '06'; -$template_substitutions{2}{'%%DEADLINE%%'} = 'June, 30th'; +$template_substitutions{2}{'%%DEADLINE%%'} = 'July, 14th'; $template_substitutions{3}{'%%START%%'} = 'July'; $template_substitutions{3}{'%%STOP%%'} = 'September'; $template_substitutions{3}{'%%START_NUM%%'} = '07'; $template_substitutions{3}{'%%STOP_NUM%%'} = '09'; -$template_substitutions{3}{'%%DEADLINE%%'} = 'September, 30th'; +$template_substitutions{3}{'%%DEADLINE%%'} = 'October, 14th'; $template_substitutions{4}{'%%START%%'} = 'October'; $template_substitutions{4}{'%%STOP%%'} = 'December'; -$template_substitutions{4}{'%%DEADLINE%%'} = 'December, 31st'; +$template_substitutions{4}{'%%DEADLINE%%'} = 'January, 14th'; $template_substitutions{4}{'%%START_NUM%%'} = '10'; $template_substitutions{4}{'%%STOP_NUM%%'} = '12'; @@ -177,37 +181,48 @@ $year = $options{'y'} if($options{'y'}); die "Choosen date does not seem plausibile: year is $year, month is $month and day is $day" if( $day < 1 or $day > 31 or - $month < 1 or - $month > 12 or + $month < 0 or + $month > 11 or $year < 1970 ); -if($day < 14) +if($month % 3 == 2 and $day == 15) { - $urgency_tag = ''; + $urgency_tag = '[1 MONTH LEFT REMINDER] '; } -elsif($day < 23) +elsif( ($month == 2 and $day == 31) or + ($month == 5 and $day == 30) or + ($month == 8 and $day == 30) or + ($month == 11 and $day == 31) ) { - $urgency_tag = '[2 WEEKS LEFT REMINDER] '; + $urgency_tag = '[LAST OFFICIAL REMINDER] '; } else { - $urgency_tag = '[LAST OFFICIAL REMINDER] '; + $urgency_tag = ''; } $quarter = int($month / 3) + 1; +$quarter = $quarter - 1 if($month % 3 == 0 and $day < 15); +$quarter = 4 if($quarter == 0); # ------------------------------------------------------- # Compute @bcc_recipients and @cc_recipients # ------------------------------------------------------- -$year_last = $year; -$month_last_start = sprintf("%02d",int((($month - 3) % 12) / 3) * 3 + 1); -$month_last_stop = sprintf("%02d",$month_last_start + 2); + $quarter_last = $quarter - 1; -if($quarter_last == 0) +$quarter_last = 4 if($quarter_last == 0); + +$month_last_start = sprintf("%02d",($quarter_last - 1) * 3 + 1); +$month_last_stop = sprintf("%02d",$month_last_start + 2); +if(($quarter_last == 3 and $month == 0) or $quarter_last == 4) +{ + $year_last = $year - 1; +} +else { - $year_last = $year_last - 1; - $quarter_last = 4; + $year_last = $year; } + $quarter_last_directory = '../../website/content/en/status/report-'. $year_last. '-'. @@ -216,6 +231,7 @@ $quarter_last_directory = '../../website/content/en/status/report-'. $year_last. '-'. $month_last_stop; + foreach(`ls $quarter_last_directory`) { $_ =~ tr/\n//d; @@ -243,11 +259,21 @@ push @cc_recipients, @{ $quarter_specific_recipients{$quarter} }; # ------------------------------------------------------- # Compute missing %template_substitutions elements # ------------------------------------------------------- + +$year_quarter = $year; +$year_deadline = $year; +if ($quarter == 4) +{ + $year_quarter = $year_quarter - 1 if($month == 0); + $year_deadline = $year_deadline + 1 if($month != 0); +} + $template_substitutions{$quarter}{'%%QUARTER%%'} = $quarter; -$template_substitutions{$quarter}{'%%YEAR%%'} = $year; +$template_substitutions{$quarter}{'%%YEAR%%'} = $year_quarter; $template_substitutions{$quarter}{'%%SIGNATURE%%'} = $options{'s'}; + $template_substitutions{$quarter}{'%%DEADLINE%%'} = -$template_substitutions{$quarter}{'%%DEADLINE%%'}.' '.$year; +$template_substitutions{$quarter}{'%%DEADLINE%%'}.' '.$year_deadline; # ------------------------------------------------------- # Generate mail text @@ -269,7 +295,7 @@ close(call_mail); # ------------------------------------------------------- # Compute $subject and $send_command # ------------------------------------------------------- -$subject = $urgency_tag."Call for ".$year."Q".$quarter." status reports"; +$subject = $urgency_tag."Call for ".$year_quarter."Q".$quarter." status reports"; $send_command = "cat call.txt | mail -s \"".$subject."\""; # @bcc_recipients should never be empty as we have reports with mail