All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip
@ 2012-03-14 16:45 Thomas De Schampheleire
  2012-03-14 16:45 ` [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword Thomas De Schampheleire
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-03-14 16:45 UTC (permalink / raw)
  To: buildroot

This patch series adds a few utility functions to Makefile.package.in that
help in composing find commands, and uses these functions to exclude
user-configured files and directories from being stripped in target-finalize.

Thanks to input from Arnout, the find functions are now much simpler and
should be clearly understandable by everyone.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
v4: simplify find functions even further; whitespace changes
v3: update based on review comments, remove Python changes for now
v2: simplify find functions

 Config.in                   |  19 +++++++++++++++++++
 Makefile                    |  10 ++++++++--
 package/Makefile.package.in |  10 ++++++++++
 3 files changed, 37 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword
  2012-03-14 16:45 [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip Thomas De Schampheleire
@ 2012-03-14 16:45 ` Thomas De Schampheleire
  2012-03-23 14:53   ` Thomas De Schampheleire
  2012-03-14 16:45 ` [Buildroot] [PATCH 2 of 2 v4-resend] build: add option to exclude executables/dirs from being stripped Thomas De Schampheleire
  2012-03-23 14:53 ` [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip Thomas De Schampheleire
  2 siblings, 1 reply; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-03-14 16:45 UTC (permalink / raw)
  To: buildroot

This patch adds a few utility functions to Makefile.package.in.

Functions finddirclauses and findfileclauses help in building a find command
that skips a set of directories and performs operations on a set of files.
This pattern can for example be used to keep certain files or directories from
being stripped, or to remove certain files from a package installation.

The notfirstword function is the inverse of the 'firstword' function in make:
it returns all but the first word.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

---
v4: simplify find*clauses even further. Thanks, Arnout!
v3: use -path instead of -wholename; fix a bug in finddirclauses. Thanks, Cam.
v2: integrate _cont variants in main find*clauses functions. Thanks, Arnout.

 package/Makefile.package.in |  10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/package/Makefile.package.in b/package/Makefile.package.in
--- a/package/Makefile.package.in
+++ b/package/Makefile.package.in
@@ -87,6 +87,16 @@ MESSAGE = echo "$(TERM_BOLD)>>> $($(PKG)
 TERM_BOLD := $(shell tput smso)
 TERM_RESET := $(shell tput rmso)
 
+# Utility functions for 'find'
+# findfileclauses(filelist) => -name 'X' -o -name 'Y'
+findfileclauses = $(call notfirstword,$(patsubst %,-o -name '%',$(1)))
+# finddirclauses(base, dirlist) => -path 'base/dirX' -o -path 'base/dirY'
+finddirclauses = $(call notfirstword,$(patsubst %,-o -path '$(1)/%',$(2)))
+
+# Miscellaneous utility functions
+# notfirstword(wordlist): returns all but the first word in wordlist
+notfirstword = $(wordlist 2,$(words $(1)),$(1))
+
 # Download method commands
 WGET:=$(call qstrip,$(BR2_WGET)) $(QUIET)
 SVN:=$(call qstrip,$(BR2_SVN))

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 2 of 2 v4-resend] build: add option to exclude executables/dirs from being stripped
  2012-03-14 16:45 [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip Thomas De Schampheleire
  2012-03-14 16:45 ` [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword Thomas De Schampheleire
@ 2012-03-14 16:45 ` Thomas De Schampheleire
  2012-03-23 14:53   ` Thomas De Schampheleire
  2012-03-23 14:53 ` [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip Thomas De Schampheleire
  2 siblings, 1 reply; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-03-14 16:45 UTC (permalink / raw)
  To: buildroot

Sometimes it may be desirable to keep debug symbols for some binaries and
libraries on the target. This commit introduces the config option
BR2_STRIP_EXCLUDE_FILES, which is interpreted as a list of such binaries
and libraries, and the option BR2_STRIP_EXCLUDE_DIRS, which indicates
directories excluded from stripping entirely.
These exclusions are passed to the find command in the target-finalize step.

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

---
v4: whitespace changes
v3: merge with redundant patch 'stripping: use findfileclauses utility function'
v2: add the possibility to exclude entire directories

 Config.in |  19 +++++++++++++++++++
 Makefile  |  10 ++++++++--
 2 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/Config.in b/Config.in
--- a/Config.in
+++ b/Config.in
@@ -269,6 +269,25 @@ config BR2_STRIP_none
 	  none    do not strip (only for debugging!)
 endchoice
 
+config BR2_STRIP_EXCLUDE_FILES
+	string "executables that should not be stripped"
+	depends on !BR2_STRIP_none
+	default ""
+	help
+	  You may specify a space-separated list of binaries and libraries
+	  here that should not be stripped on the target.
+
+config BR2_STRIP_EXCLUDE_DIRS
+	string "directories that should be skipped when stripping"
+	depends on !BR2_STRIP_none
+	default ""
+	help
+	  You may specify a space-separated list of directories that should
+	  be skipped when stripping. Binaries and libraries in these
+	  directories will not be touched.
+	  The directories should be specified relative to the target directory,
+	  without leading slash.
+
 choice
 	prompt "gcc optimization level"
 	default BR2_OPTIMIZE_S
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -438,6 +438,13 @@ endif
 erase-fakeroots:
 	rm -f $(BUILD_DIR)/.fakeroot*
 
+STRIP_FIND_CMD = find $(TARGET_DIR)
+ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
+STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
+endif
+STRIP_FIND_CMD += -type f -perm +111
+STRIP_FIND_CMD += -not \( $(call findfileclauses,libthread_db*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
+
 target-finalize:
 ifeq ($(BR2_HAVE_DEVFILES),y)
 	( support/scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) )
@@ -462,8 +469,7 @@ endif
 ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
 	find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
 endif
-	find $(TARGET_DIR) -type f -perm +111 '!' -name 'libthread_db*.so*' | \
-		xargs $(STRIPCMD) 2>/dev/null || true
+	$(STRIP_FIND_CMD) | xargs $(STRIPCMD) 2>/dev/null || true
 	find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
 		xargs -r $(KSTRIPCMD) || true
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip
  2012-03-14 16:45 [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip Thomas De Schampheleire
  2012-03-14 16:45 ` [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword Thomas De Schampheleire
  2012-03-14 16:45 ` [Buildroot] [PATCH 2 of 2 v4-resend] build: add option to exclude executables/dirs from being stripped Thomas De Schampheleire
@ 2012-03-23 14:53 ` Thomas De Schampheleire
  2 siblings, 0 replies; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-03-23 14:53 UTC (permalink / raw)
  To: buildroot

On Wed, Mar 14, 2012 at 5:45 PM, Thomas De Schampheleire
<patrickdepinguin+buildroot@gmail.com> wrote:
> This patch series adds a few utility functions to Makefile.package.in that
> help in composing find commands, and uses these functions to exclude
> user-configured files and directories from being stripped in target-finalize.
>
> Thanks to input from Arnout, the find functions are now much simpler and
> should be clearly understandable by everyone.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
>
> ---
> v4: simplify find functions even further; whitespace changes
> v3: update based on review comments, remove Python changes for now
> v2: simplify find functions
>
> ?Config.in ? ? ? ? ? ? ? ? ? | ?19 +++++++++++++++++++
> ?Makefile ? ? ? ? ? ? ? ? ? ?| ?10 ++++++++--
> ?package/Makefile.package.in | ?10 ++++++++++
> ?3 files changed, 37 insertions(+), 2 deletions(-)

bump

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword
  2012-03-14 16:45 ` [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword Thomas De Schampheleire
@ 2012-03-23 14:53   ` Thomas De Schampheleire
  2012-05-04 19:17     ` Thomas De Schampheleire
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-03-23 14:53 UTC (permalink / raw)
  To: buildroot

On Wed, Mar 14, 2012 at 5:45 PM, Thomas De Schampheleire
<patrickdepinguin+buildroot@gmail.com> wrote:
> This patch adds a few utility functions to Makefile.package.in.
>
> Functions finddirclauses and findfileclauses help in building a find command
> that skips a set of directories and performs operations on a set of files.
> This pattern can for example be used to keep certain files or directories from
> being stripped, or to remove certain files from a package installation.
>
> The notfirstword function is the inverse of the 'firstword' function in make:
> it returns all but the first word.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>
> ---
> v4: simplify find*clauses even further. Thanks, Arnout!
> v3: use -path instead of -wholename; fix a bug in finddirclauses. Thanks, Cam.
> v2: integrate _cont variants in main find*clauses functions. Thanks, Arnout.
>
> ?package/Makefile.package.in | ?10 ++++++++++
> ?1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/package/Makefile.package.in b/package/Makefile.package.in
> --- a/package/Makefile.package.in
> +++ b/package/Makefile.package.in
> @@ -87,6 +87,16 @@ MESSAGE = echo "$(TERM_BOLD)>>> $($(PKG)
> ?TERM_BOLD := $(shell tput smso)
> ?TERM_RESET := $(shell tput rmso)
>
> +# Utility functions for 'find'
> +# findfileclauses(filelist) => -name 'X' -o -name 'Y'
> +findfileclauses = $(call notfirstword,$(patsubst %,-o -name '%',$(1)))
> +# finddirclauses(base, dirlist) => -path 'base/dirX' -o -path 'base/dirY'
> +finddirclauses = $(call notfirstword,$(patsubst %,-o -path '$(1)/%',$(2)))
> +
> +# Miscellaneous utility functions
> +# notfirstword(wordlist): returns all but the first word in wordlist
> +notfirstword = $(wordlist 2,$(words $(1)),$(1))
> +
> ?# Download method commands
> ?WGET:=$(call qstrip,$(BR2_WGET)) $(QUIET)
> ?SVN:=$(call qstrip,$(BR2_SVN))

bump

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 2 of 2 v4-resend] build: add option to exclude executables/dirs from being stripped
  2012-03-14 16:45 ` [Buildroot] [PATCH 2 of 2 v4-resend] build: add option to exclude executables/dirs from being stripped Thomas De Schampheleire
@ 2012-03-23 14:53   ` Thomas De Schampheleire
  2012-05-04 19:16     ` Thomas De Schampheleire
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-03-23 14:53 UTC (permalink / raw)
  To: buildroot

On Wed, Mar 14, 2012 at 5:45 PM, Thomas De Schampheleire
<patrickdepinguin+buildroot@gmail.com> wrote:
> Sometimes it may be desirable to keep debug symbols for some binaries and
> libraries on the target. This commit introduces the config option
> BR2_STRIP_EXCLUDE_FILES, which is interpreted as a list of such binaries
> and libraries, and the option BR2_STRIP_EXCLUDE_DIRS, which indicates
> directories excluded from stripping entirely.
> These exclusions are passed to the find command in the target-finalize step.
>
> Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>
> ---
> v4: whitespace changes
> v3: merge with redundant patch 'stripping: use findfileclauses utility function'
> v2: add the possibility to exclude entire directories
>
> ?Config.in | ?19 +++++++++++++++++++
> ?Makefile ?| ?10 ++++++++--
> ?2 files changed, 27 insertions(+), 2 deletions(-)
>
> diff --git a/Config.in b/Config.in
> --- a/Config.in
> +++ b/Config.in
> @@ -269,6 +269,25 @@ config BR2_STRIP_none
> ? ? ? ? ?none ? ?do not strip (only for debugging!)
> ?endchoice
>
> +config BR2_STRIP_EXCLUDE_FILES
> + ? ? ? string "executables that should not be stripped"
> + ? ? ? depends on !BR2_STRIP_none
> + ? ? ? default ""
> + ? ? ? help
> + ? ? ? ? You may specify a space-separated list of binaries and libraries
> + ? ? ? ? here that should not be stripped on the target.
> +
> +config BR2_STRIP_EXCLUDE_DIRS
> + ? ? ? string "directories that should be skipped when stripping"
> + ? ? ? depends on !BR2_STRIP_none
> + ? ? ? default ""
> + ? ? ? help
> + ? ? ? ? You may specify a space-separated list of directories that should
> + ? ? ? ? be skipped when stripping. Binaries and libraries in these
> + ? ? ? ? directories will not be touched.
> + ? ? ? ? The directories should be specified relative to the target directory,
> + ? ? ? ? without leading slash.
> +
> ?choice
> ? ? ? ?prompt "gcc optimization level"
> ? ? ? ?default BR2_OPTIMIZE_S
> diff --git a/Makefile b/Makefile
> --- a/Makefile
> +++ b/Makefile
> @@ -438,6 +438,13 @@ endif
> ?erase-fakeroots:
> ? ? ? ?rm -f $(BUILD_DIR)/.fakeroot*
>
> +STRIP_FIND_CMD = find $(TARGET_DIR)
> +ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
> +STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
> +endif
> +STRIP_FIND_CMD += -type f -perm +111
> +STRIP_FIND_CMD += -not \( $(call findfileclauses,libthread_db*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
> +
> ?target-finalize:
> ?ifeq ($(BR2_HAVE_DEVFILES),y)
> ? ? ? ?( support/scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) )
> @@ -462,8 +469,7 @@ endif
> ?ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
> ? ? ? ?find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
> ?endif
> - ? ? ? find $(TARGET_DIR) -type f -perm +111 '!' -name 'libthread_db*.so*' | \
> - ? ? ? ? ? ? ? xargs $(STRIPCMD) 2>/dev/null || true
> + ? ? ? $(STRIP_FIND_CMD) | xargs $(STRIPCMD) 2>/dev/null || true
> ? ? ? ?find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
> ? ? ? ? ? ? ? ?xargs -r $(KSTRIPCMD) || true
>

bump

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 2 of 2 v4-resend] build: add option to exclude executables/dirs from being stripped
  2012-03-23 14:53   ` Thomas De Schampheleire
@ 2012-05-04 19:16     ` Thomas De Schampheleire
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-05-04 19:16 UTC (permalink / raw)
  To: buildroot

On Fri, Mar 23, 2012 at 3:53 PM, Thomas De Schampheleire
<patrickdepinguin+buildroot@gmail.com> wrote:
> On Wed, Mar 14, 2012 at 5:45 PM, Thomas De Schampheleire
> <patrickdepinguin+buildroot@gmail.com> wrote:
>> Sometimes it may be desirable to keep debug symbols for some binaries and
>> libraries on the target. This commit introduces the config option
>> BR2_STRIP_EXCLUDE_FILES, which is interpreted as a list of such binaries
>> and libraries, and the option BR2_STRIP_EXCLUDE_DIRS, which indicates
>> directories excluded from stripping entirely.
>> These exclusions are passed to the find command in the target-finalize step.
>>
>> Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
>> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
>> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>>
>> ---
>> v4: whitespace changes
>> v3: merge with redundant patch 'stripping: use findfileclauses utility function'
>> v2: add the possibility to exclude entire directories
>>
>> ?Config.in | ?19 +++++++++++++++++++
>> ?Makefile ?| ?10 ++++++++--
>> ?2 files changed, 27 insertions(+), 2 deletions(-)
>>
>> diff --git a/Config.in b/Config.in
>> --- a/Config.in
>> +++ b/Config.in
>> @@ -269,6 +269,25 @@ config BR2_STRIP_none
>> ? ? ? ? ?none ? ?do not strip (only for debugging!)
>> ?endchoice
>>
>> +config BR2_STRIP_EXCLUDE_FILES
>> + ? ? ? string "executables that should not be stripped"
>> + ? ? ? depends on !BR2_STRIP_none
>> + ? ? ? default ""
>> + ? ? ? help
>> + ? ? ? ? You may specify a space-separated list of binaries and libraries
>> + ? ? ? ? here that should not be stripped on the target.
>> +
>> +config BR2_STRIP_EXCLUDE_DIRS
>> + ? ? ? string "directories that should be skipped when stripping"
>> + ? ? ? depends on !BR2_STRIP_none
>> + ? ? ? default ""
>> + ? ? ? help
>> + ? ? ? ? You may specify a space-separated list of directories that should
>> + ? ? ? ? be skipped when stripping. Binaries and libraries in these
>> + ? ? ? ? directories will not be touched.
>> + ? ? ? ? The directories should be specified relative to the target directory,
>> + ? ? ? ? without leading slash.
>> +
>> ?choice
>> ? ? ? ?prompt "gcc optimization level"
>> ? ? ? ?default BR2_OPTIMIZE_S
>> diff --git a/Makefile b/Makefile
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -438,6 +438,13 @@ endif
>> ?erase-fakeroots:
>> ? ? ? ?rm -f $(BUILD_DIR)/.fakeroot*
>>
>> +STRIP_FIND_CMD = find $(TARGET_DIR)
>> +ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
>> +STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
>> +endif
>> +STRIP_FIND_CMD += -type f -perm +111
>> +STRIP_FIND_CMD += -not \( $(call findfileclauses,libthread_db*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
>> +
>> ?target-finalize:
>> ?ifeq ($(BR2_HAVE_DEVFILES),y)
>> ? ? ? ?( support/scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) )
>> @@ -462,8 +469,7 @@ endif
>> ?ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
>> ? ? ? ?find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
>> ?endif
>> - ? ? ? find $(TARGET_DIR) -type f -perm +111 '!' -name 'libthread_db*.so*' | \
>> - ? ? ? ? ? ? ? xargs $(STRIPCMD) 2>/dev/null || true
>> + ? ? ? $(STRIP_FIND_CMD) | xargs $(STRIPCMD) 2>/dev/null || true
>> ? ? ? ?find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
>> ? ? ? ? ? ? ? ?xargs -r $(KSTRIPCMD) || true
>>
>
> bump

bump again.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword
  2012-03-23 14:53   ` Thomas De Schampheleire
@ 2012-05-04 19:17     ` Thomas De Schampheleire
  2012-05-04 20:27       ` Arnout Vandecappelle
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-05-04 19:17 UTC (permalink / raw)
  To: buildroot

On Fri, Mar 23, 2012 at 3:53 PM, Thomas De Schampheleire
<patrickdepinguin+buildroot@gmail.com> wrote:
> On Wed, Mar 14, 2012 at 5:45 PM, Thomas De Schampheleire
> <patrickdepinguin+buildroot@gmail.com> wrote:
>> This patch adds a few utility functions to Makefile.package.in.
>>
>> Functions finddirclauses and findfileclauses help in building a find command
>> that skips a set of directories and performs operations on a set of files.
>> This pattern can for example be used to keep certain files or directories from
>> being stripped, or to remove certain files from a package installation.
>>
>> The notfirstword function is the inverse of the 'firstword' function in make:
>> it returns all but the first word.
>>
>> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
>> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>>
>> ---
>> v4: simplify find*clauses even further. Thanks, Arnout!
>> v3: use -path instead of -wholename; fix a bug in finddirclauses. Thanks, Cam.
>> v2: integrate _cont variants in main find*clauses functions. Thanks, Arnout.
>>
>> ?package/Makefile.package.in | ?10 ++++++++++
>> ?1 files changed, 10 insertions(+), 0 deletions(-)
>>
>> diff --git a/package/Makefile.package.in b/package/Makefile.package.in
>> --- a/package/Makefile.package.in
>> +++ b/package/Makefile.package.in
>> @@ -87,6 +87,16 @@ MESSAGE = echo "$(TERM_BOLD)>>> $($(PKG)
>> ?TERM_BOLD := $(shell tput smso)
>> ?TERM_RESET := $(shell tput rmso)
>>
>> +# Utility functions for 'find'
>> +# findfileclauses(filelist) => -name 'X' -o -name 'Y'
>> +findfileclauses = $(call notfirstword,$(patsubst %,-o -name '%',$(1)))
>> +# finddirclauses(base, dirlist) => -path 'base/dirX' -o -path 'base/dirY'
>> +finddirclauses = $(call notfirstword,$(patsubst %,-o -path '$(1)/%',$(2)))
>> +
>> +# Miscellaneous utility functions
>> +# notfirstword(wordlist): returns all but the first word in wordlist
>> +notfirstword = $(wordlist 2,$(words $(1)),$(1))
>> +
>> ?# Download method commands
>> ?WGET:=$(call qstrip,$(BR2_WGET)) $(QUIET)
>> ?SVN:=$(call qstrip,$(BR2_SVN))
>
> bump

bump again

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword
  2012-05-04 19:17     ` Thomas De Schampheleire
@ 2012-05-04 20:27       ` Arnout Vandecappelle
  2012-05-05  7:11         ` Thomas De Schampheleire
  0 siblings, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2012-05-04 20:27 UTC (permalink / raw)
  To: buildroot

>>> diff --git a/package/Makefile.package.in b/package/Makefile.package.in

  Unfortunately, Makefile.package.in no longer exists...

  Regards,
  Arnout


-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword
  2012-05-04 20:27       ` Arnout Vandecappelle
@ 2012-05-05  7:11         ` Thomas De Schampheleire
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas De Schampheleire @ 2012-05-05  7:11 UTC (permalink / raw)
  To: buildroot

Op 4 mei 2012 22:28 schreef "Arnout Vandecappelle" <arnout@mind.be> het
volgende:
>>>>
>>>> diff --git a/package/Makefile.package.in b/package/Makefile.package.in
>
>
>  Unfortunately, Makefile.package.in no longer exists...
>

Dammit, frickin people that reorganize the code all the time! ;)

I should have checked that, will repost...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120505/5efbb6c5/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-05-05  7:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-14 16:45 [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip Thomas De Schampheleire
2012-03-14 16:45 ` [Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword Thomas De Schampheleire
2012-03-23 14:53   ` Thomas De Schampheleire
2012-05-04 19:17     ` Thomas De Schampheleire
2012-05-04 20:27       ` Arnout Vandecappelle
2012-05-05  7:11         ` Thomas De Schampheleire
2012-03-14 16:45 ` [Buildroot] [PATCH 2 of 2 v4-resend] build: add option to exclude executables/dirs from being stripped Thomas De Schampheleire
2012-03-23 14:53   ` Thomas De Schampheleire
2012-05-04 19:16     ` Thomas De Schampheleire
2012-03-23 14:53 ` [Buildroot] [PATCH 0 of 2 v4-resend] Add find utility functions / exclude files from strip Thomas De Schampheleire

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.