Table of Contents
Deployment of V4RB Linux Application
To prepare your application for the deployment on the user computer, you have two choices:
- install vcomponents folder into your application folder.
- install vcomponents folder into the folder /usr/local/lib/vcomponents (can be other name)
Standalone Application Package
Everything will be inside of a single application folder.
This way is the most preferable because you can install/uninstall an application as a single folder on the computer of your user.
On default Xojo compiles the application and all supporting libraries into the separate folder, for example, “MyApplication”:
$ tree MyApplication MyApplication ├── MyApplication ├── MyApplication Libs │ ├── libc++.so.1 │ ├── libGZip.so │ ├── libRBCrypto.so │ ├── libRBInternetEncodings.so │ ├── libRBRegEx.so │ ├── libSQLiteDatabase.so │ ├── libSSLSocket.so │ ├── v4rb_release.so │ └── XojoConsoleFramework32.so └── MyApplication Resources ├── appicon128.png ├── appicon256.png ├── en.UTF-8 │ └── LC_MESSAGES │ └── localizable.mo ├── favicon@2x.ico ├── favicon.ico ├── homescreen120.png ├── homescreen152.png ├── homescreen60.png └── homescreen76.png
To deploy it to the user computer you should do the following steps:
- copy the contents of the vcomponents_32 (vcomponents_64 for 64-bit application) to the “MyApplication Libs” folder.
- copy entire vresources folder to the “MyApplication” folder.
As a result, you should have the following folder structure:
$ tree MyApplication MyApplication ├── MyApplication ├── MyApplication Libs │ ├── libc++.so.1 │ ├── libGZip.so │ ├── libicudata.so -> libicudata.so.54 │ ├── libicudata.so.54 │ ├── libicui18n.so -> libicui18n.so.54 │ ├── libicui18n.so.54 │ ├── libicuio.so -> libicuio.so.54 │ ├── libicuio.so.54 │ ├── libicuuc.so -> libicuuc.so.54 │ ├── libicuuc.so.54 │ ├── libRBCrypto.so │ ├── libRBInternetEncodings.so │ ├── libRBRegEx.so │ ├── libSQLiteDatabase.so │ ├── libSSLSocket.so │ ├── libvclient_release_x86.so -> libvclient_release_x86.so.750 │ ├── libvclient_release_x86.so.750 │ ├── libvkernel_release_x86.so -> libvkernel_release_x86.so.750 │ ├── libvkernel_release_x86.so.750 │ ├── libvreport_release_x86.so -> libvreport_release_x86.so.750 │ ├── libvreport_release_x86.so.750 │ ├── libvshared_release_x86.so -> libvshared_release_x86.so.750 │ ├── libvshared_release_x86.so.750 │ ├── v4rb_release.so │ └── XojoConsoleFramework32.so ├── MyApplication Resources │ ├── appicon128.png │ ├── appicon256.png │ ├── en.UTF-8 │ │ └── LC_MESSAGES │ │ └── localizable.mo │ ├── favicon@2x.ico │ ├── favicon.ico │ ├── homescreen120.png │ ├── homescreen152.png │ ├── homescreen60.png │ └── homescreen76.png └── vresources ├── en │ ├── kernel_errors.xml │ └── sql_errors.xml ├── ru │ ├── kernel_errors.xml │ └── sql_errors.xml └── xsl ├── pic │ ├── BS.GIF │ ├── DC.GIF │ ├── EMPL.GIF │ └── GRP.GIF ├── visualization1.xsl └── visualization2.xsl
You can find vcomponents_32, vcomponents_64 and vresources folders at '/opt/V4RB' on Linux. If you're compiling on Windows or Mac system you can find appropriate vcomponents in the downloads folder (e.g. http://valentina-db.com/download/release/lin_64/vcomponents_64.zip).
Now you can distribute this “MyApplication” folder.
vcomponents at System Level
If you develop and deploy a family of applications that can/should be installed on the same user computer, then it is a good idea to put vcomponents only once. It is possible if this folder is at path “/usr/local/lib/vcomponents”, where any application can find it.
NOTE: This is the same as you have it now during the development.
For this scenario you should not do anything special, just make sure that your installer installs vcomponents there.
Your installer should have something as the following script:
#!/bin/sh # path where libs will be installed LIB_PATH=/usr/local/lib/vcomponents # copy libs cp -R -d vcomponents $LIB_PATH # installing shared libs echo $LIB_PATH > /etc/ld.so.config.d/valentina.conf ldconfig