From bfd43dc894fcf2cc64ec73e8ea0a779064c47dd4 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Mon, 23 May 2016 11:06:38 +0200 Subject: build: include a dummy config.sub and config.guess in releases There is no hard requirement for a config.guess and config.sub script in the release tarball. By passing --build=... and --host=... to ./configure, the scripts are not executed. When doing local builds, the ./autogen.sh script (by running automake) will place a config.guess and config.sub script in the root of the source tree. Upon creation of the release ('make dist') tarball, the scripts are replaced by dummy copies from the build-aux/ directory. The main advantage to not include these scripts in the repository, is that there is no need to track upstream updates for them either. Change-Id: I5e930988a9e849ec5d0c84d2e30e61f2a9685f45 BUG: 1223937 Reported-by: Emmanuel Dreyfus Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/14503 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Kaleb KEITHLEY --- .gitignore | 1 + Makefile.am | 3 ++- autogen.sh | 2 +- build-aux/config.guess.dist | 14 ++++++++++++++ build-aux/config.sub.dist | 14 ++++++++++++++ glusterfs.spec.in | 12 ++++++++++-- 6 files changed, 42 insertions(+), 4 deletions(-) create mode 100755 build-aux/config.guess.dist create mode 100755 build-aux/config.sub.dist diff --git a/.gitignore b/.gitignore index 8f2534d6250..e5c699beaf8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ config.* configure cscope.* depcomp +INSTALL install-sh ltmain.sh Makefile diff --git a/Makefile.am b/Makefile.am index 1201ca2319b..d36f53055ea 100644 --- a/Makefile.am +++ b/Makefile.am @@ -44,7 +44,8 @@ dist-hook: gen-VERSION gen-ChangeLog -rm -fr $(distdir)/contrib/argp-standalone/autom4te.cache -rm -fr $(distdir)/contrib/argp-standalone/.deps -rm -fr $(distdir)/contrib/umountd/.deps - -rm -fr $(distdir)/config.{guess,sub} + -cp -f $(top_srcdir)/build-aux/config.sub.dist $(distdir)/config.sub + -cp -f $(top_srcdir)/build-aux/config.guess.dist $(distdir)/config.guess .PHONY: gen-VERSION gen-ChangeLog diff --git a/autogen.sh b/autogen.sh index fef2f037426..73019f29e4c 100755 --- a/autogen.sh +++ b/autogen.sh @@ -85,7 +85,7 @@ $TOOL --automake --copy --force echo Running ${AUTOCONF}... $AUTOCONF echo Running ${AUTOMAKE}... -$AUTOMAKE --add-missing --copy --foreign +$AUTOMAKE --add-missing --force-missing --copy --foreign # Run autogen in the argp-standalone sub-directory echo "Running autogen.sh in argp-standalone ..." diff --git a/build-aux/config.guess.dist b/build-aux/config.guess.dist new file mode 100755 index 00000000000..881ba7a0438 --- /dev/null +++ b/build-aux/config.guess.dist @@ -0,0 +1,14 @@ +#!/bin/sh +# +# This script is intentionally left empty. Distributions that package GlusterFS +# may want to to replace it with an updated copy from the automake project. +# + +cat << EOM +It is not expected to execute this script. When you are building from a +released tarball (generated with 'make dist'), you are expected to pass +--build=... and --host=... to ./configure or replace this config.guess script +in the sources with an updated version. +EOM + +exit 0 diff --git a/build-aux/config.sub.dist b/build-aux/config.sub.dist new file mode 100755 index 00000000000..c5a0dbad282 --- /dev/null +++ b/build-aux/config.sub.dist @@ -0,0 +1,14 @@ +#!/bin/sh +# +# This script is intentionally left empty. Distributions that package GlusterFS +# may want to to replace it with an updated copy from the automake project. +# + +cat << EOM +It is not expected to execute this script. When you are building from a +released tarball (generated with 'make dist'), you are expected to pass +--build=... and --host=... to ./configure or replace this config.sub script in +the sources with an updated version. +EOM + +exit 0 diff --git a/glusterfs.spec.in b/glusterfs.spec.in index 2f4e94d13cc..ed5b0623a9f 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -190,13 +190,16 @@ BuildRequires: systemd-units Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: bison flex -BuildRequires: gcc make automake libtool +BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel BuildRequires: libaio-devel libacl-devel BuildRequires: python-devel BuildRequires: python-ctypes BuildRequires: userspace-rcu-devel >= 0.7 +%if ( 0%{?rhel} && 0%{?rhel} <= 6 ) +BuildRequires: automake +%endif %if ( 0%{?rhel} && 0%{?rhel} <= 5 ) BuildRequires: e2fsprogs-devel %else @@ -575,7 +578,12 @@ CFLAGS=-DUSE_INSECURE_OPENSSL export CFLAGS %endif -./autogen.sh && %configure \ +# RHEL6 and earlier need to manually replace config.guess and config.sub +%if ( 0%{?rhel} && 0%{?rhel} <= 6 ) +./autogen.sh +%endif + +%configure \ %{?_with_cmocka} \ %{?_with_debug} \ %{?_with_tmpfilesdir} \ -- cgit