2018-06-20 07:27:39 +02:00
|
|
|
#!BuildTag: openqa_dev
|
|
|
|
FROM opensuse:42.3
|
|
|
|
|
|
|
|
# Define environment variable
|
|
|
|
ENV NAME openQA test environment
|
|
|
|
ENV LANG en_US.UTF-8
|
|
|
|
|
|
|
|
RUN zypper ar -f -G "http://download.opensuse.org/repositories/devel:/openQA:/Leap:/42.3/openSUSE_Leap_42.3" devel_openqa
|
|
|
|
|
|
|
|
RUN zypper in -y -C \
|
|
|
|
glibc-i18ndata \
|
|
|
|
glibc-locale \
|
|
|
|
automake \
|
|
|
|
curl \
|
|
|
|
fftw3-devel \
|
|
|
|
gcc \
|
|
|
|
gcc-c++ \
|
|
|
|
git \
|
|
|
|
gmp-devel \
|
|
|
|
gzip \
|
|
|
|
libexpat-devel \
|
|
|
|
libsndfile-devel \
|
|
|
|
libssh2-1 \
|
|
|
|
libssh2-devel \
|
|
|
|
libtheora-devel \
|
|
|
|
libtool \
|
|
|
|
libxml2-devel \
|
|
|
|
make \
|
|
|
|
opencv-devel \
|
|
|
|
patch \
|
|
|
|
postgresql-devel \
|
|
|
|
qemu \
|
|
|
|
qemu-tools \
|
|
|
|
qemu-kvm \
|
|
|
|
tar \
|
|
|
|
optipng \
|
2019-07-10 16:35:31 +02:00
|
|
|
python3-base \
|
|
|
|
python3-requests \
|
|
|
|
python3-future \
|
2018-06-20 07:27:39 +02:00
|
|
|
sqlite3 \
|
|
|
|
postgresql-server \
|
|
|
|
which \
|
|
|
|
chromedriver \
|
|
|
|
xorg-x11-fonts \
|
|
|
|
'rubygem(sass)' \
|
|
|
|
perl \
|
2019-07-01 08:34:37 +02:00
|
|
|
ShellCheck \
|
2018-06-20 07:27:39 +02:00
|
|
|
sudo \
|
|
|
|
'perl(App::cpanminus)' \
|
|
|
|
'perl(Archive::Extract)' \
|
|
|
|
'perl(BSD::Resource)' \
|
|
|
|
'perl(CSS::Minifier::XS)' \
|
|
|
|
'perl(Carp::Always)' \
|
|
|
|
'perl(Class::Accessor::Fast)' \
|
|
|
|
'perl(Config)' \
|
|
|
|
'perl(Config::IniFiles)' \
|
|
|
|
'perl(Config::Tiny)' \
|
|
|
|
'perl(Cpanel::JSON::XS)' \
|
|
|
|
'perl(Crypt::DES)' \
|
|
|
|
'perl(Cwd)' \
|
|
|
|
'perl(DBD::Pg)' \
|
|
|
|
'perl(DBD::SQLite)' \
|
|
|
|
'perl(DBIx::Class)' \
|
|
|
|
'perl(DBIx::Class::DeploymentHandler)' \
|
|
|
|
'perl(DBIx::Class::DynamicDefault)' \
|
|
|
|
'perl(DBIx::Class::OptimisticLocking)' \
|
|
|
|
'perl(DBIx::Class::Schema::Config)' \
|
|
|
|
'perl(Data::Dump)' \
|
|
|
|
'perl(Data::Dumper)' \
|
|
|
|
'perl(Digest::MD5) >= 2.55' \
|
|
|
|
'perl(Data::OptList)' \
|
|
|
|
'perl(DateTime::Format::Pg)' \
|
|
|
|
'perl(DateTime::Format::SQLite)' \
|
|
|
|
'perl(Devel::Cover)' \
|
|
|
|
'perl(Devel::Cover::Report::Codecov)' \
|
|
|
|
'perl(ExtUtils::MakeMaker) >= 7.12' \
|
|
|
|
'perl(Exception::Class)' \
|
|
|
|
'perl(File::Copy::Recursive)' \
|
2018-11-26 22:40:50 +01:00
|
|
|
'perl(File::Touch)' \
|
2019-03-29 23:33:12 +01:00
|
|
|
'perl(IO::Scalar)' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'perl(IO::Socket::SSL)' \
|
|
|
|
'perl(IPC::Run)' \
|
|
|
|
'perl(IPC::System::Simple)' \
|
|
|
|
'perl(JSON::XS)' \
|
|
|
|
'perl(JavaScript::Minifier::XS)' \
|
|
|
|
'perl(LWP::Protocol::https)' \
|
|
|
|
'perl(Minion)' \
|
|
|
|
'perl(Module::CPANfile)' \
|
2019-07-10 16:35:31 +02:00
|
|
|
'perl(Module::Pluggable)' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'perl(Mojo::IOLoop::ReadWriteProcess)' \
|
|
|
|
'perl(Mojo::Pg)' \
|
|
|
|
'perl(Mojo::RabbitMQ::Client)' \
|
2018-11-26 22:40:50 +01:00
|
|
|
'perl(Mojo::SQLite)' \
|
|
|
|
'perl(Minion::Backend::SQLite)' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'perl(Mojolicious)' \
|
|
|
|
'perl(Mojolicious::Plugin::AssetPack)' \
|
|
|
|
'perl(Mojolicious::Plugin::RenderFile)' \
|
2019-03-01 06:22:47 +01:00
|
|
|
'perl(JSON::Validator)' \
|
2019-05-22 16:34:22 +02:00
|
|
|
'perl(YAML::XS) >= 0.67' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'perl(Net::OpenID::Consumer)' \
|
|
|
|
'perl(Net::SNMP)' \
|
|
|
|
'perl(Net::SSH2)' \
|
|
|
|
'perl(Perl::Critic)' \
|
2018-12-07 10:41:07 +01:00
|
|
|
'perl(Perl::Critic::Freenode)' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'perl(Perl::Tidy)' \
|
|
|
|
'perl(Pod::POM)' \
|
|
|
|
'perl(Pod::Coverage)' \
|
|
|
|
'perl(SQL::SplitStatement)' \
|
|
|
|
'perl(SQL::Translator)' \
|
|
|
|
'perl(Selenium::Remote::Driver)' \
|
|
|
|
'perl(Socket::MsgHdr)' \
|
|
|
|
'perl(Sort::Versions)' \
|
2019-07-16 10:28:05 +02:00
|
|
|
'perl(Test::Compile)' \
|
2019-07-13 00:34:53 +02:00
|
|
|
'perl(Test::Strict)' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'perl(Test::Fatal)' \
|
|
|
|
'perl(Test::Pod)' \
|
|
|
|
'perl(Test::Mock::Time)' \
|
|
|
|
'perl(Test::MockModule)' \
|
|
|
|
'perl(Test::MockObject)' \
|
|
|
|
'perl(Test::Output)' \
|
|
|
|
'perl(Socket::MsgHdr)' \
|
|
|
|
'perl(Test::Warnings)' \
|
2019-07-06 00:35:29 +02:00
|
|
|
'perl(Text::Diff)' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'perl(Text::Markdown)' \
|
|
|
|
'perl(Time::ParseDate)' \
|
|
|
|
'perl(XSLoader) >= 0.24' \
|
2018-11-26 22:40:50 +01:00
|
|
|
'perl(XML::SemanticDiff)' \
|
2018-06-20 07:27:39 +02:00
|
|
|
'TimeDate' \
|
|
|
|
perl-Archive-Extract \
|
|
|
|
perl-Test-Simple \
|
|
|
|
'perl(aliased)' \
|
2019-06-07 17:54:15 +02:00
|
|
|
systemd-sysvinit \
|
2019-07-03 16:35:14 +02:00
|
|
|
systemd libudev1 tack
|
2018-06-20 07:27:39 +02:00
|
|
|
|
|
|
|
VOLUME ["/sys/fs/cgroup", "/run"]
|
|
|
|
|
|
|
|
CMD ["/sbin/init"]
|
|
|
|
|
|
|
|
ENV OPENQA_DIR /opt/openqa
|
|
|
|
ENV NORMAL_USER squamata
|
|
|
|
|
|
|
|
RUN echo "$NORMAL_USER ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
|
|
RUN mkdir -p /home/$NORMAL_USER
|
|
|
|
RUN useradd -r -d /home/$NORMAL_USER -g users --uid=1000 $NORMAL_USER
|
|
|
|
RUN chown $NORMAL_USER:users /home/$NORMAL_USER
|
|
|
|
VOLUME [ "/opt/openqa" ]
|
|
|
|
|
|
|
|
# explicitly set user/group IDs
|
|
|
|
|
|
|
|
RUN mkdir -p /opt/testing_area
|
|
|
|
RUN chown -R $NORMAL_USER:users /opt/testing_area
|
|
|
|
|
2018-08-21 20:56:08 +02:00
|
|
|
ENTRYPOINT ["/bin/bash"]
|
2018-06-20 07:27:39 +02:00
|
|
|
WORKDIR $OPENQA_DIR
|