Skip to content

Commit 57fa340

Browse files
committed
chore(packaging: ubuntu): include cosmic to docker build
1 parent e164b76 commit 57fa340

File tree

7 files changed

+69
-57
lines changed

7 files changed

+69
-57
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ sudo systemctl start docker
8080
sudo ./packaging/ubuntu/docker_ubuntu_package.sh # sudo is not needed if your user is in docker group
8181

8282
# or directly from ubuntu host if you don't like docker:
83-
./packaging/ubuntu/create_ubuntu_package.sh
84-
./packaging/ubuntu/create_ubuntu_package_18.10+.sh
83+
./packaging/ubuntu/create_ubuntu_package.sh control
84+
# or ./packaging/ubuntu/create_ubuntu_package.sh control_1810
8585
```
8686

8787

packaging/ubuntu/Dockerfile

Lines changed: 0 additions & 5 deletions
This file was deleted.

packaging/ubuntu/Dockerfile_cosmic

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM ubuntu:cosmic
2+
WORKDIR /opt/oomox
3+
CMD ["/bin/bash", "./packaging/ubuntu/create_ubuntu_package.sh", "control_1810"]
4+
RUN apt update && apt install -y make gettext
5+
COPY . /opt/oomox/

packaging/ubuntu/Dockerfile_zesty

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM ubuntu:zesty
2+
WORKDIR /opt/oomox
3+
CMD ["/bin/bash", "./packaging/ubuntu/create_ubuntu_package.sh", "control"]
4+
RUN sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list && \
5+
apt-get update && \
6+
apt-get install -y make gettext
7+
COPY . /opt/oomox/

packaging/ubuntu/create_ubuntu_package.sh

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
11
#!/usr/bin/env bash
22
set -ueo pipefail
33

4-
srcdir="$(readlink -e $(dirname ${0})/../..)"
4+
control_file="${1}"
55

6-
if [[ -d ./ubuntu_package ]] ; then
7-
rm -r ./ubuntu_package
6+
srcdir="$(readlink -e "$(dirname "${0}")"/../..)"
7+
8+
_pkgdirname='ubuntu_package'
9+
if [[ -d ./${_pkgdirname} ]] ; then
10+
rm -r ./${_pkgdirname}
811
fi
9-
mkdir ./ubuntu_package
10-
pkgdir=$(readlink -e ./ubuntu_package)
12+
mkdir ./${_pkgdirname}
13+
pkgdir=$(readlink -e ./${_pkgdirname})
1114

12-
mkdir ${pkgdir}/DEBIAN
13-
cp ${srcdir}/packaging/ubuntu/{control,postinst} ${pkgdir}/DEBIAN
15+
mkdir "${pkgdir}"/DEBIAN
16+
cp "${srcdir}"/packaging/ubuntu/postinst "${pkgdir}"/DEBIAN
17+
cp "${srcdir}"/packaging/ubuntu/"${control_file}" "${pkgdir}"/DEBIAN/control
1418

15-
cd ${srcdir}
19+
cd "${srcdir}"
1620
make DESTDIR="${pkgdir}" install
1721

18-
cd ${pkgdir}
22+
cd "${pkgdir}"
1923
dpkg-deb --build . oomox.deb
2024

2125
echo DEB PACKAGING DONE

packaging/ubuntu/create_ubuntu_package_1810+.sh

Lines changed: 0 additions & 24 deletions
This file was deleted.

packaging/ubuntu/docker_ubuntu_package.sh

Lines changed: 42 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,54 @@
22
#set -x
33
set -euo pipefail
44

5+
rebuild=0
6+
for opt in $(getopt -l rebuild -o r -- "$@"); do
7+
if [[ "${opt}" = '--rebuild' ]] ; then
8+
rebuild=1
9+
fi
10+
done
11+
512
here=$(pwd)
6-
srcdir="$(readlink -e $(dirname ${0})/../..)"
13+
srcdir="$(readlink -e "$(dirname "${0}")"/../..)"
714

815
old_srcdir=${srcdir}
9-
srcdir=${srcdir}.ubuntu_build
16+
srcdir=${old_srcdir}.ubuntu_build
1017
echo "== Copying to temporary directory..."
11-
rm -fr ${srcdir}
12-
cp -prf ${old_srcdir} ${srcdir}
18+
rm -fr "${srcdir}"
19+
cp -prf "${old_srcdir}" "${srcdir}"
1320
echo "== Removing unstaged git files:"
14-
git -C ${srcdir} clean -f -d -x
21+
git -C "${srcdir}" clean -f -d -x
22+
23+
releases=('zesty' 'cosmic')
24+
for release in "${releases[@]}" ; do
25+
if [[ ${release} = 'zesty' ]] ; then
26+
release_ver="17.10+"
27+
elif [[ ${release} = 'cosmic' ]] ; then
28+
release_ver="18.10+"
29+
fi
30+
echo
31+
echo ":: PACKAGING FOR ${release_ver}..."
32+
echo
33+
set -x
34+
cp "${srcdir}"/packaging/ubuntu/Dockerfile_"${release}" "${srcdir}"/Dockerfile
35+
container_is_running=1
36+
docker ps -a | grep oomox_ubuntu_"${release}"_build || container_is_running=
37+
if [[ -n "${container_is_running}" ]] ; then
38+
docker rm -v oomox_ubuntu_"${release}"_build
39+
fi
40+
if [[ ${rebuild} -eq 1 ]] ; then
41+
docker build -t oomox_ubuntu_"${release}"_build_image "${srcdir}"
42+
else
43+
(docker images | grep oomox_ubuntu_"${release}"_build_image) || docker build -t oomox_ubuntu_"${release}"_build_image "${srcdir}"
44+
fi
45+
docker run -t --name oomox_ubuntu_"${release}"_build -v "${srcdir}":/opt/oomox oomox_ubuntu_"${release}"_build_image
46+
docker cp oomox_ubuntu_"${release}"_build:/opt/oomox/ubuntu_package/oomox.deb "${here}"/
47+
mv "${here}"/oomox.deb "${here}"/oomox_"$(git describe)"_"${release_ver}".deb
48+
docker rm -v oomox_ubuntu_"${release}"_build
49+
rm "${srcdir}"/Dockerfile
50+
done
1551

16-
cp ${srcdir}/packaging/ubuntu/Dockerfile ${srcdir}/
17-
container_is_running=1
18-
docker ps -a | grep oomox_ubuntu_zesty_build || container_is_running=
19-
if [[ ! -z "${container_is_running}" ]] ; then
20-
docker rm -v oomox_ubuntu_zesty_build
21-
fi
22-
(docker images | grep oomox_ubuntu_zesty_build_image) || docker build -t oomox_ubuntu_zesty_build_image ${srcdir}
23-
docker run -t --name oomox_ubuntu_zesty_build -v ${srcdir}:/opt/oomox oomox_ubuntu_zesty_build_image
24-
docker cp oomox_ubuntu_zesty_build:/opt/oomox/ubuntu_package/oomox.deb ${here}/oomox_$(git describe).deb
25-
docker rm -v oomox_ubuntu_zesty_build
26-
rm ${srcdir}/Dockerfile
27-
sudo rm -fr ${srcdir}
52+
sudo rm -fr "${srcdir}"
2853

2954
echo DOCKER DONE
3055
exit 0

0 commit comments

Comments
 (0)