فهرست منبع

Merge pull request #19377 from jfrazelle/cleanup-build-rpm-deb

Cleanup build rpm deb
Jess Frazelle 9 سال پیش
والد
کامیت
5537a92e45

+ 1 - 0
Makefile

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

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

@@ -7,7 +7,7 @@ FROM fedora:22
 RUN dnf install -y @development-tools fedora-packager
 RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel selinux-policy selinux-policy-devel sqlite-devel tar
 
-ENV SECCOMP_VERSION v2.2.3
+ENV SECCOMP_VERSION 2.2.3
 RUN buildDeps=' \
 automake \
 libtool \
@@ -15,10 +15,10 @@ libtool \
 && set -x \
 && yum install -y $buildDeps \
 && export SECCOMP_PATH=$(mktemp -d) \
-&& git clone -b "$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" \
-&& ./autogen.sh \
 && ./configure --prefix=/usr \
 && make \
 && install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \

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

@@ -7,7 +7,7 @@ FROM fedora:23
 RUN dnf install -y @development-tools fedora-packager
 RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel selinux-policy selinux-policy-devel sqlite-devel tar
 
-ENV SECCOMP_VERSION v2.2.3
+ENV SECCOMP_VERSION 2.2.3
 RUN buildDeps=' \
 automake \
 libtool \
@@ -15,10 +15,10 @@ libtool \
 && set -x \
 && yum install -y $buildDeps \
 && export SECCOMP_PATH=$(mktemp -d) \
-&& git clone -b "$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" \
-&& ./autogen.sh \
 && ./configure --prefix=/usr \
 && make \
 && install -c src/.libs/libseccomp.a /usr/lib/libseccomp.a \

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

@@ -122,10 +122,10 @@ for version in "${versions[@]}"; do
 			&& set -x \
 			&& yum install -y $buildDeps \
 			&& export SECCOMP_PATH=$(mktemp -d) \
-			&& git clone -b "$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" \
-				&& ./autogen.sh \
 				&& ./configure --prefix=/usr \
 				&& make \
 				&& 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
 	# 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")"
 		suite="${version##*-}"
 

+ 7 - 2
hack/make/build-rpm

@@ -60,8 +60,13 @@ set -e
 		fi
 	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")"
 		suite="${version##*-}"