Merge "add docker packaging for CentOS 7 & Ubuntu 14.04"
This commit is contained in:
commit
b11fb6e11c
17
packaging/README.md
Normal file
17
packaging/README.md
Normal file
@ -0,0 +1,17 @@
|
||||
# Packaging synergy-scheduler-manager
|
||||
|
||||
## Using docker
|
||||
|
||||
1. build the image
|
||||
|
||||
```shell
|
||||
cd packaging/docker/{ubuntu-14.04,centos7}
|
||||
docker build -t scheduler-builder-{centos7,ubuntu-14.04} .
|
||||
```
|
||||
|
||||
2. run the image
|
||||
|
||||
```shell
|
||||
Docker run -i -v /path/to/synergy-scheduler-manager:/tmp/python-synergy-scheduler-manager scheduler-builder-{centos7,ubuntu-14.04}
|
||||
```
|
||||
the deb/rpm will be output in `path/to/synergy-scheduler-manager/build`
|
13
packaging/docker/centos7/Dockerfile
Normal file
13
packaging/docker/centos7/Dockerfile
Normal file
@ -0,0 +1,13 @@
|
||||
FROM centos:7
|
||||
MAINTAINER Vincent Llorens <vincent.llorens@cc.in2p3.fr>
|
||||
RUN yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-liberty/rdo-release-liberty-3.noarch.rpm \
|
||||
rpm-build \
|
||||
python-devel \
|
||||
python-setuptools \
|
||||
&& yum update -y
|
||||
RUN mkdir /tmp/python-synergy-scheduler-manager
|
||||
RUN useradd -m -p pkger pkger
|
||||
USER pkger
|
||||
COPY build.sh /home/pkger/
|
||||
WORKDIR /home/pkger/
|
||||
CMD bash build.sh
|
37
packaging/docker/centos7/build.sh
Normal file
37
packaging/docker/centos7/build.sh
Normal file
@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e -x
|
||||
|
||||
RPMBUILD=/home/pkger/rpmbuild
|
||||
PKG_DIR=/tmp/python-synergy-scheduler-manager
|
||||
|
||||
|
||||
function get_version() {
|
||||
local file=$PKG_DIR/setup.cfg
|
||||
export PKG_VERSION=$(grep -e "version = " $file | sed -r "s/version = ()/\1/")
|
||||
}
|
||||
|
||||
function setup() {
|
||||
mkdir -p /home/pkger/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
cd $RPMBUILD/SOURCES/
|
||||
cp -r $PKG_DIR python-synergy-scheduler-manager-$PKG_VERSION
|
||||
rm -r python-synergy-scheduler-manager-$PKG_VERSION/{.tox,.testrepository,build,dist} || true
|
||||
tar cjf python-synergy-scheduler-manager-${PKG_VERSION}.tar.bz2 python-synergy-scheduler-manager-$PKG_VERSION
|
||||
cp $PKG_DIR/packaging/rpm/python-synergy-scheduler-manager.spec $RPMBUILD/SPECS/python-synergy-scheduler-manager.spec
|
||||
}
|
||||
|
||||
function build() {
|
||||
cd $RPMBUILD/SPECS
|
||||
export PBR_VERSION=$PKG_VERSION
|
||||
rpmbuild -ba python-synergy-scheduler-manager.spec
|
||||
mkdir -p $PKG_DIR/build/
|
||||
cp -i $RPMBUILD/RPMS/noarch/python-synergy-scheduler-manager-*.rpm $PKG_DIR/build/
|
||||
}
|
||||
|
||||
function clean() {
|
||||
rm -rf $RPMBUILD
|
||||
}
|
||||
|
||||
clean || true
|
||||
get_version
|
||||
setup
|
||||
build
|
17
packaging/docker/ubuntu-14.04/Dockerfile
Normal file
17
packaging/docker/ubuntu-14.04/Dockerfile
Normal file
@ -0,0 +1,17 @@
|
||||
FROM ubuntu:14.04
|
||||
MAINTAINER Vincent Llorens <vincent.llorens@cc.in2p3.fr>
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y build-essential \
|
||||
debhelper \
|
||||
devscripts \
|
||||
dh-systemd \
|
||||
git-core \
|
||||
python-all \
|
||||
python-pbr \
|
||||
python-setuptools
|
||||
RUN mkdir /tmp/python-synergy-scheduler-manager
|
||||
RUN useradd -m -p pkger pkger
|
||||
USER pkger
|
||||
COPY build.sh /home/pkger/build.sh
|
||||
WORKDIR /home/pkger
|
||||
CMD bash build.sh
|
39
packaging/docker/ubuntu-14.04/build.sh
Normal file
39
packaging/docker/ubuntu-14.04/build.sh
Normal file
@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e -x
|
||||
|
||||
PKG_DIR=/tmp/python-synergy-scheduler-manager
|
||||
|
||||
|
||||
function copy_source() {
|
||||
cd /home/pkger
|
||||
cp -r $PKG_DIR python-synergy-scheduler-manager
|
||||
rm -r python-synergy-scheduler-manager/{.tox,.testrepository,build,dist} || true
|
||||
}
|
||||
|
||||
function get_version() {
|
||||
local file=/home/pkger/python-synergy-scheduler-manager/setup.cfg
|
||||
export PKG_VERSION=$(grep -e "version = " $file | sed -r "s/version = ()/\1/")
|
||||
}
|
||||
|
||||
function setup() {
|
||||
cd /home/pkger
|
||||
tar cjf python-synergy-scheduler-manager_${PKG_VERSION}.orig.tar.bz2 python-synergy-scheduler-manager
|
||||
mv python-synergy-scheduler-manager/packaging/debian python-synergy-scheduler-manager/debian
|
||||
}
|
||||
|
||||
function build() {
|
||||
cd /home/pkger/python-synergy-scheduler-manager
|
||||
debuild -us -uc
|
||||
mkdir -p $PKG_DIR/build
|
||||
cp -i /home/pkger/*.deb $PKG_DIR/build
|
||||
}
|
||||
|
||||
function clean() {
|
||||
rm -r /home/pkger/python-synergy-scheduler-manager{,_${PKG_VERSION}.orig.tar.bz2}
|
||||
}
|
||||
|
||||
clean || true # no cleaning to do on a fresh install
|
||||
copy_source
|
||||
get_version
|
||||
setup
|
||||
build
|
Loading…
x
Reference in New Issue
Block a user