[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 for-4.8] tools/libacpi: fix sed usage



On Mon, Oct 31, 2016 at 11:05:20AM +0100, Roger Pau Monne wrote:
> Current usage of sed in the libacpi Makefile make uses of non-POSIX options,
> that are not available on all the OSes supported by the Xen tools.
> 
> The '-i' option has slightly different semantics between GNU and BSD sed
> implementations, while on the GNU version the suffix is optional, on the BSD
> one it is not. Also BSD sed seems to have problems parsing the script
> itself, reporting "extra characters at the end of d command".
> 
> Fix those issues by using a temporary intermediate file, and replace the
> script with a simpler version that achieves the same purpose (removing the
> initial license header comment).
> 
> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>

> ---
> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
> Changes since v1:
>  - Don't pipe awk output into sed, in order to prevent losing error status.
> ---
>  tools/libacpi/Makefile | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
> index 18a5cd4..b79db47 100644
> --- a/tools/libacpi/Makefile
> +++ b/tools/libacpi/Makefile
> @@ -47,9 +47,11 @@ $(MK_DSDT): mk_dsdt.c
>  
>  ifeq ($(GPL),y)
>  $(ACPI_BUILD_DIR)/dsdt_anycpu_qemu_xen.asl: dsdt.asl dsdt_acpi_info.asl 
> gpl/mk_dsdt_gpl.sh $(MK_DSDT)
> -     awk 'NR > 1 {print s} {s=$$0}' $< > $@.$(TMP_SUFFIX)
> +     # Remove last bracket
> +     awk 'NR > 1 {print s} {s=$$0}' $< > $@.1.$(TMP_SUFFIX)
>       # Strip license comment
> -     sed -i '1,/\*\//{/\/\*/,/\*\//d}' $@.$(TMP_SUFFIX)
> +     sed '1,/\*\//d' $@.1.$(TMP_SUFFIX) > $@.$(TMP_SUFFIX)
> +     rm -f $@.1.$(TMP_SUFFIX)
>       $(SHELL) gpl/mk_dsdt_gpl.sh >> $@.$(TMP_SUFFIX)
>       cat dsdt_acpi_info.asl >> $@.$(TMP_SUFFIX)
>       $(MK_DSDT) --debug=$(debug) --dm-version qemu-xen >> $@.$(TMP_SUFFIX)
> @@ -57,8 +59,11 @@ $(ACPI_BUILD_DIR)/dsdt_anycpu_qemu_xen.asl: dsdt.asl 
> dsdt_acpi_info.asl gpl/mk_d
>  
>  # NB. awk invocation is a portable alternative to 'head -n -1'
>  $(ACPI_BUILD_DIR)/dsdt_%cpu.asl: dsdt.asl dsdt_acpi_info.asl 
> gpl/mk_dsdt_gpl.sh $(MK_DSDT)
> -     awk 'NR > 1 {print s} {s=$$0}' $< > $@.$(TMP_SUFFIX)
> -     sed -i '1,/\*\//{/\/\*/,/\*\//d}' $@.$(TMP_SUFFIX)
> +     # Remove last bracket
> +     awk 'NR > 1 {print s} {s=$$0}' $< > $@.1.$(TMP_SUFFIX)
> +     # Strip license comment
> +     sed '1,/\*\//d' $@.1.$(TMP_SUFFIX) > $@.$(TMP_SUFFIX)
> +     rm -f $@.1.$(TMP_SUFFIX)
>       $(SHELL) gpl/mk_dsdt_gpl.sh >> $@.$(TMP_SUFFIX)
>       cat dsdt_acpi_info.asl >> $@.$(TMP_SUFFIX)
>       $(MK_DSDT) --debug=$(debug) --maxcpu $*  >> $@.$(TMP_SUFFIX)
> -- 
> 2.7.4 (Apple Git-66)
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.