[PATCH 21 of 22] dockerrpm: let -py suffix build rpms that includes Python

Mads Kiilerich mads at kiilerich.com
Mon May 19 21:10:16 CDT 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1400551681 -7200
#      Tue May 20 04:08:01 2014 +0200
# Node ID b0dbf94de851df6a080df4110aab749dc862c530
# Parent  6af98f88456e935b4847296f6bf5401b85cdea8b
dockerrpm: let -py suffix build rpms that includes Python

Usage example:
  make rpm-fedora20-py

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -141,6 +141,7 @@ rpm-py:
 	contrib/buildrpm --rpmbuilddir $(PWD)/build/rpm --withpython --suffix -py
 
 # Valid rpm-$NAME targets have a corresponding contrib/docker/$NAME
+# For building packages including their own Python, add -py
 rpm-%:
 	contrib/dockerrpm $@
 
diff --git a/contrib/docker/centos5 b/contrib/docker/centos5
--- a/contrib/docker/centos5
+++ b/contrib/docker/centos5
@@ -3,3 +3,5 @@ FROM saltstack/centos-5-minimal
 RUN yum install -y gcc make rpm-build gettext tar
 # For using the OS Python
 RUN yum install -y python-devel python-docutils
+# For building own Python
+RUN yum install -y readline-devel openssl-devel ncurses-devel zlib-devel bzip2-devel
diff --git a/contrib/docker/centos6 b/contrib/docker/centos6
--- a/contrib/docker/centos6
+++ b/contrib/docker/centos6
@@ -3,3 +3,5 @@ FROM centos:centos6
 RUN yum install -y gcc make rpm-build gettext tar
 # For using the OS Python
 RUN yum install -y python-devel python-docutils
+# For building own Python
+RUN yum install -y readline-devel openssl-devel ncurses-devel zlib-devel bzip2-devel
diff --git a/contrib/docker/fedora20 b/contrib/docker/fedora20
--- a/contrib/docker/fedora20
+++ b/contrib/docker/fedora20
@@ -3,3 +3,5 @@ FROM fedora:20
 RUN yum install -y gcc make rpm-build gettext tar
 # For using the OS Python
 RUN yum install -y python-devel python-docutils
+# For building own Python
+RUN yum install -y readline-devel openssl-devel ncurses-devel zlib-devel bzip2-devel
diff --git a/contrib/dockerrpm b/contrib/dockerrpm
--- a/contrib/dockerrpm
+++ b/contrib/dockerrpm
@@ -17,6 +17,11 @@ fi
 [ "$1" ] || { echo "Error: platform name must be specified"; exit 1; }
 NAME="$1"
 NAME="${NAME#rpm-}"
+EXTRAOPTIONS=
+if [ -z "${NAME%%*-py}" ]; then
+    NAME="${NAME%-py}"
+    EXTRAOPTIONS="--withpython --suffix -py"
+fi
 
 DFILE="$ROOTDIR/contrib/docker/$NAME"
 [ -f "$DFILE" ] || { echo "Error: docker file $DFILE not found"; exit 1; }
@@ -31,7 +36,7 @@ echo RUN useradd $DBUILDUSER -u `id -u` 
 ) | $DOCKER build --tag $CONTAINER -
 
 RPMBUILD=$ROOTDIR/build/$NAME
-contrib/buildrpm --rpmbuilddir $RPMBUILD --prepare
+contrib/buildrpm --rpmbuilddir $RPMBUILD --prepare $EXTRAOPTIONS
 
 DSHARED=/mnt/shared
 $DOCKER run -u $DBUILDUSER --rm -v $RPMBUILD:$DSHARED $CONTAINER \


More information about the Mercurial-devel mailing list