1
0
mirror of https://git.FreeBSD.org/doc.git synced 2026-06-02 19:35:07 +00:00

Status/sendcalls: Update deadlines

While here, also fix a bug about months being counted starting from 0
instead of from 1.
This commit is contained in:
Lorenzo Salvadore
2026-02-25 15:19:05 +01:00
parent 837f3c38a3
commit 18f83b741b
2 changed files with 50 additions and 28 deletions
-4
View File
@@ -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
+50 -24
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
#
# Copyright (c) 2020-2023 Lorenzo Salvadore <salvadore@FreeBSD.org>
# Copyright (c) 2020-2026 Lorenzo Salvadore <salvadore@FreeBSD.org>
# 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)
{
$urgency_tag = '[2 WEEKS LEFT REMINDER] ';
}
else
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 = '[LAST OFFICIAL REMINDER] ';
}
else
{
$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_last - 1;
$quarter_last = 4;
$year_last = $year - 1;
}
else
{
$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