Index: approvecheck =================================================================== RCS file: /home/pcvs/CVSROOT/approvecheck,v retrieving revision 1.1 diff -u -r1.1 approvecheck --- approvecheck 26 May 2004 08:57:06 -0000 1.1 +++ approvecheck 14 Sep 2009 11:13:57 -0000 @@ -43,6 +43,13 @@ unlink $FILES_FILE; exit 1; } + if ($cfg::FEATURE_FREEZE) { + if (check_featuresafe($log)) { + unlink $FILES_FILE; + exit 1; + } + } + } exit 0; @@ -113,3 +120,23 @@ $r->{app}; return 1; } + +sub check_featuresafe { + my ($log) = @_; + + if ($log =~ m|Feature safe:[\t ]*[Yy][Ee][Ss]|s) { + printf "$$: log matched (%s)\n", $log + if ($debug); + return 0; + } + printf "$$: log did not match (%s)\n", $log if ($debug); + printf "****\n"; + printf "**** Feature freeze is in effect. Recommit with a\n"; + printf "****\n"; + printf "**** Feature safe: yes\n"; + printf "****\n"; + printf "**** tag if you are sure this commit does not violate\n"; + printf "**** feature freeze guidelines. If in doubt, contact portmgr.\n"; + printf "****\n"; + return 1; +} Index: cfg.pm =================================================================== RCS file: /home/pcvs/CVSROOT/cfg.pm,v retrieving revision 1.50 diff -u -r1.50 cfg.pm --- cfg.pm 29 Jul 2005 16:09:14 -0000 1.50 +++ cfg.pm 14 Sep 2009 11:13:57 -0000 @@ -20,6 +20,7 @@ $MAILCMD $MAIL_BRANCH_HDR $MAIL_ON_DIR_CREATION $MAIL_TRANSFORM $MINCVSVERSION $MAX_DIFF_SIZE $NO_DOS_LINEBREAKS $PID $PROG_CVS $PROG_MV %TEMPLATE_HEADERS $TMPDIR $TZ $UNEXPAND_RCSID $WARN_HEADERS + $FEATURE_FREEZE ); use POSIX qw(tzset); @@ -39,6 +40,9 @@ # Debug level, 0 = off, 1 = on. $DEBUG = 0; +# Feature freeze, 0 = off, 1 = on. +$FEATURE_FREEZE = 0; + # Location of temporary directory. $TMPDIR = "/tmp/"; @@ -113,7 +117,8 @@ # "Approved by" => '.*', # "PR" => '.*', # "MFC after" => '\d+(\s+(days?|weeks?|months?))?', -# "Security" => '.*' +# "Security" => '.*', +# "Feature safe" => '.*' ); Index: cfg_local.pm =================================================================== RCS file: /home/pcvs/CVSROOT/cfg_local.pm,v retrieving revision 1.19 diff -u -r1.19 cfg_local.pm --- cfg_local.pm 29 Jul 2005 16:09:14 -0000 1.19 +++ cfg_local.pm 14 Sep 2009 11:13:57 -0000 @@ -25,7 +25,8 @@ "Approved by" => '.*', "PR" => '.*', "MFC after" => '\d+(\s+(days?|weeks?|months?))?', - "Security" => '.*' + "Security" => '.*', + "Feature safe" => '.*' ); $MAILCMD = "/usr/local/bin/mailsend -H"; @@ -70,5 +71,7 @@ 'other' => '.*' ); +$FEATURE_FREEZE = 1; + 1; # Perl requires all modules to return true. Don't delete!!!! #end Index: rcstemplate =================================================================== RCS file: /home/pcvs/CVSROOT/rcstemplate,v retrieving revision 1.18 diff -u -r1.18 rcstemplate --- rcstemplate 29 Jul 2005 14:03:36 -0000 1.18 +++ rcstemplate 14 Sep 2009 11:13:57 -0000 @@ -6,6 +6,7 @@ Obtained from: MFC after: Security: +Feature safe: CVS: ---------------------------------------------------------------------- CVS: PR: Fill this in if a GNATS PR is affected by the change. CVS: Submitted by: Fill this in if someone else sent in the change.