linux/scripts
Joe Perches 03372dbbe6 scripts/get_maintainer.pl: add --file-emails, find embedded email addresses
Add an imperfect option to search a source file for email addresses.

New option:  --file-emails or --fe

email addresses in files are freeform text and are nearly impossible to
parse.  Still, might as well try to do a somewhat acceptable job of
finding them.  This code should find all addresses that are in the form
addr@domain.tld

The code assumes that up to 3 alphabetic words along with dashes, commas,
and periods that preceed the email address are a name.

If 3 words are found for the name, and one of the first two words are a
single letter and period, or just a single letter then the 3 words are use
as name otherwise the last 2 words are used.

Some variants that are shown correctly:
    John Smith <jksmith@domain.org>
    Random J. Developer <rjd@tld.com>
    Random J. Developer (rjd@tld.com)
    J. Random Developer rjd@tld.com

Variants that are shown nominally correctly:
    Written by First Last (funny-addr@somecompany.com)
is shown as:
    First Last <funny-addr@somecompany.com>

Variants that are shown incorrectly:
    Some Really Long Name <srln@foo.bar>
    MontaVista Software, Inc. <source@mvista.com>
are returned as:
    Long Name <srln@foo.bar>
    "Software, Inc" <source@mvista.com>

--roles and --rolestats show "(in file)" for matches.

For instance:

Without -file-emails:

$ ./scripts/get_maintainer.pl -f -nogit -roles net/core/netpoll.c
David S. Miller <davem@davemloft.net> (maintainer:NETWORKING [GENERAL])
linux-kernel@vger.kernel.org (open list)

With -fe:

$ ./scripts/get_maintainer.pl -f -fe -nogit -roles net/core/netpoll.c
David S. Miller <davem@davemloft.net> (maintainer:NETWORKING [GENERAL])
Matt Mackall <mpm@selenic.com> (in file)
Ingo Molnar <mingo@redhat.com> (in file)
linux-kernel@vger.kernel.org (open list)
netdev@vger.kernel.org (open list:NETWORKING [GENERAL])

The number of email addresses in the file in not limited.  Neither is the
number of returned email addresses.

Signed-off-by: Joe Perches <joe@perches.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-06 11:26:33 -08:00
..
basic kbuild: move autoconf.h to include/generated 2009-12-12 13:08:15 +01:00
dtc dtc: Mark various internal functions static 2009-11-15 15:01:41 -08:00
genksyms genksyms: properly consider EXPORT_UNUSED_SYMBOL{,_GPL}() 2009-12-12 13:08:16 +01:00
kconfig kconfig: Simplify LSMOD= handling 2010-02-03 11:45:25 -05:00
ksymoops
mod modpost: fix segfault in sym_is() with prefixed arches 2010-01-17 11:00:53 -08:00
package scripts/package: deb-pkg: use fakeroot if available 2009-12-12 13:08:16 +01:00
rt-tester
selinux SELinux: header generation may hit infinite loop 2009-11-23 09:00:44 +11:00
tracing tracing, perf: Convert the power tracer into an event tracer 2009-09-19 11:42:12 +02:00
.gitignore kconfig: simplification of scripts/extract-ikconfig 2009-10-07 11:44:18 -04:00
bin2c.c
bloat-o-meter fix bloat-o-meter for ppc64 2007-12-17 19:28:17 -08:00
bootgraph.pl bootgraph: fix for use with dot symbols 2009-02-15 12:50:08 +01:00
checkincludes.pl checkincludes.pl: add option to remove duplicates in place 2009-09-20 12:27:43 +02:00
checkkconfigsymbols.sh kbuild,scripts: use non-builtin echo for '-e' 2009-10-11 23:21:25 +02:00
checkpatch.pl remove my email address from checkpatch. 2010-01-12 20:56:52 -08:00
checkstack.pl sparc: Add checkstack support 2008-10-22 21:53:49 -07:00
checksyscalls.sh asm-generic: add a generic unistd.h 2009-06-11 21:02:16 +02:00
checkversion.pl
cleanfile
cleanpatch
config kbuild: add generic --set-str option to scripts/config 2009-06-14 22:48:08 +02:00
conmakehash.c Fix all -Wmissing-prototypes warnings in x86 defconfig 2009-09-23 07:39:28 -07:00
decodecode scripts: improve the decodecode script 2008-12-03 22:36:39 +01:00
diffconfig kconfig: add diffconfig utility 2008-07-25 22:12:41 +02:00
export_report.pl
extract-ikconfig kconfig: simplification of scripts/extract-ikconfig 2009-10-07 11:44:18 -04:00
gcc-version.sh Remove bashisms from scripts 2009-06-09 22:37:54 +02:00
gcc-x86_32-has-stack-protector.sh stackprotector: fix multi-word cross-builds 2009-02-11 12:17:29 +01:00
gcc-x86_64-has-stack-protector.sh stackprotector: fix multi-word cross-builds 2009-02-11 12:17:29 +01:00
gen_initramfs_list.sh kbuild: fix spurious initramfs rebuild 2009-04-11 08:18:12 +02:00
get_maintainer.pl scripts/get_maintainer.pl: add --file-emails, find embedded email addresses 2010-03-06 11:26:33 -08:00
gfp-translate mm: add a gfp-translate script to help understand page allocation failure reports 2009-06-16 19:47:44 -07:00
headerdep.pl kbuild: fix option processing for -I in headerdep 2009-04-11 08:18:07 +02:00
headers_check.pl kbuild/headers_check: refine extern check 2009-06-09 22:37:56 +02:00
headers_install.pl warn about use of uninstalled kernel headers 2009-10-11 23:21:25 +02:00
headers.sh kbuild: do not check for include/asm-$ARCH 2009-12-12 13:08:14 +01:00
kallsyms.c kallsyms: fix segfault in prefix_underscores_count() 2009-09-23 07:39:30 -07:00
Kbuild.include kbuild: generate modules.builtin 2009-12-12 13:08:16 +01:00
kernel-doc kernel-doc: drop the -filelist option, it doesn't work 2010-02-26 17:23:50 -08:00
Lindent scripts/Lindent: support gnu indent v2.2.10 2008-04-29 08:06:04 -07:00
Makefile sparc: Kill PROM console driver. 2009-09-15 17:04:38 -07:00
Makefile.build MIPS: Tracing: Add an endian argument to scripts/recordmcount.pl 2009-12-17 01:57:22 +00:00
Makefile.clean kbuild: fix some minor typoes 2008-04-25 20:18:48 +02:00
Makefile.fwinst firmware: silence __fw_modbuild and __fw_modinst 'Nothing to be done' messages 2008-08-02 07:52:29 +01:00
Makefile.headersinst kbuild: fix "Argument list too long" error for "make headers_check", 2009-06-09 22:37:56 +02:00
Makefile.host kbuild: fix some minor typoes 2008-04-25 20:18:48 +02:00
Makefile.lib kbuild: really fix bzImage build with non-bash sh 2010-01-13 13:27:24 +01:00
Makefile.modbuiltin kbuild: generate modules.builtin 2009-12-12 13:08:16 +01:00
Makefile.modinst Revert "kbuild: strip generated symbols from *.ko" 2009-01-14 21:38:20 +01:00
Makefile.modpost tracing: Remove markers 2009-09-18 21:22:08 +02:00
makelst kbuild: introduce ccflags-y, asflags-y and ldflags-y 2007-10-15 22:25:06 +02:00
markup_oops.pl markup_oops.pl: fix $func_offset error with x86_64 2010-02-02 18:11:22 -08:00
mkcompile_h kbuild: move autoconf.h to include/generated 2009-12-12 13:08:15 +01:00
mkmakefile kbuild: teach mkmakfile to be silent 2008-12-03 21:32:02 +01:00
mksysmap Revert "kbuild: strip generated symbols from *.ko" 2009-01-14 21:38:20 +01:00
mkuboot.sh
mkversion
module-common.lds linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
namespace.pl
patch-kernel bugfix for scripts/patch-kernel in 2.6 sublevel stepping 2008-08-06 22:11:33 +02:00
pnmtologo.c fbdev: work around old compiler bug 2009-06-30 18:55:59 -07:00
profile2linkerlist.pl
recordmcount.pl Merge commit 'v2.6.33' into tracing/core 2010-02-26 09:18:32 +01:00
setlocalversion kbuild: fix delay in setlocalversion on readonly source 2009-06-14 22:26:00 +02:00
show_delta
tags.sh kbuild: specify absolute paths for cscope 2009-12-12 13:08:16 +01:00
unifdef.c unifdef: update to upstream revision 1.190 2009-12-12 13:08:16 +01:00
ver_linux Remove bashisms from scripts 2009-06-09 22:37:54 +02:00