summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiels de Vos <ndevos@redhat.com>2016-05-23 11:06:38 +0200
committerKaleb KEITHLEY <kkeithle@redhat.com>2016-05-24 03:54:38 -0700
commitbfd43dc894fcf2cc64ec73e8ea0a779064c47dd4 (patch)
tree7f48ea1610d7da15c9d339fc026fff1e7da816de
parent4394291064b68f7c1a8634a00b211154087df1bc (diff)
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 <manu@netbsd.org> Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/14503 Smoke: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
-rw-r--r--.gitignore1
-rw-r--r--Makefile.am3
-rwxr-xr-xautogen.sh2
-rwxr-xr-xbuild-aux/config.guess.dist14
-rwxr-xr-xbuild-aux/config.sub.dist14
-rw-r--r--glusterfs.spec.in12
6 files changed, 42 insertions, 4 deletions
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} \