From: Rob Landley <rob@landley.net>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Matthieu CASTET <matthieu.castet@parrot.com>,
Arkadiusz Miskiewicz <a.miskiewicz@gmail.com>,
linux-kernel@vger.kernel.org,
Embedded Linux mailing list <linux-embedded@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: PATCH [0/3]: Simplify the kernel build by removing perl.
Date: Sat, 3 Jan 2009 19:45:34 -0600 [thread overview]
Message-ID: <200901031945.35163.rob@landley.net> (raw)
In-Reply-To: <20090103201059.GA4875@uranus.ravnborg.org>
On Saturday 03 January 2009 14:10:59 Sam Ravnborg wrote:
> > I'll fix this and resubmit, it just wasn't ready last night. (If the
> > merge window is closing soon I could resubmit the other two with Sam's
> > suggestions and resubmit this one next time 'round, but it was only a
> > couple days to write in the first place, once I finally figured out what
> > the perl version was trying to _do_...)
>
> For kbuild only fixes and trivial stuff will be merged until next merge
> window. Neither of the three patches fall into that category.
*shrug* I poke my head into kernel development every few months, and have
just enough familiarity with it to remember that "changes go in during the
merge window". Seemed a good time to post 'em.
> With respect to your three patches the plan is to:
> - add the updated timeconst patch to kbuild-next
> - add the updated cpu-feature patch to kbuild-next
>
> - the patch touching headers_install will not be merged.
> The way forward for headers_install is to combine the
> unifdef feature and the header modifications.
Since you're turning down an existing patch in favor of a theoretical patch, I
assume you have plans to do this yourself?
> And this must be in a single program that can process
> all headers in one go so the install process becomes so fast
> that we do not worry about if it was done before or not.
> Then we can avoid all the .* files in the directory
> where we isntall the headers.
What if they run out of disk space halfway through writing a file and thus it
creates a short file (or a 0 length file where the dentry was created but no
blocks could be allocated for the write)?
I expected headers_install to overwrite destination files and create
directories with -p, so if you interrupt it you can just re-run it again with
the same arguments and it could install everything again cleanly over existing
partial output. I take it this isn't what's happening, or that isn't
sufficient somehow?
I didn't look too closely at what the makefile was doing (it makes my eyes
bleed), I just rewrote the perl script and changed the call. I could try to
upgrade the script to not need the makefile to tell it what files to work on,
and just take the appropriate top level include directory and the output
directory and figure out which files it needs to operate on by itself so it
_does_ work that way. Figuring out where the make file is getting this info
from now shouldn't be too much harder than reading perl scripts and figuring
out what they're doing.
Not during this merge window, though.
> The program is a prime candidate for a small C program
> and I hope someone can take the challenge to write it.
Good luck with that. Having written most of the busybox sed implementation,
and before that having written my own regex implementation back under OS/2,
I've pretty much gotten my fill of doing regexes in C, at least without a good
reason.
I suppose if I was feeling really bored I could try to implement unifdef as a
sed script, but the only way to get a single invocation of sed to work on a
bunch of individual files coherently is to use -i mode, which A) ain't in
susv3 (although busybox sed supports it), B) would involve a cp of all the
files to the destination first, which is kind of ugly.
> Migrating from perl to shell does not help us here
> and the shell version was less readable than the perl version.
The shell version is less readable but you never noticed that the perl version
isn't using its $ARCH argument? *shrug* Ok.
I can try to make the shell version more readable, and more powerful. It's
already noticeably faster than the perl version. I have no objections to
making unifdef do all of this, I just haven't got any interest either.
> Sam
Rob
next prev parent reply other threads:[~2009-01-04 1:45 UTC|newest]
Thread overview: 129+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-02 8:07 PATCH [0/3]: Simplify the kernel build by removing perl Rob Landley
2009-01-02 8:13 ` [PATCH 1/3]: Replace kernel/timeconst.pl with kernel/timeconst.sh Rob Landley
2009-01-02 9:04 ` Sam Ravnborg
2009-01-02 12:00 ` Rob Landley
2009-01-02 19:33 ` H. Peter Anvin
2009-01-04 1:32 ` Rob Landley
2009-01-04 1:35 ` H. Peter Anvin
2009-01-04 12:07 ` Alan Cox
2009-01-04 18:36 ` H. Peter Anvin
2009-01-04 19:03 ` Rob Landley
2009-01-04 20:39 ` H. Peter Anvin
2009-01-05 0:59 ` Rob Landley
2009-01-03 6:28 ` Harvey Harrison
2009-01-03 12:28 ` Ingo Oeser
2009-01-04 1:36 ` Rob Landley
2009-01-04 5:07 ` Valdis.Kletnieks
2009-01-04 6:43 ` Rob Landley
2009-01-04 22:13 ` Jamie Lokier
2009-01-05 0:15 ` Bernd Petrovitsch
2009-01-05 2:23 ` Jamie Lokier
2009-01-05 10:46 ` Bernd Petrovitsch
2009-01-05 15:01 ` Jamie Lokier
2009-01-05 16:18 ` Bernd Petrovitsch
2009-01-06 0:06 ` Rob Landley
2009-01-05 21:07 ` Rob Landley
2009-01-05 4:50 ` Rob Landley
2009-01-05 12:29 ` Bernd Petrovitsch
2009-01-04 21:51 ` Alejandro Mery
2009-01-04 7:15 ` Michal Jaegermann
2009-01-05 0:41 ` Ray Lee
2009-01-05 5:08 ` Rob Landley
2009-01-02 8:14 ` [PATCH 2/3]: Remove perl from make headers_install Rob Landley
2009-01-02 9:09 ` Sam Ravnborg
2009-01-02 8:15 ` [PATCH 3/3]: Convert mkcapflags.pl to mkcapflags.sh Rob Landley
2009-01-02 9:12 ` Sam Ravnborg
2009-01-02 9:26 ` PATCH [0/3]: Simplify the kernel build by removing perl Arkadiusz Miskiewicz
2009-01-02 9:49 ` Christoph Hellwig
2009-01-02 10:16 ` Alejandro Mery
2009-01-02 10:30 ` Mark Miller
2009-01-02 11:18 ` Matt Keenan
2009-01-02 10:41 ` Måns Rullgård
2009-01-15 12:59 ` Pádraig Brady
2009-01-15 18:52 ` Jamie Lokier
2009-01-15 19:45 ` Måns Rullgård
2009-01-02 11:15 ` Rob Landley
2009-01-02 11:44 ` Sam Ravnborg
2009-01-02 12:56 ` Rob Landley
2009-01-02 14:04 ` Theodore Tso
2009-01-03 3:22 ` Jamie Lokier
2009-01-04 2:23 ` Rob Landley
2009-01-02 10:02 ` Mark Miller
2009-01-02 10:03 ` Mark Miller
2009-01-02 11:13 ` Rob Landley
2009-01-02 16:04 ` Matthieu CASTET
2009-01-03 19:46 ` Rob Landley
2009-01-03 20:10 ` Sam Ravnborg
2009-01-03 20:50 ` H. Peter Anvin
2009-01-04 1:47 ` Rob Landley
2009-01-04 1:45 ` Rob Landley [this message]
2009-01-04 8:09 ` Sam Ravnborg
2009-01-04 20:19 ` Rob Landley
2009-01-04 0:44 ` Robert Hancock
2009-01-04 1:39 ` David Brownell
2009-01-04 3:05 ` Rob Landley
2009-01-04 1:32 ` Rob Landley
2009-01-02 9:50 ` Paul Mundt
2009-01-02 10:32 ` Mark Miller
2009-01-02 10:57 ` Paul Mundt
2009-01-02 12:11 ` Mark Miller
2009-01-02 12:44 ` Rob Landley
2009-01-02 17:25 ` Wookey
2009-01-02 18:01 ` Sam Ravnborg
2009-01-02 19:27 ` H. Peter Anvin
2009-01-04 1:35 ` Rob Landley
2009-01-03 19:48 ` Rob Landley
2009-01-08 13:13 ` klaasjan gm
2009-01-08 15:04 ` Christian Gagneraud
2009-01-03 14:59 ` Wolfgang Denk
2009-01-03 22:54 ` Leon Woestenberg
2009-01-03 23:03 ` H. Peter Anvin
2009-01-04 0:37 ` Leon Woestenberg
2009-01-04 2:53 ` Rob Landley
2009-01-04 3:38 ` Markus Heidelberg
2009-01-04 4:57 ` Rob Landley
2009-01-04 2:06 ` Rob Landley
2009-01-04 2:14 ` H. Peter Anvin
2009-01-04 6:29 ` Rob Landley
2009-01-15 14:32 ` Pádraig Brady
2009-01-04 2:36 ` Jamie Lokier
2009-01-04 2:39 ` H. Peter Anvin
2009-01-04 2:43 ` H. Peter Anvin
2009-01-04 3:06 ` Paul Mundt
2009-01-04 10:23 ` Leon Woestenberg
2009-01-08 13:29 ` Mike Frysinger
2009-01-11 12:45 ` Bernd Petrovitsch
2009-01-12 3:36 ` Mark A. Miller
2009-01-12 5:11 ` H. Peter Anvin
2009-01-12 5:23 ` Mark A. Miller
2009-01-12 8:20 ` Paul Mundt
2009-01-12 9:18 ` Mark A. Miller
2009-01-12 9:41 ` Paul Mundt
2009-01-12 10:03 ` Mark A. Miller
2009-01-12 10:34 ` Paul Mundt
2009-01-12 17:56 ` Rob Landley
2009-01-12 18:04 ` Alan Cox
2009-01-12 8:27 ` Peter Korsgaard
2009-01-12 17:45 ` Rob Landley
[not found] ` <31014a580901111928u586e2246uccf370ff941c8a01@mail.gmail.com>
2009-01-12 5:35 ` Sam Ravnborg
2009-01-12 5:50 ` Mark A. Miller
2009-01-12 10:18 ` Sam Ravnborg
2009-01-12 10:22 ` Mark A. Miller
2009-01-12 10:44 ` Alexander Neundorf
2009-01-12 10:55 ` Mark A. Miller
2009-01-12 11:04 ` Alexander Neundorf
2009-01-12 10:38 ` Paul Mundt
2009-01-14 2:51 ` Jamie Lokier
2009-01-16 6:11 ` Rob Landley
2009-01-16 7:28 ` Alexander Neundorf
2009-01-16 14:54 ` Valdis.Kletnieks
2009-01-16 21:54 ` Rob Landley
2009-01-17 9:51 ` Jamie Lokier
2009-01-18 1:44 ` Rob Landley
2009-01-04 16:22 ` Vladimir Dronnikov
2009-01-04 1:24 ` PATCH [0/3]: Simplify the kernel build by removing perl v2 Rob Landley
2009-01-04 1:27 ` PATCH [1/3]: Replace kernel/timeconst.pl with kernel/timeconst.sh (v2) Rob Landley
2009-01-04 2:48 ` David Vrabel
2009-01-04 20:21 ` Rob Landley
2009-01-04 1:28 ` PATCH [2/3]: Remove perl from make headers_install Rob Landley
2009-01-04 1:29 ` PATCH [3/3]: Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh Rob Landley
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=200901031945.35163.rob@landley.net \
--to=rob@landley.net \
--cc=a.miskiewicz@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthieu.castet@parrot.com \
--cc=sam@ravnborg.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).