[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1279116063-4499-1-git-send-email-virtuoso@slind.org>
Date: Wed, 14 Jul 2010 17:01:03 +0300
From: Alexander Shishkin <virtuoso@...nd.org>
To: linux-kbuild@...r.kernel.org
Cc: Alexander Shishkin <virtuoso@...nd.org>,
Sebastian Dalfuß <sd@...f.de>,
Oliver Hartkopp <oliver@...tkopp.net>,
Michael Guntsche <mike@...loops.com>,
Jonathan Nieder <jrnieder@...il.com>,
Michael Tokarev <mjt@....msk.ru>, Alek Du <alek.du@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Michal Marek <mmarek@...e.cz>,
Russell King <rmk@....linux.org.uk>,
"H. Peter Anvin" <hpa@...or.com>,
Albin Tonnerre <albin.tonnerre@...e-electrons.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH] [RFC] implement size_append in perl
The current implementation has been several times fixed to work around
different shells and build environments and it remains a somewhat tricky
shell script. This patch replaces all the dependencies by a single line
of perl. Build dependency on perl is not new, so that shouldn't be a
problem.
The new implementation does exactly what it's supposed to: it outputs
a little-endian 32-bit unsigned integer of a file's length.
This might simplify matters with different build environments and
different shells and is also considerably shorter and hopefully more
readable.
Signed-off-by: Alexander Shishkin <virtuoso@...nd.org>
Cc: Sebastian Dalfuß <sd@...f.de>
Cc: Oliver Hartkopp <oliver@...tkopp.net>
Cc: Michael Guntsche <mike@...loops.com>
Cc: Jonathan Nieder <jrnieder@...il.com>
Cc: Michael Tokarev <mjt@....msk.ru>
Cc: Alek Du <alek.du@...el.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>
Cc: Michal Marek <mmarek@...e.cz>
Cc: Russell King <rmk@....linux.org.uk>
Cc: H. Peter Anvin <hpa@...or.com>
Cc: Albin Tonnerre <albin.tonnerre@...e-electrons.com>
Cc: linux-kbuild@...r.kernel.org
Cc: linux-kernel@...r.kernel.org
---
scripts/Makefile.lib | 16 +---------------
1 files changed, 1 insertions(+), 15 deletions(-)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 54fd1b7..5bfd872 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -213,21 +213,7 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -f -9 > $@) || \
# Bzip2 and LZMA do not include size in file... so we have to fake that;
# append the size as a 32-bit littleendian number as gzip does.
-size_append = printf $(shell \
-dec_size=0; \
-for F in $1; do \
- fsize=$$(stat -c "%s" $$F); \
- dec_size=$$(expr $$dec_size + $$fsize); \
-done; \
-printf "%08x\n" $$dec_size | \
- sed 's/\(..\)/\1 /g' | { \
- read ch0 ch1 ch2 ch3; \
- for ch in $$ch3 $$ch2 $$ch1 $$ch0; do \
- printf '%s%03o' '\\' $$((0x$$ch)); \
- done; \
- } \
-)
-
+size_append = $(PERL) -e 'print pack("V", (stat "$(lastword $1)")[7])'
quiet_cmd_bzip2 = BZIP2 $@
cmd_bzip2 = (cat $(filter-out FORCE,$^) | \
bzip2 -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists