From 8f4b5ba3724675f204db0821398dc8d6b30bf86a Mon Sep 17 00:00:00 2001 From: Vasil Velichkov Date: Tue, 24 Apr 2018 18:36:57 +0300 Subject: Add CentOS7 docker container --- tests/dockerfiles/CentOS_7.Dockerfile | 32 ++++++++++++++++++++++++++++++++ tests/dockerfiles/CentOS_7_pygtk2.patch | 30 ++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 tests/dockerfiles/CentOS_7.Dockerfile create mode 100644 tests/dockerfiles/CentOS_7_pygtk2.patch diff --git a/tests/dockerfiles/CentOS_7.Dockerfile b/tests/dockerfiles/CentOS_7.Dockerfile new file mode 100644 index 0000000..b5c235d --- /dev/null +++ b/tests/dockerfiles/CentOS_7.Dockerfile @@ -0,0 +1,32 @@ +FROM centos:7 + +RUN yum install -y \ + https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \ + yum install -y \ + gcc-c++ \ + make \ + cmake3 \ + pkgconfig \ + boost-devel \ + gnuradio-devel \ + libosmocore-devel \ + gr-osmosdr \ + swig \ + doxygen \ + python2-docutils \ + cppunit-devel + +COPY ./ /src/ + +RUN yum install -y patch && \ + patch -p0 < /src/tests/dockerfiles/CentOS_7_pygtk2.patch + +WORKDIR /src/build +RUN cmake3 -DENABLE_GRGSM_LIVEMON=OFF .. && \ + # The parallel build sometimes fails when the .grc_gnuradio + # and .gnuradio directories do not exist + mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ + make -j $(nproc) && \ + make install && \ + ldconfig && \ + make test diff --git a/tests/dockerfiles/CentOS_7_pygtk2.patch b/tests/dockerfiles/CentOS_7_pygtk2.patch new file mode 100644 index 0000000..a5ed29c --- /dev/null +++ b/tests/dockerfiles/CentOS_7_pygtk2.patch @@ -0,0 +1,30 @@ +--- /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:29:19.555209060 +0000 ++++ /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:32:53.448304174 +0000 +@@ -47,14 +47,19 @@ + def _init(): + import sys + +- sys_path = sys.path[:] ++ try: ++ sys_path = sys.path[:] + +- _gtk.init_check() +- +- # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''), +- # which causes problems for pychecker, restore it if modified. +- if sys.path != sys_path: +- sys.path[:] = sys_path ++ try: ++ _gtk.init_check() ++ except RuntimeError, e: ++ import warnings ++ warnings.warn(str(e), _gtk.Warning) ++ finally: ++ # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''), ++ # which causes problems for pychecker, restore it if modified. ++ if sys.path != sys_path: ++ sys.path[:] = sys_path + + # install the default log handlers + _gtk.add_log_handlers() + -- cgit v1.2.3