Building a generic package archive with all dependencies for easy cross-platform deployments
I am trying to build a one big archive that contains a generic(in terms of arch) version of duplicity installed with its dependencies(with optional ones). My target is to have a tar.gz archive containing compiled and working binaries of duplicity with:
1- librsync
2- ncftp
3- python-boto
(and python is available on almost all distributions so thats not needed)
I have tried to do the following:
1- Using CDE from http://
Tried a restore operation so duplicity and all its dependencies such as python-boto and ncftp would be included in execution process. At the end i do get a big cde-package folder but unfortunately that specific to the user who executed duplicity, so if i make a cde package on a server using a user, say root, then it would also have to run as root on other servers. I have been struggling to change this.
2- Building all packages in a prefixed environment
Worked fine except duplicity can't find librsync. Here is my custom script that i use to execute duplicity after some env variable setups:
#!/bin/sh
binPath=$(dirname $0)
libPath=
export PATH=$binPath:$PATH
export PYTHONPATH=
export LD_LIBRARY_
$binPath/duplicity
echo
echo PATH:
echo ----------
echo $PATH
echo
echo PYTHONPATH
echo ----------
echo $PYTHONPATH
echo
echo LD_LIBRARY_PATH
echo ----------------
echo $LD_LIBRARY_PATH
echo
Output given by this script is:
Traceback (most recent call last):
File "/home/
from duplicity import collections
File "/home/
from duplicity import path
File "/home/
from duplicity import librsync
File "/home/
import _librsync
ImportError: librsync.so.1: cannot open shared object file: No such file or directory
PATH:
----------
/home/shoaibi/
PYTHONPATH
----------
/home/shoaibi/
LD_LIBRARY_PATH
----------------
/home/shoaibi/
while:
ls ~/tmp/duply-
librsync.a librsync.la python2.7
So, that fails too. I have tried to override the LD_LIBRARY_PATH but that doesn't take into effect. I have also tried building duplicity with:
LDFLAGS="-L ~/tmp/duply-
but its no use.
Finally, i am building the archive so i can drop it on one of my hostgator FTPs, create cron in cpanel and have it working. Consider an environment where a user doesn't have shell access except from cron, let alone sudo access to modify /etc/ld.conf to have it work.
So, any suggestions?
Question information
- Language:
- English Edit question
- Status:
- Expired
- For:
- Duplicity Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: