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
