Could the variable point to the full path (/usr/bin/sed)? It's quiet
possible for a Mac user to also install GNU/sed and put it in their
path before BSD sed to avoid compiling issues with other programs.

On Sun, Apr 26, 2009 at 10:22 AM, Dan McGee <[email protected]> wrote:
> On Sun, Apr 26, 2009 at 6:13 AM, Allan McRae <[email protected]> wrote:
>> Do a sed replacement in-place is not very portable.  On Mac OSX and
>> BSDs, the syntax is "sed -i ''" where as with GNU sed the command is
>> "sed -i''" or just "sed -i".  This patch detects which command should
>> be used during configure.
>>
>> Credit to Kevin Barry who researched this issue and provided a patch
>> to work around this using temporary backup files.
>>
>> Signed-off-by: Allan McRae <[email protected]>
> Signed-off-by: Dan McGee <[email protected]>
>
> Of course I didn't test it too extensively, but the concept looks just fine.
>
>> ---
>>  configure.ac          |    5 +++++
>>  scripts/Makefile.am   |    1 +
>>  scripts/makepkg.sh.in |    4 ++--
>>  3 files changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 5dcbe79..a83d5e4 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -180,9 +180,11 @@ GCC_GNU89_INLINE_CC
>>
>>  # Host-dependant definitions
>>  SIZECMD="stat -c %s"
>> +SEDINPLACE="sed -i"
>>  case "${host_os}" in
>>        *bsd*)
>>                SIZECMD="stat -f %z"
>> +               SEDINPLACE="sed -i ''"
>>                ;;
>>        cygwin*)
>>                host_os_cygwin=yes
>> @@ -191,12 +193,14 @@ case "${host_os}" in
>>        darwin*)
>>                host_os_darwin=yes
>>                SIZECMD="/usr/bin/stat -f %z"
>> +               SEDINPLACE="sed -i ''"
>>                ;;
>>  esac
>>
>>  AM_CONDITIONAL([CYGWIN], test "x$host_os_cygwin" = "xyes")
>>  AM_CONDITIONAL([DARWIN], test "x$host_os_darwin" = "xyes")
>>  AC_SUBST(SIZECMD)
>> +AC_SUBST(SEDINPLACE)
>>
>>  # Check for architecture, used in default makepkg.conf
>>  # (Note single space left after CARCHFLAGS)
>> @@ -356,6 +360,7 @@ ${PACKAGE_NAME}:
>>     Architecture flags     : ${CARCHFLAGS}
>>     Host Type              : ${CHOST}
>>     Filesize command       : ${SIZECMD}
>> +    In-place sed command   : ${SEDINPLACE}
>>
>>     libalpm version        : ${LIB_VERSION}
>>     libalpm version info   : ${LIB_VERSION_INFO}
>> diff --git a/scripts/Makefile.am b/scripts/Makefile.am
>> index 5a2b780..5d65653 100644
>> --- a/scripts/Makefile.am
>> +++ b/scripts/Makefile.am
>> @@ -41,6 +41,7 @@ edit = sed \
>>        -e 's|@dbe...@]|$(DBEXT)|g' \
>>        -e 's|@buildscri...@]|$(BUILDSCRIPT)|g' \
>>        -e 's|@sizec...@]|$(SIZECMD)|g' \
>> +       -e 's|@sedinpla...@]|$(SEDINPLACE)|g' \
>>        -e 's|@configure_inp...@]|Generated from [email protected]; do not edit by 
>> hand.|g'
>>
>>  ## All the scripts depend on Makefile so that they are rebuilt when the
>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>> index c97eff2..ca25fbb 100644
>> --- a/scripts/makepkg.sh.in
>> +++ b/scripts/makepkg.sh.in
>> @@ -1171,8 +1171,8 @@ devel_update() {
>>        if [ -n "$newpkgver" ]; then
>>                if [ "$newpkgver" != "$pkgver" ]; then
>>                        if [ -f "./$BUILDSCRIPT" ]; then
>> -                               sed -i "s/^pkgver=[^ ]*/pkgver=$newpkgver/" 
>> "./$BUILDSCRIPT"
>> -                               sed -i "s/^pkgrel=[^ ]*/pkgrel=1/" 
>> "./$BUILDSCRIPT"
>> +                               @SEDINPLACE@ "s/^pkgver=[^ 
>> ]*/pkgver=$newpkgver/" "./$BUILDSCRIPT"
>> +                               @SEDINPLACE@ "s/^pkgrel=[^ ]*/pkgrel=1/" 
>> "./$BUILDSCRIPT"
>>                                source "$BUILDSCRIPT"
>>                        fi
>>                fi
>> --
>> 1.6.2.4
>>
>> _______________________________________________
>> pacman-dev mailing list
>> [email protected]
>> http://www.archlinux.org/mailman/listinfo/pacman-dev
>>
> _______________________________________________
> pacman-dev mailing list
> [email protected]
> http://www.archlinux.org/mailman/listinfo/pacman-dev
>
_______________________________________________
pacman-dev mailing list
[email protected]
http://www.archlinux.org/mailman/listinfo/pacman-dev

Reply via email to