diff --git a/Dockerfile b/Dockerfile index e91e2aa76e82b4b6cfe3340dd9194cb8e029239f..8a907bbeb49b310622d871a02082778bc04c13d4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,150 +11,95 @@ FROM centos:latest MAINTAINER "CERN IT-DI-CSO <computer.security@cern.ch>" - # # Helpful variables # ENV basedir /opt - -# -# Enable extra repositories -# -RUN yum -y install epel-release - - -# -# Update the software and install basic development tools -# -RUN yum -y update -RUN yum -y groups mark convert -RUN yum -y groupinstall 'Development Tools' - - -# -# Install Java development packages -# -RUN yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel - - -# -# Install Perl development packages -# -RUN yum -y install perl perl-devel - - -# -# Install Python development packages -# -RUN yum -y install python python-devel -RUN yum -y install python-flake8 python-pep8 - - -# -# Install Ruby development packages -# -RUN yum -y install ruby ruby-devel - - -# -# Install Python PIP -# -RUN yum -y install python-pip -RUN pip install --upgrade pip - - -# -# Install general useful software # -RUN yum -y install wget unzip unrar sudo -RUN yum -y install p7zip p7zip-plugins -RUN yum -y install htop vim - - -# -# Install dependencies for RATS -# -RUN yum -y install expat expat-devel -RUN yum -y install flex flex-devel - - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +# Install with YUM: +# - Epel Repo +# - Basic development tools (3) +# - Java development packages +# - Perl development packages +# - Python development packages (2) +# - Ruby development packages +# - Python PIP +# - General useful software (3) +# - Dependencies for RATS (2: expat expat-devel & flex flex-devel) +# - Perl::Critic +# - PyChecker +# - PyLint +# +RUN yum -y install epel-release && \ + yum -y update && \ + yum -y groups mark convert && \ + yum -y groupinstall 'Development Tools' && \ + yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel && \ + yum -y install perl perl-devel && \ + yum -y install python python-devel && \ + yum -y install python-flake8 python-pep8 && \ + yum -y install ruby ruby-devel && \ + yum -y install python-pip && \ + yum -y install wget unzip unrar sudo && \ + yum -y install p7zip p7zip-plugins && \ + yum -y install htop vim && \ + yum -y install expat expat-devel && \ + yum -y install flex flex-devel && \ + yum -y install perl-Perl-Critic && \ + yum -y install pychecker && \ + yum -y install pylint && \ + yum -y clean all # # Install CppLint # -RUN pip install cpplint +RUN pip install --upgrade pip && pip install cpplint # # Install FindBugs # -WORKDIR $basedir -RUN wget http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.1.tar.gz -RUN tar -xzf findbugs-3.0.1.tar.gz - -RUN echo '/opt/findbugs-3.0.1/bin/findbugs "$@"' >> /usr/local/bin/findbugs -RUN chmod +x /usr/local/bin/findbugs - +RUN wget http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.1.tar.gz && \ + tar -xzf findbugs-3.0.1.tar.gz && \ + rm -f findbugs-3.0.1.tar.gz && \ + echo '/opt/findbugs-3.0.1/bin/findbugs "$@"' >> /usr/local/bin/findbugs && \ + chmod +x /usr/local/bin/findbugs # # Install FlawFinder # -WORKDIR $basedir -RUN wget http://www.dwheeler.com/flawfinder/flawfinder-1.31.tar.gz -RUN tar -xzf flawfinder-1.31.tar.gz - -WORKDIR $basedir/flawfinder-1.31 -RUN make install - - -# -# Install Perl::Critic -# -RUN yum -y install perl-Perl-Critic - +RUN wget http://www.dwheeler.com/flawfinder/flawfinder-1.31.tar.gz && \ + tar -xzf flawfinder-1.31.tar.gz && \ + rm -f flawfinder-1.31.tar.gz && \ + cd flawfinder-1.31 && \ + make install && \ + cd .. # # Install PMD (and CPD) # -WORKDIR $basedir -RUN wget https://github.com/pmd/pmd/releases/download/pmd_releases%2F5.5.1/pmd-bin-5.5.1.zip -RUN unzip pmd-bin-5.5.1.zip - -RUN echo '/opt/pmd-bin-5.5.1/bin/run.sh cpd "$@"' >> /usr/local/bin/cpd -RUN echo '/opt/pmd-bin-5.5.1/bin/run.sh pmd "$@"' >> /usr/local/bin/pmd -RUN chmod +x /usr/local/bin/cpd -RUN chmod +x /usr/local/bin/pmd - - -# -# Install PyChecker -# -RUN yum -y install pychecker - - -# -# Install PyLint -# -RUN yum -y install pylint +RUN wget https://github.com/pmd/pmd/releases/download/pmd_releases%2F5.5.1/pmd-bin-5.5.1.zip && \ + unzip pmd-bin-5.5.1.zip && \ + rm -f pmd-bin-5.5.1.zip && \ + echo '/opt/pmd-bin-5.5.1/bin/run.sh cpd "$@"' >> /usr/local/bin/cpd && \ + echo '/opt/pmd-bin-5.5.1/bin/run.sh pmd "$@"' >> /usr/local/bin/pmd && \ + chmod +x /usr/local/bin/cpd && \ + chmod +x /usr/local/bin/pmd # # Install RATS # WORKDIR $basedir -#RUN wget https://rough-auditing-tool-for-security.googlecode.com/files/rats-2.4.tgz -RUN wget http://fossies.org/linux/privat/rats-2.4.tgz -RUN tar -xzf rats-2.4.tgz - -WORKDIR $basedir/rats-2.4 -RUN ./configure && make && make install - - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - +RUN wget http://fossies.org/linux/privat/rats-2.4.tgz && \ + tar -xzf rats-2.4.tgz && \ + rm -f rats-2.4.tgz && \ + cd rats-2.4 && \ + ./configure && \ + make && \ + make install # # Finish