Browse Source

add a way to only build requested pkgs

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Jessica Frazelle 9 years ago
parent
commit
0bff2515f7

+ 1 - 0
Makefile

@@ -28,6 +28,7 @@ export DOCKERFILE
 # `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
 # `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
 DOCKER_ENVS := \
 DOCKER_ENVS := \
 	-e BUILDFLAGS \
 	-e BUILDFLAGS \
+	-e DOCKER_BUILD_PKGS \
 	-e DOCKER_CLIENTONLY \
 	-e DOCKER_CLIENTONLY \
 	-e DOCKER_DEBUG \
 	-e DOCKER_DEBUG \
 	-e DOCKER_EXPERIMENTAL \
 	-e DOCKER_EXPERIMENTAL \

+ 2 - 2
contrib/builder/rpm/fedora-22/Dockerfile

@@ -15,10 +15,10 @@ libtool \
 && set -x \
 && set -x \
 && yum install -y $buildDeps \
 && yum install -y $buildDeps \
 && export SECCOMP_PATH=$(mktemp -d) \
 && export SECCOMP_PATH=$(mktemp -d) \
-&& git clone -b "v${SECCOMP_VERSION}" --depth 1 https://github.com/seccomp/libseccomp.git "$SECCOMP_PATH" \
+&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
+| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
 && ( \
 && ( \
 cd "$SECCOMP_PATH" \
 cd "$SECCOMP_PATH" \
-&& ./autogen.sh \
 && ./configure --prefix=/usr \
 && ./configure --prefix=/usr \
 && make \
 && make \
 && install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \
 && install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \

+ 2 - 2
contrib/builder/rpm/fedora-23/Dockerfile

@@ -15,10 +15,10 @@ libtool \
 && set -x \
 && set -x \
 && yum install -y $buildDeps \
 && yum install -y $buildDeps \
 && export SECCOMP_PATH=$(mktemp -d) \
 && export SECCOMP_PATH=$(mktemp -d) \
-&& git clone -b "v${SECCOMP_VERSION}" --depth 1 https://github.com/seccomp/libseccomp.git "$SECCOMP_PATH" \
+&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
+| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
 && ( \
 && ( \
 cd "$SECCOMP_PATH" \
 cd "$SECCOMP_PATH" \
-&& ./autogen.sh \
 && ./configure --prefix=/usr \
 && ./configure --prefix=/usr \
 && make \
 && make \
 && install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \
 && install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \

+ 2 - 2
contrib/builder/rpm/generate.sh

@@ -121,10 +121,10 @@ for version in "${versions[@]}"; do
 			&& set -x \
 			&& set -x \
 			&& yum install -y $buildDeps \
 			&& yum install -y $buildDeps \
 			&& export SECCOMP_PATH=$(mktemp -d) \
 			&& export SECCOMP_PATH=$(mktemp -d) \
-			&& git clone -b "v${SECCOMP_VERSION}" --depth 1 https://github.com/seccomp/libseccomp.git "$SECCOMP_PATH" \
+			&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
+			| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
 			&& ( \
 			&& ( \
 				cd "$SECCOMP_PATH" \
 				cd "$SECCOMP_PATH" \
-				&& ./autogen.sh \
 				&& ./configure --prefix=/usr \
 				&& ./configure --prefix=/usr \
 				&& make \
 				&& make \
 				&& install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \
 				&& install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \

+ 7 - 2
hack/make/build-deb

@@ -37,8 +37,13 @@ set -e
 	./man/md2man-all.sh -q || true
 	./man/md2man-all.sh -q || true
 	# TODO decide if it's worth getting go-md2man in _each_ builder environment to avoid this
 	# TODO decide if it's worth getting go-md2man in _each_ builder environment to avoid this
 
 
-	# TODO add a configurable knob for _which_ debs to build so we don't have to modify the file or build all of them every time we need to test
-	for dir in contrib/builder/deb/*/; do
+	builderDir="contrib/builder/deb"
+	pkgs=( $(find "${builderDir}/"*/ -type d) )
+	if [ ! -z "$DOCKER_BUILD_PKGS" ]; then
+		pkgs=( $(echo ${DOCKER_BUILD_PKGS[@]/#/$builderDir\/}) )
+	fi
+	for dir in "${pkgs[@]}"; do
+		[ -d "$dir" ] || { echo >&2 "skipping nonexistent $dir"; continue; }
 		version="$(basename "$dir")"
 		version="$(basename "$dir")"
 		suite="${version##*-}"
 		suite="${version##*-}"
 
 

+ 7 - 2
hack/make/build-rpm

@@ -60,8 +60,13 @@ set -e
 		fi
 		fi
 	done < CHANGELOG.md
 	done < CHANGELOG.md
 
 
-	# TODO add a configurable knob for _which_ rpms to build so we don't have to modify the file or build all of them every time we need to test
-	for dir in contrib/builder/rpm/*/; do
+	builderDir="contrib/builder/rpm"
+	pkgs=( $(find "${builderDir}/"*/ -type d) )
+	if [ ! -z "$DOCKER_BUILD_PKGS" ]; then
+		pkgs=( $(echo ${DOCKER_BUILD_PKGS[@]/#/$builderDir\/}) )
+	fi
+	for dir in "${pkgs[@]}"; do
+		[ -d "$dir" ] || { echo >&2 "skipping nonexistent $dir"; continue; }
 		version="$(basename "$dir")"
 		version="$(basename "$dir")"
 		suite="${version##*-}"
 		suite="${version##*-}"