[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fstests
Subject:    Re: [PATCH v5] Code to allow cros-compilation on chromeOS
From:       Gwendal Grignou <gwendal () chromium ! org>
Date:       2017-04-28 16:58:40
Message-ID: CAMHSBOUirTR=P7-pnx39boCNoiF8Lt4U+42y477gORq60aiUxg () mail ! gmail ! com
[Download RAW message or body]

Ignore v5, I did not see your comment.

Your patch is:
    Tested-by: Gwendal Grignou <gwendal@chromium.org>

On Fri, Apr 28, 2017 at 9:27 AM, Gwendal Grignou <gwendal@chromium.org> wrote:
> - Request LIBTOOL to be used
> - Set topbuildir based on a Makefile variable to call libtool
> - Use /usr/local instead of /var for xfstest final location
> - Move macros from aclocal.m4 to acinclude.m4, aclocal.m4 is autogenerated.
> - Use autoconf variables @prefix@, @exec_prefix@.
>
> The regular way of compiling xfstests - make - remains.
> But it now runs autoreconf and libtoolize -i to produce a valid
> configure.
> Verified with 'make install --dry-run' that files are installed at the
> same place.
> Verified compiling in chromeOS chroot works as well.
>
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---
>
> Changes in v2:
> Removal of instal-sh, use of autoreconf
>
> Changes in v3:
> Use of @exec_prefix@ variable, unify installation location.
>
> Changes in v4:
> Add --install option to autoreconf so that aclocal is called with -I m4.
> Keep using AC_CONFIG_MACRO_DIR when autoconf is called directly.
> With --install option and AC_CONFIG_MACRO_DIR undefined verify that configure
> still works.
>
> Changes in v5:
> Rebase, move new changes from aclocal.m4 to acinclue.m4.
>
>  Makefile                   |   7 +-
>  aclocal.m4 => acinclude.m4 |  28 +----
>  configure.ac               |   3 +-
>  include/builddefs.in       |   9 +-
>  install-sh                 | 259 ---------------------------------------------
>  5 files changed, 15 insertions(+), 291 deletions(-)
>  rename aclocal.m4 => acinclude.m4 (53%)
>  delete mode 100755 install-sh
>
> diff --git a/Makefile b/Makefile
> index 30d8747d..d41750ab 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -76,12 +76,13 @@ clean:  # if configure hasn't run, nothing to clean
>  endif
>
>  configure: configure.ac
> -       autoheader
> -       autoconf
> +       autoreconf --include=m4
> +       libtoolize -i
>
>  include/builddefs include/config.h: configure
>         ./configure \
> -                --libexecdir=/usr/lib
> +                --libexecdir=/usr/lib \
> +                --exec_prefix=/var/lib
>
>  aclocal.m4::
>         aclocal --acdir=`pwd`/m4 --output=$@
> diff --git a/aclocal.m4 b/acinclude.m4
> similarity index 53%
> rename from aclocal.m4
> rename to acinclude.m4
> index 829fa101..a605c01c 100644
> --- a/aclocal.m4
> +++ b/acinclude.m4
> @@ -1,16 +1,7 @@
> -# generated automatically by aclocal 1.11 -*- Autoconf -*-
> -
> -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
> -# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
> -# This file is free software; the Free Software Foundation
> -# gives unlimited permission to copy and/or distribute it,
> -# with or without modifications, as long as this notice is preserved.
> -
> -# This program is distributed in the hope that it will be useful,
> -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
> -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
> -# PARTICULAR PURPOSE.
> -
> +dnl Copyright (C) 2016 Free Software Foundation, Inc.
> +dnl This file is free software; the Free Software Foundation
> +dnl gives unlimited permission to copy and/or distribute it,
> +dnl with or without modifications, as long as this notice is preserved.
>  AC_DEFUN([AC_PACKAGE_WANT_LINUX_FIEMAP_H],
>    [ AC_CHECK_HEADERS([linux/fiemap.h], [ have_fiemap=true ], [ have_fiemap=false ])
>      AC_SUBST(have_fiemap)
> @@ -52,14 +43,3 @@ AC_DEFUN([AC_PACKAGE_WANT_OPEN_BY_HANDLE_AT],
>        [ have_open_by_handle_at=false; AC_MSG_RESULT(no) ])
>      AC_SUBST(have_open_by_handle_at)
>    ])
> -m4_include([m4/multilib.m4])
> -m4_include([m4/package_acldev.m4])
> -m4_include([m4/package_aiodev.m4])
> -m4_include([m4/package_attrdev.m4])
> -m4_include([m4/package_dmapidev.m4])
> -m4_include([m4/package_gdbmdev.m4])
> -m4_include([m4/package_globals.m4])
> -m4_include([m4/package_ssldev.m4])
> -m4_include([m4/package_utilies.m4])
> -m4_include([m4/package_uuiddev.m4])
> -m4_include([m4/package_xfslibs.m4])
> diff --git a/configure.ac b/configure.ac
> index 1285bf4e..5ddaadc2 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1,5 +1,6 @@
>  AC_INIT([xfstests], [1.1.1])
> -AC_PREREQ(2.50)
> +AC_CONFIG_MACRO_DIR([m4])
> +LT_INIT
>  AC_CONFIG_SRCDIR([src/xfsctl.c])
>  AC_PACKAGE_GLOBALS(xfstests)
>  AC_PACKAGE_UTILITIES(xfstests)
> diff --git a/include/builddefs.in b/include/builddefs.in
> index 27250371..952a3e03 100644
> --- a/include/builddefs.in
> +++ b/include/builddefs.in
> @@ -7,6 +7,8 @@
>  ifndef _BUILDDEFS_INCLUDED_
>  _BUILDDEFS_INCLUDED_ = 1
>
> +top_builddir=$(TOPDIR)
> +
>  DEBUG = @debug_build@
>  OPTIMIZER = @opt_build@
>  MALLOCLIB = @malloc_lib@
> @@ -24,6 +26,7 @@ LIBUUID = @libuuid@
>  LIBHANDLE = @libhdl@
>  LIBDM = @libdm@
>  LIBTEST = $(TOPDIR)/lib/libtest.la
> +prefix = @prefix@
>
>  PKG_NAME        = @pkg_name@
>  PKG_USER        = @pkg_user@
> @@ -32,10 +35,8 @@ PKG_RELEASE     = @pkg_release@
>  PKG_VERSION     = @pkg_version@
>  PKG_PLATFORM    = @pkg_platform@
>  PKG_DISTRIBUTION= @pkg_distribution@
> -PKG_SBIN_DIR    = @sbindir@
> -# A bit of a hack; by rights only state should probably go here
> -# But for now ...
> -PKG_LIB_DIR     = /var/lib/@pkg_name@
> +PKG_LIB_DIR     = $(DESTDIR)@exec_prefix@/@pkg_name@
> +
>
>  CC              = @cc@
>  AWK             = @awk@
> diff --git a/install-sh b/install-sh
> deleted file mode 100755
> index 58e7b586..00000000
> --- a/install-sh
> +++ /dev/null
> @@ -1,259 +0,0 @@
> -#! /bin/bash
> -#
> -# Copyright (c) 2000-2001 Silicon Graphics, Inc.  All Rights Reserved.
> -#
> -# This program is free software; you can redistribute it and/or
> -# modify it under the terms of the GNU General Public License as
> -# published by the Free Software Foundation.
> -#
> -# This program is distributed in the hope that it would be useful,
> -# but WITHOUT ANY WARRANTY; without even the implied warranty of
> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> -# GNU General Public License for more details.
> -#
> -# You should have received a copy of the GNU General Public License
> -# along with this program; if not, write the Free Software Foundation,
> -# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
> -#
> -#
> -# This script emulates bsd install and also recognises
> -# two environment variables, with the following semantics :-
> -#
> -# $DIST_MANIFEST - if set, the name of the file to append manifest
> -#                  information in the following format:
> -#                  File     :  f mode owner group src target
> -#                  Directory:  d mode owner group target
> -#                  Symlink  :  l linkval target
> -#
> -# $DIST_ROOT     - if set, prepend to target
> -#
> -# The sematics of all combinations of these two variables
> -# are as follows:
> -#
> -# $DIST_MANIFEST?  $DIST_ROOT? |   Copy?  Append Manifest?
> -# -----------------------------+--------------------------
> -#       not set       not set  |    yes        no
> -#       not set       set      |    yes        no
> -#       set           not set  |    no         yes
> -#       set           set      |    yes        yes
> -#
> -_usage() {
> -    echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
> -    echo "or     $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
> -    echo "or     $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
> -    echo "or     $prog -S file target  (creates \"target\" symlink)"
> -    echo ""
> -    echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the"
> -    echo "behaviour of this command - see comments in the script."
> -    echo "The -D flag is only available for the second usage, and causes"
> -    echo "the target directory to be created before installing the file."
> -    echo ""
> -    exit 1
> -}
> -
> -_chown ()
> -{
> -    _st=255
> -    if [ $# -eq 3 ] ; then
> -       chown $1:$2 $3
> -       _st=$?
> -       if [ $_st -ne 0 ] ; then
> -           if [ $REAL_UID != '0' ] ; then
> -               if [ ! -f $DIST_ROOT/.chown.quite ] ; then
> -                   echo '==============================================='
> -                   echo Ownership of files under ${DIST_ROOT:-/}
> -                   echo cannot be changed
> -                   echo '==============================================='
> -                   if [ -n "$DIST_ROOT" ] ; then
> -                       touch $DIST_ROOT/.chown.quite
> -                   fi
> -               fi
> -              _st=0
> -           fi
> -       fi
> -    fi
> -
> -    return $_st
> -}
> -
> -
> -_manifest ()
> -{
> -    echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
> -}
> -
> -prog=`basename $0`
> -HERE=`pwd`
> -dflag=false
> -Dflag=false
> -Sflag=false
> -DIRMODE=755
> -FILEMODE=644
> -OWNER=`id -u`
> -GROUP=`id -g`
> -REAL_UID=$OWNER
> -
> -# default is to install and don't append manifest
> -INSTALL=true
> -MANIFEST=:
> -
> -: ${DIST_ROOT:=${DESTDIR}}
> -
> -[ -n "$DIST_MANIFEST" -a -z "$DIST_ROOT" ] && INSTALL=false
> -[ -n "$DIST_MANIFEST" ] && MANIFEST="_manifest"
> -
> -[ $# -eq 0 ] && _usage
> -
> -if $INSTALL
> -then
> -    CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
> -else
> -    CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
> -fi
> -
> -[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
> -
> -while getopts "Dcm:d:S:o:g:" c $*
> -do
> -   case $c in
> -   c)
> -       ;;
> -   g)
> -       GROUP=$OPTARG
> -       ;;
> -   o)
> -       OWNER=$OPTARG
> -       ;;
> -   m)
> -       DIRMODE=`expr $OPTARG`
> -       FILEMODE=$DIRMODE
> -       ;;
> -   D)
> -       Dflag=true
> -       ;;
> -   S)
> -       symlink=$OPTARG
> -       Sflag=true
> -       ;;
> -   d)
> -       dir=$DIST_ROOT/$OPTARG
> -       dflag=true
> -       ;;
> -   *)
> -       _usage
> -       ;;
> -   esac
> -done
> -
> -shift `expr $OPTIND - 1`
> -
> -status=0
> -if $dflag
> -then
> -    #
> -    # first usage
> -    #
> -    $MKDIR -p $dir
> -    status=$?
> -    if [ $status -eq 0 ]
> -    then
> -       $CHMOD $DIRMODE $dir
> -       status=$?
> -    fi
> -    if [ $status -eq 0 ]
> -    then
> -       $CHOWN $OWNER $GROUP $dir
> -       status=$?
> -    fi
> -    $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
> -elif $Sflag
> -then
> -    #
> -    # fourth usage (symlink)
> -    #
> -    if [ $# -ne 1 ]
> -    then
> -       _usage
> -    else
> -       target=$DIST_ROOT/$1
> -    fi
> -    $LN -s -f $symlink $target
> -    status=$?
> -    $MANIFEST l $symlink ${target#$DIST_ROOT}
> -else
> -    list=""
> -    dir=""
> -    if [ $# -eq 2 ]
> -    then
> -       #
> -       # second usage
> -       #
> -       f=$1
> -       dir=$DIST_ROOT/$2
> -       if $Dflag
> -       then
> -           mkdir -p `dirname $dir`
> -       fi
> -       $CP $f $dir
> -       status=$?
> -       if [ $status -eq 0 ]
> -       then
> -           if [ -f $dir/$f ]
> -           then
> -               $CHMOD $FILEMODE $dir/$f
> -               status=$?
> -               if [ $status -eq 0 ]
> -               then
> -                   $CHOWN $OWNER $GROUP $dir/$f
> -                   status=$?
> -               fi
> -               $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
> -           else
> -               $CHMOD $FILEMODE $dir
> -               status=$?
> -               if [ $status -eq 0 ]
> -               then
> -                   $CHOWN $OWNER $GROUP $dir
> -                   status=$?
> -               fi
> -               $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT}
> -           fi
> -       fi
> -    else
> -       #
> -       # third usage
> -       #
> -       n=1
> -       while [ $# -gt 0 ]
> -       do
> -           if [ $# -gt 1 ]
> -           then
> -               list="$list $1"
> -           else
> -               dir=$DIST_ROOT/$1
> -           fi
> -           shift
> -       done
> -
> -       # echo DIR=$dir list=\"$list\"
> -       for f in $list
> -       do
> -           $CP $f $dir
> -           status=$?
> -           if [ $status -eq 0 ]
> -           then
> -               $CHMOD $FILEMODE $dir/$f
> -               status=$?
> -               if [ $status -eq 0 ]
> -               then
> -                   $CHOWN $OWNER $GROUP $dir/$f
> -                   status=$?
> -               fi
> -               $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
> -           fi
> -           [ $status -ne 0 ] && break
> -       done
> -    fi
> -fi
> -
> -exit $status
> --
> 2.13.0.rc0.306.g87b477812d-goog
>
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic