Skip to content
Snippets Groups Projects
Commit ee1a96ff authored by Anh Nguyen-Tuong's avatar Anh Nguyen-Tuong
Browse files

Merge branch 'master' of git.zephyr-software.com:allnp/peasoup_umbrella

parents f3d403fd a4681a0f
Branches
Tags
No related merge requests found
Pipeline #2640 passed
...@@ -9,6 +9,7 @@ stages: ...@@ -9,6 +9,7 @@ stages:
- clean - clean
- build - build
- test - test
- deploy
# #
...@@ -156,3 +157,16 @@ elfdep-centos75: ...@@ -156,3 +157,16 @@ elfdep-centos75:
variables: variables:
OS: 'centos75' OS: 'centos75'
#
# deploy a docker image
#
deploy-u18:
stage: deploy
script:
- ./cicd_testing/deploy.sh
tags:
- ubuntu18
variables:
OS: 'ubuntu18'
#/bin/bash
export PS_PATH=git.zephyr-software.com:4567/opensrc/irdb-sdk/
export PS_TAG=zipr-bin:latest
export DOCKER_PS=${PS_PATH}${PS_TAG}
do_docker_clean()
{
if [[ $CICD_WEEKLY == 1 ]]; then
docker system prune -a -f
fi
}
do_login()
{
# login to gitlab's docker registry as gitlab-user
docker login $PS_PATH -u gitlab-runner -p 84MyuSuDo4kQat4GZ_Zs 2> /dev/null
}
do_build_image()
{
#
# Re-install peasoup without ida.
#
cd $PEASOUP_HOME
rm -rf installed || true
$PEDI_HOME/pedi --setup -m manifest.txt -l ps -l zipr -l stars -i $PS_INSTALL
$PEDI_HOME/pedi -m manifest.txt
rm manifest.txt.config
# build the docker image
cd $PEASOUP_HOME/cicd_testing/docker-zipr-bin
mv ../../installed .
# if we fail here, continue on so we put "install" back in the right place.
# the test should stop this
docker build -t $DOCKER_PS . || true
mv installed ../..
}
do_push()
{
if [[ $CICD_WEEKLY == 1 ]]; then
docker push ${DOCKER_PS}
fi
}
do_logout()
{
docker logout $PS_PATH
}
main()
{
if [[ -z $PEASOUP_HOME ]]; then
cd /tmp/peasoup_test
source set_env_vars
fi
set -e
do_docker_clean
do_login
do_build_image
do_push
do_logout
}
main "$@"
FROM ubuntu:18.04
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -yq \
postgresql \
postgresql-client \
libpqxx-dev \
sudo \
nasm
ENV IRDB_LIBS=/opt/ps_zipr/irdb-libs/lib
COPY ./installed /opt/ps_zipr/
COPY ./run_pszr.sh /run_pszr.sh
RUN sudo chmod +x /run_pszr.sh
RUN cd /opt/ps_zipr && ./get-peasoup-packages.sh all
RUN useradd -ms /bin/bash zuser && gpasswd -a zuser sudo
RUN echo '%sudo ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers
RUN echo 'export PATH=$PATH:/opt/ps_zipr/tools/' >> /home/zuser/.bashrc
RUN echo 'sudo service postgresql start ' >> /home/zuser/.bashrc
RUN chown zuser:zuser /home/zuser/.bashrc
USER zuser
ENV USER=zuser
RUN sudo service postgresql start && cd /opt/ps_zipr/ && (env USER=zuser ./postgres_setup.sh || true)
WORKDIR /home/zuser
ENTRYPOINT [ "/bin/bash", "-c", "/run_pszr.sh \"$@\"", "--" ]
CMD [ ]
#/bin/bash
print_usage()
{
echo ""
echo " This docker container is made available to the public by Zephyr Software "
echo " (contact: jwd@zephyr-software.com) under the Creative Commons Attribution- "
echo " NonCommercial license (CC BY-NC). "
echo ""
echo " Linux, Gcc, and other relevant open source projects are licensed under their "
echo " own license and are exempt from this license statement. "
echo ""
echo "IRDB toolchain subcommands:"
echo ""
echo " iagree Accept the creative commons non-commercial license and login."
echo " help Print this menu."
echo ""
}
function is_in_activation
{
service "$1" status
activation=$(service "$1" status | grep "Active: activation" )
if [ -z "$activation" ]; then
true;
else
false;
fi
return $?;
}
main()
{
local res=0
export USER=root;
cd /opt/ps_zipr
source ./set_env_vars
cd /home/zuser
subcommand=$1
shift
echo "Arguments are: $@"
case "$subcommand" in
iagree)
echo
echo Welcome to the IRDB toolchain docker image!
echo
echo "Setting up postgres..."
echo
service postgresql start
echo
echo 'The IRDB toolchain is setup and ready to run.'
echo 'You could start your first experiment with:'
echo
echo 'zuser@a3fc1666aaa4:~$ pszr /bin/ls ./ls.p1 -c p1transform'
echo 'Using Zipr backend.'
echo 'Detected ELF shared object.'
echo 'Performing step rida [dependencies=mandatory] ...Done. Successful.'
echo 'Performing step pdb_register [dependencies=mandatory] ...Done. Successful.'
echo 'Performing step fill_in_cfg [dependencies=unknown] ...Done. Successful.'
echo 'Performing step fill_in_indtargs [dependencies=unknown] ...Done. Successful.'
echo 'Performing step fix_calls [dependencies=unknown] ...Done. Successful.'
echo 'Performing step p1transform [dependencies=unknown] ...Done. Successful.'
echo 'Performing step zipr [dependencies=none] ...Done. Successful.'
echo 'zuser@a3fc1666aaa4:~$ ./ls.p1 -l '
echo ' < ls output > '
echo 'zuser@a3fc1666aaa4:~$ readelf -l /bin/ls ./ls.p1 '
echo
bash
res=0
;;
help)
print_usage
exit 0
;;
*)
print_usage
echo
echo "Unknown subcommand: '$subcommand'"
echo
exit 1
;;
esac
if [[ $res != 0 ]]; then
echo
echo Subcommand failed. Logs were printed.
exit 1
fi
exit 0
}
main "$@"
#!/bin/bash
source $(dirname $0)/ps_wrapper.source $0
meds_static_opt=" -s meds_static=off"
rida_opt=" -s rida=on"
echo $@ | grep "meds_static=" >/dev/null 2>&1
if [ $? -eq 0 ]; then
meds_static_specified=1
meds_static_opt=" "
fi
echo $@ | grep "rida=" >/dev/null 2>&1
if [ $? -eq 0 ]; then
rida_specified=1
rida_opt=" "
fi
$PEASOUP_HOME/tools/ps_analyze.sh "$@" --backend zipr $meds_static_opt $rida_opt
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment