From: Jim Cromie <jim.cromie@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: linux-kbuild@vger.kernel.org, Jim Cromie <jim.cromie@gmail.com>
Subject: [PATCH 1/3] do collectcfiles work in perl itself, eschew shell pipeline
Date: Sat, 21 May 2011 02:21:46 -0600 [thread overview]
Message-ID: <1305966108-13399-2-git-send-email-jim.cromie@gmail.com> (raw)
In-Reply-To: <1305966108-13399-1-git-send-email-jim.cromie@gmail.com>
avoid spawning a shell pipeline doing cat, grep, sed,
and do it all inside perl. The <*.c> construct works
at least as far back as 5.8.9
Note that this is not just an optimization; the sed command
in the pipeline was unterminated, due to lack of escape on the
end-of-line (\$) in the regex, resulting in this:
$ perl ../linux-2.6/scripts/export_report.pl > /dev/null
sed: -e expression #1, char 5: unterminated `s' command
sh: .mod.c/: not found
Comments on an earlier patch sought an all-perl implementation.
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
cc: Michal Marek <mmarek@suse.cz>,
cc: linux-kbuild@vger.kernel.org
cc: Arnaud Lacombe lacombar@gmail.com
cc: Stephen Hemminger shemminger@vyatta.com
---
scripts/export_report.pl | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/scripts/export_report.pl b/scripts/export_report.pl
index 04dce7c..5499ff0 100644
--- a/scripts/export_report.pl
+++ b/scripts/export_report.pl
@@ -49,8 +49,14 @@ sub usage {
}
sub collectcfiles {
- my @file
- = `cat .tmp_versions/*.mod | grep '.*\.ko\$' | sed s/\.ko$/.mod.c/`;
+ my @file;
+ while (<.tmp_versions/*.mod>) {
+ open my $fh, '<', $_ or die "cant open $_: $!\n";
+ push (@file,
+ grep s/\.ko/.mod.c/, # change the suffix
+ grep m/.+\.ko/, # find the .ko path
+ <$fh>); # lines in opened file
+ }
chomp @file;
return @file;
}
--
1.7.4.1
next prev parent reply other threads:[~2011-05-21 8:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-21 8:21 [PATCH 0/3] fixes, improvements on scripts/export_report.pl Jim Cromie
2011-05-21 8:21 ` Jim Cromie [this message]
2011-05-23 2:16 ` [PATCH 1/3] do collectcfiles work in perl itself, eschew shell pipeline Randy Dunlap
2011-05-23 2:16 ` Randy Dunlap
2011-05-21 8:21 ` [PATCH 2/3] sort SECTION 2 output of scripts/export_report.pl Jim Cromie
2011-05-21 8:21 ` [PATCH 3/3] in scripts/export_report.pl use warn() to issue WARNING, so they go to stderr Jim Cromie
2011-05-23 15:21 ` Randy Dunlap
2011-05-23 18:44 ` [PATCH 0/3 rev2] fix scripts/export_report.pl Jim Cromie
2011-05-23 18:44 ` [PATCH 1/3] do collectcfiles work in perl itself, eschew shell pipeline Jim Cromie
2011-05-23 18:44 ` [PATCH 2/3] sort SECTION 2 output of scripts/export_report.pl Jim Cromie
2011-05-23 18:44 ` [PATCH 3/3] in scripts/export_report.pl use warn() to issue WARNING, so they go to stderr Jim Cromie
2011-05-24 14:10 ` [PATCH 0/3 rev2] fix scripts/export_report.pl Michal Marek
2011-05-24 17:53 ` Jim Cromie
2011-05-25 12:15 ` Michal Marek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1305966108-13399-2-git-send-email-jim.cromie@gmail.com \
--to=jim.cromie@gmail.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.