Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
O
openstructure
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container registry
Model registry
Analyze
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
schwede
openstructure
Commits
d2233326
Commit
d2233326
authored
12 years ago
by
Valerio Mariani
Browse files
Options
Downloads
Patches
Plain Diff
Updated bundling scripts
Closes BZDNG-350
parent
b2658f9c
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
deployment/linux/create_bundle_lucid.py
+152
-0
152 additions, 0 deletions
deployment/linux/create_bundle_lucid.py
deployment/linux/create_bundle_precise.py
+0
-0
0 additions, 0 deletions
deployment/linux/create_bundle_precise.py
with
152 additions
and
0 deletions
deployment/linux/create_bundle_lucid.py
0 → 100644
+
152
−
0
View file @
d2233326
import
os
import
shutil
import
subprocess
import
string
import
sys
import
datetime
import
sip
import
PyQt4
# parameters that can be modified
qt4_plugins_location
=
'
/usr/lib/qt4/plugins
'
ssl_crypto_location
=
'
/lib/
'
chemlib_dictionary_location
=
'
/home/bundler/compounds.chemlib
'
list_of_excluded_libraries
=
[
'
ld-linux
'
,
'
libexpat
'
,
'
libgcc_s
'
,
'
libglib
'
,
'
cmov
'
,
'
libice
'
,
'
libSM
'
,
'
libX
'
,
'
libg
'
,
'
libGL.so
'
,
'
libfontconfig
'
,
'
libfreetype
'
,
'
libdrm
'
,
'
libxcb
'
,
'
libICE
'
,
'
libnvidia
'
,
'
libc
'
]
if
len
(
sys
.
argv
)
<
2
:
print
'
usage: create_bundle.py additional_label
'
sys
.
exit
()
additional_label
=
sys
.
argv
[
1
]
currdir
=
os
.
getcwd
()
if
currdir
.
find
(
'
deployment
'
)
==-
1
or
currdir
.
find
(
'
linux
'
)
==-
1
:
print
'
\n
'
print
'
ERROR: Please run this script from the deployment/linux directory
'
print
'
\n
'
sys
.
exit
()
print
"
WARNING: If this script does not run to completion, please run
'
git reset --hard HEAD
'
in the main directory (two up from here) before restarting
"
system_python_version
=
sys
.
version_info
system_python_executable
=
'
python
'
+
str
(
system_python_version
[
0
])
+
'
.
'
+
str
(
system_python_version
[
1
])
system_python_bin
=
'
/usr/bin/
'
+
system_python_executable
system_python_libs
=
'
/usr/lib/
'
+
system_python_executable
qt4_module_location
=
os
.
path
.
dirname
(
PyQt4
.
__file__
)
sip_module_location
=
os
.
path
.
dirname
(
sip
.
__file__
)
print
'
\n
'
print
'
\n
'
print
'
Detecting architecture and revision
'
uname_output
=
subprocess
.
Popen
(
'
uname -a
'
,
shell
=
True
,
cwd
=
'
../../
'
,
stdout
=
subprocess
.
PIPE
).
stdout
uname_line
=
uname_output
.
readlines
()
if
uname_line
[
0
].
find
(
'
x86_64
'
)
!=-
1
:
libdir
=
'
lib64
'
archstring
=
'
64bit
'
else
:
libdir
=
'
lib
'
archstring
=
'
32bit
'
directory_name
=
'
openstructure-linux-
'
+
archstring
+
'
-
'
+
additional_label
print
'
Hardcoding package python binary path in openstructure executables
'
subprocess
.
call
(
'
rm -f scripts/ost_config.in.pre* scripts/ost_config.in.backup
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
mv scripts/ost_config.in scripts/ost_config.in.backup
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
sed
"
s/@PYTHON_BINARY@/\$DNG_ROOT\/bin\/python/g
"
scripts/ost_config.in.backup > scripts/ost_config.in.preprepre
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
sed
"
s/\#export PYTHONHOME/ export PYTHONHOME/g
"
scripts/ost_config.in.preprepre > scripts/ost_config.in.prepre
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
sed
"
s/\#export PYTHONPATH/ export PYTHONPATH/g
"
scripts/ost_config.in.prepre > scripts/ost_config.in.pre
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
sed
"
s/\#export QT_PLUGIN_PATH/ export QT_PLUGIN_PATH/g
"
scripts/ost_config.in.pre > scripts/ost_config.in
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Compiling Openstructure
'
subprocess
.
call
(
'
cmake ./ -DCMAKE_BUILD_TYPE=Release -DPREFIX=
'
+
directory_name
+
'
-DCOMPOUND_LIB=
'
+
chemlib_dictionary_location
+
'
-DENABLE_IMG=ON -DENABLE_GUI=ON -DENABLE_GFX=ON -DOPTIMIZE=ON
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
make -j2
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Removing obsolete packages and package directory
'
subprocess
.
call
(
'
rm -fr openstructure-linux*
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Creating new package directory
'
subprocess
.
call
(
'
mkdir
'
+
directory_name
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
mkdir
'
+
directory_name
+
'
/bin
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copy python executable into stage for dependency detection
'
subprocess
.
call
(
'
cp
'
+
system_python_bin
+
'
stage/bin/python
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copy python libraries into the stage for dependency detection
'
subprocess
.
call
(
'
cp -pRL
'
+
system_python_libs
+
'
stage/
'
+
libdir
+
'
/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
rm -fr stage/
'
+
libdir
+
'
/
'
+
system_python_executable
+
'
/dist-packages
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
cp -pRL
'
+
sip_module_location
+
'
/sip* stage/
'
+
libdir
+
'
/
'
+
system_python_executable
+
'
/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
cp -pRL
'
+
qt4_module_location
+
'
stage/
'
+
libdir
+
'
/
'
+
system_python_executable
+
'
/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Creating new dependency list
'
so_list
=
[]
walk_list
=
os
.
walk
(
'
../../stage
'
)
for
dir_entry
in
walk_list
:
for
file_entry
in
dir_entry
[
2
]:
if
file_entry
.
find
(
'
.so
'
)
==
len
(
file_entry
)
-
3
or
file_entry
==
'
gosty
'
:
filepath
=
os
.
path
.
join
(
dir_entry
[
0
],
file_entry
)
so_list
.
append
(
filepath
)
dep_list
=
[]
for
so_entry
in
so_list
:
dep
=
subprocess
.
Popen
(
'
perl ./ldd-rec.pl
'
+
so_entry
,
shell
=
True
,
stdout
=
subprocess
.
PIPE
,
cwd
=
'
./
'
).
stdout
dep_so_entry
=
dep
.
readlines
()
for
dep_entry
in
dep_so_entry
:
dep_list
.
append
(
dep_entry
[:
-
1
])
sorted_dep_list
=
sorted
(
list
(
set
(
dep_list
)))
print
'
Filtering system libraries from depenedency list
'
filtered_dep_list
=
[]
for
entry
in
sorted_dep_list
:
exclude
=
False
for
exclusion
in
list_of_excluded_libraries
:
if
entry
.
find
(
exclusion
)
!=-
1
:
exclude
=
True
if
exclude
==
False
:
filtered_dep_list
.
append
(
entry
)
print
'
Installing OpenStructure into package directory structure
'
subprocess
.
call
(
'
make install
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copy libraries in the package directory structure
'
for
entry
in
filtered_dep_list
:
subprocess
.
call
(
'
cp
'
+
entry
+
'
'
+
directory_name
+
'
/
'
+
libdir
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copy python executable into package directory structure
'
subprocess
.
call
(
'
cp
'
+
system_python_bin
+
'
'
+
directory_name
+
'
/bin/python
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copy python libraries into package directory structure
'
subprocess
.
call
(
'
cp -pRL
'
+
system_python_libs
+
'
'
+
directory_name
+
'
/
'
+
libdir
+
'
/
'
+
system_python_executable
+
'
/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
rm -fr
'
+
directory_name
+
'
/
'
+
libdir
+
'
/
'
+
system_python_executable
+
'
/dist-packages
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
cp -pRL
'
+
sip_module_location
+
'
/sip*
'
+
directory_name
+
'
/
'
+
libdir
+
'
/
'
+
system_python_executable
+
'
/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
cp -pRL
'
+
qt4_module_location
+
'
'
+
directory_name
+
'
/
'
+
libdir
+
'
/
'
+
system_python_executable
+
'
/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copy Qt 4 plugins into package directory structure
'
subprocess
.
call
(
'
cp -pRL
'
+
qt4_plugins_location
+
'
'
+
directory_name
+
'
/bin/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copying supplementary material into package directory structure
'
subprocess
.
call
(
'
cp -pRL stage/share/openstructure
'
+
directory_name
+
'
/share/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copying examples into package directory structure
'
subprocess
.
call
(
'
cp -pRL examples
'
+
directory_name
+
'
/share/openstructure/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copying ReadMe file into package directory structure
'
subprocess
.
call
(
'
cp deployment/README.html
'
+
directory_name
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Creating executables at the top level of the package directory structure
'
subprocess
.
call
(
'
ln -sf bin/dng ./dng
'
,
shell
=
True
,
cwd
=
'
../../
'
+
directory_name
)
subprocess
.
call
(
'
ln -sf bin/ost ./ost
'
,
shell
=
True
,
cwd
=
'
../../
'
+
directory_name
)
subprocess
.
call
(
'
ln -sf bin/lddt ./lddt
'
,
shell
=
True
,
cwd
=
'
../../
'
+
directory_name
)
print
'
Copying additional libraries in the package directory structure
'
subprocess
.
call
(
'
cp
'
+
ssl_crypto_location
+
'
/libssl.so*
'
+
directory_name
+
'
/
'
+
libdir
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
cp
'
+
ssl_crypto_location
+
'
/libcrypto.so*
'
+
directory_name
+
'
/
'
+
libdir
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Copying python headers in the package directory structure
'
subprocess
.
call
(
'
mkdir -p
'
+
directory_name
+
'
/local/include/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
cp -r /usr/include/
'
+
system_python_executable
+
'
'
+
directory_name
+
'
/local/include/
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Stripping pyc files from bundle
'
subprocess
.
call
(
'
rm -rf $(find . -name *.pyc)
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
removing dokk and harmony examples from bundle
'
subprocess
.
call
(
'
rm -rf
'
+
directory_name
+
'
/share/openstructure/examples/code_fragments/dokk
'
,
shell
=
True
,
cwd
=
'
../../
'
)
subprocess
.
call
(
'
rm -rf
'
+
directory_name
+
'
/share/openstructure/examples/code_fragments/harmony
'
,
shell
=
True
,
cwd
=
'
../../
'
)
print
'
Compressing the bundle
'
subprocess
.
call
(
'
tar cfz
'
+
directory_name
+
'
.tgz
'
+
directory_name
,
shell
=
True
,
cwd
=
'
../../
'
)
print
"
Done. Please run
'
git reset --hard HEAD
'
in the top directory before restarting.
"
This diff is collapsed.
Click to expand it.
deployment/linux/create_bundle.py
→
deployment/linux/create_bundle
_precise
.py
+
0
−
0
View file @
d2233326
File moved
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment