Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
taste-setup
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
TASTE
taste-setup
Commits
0d0026b4
Commit
0d0026b4
authored
Sep 19, 2017
by
Maxime Perrotin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into mscedit2
parents
e13c09ec
f614cd6f
Changes
47
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
2846 additions
and
67 deletions
+2846
-67
.gitmodules
.gitmodules
+3
-0
Dockerfile
Dockerfile
+57
-0
README.md
README.md
+26
-2
add-ons/common.sh
add-ons/common.sh
+24
-0
add-ons/install-leon2-nonfpu-nonsmp.sh
add-ons/install-leon2-nonfpu-nonsmp.sh
+9
-0
add-ons/install-leon3-fpu-nonsmp.sh
add-ons/install-leon3-fpu-nonsmp.sh
+9
-0
asn1-value-editor
asn1-value-editor
+1
-1
buildsupport
buildsupport
+1
-1
components_library
components_library
+1
-1
dmt
dmt
+1
-1
ellidiss-GUI
ellidiss-GUI
+1
-1
install/03_debian.sh
install/03_debian.sh
+1
-1
install/10_dmt.sh
install/10_dmt.sh
+10
-5
install/15_asn1scc.sh
install/15_asn1scc.sh
+2
-1
install/40_ocarina.sh
install/40_ocarina.sh
+15
-6
install/50_opengeode.sh
install/50_opengeode.sh
+25
-2
install/53_pymsc.sh
install/53_pymsc.sh
+22
-2
install/54_speedometer.sh
install/54_speedometer.sh
+24
-2
install/55_asn1valueEditor.sh
install/55_asn1valueEditor.sh
+23
-2
install/56_msc-editor.sh
install/56_msc-editor.sh
+24
-2
install/60_buildsupport.sh
install/60_buildsupport.sh
+12
-7
install/65_postgres.sh
install/65_postgres.sh
+42
-0
install/85_rtems.sh
install/85_rtems.sh
+7
-1
install/97_upython.sh
install/97_upython.sh
+10
-0
install/common.sh
install/common.sh
+1
-0
misc/helper-scripts/check-deployment-target
misc/helper-scripts/check-deployment-target
+6
-0
misc/helper-scripts/check-deployment-target-gui.py
misc/helper-scripts/check-deployment-target-gui.py
+55
-0
misc/helper-scripts/taste-create-database
misc/helper-scripts/taste-create-database
+1
-1
misc/helper-scripts/taste-edit-concurrency-view
misc/helper-scripts/taste-edit-concurrency-view
+40
-7
misc/helper-scripts/taste-edit-project
misc/helper-scripts/taste-edit-project
+3
-4
misc/helper-scripts/taste-generate-skeletons
misc/helper-scripts/taste-generate-skeletons
+4
-5
misc/helper-scripts/taste-simulate-leon2
misc/helper-scripts/taste-simulate-leon2
+1
-0
misc/peek-poke/peekpoke.py
misc/peek-poke/peekpoke.py
+2
-2
misc/supported-platforms/ocarina_components.aadl
misc/supported-platforms/ocarina_components.aadl
+2372
-0
msc-editor
msc-editor
+1
-1
ocarina
ocarina
+1
-1
opengeode
opengeode
+1
-1
orchestrator
orchestrator
+1
-1
polyorb-hi-c
polyorb-hi-c
+1
-1
pymsc
pymsc
+1
-1
qemu-Leon3/libjpeg.so.62
qemu-Leon3/libjpeg.so.62
+0
-0
qemu-Leon3/libpng12.so.0
qemu-Leon3/libpng12.so.0
+0
-0
speedometer
speedometer
+1
-1
taste-MSC
taste-MSC
+1
-1
taste-model-checker
taste-model-checker
+1
-1
testSuites
testSuites
+1
-1
upython-taste
upython-taste
+1
-0
No files found.
.gitmodules
View file @
0d0026b4
...
...
@@ -55,3 +55,6 @@
[submodule "mscc"]
path = mscc
url = https://gitrepos.estec.esa.int/ivany4/mscc.git
[submodule "upython-taste"]
path = upython-taste
url = https://gitrepos.estec.esa.int/taste/uPython-mirror.git
Dockerfile
0 → 100644
View file @
0d0026b4
#
# Process with:
# docker build -t taste .
#
FROM
debian:stretch
RUN
apt-get update
RUN
apt-get
-y
install
netcat net-tools wget
# There is immense waste of re-downloading the .deb files
# in every attempt to setup the Docker image.
# The following uses a locally-provided proxy
# that will make sure the .deb files are only downloaded once,
# and are re-used in all subsequent attempts to build the image.
RUN
route
-n
|
awk
'/^0.0.0.0/ {print $2}'
>
/tmp/host_ip.txt
RUN
echo
"HEAD /"
| nc
`
cat
/tmp/host_ip.txt
`
8000 |
grep
squid-deb-proxy
\
&&
(
echo
"Acquire::http::Proxy
\"
http://
$(
cat
/tmp/host_ip.txt
)
:8000
\"
;"
>
/etc/apt/apt.conf.d/30proxy
)
\
&&
(
echo
"Acquire::http::Proxy::ppa.launchpad.net DIRECT;"
>>
/etc/apt/apt.conf.d/30proxy
)
\
||
echo
"No squid-deb-proxy detected on docker host"
RUN
bash
-c
'export DEBIAN_FRONTEND=noninteractive ; apt-get -y install git sudo'
RUN
bash
-c
'cd /root ; git clone https://gitrepos.estec.esa.int/taste/taste-setup.git tool-src'
# The following pieces correspond to the execution of Update-TASTE.sh ;
# but the execution has to be broken down into steps, so that Docker
# can resume the build from whichever step failed in the last attempt.
RUN
bash
-c
'cd /root/tool-src ; git submodule init ; git submodule update'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/01_sudo.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/03_debian.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/04_pythonlibs.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/05_antlr.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/06_stlink.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/10_dmt.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/15_asn1scc.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/20_msc.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/30_qemu.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/40_ocarina.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/45_pohi.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/50_opengeode.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/53_pymsc.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/54_speedometer.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/55_asn1valueEditor.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/56_msc-editor.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/60_buildsupport.sh'
# Those that need postgres can set it up themselves (avoid creating huge Docker image)
# RUN bash -c 'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/65_postgres.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/70_taste-model-checker.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/80_build-scripts.sh'
# Those that need RTEMS can set it up themselves (avoid creating huge Docker image)
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/85_rtems.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/90_misc.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/91_env.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/95_components_library.sh'
RUN
bash
-c
'cd /bin ; sudo rm sh ; sudo ln -s bash sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/98_bash.sh'
RUN
bash
-c
'cd /root/tool-src ; DISABLE_TASTE_BANNER=1 install/99_paths.sh'
RUN
bash
-c
'echo ". ~/.bashrc.taste" >> /root/.bashrc'
#
# Now run the Docker image with
#
# docker run -it taste /bin/bash
README.md
View file @
0d0026b4
...
...
@@ -4,7 +4,31 @@ TASTE
This is the meta package that is used to install all git modules required
to make a TASTE installation.
To install:
If possible, please use the TASTE VM - available at http://taste.tools
(follow the 'Downloads' link and download the .ova file - that's a VirtualBox
machine that you can import via VirtualBox's "File/Import Appliance")
$ git clone --recursive https://gitrepos.estec.esa.int/taste/taste-setup.git
Otherwise, use a Debian-based distribution, create a new 'taste' user, and...
$ git clone --recursive https://gitrepos.estec.esa.int/taste/taste-setup.git tool-src
...followed by
$ cd tool-src
$ ./Update-TASTE.sh
Then follow the prompts to fix whatever issues are detected in your configuration.
The setup depends on the environment being a Debian distro; if this is not the case,
you can try the setup from inside a debootstrap-ed chroot:
# mkdir /opt/stretch-chroot
# debootstrap stretch /opt/stretch-chroot
# mount -t proc none /opt/stretch-chroot/proc/
# mount -t sysfs none /opt/stretch-chroot/sys/
# mount -o bind /dev /opt/stretch-chroot/dev/
# mount -o bind /dev/pts /opt/stretch-chroot/dev/pts/
# chroot /opt/stretch-chroot
There is also a Dockerfile (currently under construction) that will eventually
automate the setup enough to allow working under any distribution.
add-ons/common.sh
0 → 100644
View file @
0d0026b4
function
InstallBSP
()
{
DESCRIPTION
=
"
$1
"
URL
=
"
$2
"
BASE
=
"
$3
"
FOLDER
=
"
${
BASE
}
/
$4
"
echo
'[-] This will install '
"
${
DESCRIPTION
}
"
','
echo
'[-] under:'
echo
'[-] '
echo
'[-] '
"
${
FOLDER
}
"
echo
'[-] '
[
-e
"
${
FOLDER
}
"
]
&&
{
\
echo
'[-] It will remove anything that is currently there.'
echo
'[-] '
}
echo
-n
'[-] Are you sure you want this? (y/n) '
read
-r
ANS
if
[
"
$ANS
"
!=
"y"
]
;
then
echo
'[-] Response was not "y", aborting...'
exit
1
fi
sudo rm
-rf
"
${
FOLDER
}
"
2>/dev/null
wget
-q
-O
-
"
${
URL
}
"
|
\
(
cd
"
${
BASE
}
"
||
exit
1
;
sudo tar
jxvf -
)
}
add-ons/install-leon2-nonfpu-nonsmp.sh
0 → 100755
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
"
${
DIR
}
/common.sh"
InstallBSP
\
"a generic non-SMP Leon2 BSP, without support for native FPU"
\
"https://download.tuxfamily.org/taste/RTEMS/leon2-nfpu-nsmp.tar.bz2"
\
"/opt/rtems-4.12-2017.07.17/sparc-rtems4.12"
\
"leon2"
add-ons/install-leon3-fpu-nonsmp.sh
0 → 100755
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
"
${
DIR
}
/common.sh"
InstallBSP
\
"a generic non-SMP Leon3 BSP, with support for FPU"
\
"https://download.tuxfamily.org/taste/RTEMS/leon3-fpu-nsmp.tar.bz2"
\
"/opt/rtems-4.12-2017.07.17/sparc-rtems4.12"
\
"leon3"
asn1-value-editor
@
222c849f
Compare
0e47ad76
...
222c849f
Subproject commit
0e47ad76475dab305ee14ebe6c3eb905fdfaee81
Subproject commit
222c849f0e1cd70e15047f35879d0620ca7f55e2
buildsupport
@
46e59cf1
Compare
df13f1af
...
46e59cf1
Subproject commit
df13f1af480ece8ba5f06e87f4264ea7c469e0fb
Subproject commit
46e59cf19cc2a3fe005ba5bd1f71e8507e45b0dc
components_library
@
b3d442be
Compare
fab38384
...
b3d442be
Subproject commit
fab3838488611081d53f9d653f226378eb9cadfa
Subproject commit
b3d442be61069e09a73d660c2e7b8088bd6583a8
dmt
@
d08bfe7c
Compare
39cc32cb
...
d08bfe7c
Subproject commit
39cc32cbf479c8fafd80afdc64a1f57d41a5fd7b
Subproject commit
d08bfe7c9e875b9f757fd5c0bb29d3b1d8e494a1
ellidiss-GUI
@
eb2c2da6
Compare
55601c78
...
eb2c2da6
Subproject commit
55601c78cba5058ed692e1793f5e13fd1d1a4dad
Subproject commit
eb2c2da62e7725e5c7b0a5af95cef7a4e61b5def
install/03_debian.sh
View file @
0d0026b4
...
...
@@ -9,4 +9,4 @@ sudo apt-get update
if
[
"
${
ARCH
}
"
==
"x86_64"
]
;
then
sudo
apt-get
install
-y
--force-yes
libc6:i386 libgcc1:i386 libxft2:i386 libxss1:i386 libcairo2:i386 libc6-dev-i386
fi
sudo
apt-get
install
-y
--force-yes
autoconf automake curl exuberant-ctags gcc git gnat gtkwave kate lcov libacl1 libacl1-dev libarchive-dev libattr1 libattr1-dev libbonoboui2-0 libdbd-sqlite3-perl libdbi-perl libfile-copy-recursive-perl libglib2.0-0 libgnome2-0 libgnome2-perl libgnome2-vfs-perl libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk2-gladexml-perl libgtk2-perl libgraphviz-dev libmono-system-data-linq4.0-cil libmono-system-numerics4.0-cil libmono-system-runtime-serialization-formatters-soap4.0-cil libmono-system-runtime4.0-cil libmono-system-web4.0-cil libmono-system-xml4.0-cil libmono-system4.0-cil libsqlite3-dev libtool libx
enomai-dev libxml-libxml-perl libxml-libxml-simple-perl libxml-parser-perl libxml2-dev libxslt1-dev libzmq3-dev mono-mcs mono-reference-assemblies-2.0 mono-runtime nedit net-tools pgadmin3 postgresql postgresql-client postgresql-client-common postgresql-common python-antlr python-coverage python-gtk2-dev python-jinja2 python-lxml python-matplotlib python-pexpect python-pip python-ply python-psycopg2 python-pygraphviz python-pyside python3-pip qemu-system sqlite3
sudo
tk8.5 tree vim-gtk wmctrl xenomai-system-tools xmldiff xpdf xterm xterm zip openjdk-8-jre python3-lxml bash-completion strace libtemplates-parser11.10.1-dev libusb-1.0-0-dev cmake dfu-util gnuplot
sudo
apt-get
install
-y
--force-yes
autoconf automake curl exuberant-ctags gcc git gnat gtkwave kate lcov libacl1 libacl1-dev libarchive-dev libattr1 libattr1-dev libbonoboui2-0 libdbd-sqlite3-perl libdbi-perl libfile-copy-recursive-perl libglib2.0-0 libgnome2-0 libgnome2-perl libgnome2-vfs-perl libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk2-gladexml-perl libgtk2-perl libgraphviz-dev libmono-system-data-linq4.0-cil libmono-system-numerics4.0-cil libmono-system-runtime-serialization-formatters-soap4.0-cil libmono-system-runtime4.0-cil libmono-system-web4.0-cil libmono-system-xml4.0-cil libmono-system4.0-cil libsqlite3-dev libtool libx
ml-libxml-perl libxml-libxml-simple-perl libxml-parser-perl libxml2-dev libxslt1-dev libzmq3-dev mono-mcs mono-reference-assemblies-2.0 mono-runtime nedit net-tools pgadmin3 postgresql postgresql-client postgresql-client-common postgresql-common python-antlr python-coverage python-gtk2-dev python-jinja2 python-lxml python-matplotlib python-pexpect python-pip python-ply python-psycopg2 python-pygraphviz python-pyside python3-pip qemu-system sqlite3
sudo
tk8.5 tree vim-gtk wmctrl xmldiff xpdf xterm xterm zip openjdk-8-jre python3-lxml bash-completion strace libtemplates-parser11.10.1-dev libusb-1.0-0-dev cmake dfu-util gnuplot libstdc++-6-dev
install/10_dmt.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
# Setup the tools in ~/.local/bin
cd
$DIR
/../dmt
||
exit
1
cd
"
$DIR
/../dmt"
||
exit
1
# Skip install if the version installed is the same and the tree is clean
HEAD
=
"
$(
grep
version
=
setup.py |
awk
-F
\"
'{print $2}'
)
"
VERSION_INSTALLED
=
"
$(
dmt
--version
2>/dev/null |
grep
^TAST |
awk
'{print $NF}'
)
"
git status
>
/dev/null
TREE_CLEAN
=
$?
if
[
${
TREE_CLEAN
}
-eq
0
-a
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
DMT tree is clean and already installed. Skipping DMT install...
exit
0
fi
...
...
install/15_asn1scc.sh
View file @
0d0026b4
...
...
@@ -5,7 +5,8 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Fetch and install latest ASN1SCC release
mkdir
-p
${
PREFIX
}
/share/asn1scc/
||
exit
1
cd
${
PREFIX
}
/share/
||
exit
1
VER
=
$(
asn1.exe 2>&1 |
grep
'^Current'
|
awk
'{print $NF}'
)
ASN1SCC_BIN
=
$(
which asn1.exe
)
VER
=
$(
mono
$ASN1SCC_BIN
2>&1 |
grep
'^Current'
|
awk
'{print $NF}'
)
if
[
"
${
VER
}
"
!=
"3.3.21"
]
;
then
wget
-q
-O
- https://github.com/ttsiodras/asn1scc/releases/download/3.3.21/asn1scc-bin-3.3.21.tar.bz2
\
|
tar
jxvf -
...
...
install/40_ocarina.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
# Setup the tools in ~/.local/bin
cd
$DIR
/../ocarina
||
exit
1
cd
"
$DIR
/../ocarina"
||
exit
1
# Skip Ocarina building if tree is clean and version is identical
HEAD
=
"
$(
git log
--oneline
|
head
-1
|
cut
-d
' '
-f1
)
"
VERSION_INSTALLED
=
"
$(
ocarina
-v
2>&1 |
grep
^Oca |
awk
'{print $NF}'
|
sed
's,),,;s,r,,'
)
"
git status
>
/dev/null
TREE_CLEAN
=
$?
if
[
${
TREE_CLEAN
}
-eq
0
-a
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
Ocarina tree is clean and already installed. Skipping Ocarina build...
exit
0
fi
make distclean
# ignore any errors here
./support/reconfig
||
exit
1
./configure
--prefix
=
${
PREFIX
}
||
exit
1
./configure
--prefix
=
"
${
PREFIX
}
"
||
exit
1
make
||
exit
1
make
install
# Install Maxime's customized version of available deployment targets
cat
../misc/supported-platforms/ocarina_components.aadl |
\
sed
"s,/home/taste/tool-inst,
$(
taste-config
--prefix
)
,"
>
\
${
PREFIX
}
/share/ocarina/AADLv2/ocarina_components.aadl
# Add Ocarina to PATH
PATH_CMD
=
'export PATH=$PATH:'
"
${
PREFIX
}
/bin"
UpdatePATH
install/50_opengeode.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
# Setup opengeode in ~/.local/bin
cd
"
$DIR
/../opengeode"
||
exit
1
# Skip install if the version installed is the same and the tree is clean
HEAD
=
"
$(
grep
_version_ opengeode/opengeode.py |
head
-1
|
awk
-F
\'
'{print $2}'
)
"
VERSION_INSTALLED
=
"
$(
opengeode
--version
2>&1
)
"
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
OpenGEODE tree is clean and already installed. Skipping OpenGEODE install...
exit
0
fi
# Unfortunately, the --upgrade DOES NOT ALWAYS WORK.
# Uninstall first...
echo
y | pip2 uninstall opengeode
cd
$DIR
/../opengeode
||
exit
1
pip2
install
--user
--upgrade
.
||
exit
1
# Add .local/bin to PATH
...
...
install/53_pymsc.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
cd
$DIR
/../pymsc
||
exit
1
# Setup pymsc in ~/.local
cd
"
$DIR
/../pymsc"
||
exit
1
# Skip install if the version installed is the same and the tree is clean
HEAD
=
"
$(
grep
__version msccore/__init__.py |
awk
'{print $NF}'
|
tr
-d
'"'
)
"
VERSION_INSTALLED
=
"
$(
pip2 freeze |
grep
taste-msc |
awk
-F
=
'{print $NF}'
)
"
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
taste-msc tree is clean and already installed. Skipping taste-msc install...
exit
0
fi
# Unfortunately, the --upgrade DOES NOT ALWAYS WORK.
# Uninstall first...
echo
y | pip2 uninstall taste-msc
pip2
install
--user
--upgrade
.
||
exit
1
# Add .local/bin to PATH
...
...
install/54_speedometer.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
cd
$DIR
/../speedometer
||
exit
1
# Setup speedometer library in ~/.local
cd
"
$DIR
/../speedometer"
||
exit
1
# Skip install if the version installed is the same and the tree is clean
HEAD
=
"
$(
grep
version speedometer/speedometer.py |
head
-1
|
awk
-F
\"
'{print $(NF-1)}'
)
"
# This is much slower than a --version option would be...
# But there's no such functionality in speedometer :-(
VERSION_INSTALLED
=
"
$(
pip2 freeze |
grep
speedometer |
awk
-F
=
'{print $NF}'
)
"
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
Speedometer tree is clean and already installed. Skipping Speedometer install...
exit
0
fi
# Unfortunately, the --upgrade DOES NOT ALWAYS WORK.
# Uninstall first...
echo
y | pip2 uninstall speedometer
pip2
install
--user
--upgrade
.
||
exit
1
# Add .local/bin to PATH
...
...
install/55_asn1valueEditor.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
cd
$DIR
/../asn1-value-editor
||
exit
1
# Setup asn1valueEditor in ~/.local/bin
cd
"
$DIR
/../asn1-value-editor"
||
exit
1
# Skip install if the version installed is the same and the tree is clean
HEAD
=
"
$(
grep
__version asn1_value_editor/asn1_value_editor.py |
head
-1
|
awk
-F
\"
'{print $(NF-1);}'
)
"
VERSION_INSTALLED
=
"
$(
taste-gui
--version
2>&1 |
head
-1
|
awk
'{print $NF}'
)
"
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
ASN.1 Value Editor tree is clean and already installed. Skipping asn1valueEditor install...
exit
0
fi
# Unfortunately, the --upgrade DOES NOT ALWAYS WORK.
# Uninstall first...
echo
y | pip2 uninstall asn1-value-editor
pip2
install
--user
--upgrade
.
||
exit
1
# Add .local/bin to PATH
...
...
install/56_msc-editor.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
cd
$DIR
/../msc-editor
||
exit
1
# Setup the tools in ~/.local/bin
cd
"
$DIR
/../msc-editor"
||
exit
1
# Skip install if the version installed is the same and the tree is clean
HEAD
=
"
$(
grep
__version msce/msce.py |
head
-1
|
awk
-F
\'
'{print $(NF-1)}'
)
"
# This is much slower than a --version option would be...
# But there's no such functionality in msc-editor :-(
VERSION_INSTALLED
=
"
$(
pip2 freeze |
grep
msce |
awk
-F
=
'{print $NF}'
)
"
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
MSC editor tree is clean and already installed. Skipping MSCE install...
exit
0
fi
# Unfortunately, the --upgrade DOES NOT ALWAYS WORK.
# Uninstall first...
echo
y | pip2 uninstall msce
pip2
install
--user
--upgrade
.
||
exit
1
# Add .local/bin to PATH
...
...
install/60_buildsupport.sh
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
.
"
${
DIR
}
/common.sh"
# Setup the tools in ~/.local/bin
cd
$DIR
/../buildsupport
||
exit
1
cd
"
$DIR
/../buildsupport"
||
exit
1
# Skip Ocarina building if tree is clean and version is identical
HEAD
=
"
$(
git log
--oneline
|
head
-1
|
cut
-d
' '
-f1
)
"
VERSION_INSTALLED
=
"
$(
buildsupport
-v
2>&1 |
grep
-A1
Based |
tail
-1
|
tr
-d
'\012'
)
"
git status
>
/dev/null
TREE_CLEAN
=
$?
if
[
${
TREE_CLEAN
}
-eq
0
-a
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
VERSION_INSTALLED
=
"
$(
buildsupport
-v
2>&1 |
grep
Version |
cut
-f
4
-d
' '
|
tr
-d
'\012'
)
"
GIT_OUTPUT
=
$(
git status
--porcelain
)
if
[
"
${
GIT_OUTPUT
}
"
==
""
]
;
then
TREE_DIRTY
=
0
else
TREE_DIRTY
=
1
fi
if
[
${
TREE_DIRTY
}
-eq
0
]
&&
[
"
${
HEAD
}
"
==
"
${
VERSION_INSTALLED
}
"
]
;
then
echo
Buildsupport tree is clean and already installed. Skipping Buildsupport build...
exit
0
fi
make clean
# ignore any errors here
make
||
exit
1
cp
buildsupport
${
PREFIX
}
/bin
||
exit
1
cp
buildsupport
"
${
PREFIX
}
/bin"
||
exit
1
# Add Ocarina to PATH
PATH_CMD
=
'export PATH=$PATH:'
"
${
PREFIX
}
/bin"
...
...
install/65_postgres.sh
0 → 100755
View file @
0d0026b4
#!/bin/bash
echo
"[-] Checking for a local PostgreSQL installation..."
CONF_FILE
=
$(
/bin/ls /etc/postgresql/
*
/main/pg_hba.conf 2>/dev/null |
head
-1
)
if
[
-z
"
${
CONF_FILE
}
"
]
;
then
echo
'[x] No pg_hba.conf file under /etc/postgresql/*/main/ ... Aborting.'
exit
1
else
echo
'[-] Good, found config file under '
"
${
CONF_FILE
}
"
fi
echo
"[-] Checking whether local connections to PostgreSQL are trusted..."
if
!
sudo grep
'^local.*trust$'
"
${
CONF_FILE
}
"
>
/dev/null 2>&1
;
then
echo
"[-] Setting local connections to PostgreSQL as trusted..."
echo
"local all all trust"
|
\
sudo tee
-a
"
${
CONF_FILE
}
"
else
echo
'[-] All good, already set as such.'
fi
echo
"[-] Checking whether a local postgres DB install has a 'taste' user..."
echo
| psql
-U
taste postgres 2>/dev/null
if
[
$?
-ne
0
]
;
then
echo
"[-] Adding a 'taste' DB user..."
sudo
su - postgres
-c
psql
<<<
\
"create user taste with password 'tastedb'; alter user taste with superuser;"
>
/dev/null
if
[
$?
-ne
0
]
;
then
echo
"[x] Failed to create DB user 'taste'... Aborting."
exit
1
fi
else
echo
'[-] Already there.'
fi
PGPASS
=
"
$HOME
/.pgpass"
LINE
=
'127.0.0.1:5432:*:postgres:tastevm'
echo
"[-] Checking if 'taste' DB user credentials are stored in
\$
HOME/.pgpass..."
if
!
grep
"
${
LINE
/*/\\*
}
"
"
$PGPASS
"
>
/dev/null 2>&1
;
then
echo
"[-] Adding the 'taste' DB user credentials to
\$
HOME/.pgpass ..."
echo
"
$LINE
"
>>
"
$PGPASS
"
LINE
=
'localhost:5432:*:postgres:tastevm'
echo
"
$LINE
"
>>
"
$PGPASS
"
else
echo
'[-] Already stored.'
fi
chmod
600
"
${
PGPASS
}
"
install/85_rtems.sh
View file @
0d0026b4
...
...
@@ -48,7 +48,7 @@ fi
# Make sure the RTEMS_MAKEFILE_PATH_LEON is set
grep
RTEMS_MAKEFILE_PATH_LEON
$HOME
/.bashrc.taste
>
/dev/null
||
{
read
UNUSED FINAL_RTEMS_FOLDER
<<<
$(
cat
"
$INSTALLED_RTEMS_INFO
"
)
GR712_FOLDER
=
"
$(
find
$FINAL_RTEMS_FOLDER
-type
d
-name
gr712rc
)
"
GR712_FOLDER
=
"
$(
find
$FINAL_RTEMS_FOLDER
-
maxdepth
2
-
type
d
-name
gr712rc
)
"
echo
Adding RTEMS_MAKEFILE_PATH_LEON
env
var to settings.
echo
"export RTEMS_MAKEFILE_PATH_LEON=
\"
$GR712_FOLDER
\"
"
>>
$HOME
/.bashrc.taste
}
...
...
@@ -63,3 +63,9 @@ cat $HOME/.bashrc.taste | \
sed
"s,/opt/rtems-4.[^/]*/sparc-rtems4.[^/]*/leon.,
${
NEW_RTEMS_FOLDER
}
/sparc-rtems4.12/gr712rc,"
\
>
${
TMPCFG
}
mv
${
TMPCFG
}
$HOME
/.bashrc.taste
# For Dockerfiles and chroots, the LEON3 simulator depends on these i386 libraries
ARCH
=
$(
uname
-m
)
if
[
"
${
ARCH
}
"
==
"x86_64"
]
;
then
sudo
apt-get
install
-y
--force-yes
libcurl3-gnutls:i386 libbz2-1.0:i386 libncurses5:i386 libglib2.0-0:i386
fi
install/97_upython.sh
0 → 100755
View file @
0d0026b4
#!/bin/bash
DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
.
${
DIR
}
/common.sh
# Install the scripts
cd
${
DIR
}
||
exit
1
cd
..
||
exit
1
make
-C
upython-taste/mpy-cross/
install/common.sh
View file @
0d0026b4
export
DISABLE_TASTE_BANNER
=
1
TASTE_PATHS
=
$HOME
/.bashrc.taste
PREFIX
=
$HOME
/tool-inst
...
...
misc/helper-scripts/check-deployment-target
0 → 100755
View file @
0d0026b4
#!/bin/bash -e
echo
"Checking if target
$1
is supported"
exit
0
misc/helper-scripts/check-deployment-target-gui.py
0 → 100755
View file @
0d0026b4
#!/usr/bin/env python
import
sys
import
PySide
from
PySide.QtGui
import
(
QApplication
,
QMessageBox
)
def
check_crazyflie
():
''' This function should be in a different module '''
return
def
check_snoopy
():
raise
NotImplementedError
()
PLATFORMS
=
{
"crazyflie.gnat"
:
check_crazyflie
,
"snoopy"
:
check_snoopy
}
def
run_gui
(
platform
):
app
=
QApplication
(
sys
.
argv
)
msg_box
=
QMessageBox
()
msg_box
.
setWindowTitle
(
"This plaform is not installed!"
)
ok
=
msg_box
.
addButton
(
"Install now"
,
QMessageBox
.
AcceptRole
)
later
=
msg_box
.
addButton
(
"Install later"
,
QMessageBox
.
RejectRole
)
msg_box
.
setEscapeButton
(
later
)
msg_box
.
setDefaultButton
(
ok
)
msg_box
.
setIcon
(
QMessageBox
.
Warning
)
msg_box
.
setText
(
"Do you want to install target {} ?"
.
format
(
platform
))
msg_box
.
exec_
()
if
msg_box
.
clickedButton
()
==
ok
:
print
(
"OK, will do."
)
else
:
warn_box
=
QMessageBox
()
warn_box
.
setIcon
(
QMessageBox
.
Information
)
warn_box
.
setText
(
"You can install the platform later, manually"
)
warn_box
.
exec_
()
def
main
():
# check if the target in supported
try
:
platform
=
sys
.
argv
[
1
]
PLATFORMS
[
platform
]()
except
KeyError
:
print
(
"Unknown platform: {}"
.
format
(
platform
))
return
1
except
IndexError
:
print
(
"You must specify the target in the command line"
)
except
NotImplementedError
:
run_gui
(
platform
)
else
:
print
(
"Platform {} is installed"
.
format
(
platform
))
sys
.
exit
(
0
)
if
__name__
==
'__main__'
:
main
()
misc/helper-scripts/taste-create-database
View file @
0d0026b4
...
...
@@ -27,7 +27,7 @@ then
exit
-1
fi
taste-extract-asn-from-design.exe
-i
"
$INTERFACEVIEW
"
-j
sql_db/
$DBNAME
.asn
mono
$(
which taste-extract-asn-from-design.exe
)
-i
"
$INTERFACEVIEW
"
-j
sql_db/
$DBNAME
.asn
# (4) create Python and SQL Alchemy interfaces
...
...
misc/helper-scripts/taste-edit-concurrency-view
View file @
0d0026b4
#!/bin/bash
# TASTE Concurrency View Creator
# Logging with colors (only in a terminal)
if
[
-t
1
]
;
then
COLORON
=
"
\e
[1m
\e
[32m"
COLOROFF
=
"
\e
[0m"
else
COLORON
=
""
COLOROFF
=
""
fi
INFO
=
"
${
COLORON
}
[INFO]
${
COLOROFF
}
"
ERROR
=
"
${
COLORON
}
[ERROR]
${
COLOROFF
}
"
error
=
0
NB_ARGS
=
3
...
...
@@ -32,10 +44,23 @@ else
fi
fi
# Check if models are from V2 and convert to V1_3 accordingly
V2
=
0
grep
"version =>
\"
2"
InterfaceView.aadl
>
/dev/null
&&
{