Browse code

Change the btrfs_noversion check to be automatic

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>

Tianon Gravi authored on 2015/04/03 16:30:12
Showing 3 changed files
... ...
@@ -138,7 +138,7 @@ RUN useradd --create-home --gid docker unprivilegeduser
138 138
 
139 139
 VOLUME /var/lib/docker
140 140
 WORKDIR /go/src/github.com/docker/docker
141
-ENV DOCKER_BUILDTAGS apparmor selinux btrfs_noversion
141
+ENV DOCKER_BUILDTAGS apparmor selinux
142 142
 
143 143
 # Let us use a .bashrc file
144 144
 RUN ln -sfv $PWD/.bashrc ~/.bashrc
... ...
@@ -98,6 +98,14 @@ if [ "$DOCKER_EXECDRIVER" = 'lxc' ]; then
98 98
 	DOCKER_BUILDTAGS+=' test_no_exec'
99 99
 fi
100 100
 
101
+# test whether "btrfs/version.h" exists and apply btrfs_noversion appropriately
102
+if \
103
+	command -v gcc &> /dev/null \
104
+	&& ! gcc -E - &> /dev/null <<<'#include <btrfs/version.h>' \
105
+; then
106
+	DOCKER_BUILDTAGS+=' btrfs_noversion'
107
+fi
108
+
101 109
 # Use these flags when compiling the tests and final binary
102 110
 
103 111
 IAMSTATIC='true'
... ...
@@ -58,8 +58,7 @@ To build the Docker daemon, you will additionally need:
58 58
 * libdevmapper version 1.02.68-cvs (2012-01-26) or later from lvm2 version
59 59
   2.02.89 or later
60 60
 * btrfs-progs version 3.16.1 or later (unless using an older version is
61
-  absolutely necessary, in which case 3.8 is the minimum and the note below
62
-  regarding `btrfs_noversion` applies)
61
+  absolutely necessary, in which case 3.8 is the minimum)
63 62
 
64 63
 Be sure to also check out Docker's Dockerfile for the most up-to-date list of
65 64
 these build-time dependencies.
... ...
@@ -163,12 +162,6 @@ SELinux, you will need to use the `selinux` build tag:
163 163
 export DOCKER_BUILDTAGS='selinux'
164 164
 ```
165 165
 
166
-If your version of btrfs-progs (also called btrfs-tools) is < 3.16.1, then you
167
-will need the following tag to not check for btrfs version headers:
168
-```bash
169
-export DOCKER_BUILDTAGS='btrfs_noversion'
170
-```
171
-
172 166
 There are build tags for disabling graphdrivers as well. By default, support
173 167
 for all graphdrivers are built in.
174 168