summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrançois Andriot <albator78@libertysurf.fr>2018-12-09 13:38:09 +0100
committerFrançois Andriot <albator78@libertysurf.fr>2018-12-09 13:38:09 +0100
commit2fbb1e0e39fc150603ddc55d8e906df3f0f1f05a (patch)
tree4222ba2f3083a68a84a1dd54085e7fca4515fc5e
parent82dac1415fe0846a8ddd614b6c901761234eb1db (diff)
downloadtde-packaging-2fbb1e0e39fc150603ddc55d8e906df3f0f1f05a.tar.gz
tde-packaging-2fbb1e0e39fc150603ddc55d8e906df3f0f1f05a.zip
RPM: update build scripts
-rw-r--r--redhat/Makefile.r148
-rwxr-xr-xredhat/build/get_latest_tarball_filename.sh4
-rwxr-xr-xredhat/build/get_specfile.sh4
-rwxr-xr-xredhat/build/update_repository.sh2
-rwxr-xr-xredhat/docker/build.sh14
-rwxr-xr-xredhat/docker/run.sh19
6 files changed, 35 insertions, 16 deletions
diff --git a/redhat/Makefile.r14 b/redhat/Makefile.r14
index 49e769162..9c92723fc 100644
--- a/redhat/Makefile.r14
+++ b/redhat/Makefile.r14
@@ -1,12 +1,12 @@
SHELL := /bin/bash
-PACKAGING_DIR := $(shell cd ..; pwd)
PATH := $(PATH):$(shell pwd)/build
-TDE_VERSION := 14.0.5
+TDE_VERSION := $(shell echo $${TDE_VERSION:-14.0.5})
+TDE_PACKAGING_DIR := $(shell [ -n "$${TDE_PACKAGING_DIR}" ] && cd "$${TDE_PACKAGING_DIR}" || cd ..; pwd)
DIST := $(shell rpm -E %dist)
buildpkg = \
- @echo "Now processing '$(1)' [from $(PACKAGING_DIR)]."; \
- export PACKAGING_DIR=$(PACKAGING_DIR); \
+ @echo "Now processing '$(1)' [from $(TDE_PACKAGING_DIR)]."; \
+ export TDE_PACKAGING_DIR=$(TDE_PACKAGING_DIR); \
if [ "${REBUILD}" = "$(1)" ] || ! is_latest_package_installed.sh "$(1)" ${TDE_VERSION}; then \
echo " Package '${1}' is not yet installed."; \
if [ "${REBUILD}" = "$(1)" ] || ! is_latest_package_built.sh "$(1)" ${TDE_VERSION}; then \
diff --git a/redhat/build/get_latest_tarball_filename.sh b/redhat/build/get_latest_tarball_filename.sh
index 7e8059b3b..dba56da55 100755
--- a/redhat/build/get_latest_tarball_filename.sh
+++ b/redhat/build/get_latest_tarball_filename.sh
@@ -4,8 +4,8 @@ PKGNAME="${1##*/}"
TDE_VERSION="${2:-14.0.0}"
[ -z "${PKGNAME}" ] && echo "You must specify a package name !" && exit 1
-[ -d "${TARBALLS_DIR}" ] || TARBALLS_DIR=~/tde/tde-tarballs/${TDE_VERSION}/
-[ -d "${TDE_PACKAGING_DIR}" ] || TDE_PACKAGING_DIR=~/tde/tde-packaging
+[ -d "${TARBALLS_DIR}" ] || TARBALLS_DIR=~/tde/tarballs/${TDE_VERSION}/
+[ -d "${TDE_PACKAGING_DIR}" ] || TDE_PACKAGING_DIR=~/tde/master/tde-packaging
[ -d "${DIST_PACKAGING_DIR}" ] || DIST_PACKAGING_DIR=${TDE_PACKAGING_DIR}/redhat/
EXTRA_DIR="$(cd ${TARBALLS_DIR}/../extras/; pwd)"
diff --git a/redhat/build/get_specfile.sh b/redhat/build/get_specfile.sh
index 92fbd7ddb..f82c3fde8 100755
--- a/redhat/build/get_specfile.sh
+++ b/redhat/build/get_specfile.sh
@@ -1,11 +1,11 @@
#!/bin/bash
PKGNAME="${1##*/}"
-TDE_VERSION="${2:-14.0.0}"
+TDE_VERSION="${2:-14.0.5}"
[ -z "${PKGNAME}" ] && echo "You must specify a package name !" && exit 1
-[ -d "${TDE_PACKAGING_DIR}" ] || TDE_PACKAGING_DIR=~/tde/tde-packaging
+[ -d "${TDE_PACKAGING_DIR}" ] || TDE_PACKAGING_DIR=~/tde/master/tde-packaging
[ -d "${DIST_PACKAGING_DIR}" ] || DIST_PACKAGING_DIR=${TDE_PACKAGING_DIR}/redhat
# Special case for QT3
diff --git a/redhat/build/update_repository.sh b/redhat/build/update_repository.sh
index fc1073bfa..1aa1eae5e 100755
--- a/redhat/build/update_repository.sh
+++ b/redhat/build/update_repository.sh
@@ -18,7 +18,7 @@ RPMDIR=$(rpm -E %{_rpmdir}.tde-${TDE_VERSION})
if [ -x /usr/sbin/urpmi ]; then
REPOUPDATE='(cd ${RPMDIR}; genhdlist2 --clean --allow-empty noarch & genhdlist2 --clean --allow-empty ${ARCH} & wait; sudo urpmi.update rpmbuild.${ARCH} rpmbuild.noarch)'
elif [ -x /usr/bin/dnf ]; then
- REPOUPDATE='(cd ${RPMDIR}; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; sudo dnf clean expire-cache --disablerepo="*" --enablerepo="rpmbuild*")'
+ REPOUPDATE='(cd ${RPMDIR}; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; sudo dnf --repo="rpmbuild*" clean expire-cache)'
elif [ -x /usr/bin/zypper ]; then
REPOUPDATE='(cd ${RPMDIR}; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; sudo zypper refresh rpmbuild.${ARCH} rpmbuild.noarch)'
elif [ -x /usr/bin/yum ]; then
diff --git a/redhat/docker/build.sh b/redhat/docker/build.sh
index 9aeb60f5a..af06b3a6e 100755
--- a/redhat/docker/build.sh
+++ b/redhat/docker/build.sh
@@ -8,6 +8,18 @@ ARCH="$3"
[ -z "${ARCH}" ] && ARCH="x86_64"
IMAGE="trinity.${DISTRIB}.${ARCH}:${TDE_VERSION}"
+FILE="${HOME}/tde/docker/${IMAGE}.tar.gz"
#docker rmi -f "${IMAGE}"
-docker build -t "${IMAGE}" -f "${DISTRIB}/Dockerfile.${ARCH}" --build-arg TDE_VERSION="${TDE_VERSION}" --build-arg ARCH="${ARCH}" "${DISTRIB}"
+
+if [ $(docker images -q "${IMAGE}") ]; then
+ echo "Docker image '${IMAGE}' already exists."
+elif [ -r "${FILE}" ]; then
+ echo "Importing existing docker image '${FILE}'."
+ zcat "${FILE}" | docker import - "${IMAGE}"
+else
+ echo "Building new Docker image '${IMAGE}'."
+ docker build -t "${IMAGE}" -f "${DISTRIB}/Dockerfile.${ARCH}" --build-arg TDE_VERSION="${TDE_VERSION}" --build-arg ARCH="${ARCH}" "${DISTRIB}"
+ echo "Saving image to '${FILE}'"
+ docker save "${IMAGE}" | pigz >"${FILE}"
+fi
diff --git a/redhat/docker/run.sh b/redhat/docker/run.sh
index 128c53701..639612b4e 100755
--- a/redhat/docker/run.sh
+++ b/redhat/docker/run.sh
@@ -14,19 +14,26 @@ mkdir -p "${HOME}/rpmbuild/RPMS/RPMS${DIST}.tde-${TDE_VERSION}"
mkdir -p "${HOME}/rpmbuild/SRPMS/SRPMS${DIST}.tde-${TDE_VERSION}"
mkdir -p "/dev/shm/docker"
-docker run -t -i --rm --privileged \
+case "${VERSION}" in
+ "14.0."*) TDE_BRANCH="r14.0.x";;
+ *) TDE_BRANCH="master";;
+esac
+
+mkdir -p "${HOME}/rpmbuild/RPMS/RPMS${DIST}.tde-${TDE_VERSION}" "${HOME}/rpmbuild/SRPMS/SRPMS${DIST}.tde-${TDE_VERSION}"
+
+docker run -ti --rm --privileged \
-h "${IMAGE}" \
--name "${IMAGE//:/-}" \
-v /dev/shm/docker:/tmp:z \
-u trinity \
-e TMPPATH=/tmp \
-e TDE_VERSION=${TDE_VERSION} \
- -w /home/trinity/tde/tde-packaging.r14.0.x/redhat \
+ -e TDE_BRANCH=${TDE_BRANCH} \
+ -w /home/trinity/tde/${TDE_BRANCH}/tde-packaging/redhat \
-v ${HOME}/.gnupg:/home/trinity/.gnupg \
- -v ${HOME}/tde/tde-packaging.r14.0.x:/home/trinity/tde/tde-packaging.r14.0.x \
- -v ${HOME}/tde/tde-packaging.master:/home/trinity/tde/tde-packaging.master \
- -v ${HOME}/tde/tde-patches:/home/trinity/tde/tde-patches \
- -v ${HOME}/tde/tde-tarballs:/home/trinity/tde/tde-tarballs \
+ -v ${HOME}/tde/${TDE_BRANCH}/tde-packaging:/home/trinity/tde/${TDE_BRANCH}/tde-packaging \
+ -v ${HOME}/tde/patches:/home/trinity/tde/patches \
+ -v ${HOME}/tde/tarballs:/home/trinity/tde/tarballs \
-v ${HOME}/rpmbuild/RPMS/RPMS${DIST}.tde-${TDE_VERSION}:/home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION} \
-v ${HOME}/rpmbuild/SRPMS/SRPMS${DIST}.tde-${TDE_VERSION}:/home/trinity/rpmbuild/SRPMS.tde-${TDE_VERSION} \
"${IMAGE}" setarch ${ARCH} bash