[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