kbuild: gen_init_cpio expands shell variables in file names
authorSally, Gene <Gene.Sally@timesys.com>
Wed, 29 Oct 2008 13:54:17 +0000 (09:54 -0400)
committerSam Ravnborg <sam@ravnborg.org>
Wed, 3 Dec 2008 20:32:03 +0000 (21:32 +0100)
commit3b1ec9fb8197197d5e3bcca3a05e82d4f50f11bc
tree4581dc3493883f00abb0c3b61e3576edf1032197
parentefddd79512cc582675004bfdf7e66585198b38f9
kbuild: gen_init_cpio expands shell variables in file names

Modify gen_init_cpio so that lines that specify files can contain
what looks like a shell variable that's expanded during processing.

For example:

   file /sbin/kinit ${RFS_BASE}/usr/src/klibc/kinit/kinit 0755 0 0

given RFS_BASE is "/some/directory" in the environment

would be expanded to

   file /sbin/kinit /some/directory/usr/src/klibc/kinit/kinit 0755 0 0

If several environment variables appear in a line, they are all expanded
with processing happening from left to right.
Undefined variables expand to a null string.
Syntax errors stop processing, letting the existing error handling
show the user offending line.

This patch helps embedded folks who frequently create several
RFS directories and then switch between them as they're tuning
an initramfs.

Signed-off-by: gene.sally@timesys.com
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
usr/gen_init_cpio.c