Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Aug 2023 18:07:50 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 3b6b4765499f - main - freebsd-yeet: Tool to remove $FreeBSD$ from tree
Message-ID:  <202308161807.37GI7oJN078057@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=3b6b4765499f73ff4c31b8042bab67747ab41686

commit 3b6b4765499f73ff4c31b8042bab67747ab41686
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-08-16 18:06:37 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-08-16 18:06:37 +0000

    freebsd-yeet: Tool to remove $FreeBSD$ from tree
    
    Use at your own risk, but this will remove $FreeBSD$ from your tree. It
    does commits and tries to be at least a little smart about it.
    
    Sponsored by:           Netflix
---
 tools/build/freebsd-yeet.pl | 107 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 107 insertions(+)

diff --git a/tools/build/freebsd-yeet.pl b/tools/build/freebsd-yeet.pl
new file mode 100644
index 000000000000..ee7f27f81637
--- /dev/null
+++ b/tools/build/freebsd-yeet.pl
@@ -0,0 +1,107 @@
+# Remove almost all of the $ FreeBSD $ tags in the tree.
+#
+# Copyright (c) 2023, Warner Losh
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Needs p5-File-Lib package
+# Caveat Emptor
+#
+use strict;
+use warnings;
+use File::Find;
+  
+sub skip_list
+{
+    my $fn = $_[0];
+
+    if ($fn =~ m=^./contrib/=) {
+	return 1;
+    }
+    if ($fn =~ m=^./sys/contrib/=) {
+	return 1;
+    }
+    if ($fn =~ m=^./cddl/contrib/=) {
+	return 1;
+    }
+    if ($fn =~ m=^./crypto/=) {
+	return 1;
+    }
+    if ($fn =~ m=^./.git/=) {
+	return 1;
+    }
+    if ($fn =~ m=~$=) {
+	return 1;
+    }
+    return 0;
+}
+
+my $pretty;
+my $pattern;
+my $repl;
+my $count;
+
+sub do_one
+{
+    $pretty = $_[0];
+    $pattern = $_[1];
+    $repl = "";
+    $repl = $_[2] if defined($_[2]);
+    $count = 0;
+
+    sub findfiles
+    {
+	return unless -f;
+	my $fn="$File::Find::name";
+	return if skip_list($fn);
+	open my $fh, '<', $_ or die "Can't open $fn: $!\n";
+	local $/;
+	my $file = <$fh>;
+	close $fh;
+	my $len = length($file);
+
+	$file =~ s=$pattern=$repl=gm;
+	my $len2 = length($file);
+	return if $len2 == $len;
+	print "$pretty: $fn\n";
+	open my $fhw, '>', $_ or die "Can't write $fn: $!\n";
+	print $fhw $file;
+	close $fhw;
+	$count++;
+    }
+
+    $count = 0;
+    find({ wanted => \&findfiles, }, './sys');
+    if ($count > 0) {
+	print "Changed $pretty\n";
+	system("git commit -a -m'sys: Remove \$FreeBSD\$: $pretty\n\nRemove /$pattern/'");
+    }
+    $count = 0;
+    find({ wanted => \&findfiles, }, '.');
+    if ($count > 0) {
+	print "Changed $pretty\n";
+	system("git commit -a -m'Remove \$FreeBSD\$: $pretty\n\nRemove /$pattern/'");
+    }
+}
+
+# Note: Do two line before one line
+do_one("sound driver version", 'SND_DECLARE_FILE\("\$FreeBSD\$"\);', 'SND_DECLARE_FILE("");');
+do_one("one-line m4 tag", '^dnl\s*\$FreeBSD\$.*$\n');
+do_one("two-line .h pattern", '^\s*\*\n \*\s+\$FreeBSD\$$\n');
+do_one("one-line .h pattern", '^\s*\*+\s*\$FreeBSD\$.*$\n');
+do_one("one-line .c comment pattern", '^/[*/]\s*\$FreeBSD\$.*\n');
+do_one("two-line .c pattern", '^#include\s+<sys/cdefs.h>.*$\n\s+__FBSDID\("\$FreeBSD\$"\);\n');
+do_one("one-line .c pattern", '^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n');
+do_one("alt two-line .c pattern", '^\s*__RCSID\("\$FreeBSD\$"\);\n\n');
+do_one("alt one-line .c pattern", '^\s*__RCSID\("\$FreeBSD\$"\);\n');
+do_one("one-line .S pattern", '^\s\.(asciz|ident)\s+\"\$FreeBSD\$\".*\n');
+do_one("one-line sh pattern", '^\s*#[#!]?\s*\$FreeBSD\$.*$\n');
+do_one("two-line nroff pattern", '^\.\\\\"\n\.\\\\"\s*\$FreeBSD\$$\n');
+do_one("one-line nroff pattern", '^\.\\\\"\s*\$FreeBSD\$$\n');
+do_one("one-line bare tag", '^\s*\$FreeBSD\$$\n');
+do_one("one-line catalog", '^\s*\$\s*\$FreeBSD\$$\n');
+do_one("two-line lua tag", '^--\n--\s*\$FreeBSD\$.*$\n');
+do_one("one-line lua tag", '^--\s*\$FreeBSD\$.*$\n');
+do_one("one-line ps tag", '^%\s*RCSID:\s*\$FreeBSD\$.*$\n');
+do_one("one-line forth tag", '^\\\\[\s*]*\$FreeBSD\$.*$\n');
+do_one("one-line xdr pattern", '^\s*%\s*__FBSDID\("\$FreeBSD\$"\);?\s*\n');
+exit;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308161807.37GI7oJN078057>