Mentions légales du service

Skip to content
Snippets Groups Projects
Commit cda948a8 authored by Kevin Pouget's avatar Kevin Pouget
Browse files

start working on dema/mcgdb docker

parents
No related branches found
No related tags found
No related merge requests found
host_home
FROM finalduty/archlinux:monthly
MAINTAINER Kevin Pouget <kpouget@imag.fr>
ENTRYPOINT ["bash"]
CMD ["/dema_assets/init.sh"]
RUN pacman --noconfirm --needed -Sy gdb strace libdwarf make binutils gcc vim sudo wget python-pip git openssh \
&& rm -rf /var/cache/pacman/pkg/ \
&& mkdir -p /var/cache/pacman/pkg/
RUN echo "## Allow all users to run any commands anywhere" >> /etc/sudoers
RUN echo "ALL ALL=(ALL) ALL" >> /etc/sudoers
RUN echo "auth sufficient pam_permit.so" > /etc/pam.d/su
RUN mkdir -p /home/dema
WORKDIR /home/dema
COPY home /dema_assets
RUN date > /dema_assets/.version
COPY Dockerfile /dema_assets/
VOLUME /home/dema
export PS1="\u@\w \\$ \[$(tput sgr0)\]"
alias ls="ls --color"
alias la="ls -a"
alias llh="ls -lh"
alias vi="vim"
## no window size
set height 0
set width 0
## CLI convenience
set breakpoint pending on
set print pretty
set confirm off
## python debugging
set python print-stack full
##
## Load mcgdb
##
python
sys.path.append("/home/dema/python")
try:
import mcgdb
#mcgdb.initialize()
mcgdb.initialize_by_name()
except Exception as e:
import traceback
print ("Couldn’t load mcGDB extension: {}".format(e))
traceback.print_exc()
end
#!/bin/bash
cat <<EOF
##########
#
# DEMA/mcgdb environment
#
##########
EOF
##########
##### ENVIRONMENT #####
USER_NAME=dema
ASSETS=/${USER_NAME}_assets/
HOME=/home/$USER_NAME
IMAGE_NAME=kpouget/dema-mcgdb
##### admin stuff #####
echo "##########"
echo "# Running an Archlinux container"
echo "# Docker image built on $(cat /$ASSETS/.version)"
echo "##########"
echo
GROUPID=$(stat $HOME -c %g)
USERID=$(stat $HOME -c %u)
if [[ $USERID -eq 0 && $GROUPID -eq 0 ]]
then
echo "####################"
echo "WARNING: Directory '$HOME' not shared with host, is it on purpose ? if not, please use this command line:"
echo " HOST_DIR=\$HOME/${USER_NAME}_data; mkdir -p \$HOST_DIR"
echo " docker run --rm -it -v \$HOST_DIR:/home/$USER_NAME --cap-add sys_ptrace $IMAGE_NAME"
echo "####################"
echo
GROUPID=1000
USERID=1000
NO_HOME=1
fi
echo "root:root" | chpasswd
groupadd --gid $GROUPID $USER_NAME --non-unique
useradd --uid $USERID --gid $GROUPID $USER_NAME
echo $USER_NAME:$USER_NAME | chpasswd
chown $USER_NAME:$USER_NAME /home/$USER_NAME/ -R
echo "==++++++++++++++++++++++++++="
echo "== Root password is 'root'"
echo "== User ($USER_NAME) is '$USER_NAME'"
echo "==++++++++++++++++++++++++++="
##### check strace #####
strace ls &>/dev/null
if [ $? -eq 1 ]
then
echo "####################"
echo 'ERROR: ptrace not working. Did you pass --privileged or --cap-add sys_ptrace option to docker ?'
echo "####################"
echo
fi
##### prepare home dir #####
if [ -z "$(ls -A $HOME/ 2>/dev/null)" ]
then
echo "INFO: Home dir empty, we'll prepare it."
HOME_NOT_POPULATED=1
fi
if [ "$HOME_NOT_POPULATED" == "1" ]
then
echo "INFO: Copying asset files to $HOME ..."
cp $ASSETS/. $HOME -ra
echo "INFO: Giving user rights to $HOME ..."
chown -R $USER_NAME:$USER_NAME $HOME
fi
echo "INFO: Ready! Read ~/README.md for more details."
echo
exec su $USER_NAME
#! /bin/sh
mkdir .ssh
mv ssh_known_hosts .ssh/known_hosts
HOME=/home/dema
mkdir $HOME/python $HOME/tools $HOME/bin
cd $HOME/python
git clone https://gitlab.inria.fr/dema/mcgdb.git
git clone https://gitlab.inria.fr/dema/mcgdb-seqdiag.git
cd $HOME/tools
git clone https://gitlab.inria.fr/dema/mcgdb-temanejo.git
cd $HOME/bin
ln -s gdb mcgdb
ln -s gdb mcgdb-omp
pip install colorlog pysigset enum34 pyparsing
gitlab.inria.fr,128.93.193.8 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAFldY2ft1ReZjFYPpe/wa5Vhl4YJfYz6IJOZaZxL924R44jrGWiR2/Misrug75NBsQB+UWs1iIyWZPk0AN45Sk=
#! /bin/bash
IMAGE=kpouget/dema-mcgdb
docker build -t $IMAGE .
echo "Done with $IMAGE"
\ No newline at end of file
#! /bin/bash
find . -name '*.pyc' -delete
find . -name __pycache__ -delete
find . -name '*.log' -delete
to_run 0 → 100755
#! /bin/bash
DEMA_DIR=/home/kevin/travail/sample/Docker/dema-mcgdb/host_home
docker run --rm -it -v $DEMA_DIR:/home/dema/ --cap-add sys_ptrace kpouget/dema-mcgdb
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment