You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.sh 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. set -e
  3. set -x
  4. ## Basic variables
  5. CURDIR=$(dirname $(readlink -f $0))
  6. TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null)
  7. RPMDIR=${TOPDIR}/contrib/packages/rpm/el7
  8. VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@')
  9. ## Prepare the build directory
  10. rm -rf ${CURDIR}/rpmbuild
  11. mkdir -p ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,SOURCES,SPECS,RPMS}
  12. chmod a+w ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,RPMS}
  13. [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/rpmbuild
  14. ## Copy over the packaging files
  15. cp ${RPMDIR}/SOURCES/* ${CURDIR}/rpmbuild/SOURCES
  16. cp ${RPMDIR}/SPECS/tigervnc.spec ${CURDIR}/rpmbuild/SPECS
  17. sed -i "s/@VERSION@/${VERSION}/" ${CURDIR}/rpmbuild/SPECS/tigervnc.spec
  18. ## Copy over the source code
  19. (cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | bzip2 > ${CURDIR}/rpmbuild/SOURCES/tigervnc-${VERSION}.tar.bz2
  20. ## Start the build
  21. docker run --volume ${CURDIR}/rpmbuild:/home/rpm/rpmbuild --interactive --rm tigervnc/${DOCKER} \
  22. bash -e -x -c "
  23. sudo yum install -y epel-release;
  24. sudo yum-builddep -y ~/rpmbuild/SPECS/tigervnc.spec;
  25. sudo chown 0.0 ~/rpmbuild/SOURCES/*;
  26. sudo chown 0.0 ~/rpmbuild/SPECS/*;
  27. rpmbuild -ba ~/rpmbuild/SPECS/tigervnc.spec;
  28. "
  29. mkdir -p ${CURDIR}/result
  30. cp -av ${CURDIR}/rpmbuild/RPMS ${CURDIR}/result
  31. cp -av ${CURDIR}/rpmbuild/SRPMS ${CURDIR}/result