Drobo

DroboLib HOWTO: openssl 1.0.0c

This is a simplified version of this tutorial, updated to the latest version of openssl (as of today), and made into a DroboLib.

Compilation summary

Before you start, make sure that your CFLAGS and LDFLAGS are properly set for DroboLib compilation, like this:

export CFLAGS="-march=armv5te"
export LDFLAGS=""

The following sequence of commands takes you from zero to compiled library. Explanation below.

wget http://www.openssl.org/source/openssl-1.0.0c.tar.gz
tar zxf openssl-1.0.0c.tar.gz
cd openssl-1.0.0c
./Configure linux-generic32 -DL_ENDIAN --prefix=/mnt/DroboFS/Shares/DroboApps/openssl
make
mkdir -p /mnt/DroboFS/Shares/DroboApps/openssl
make install

Notice that openssl has no external dependencies. It is all the same as the previous tutorial, with a different prefix.

Packaging summary

The following sequence of commands takes you from compiled library to drobolib. Explanation and content of files below.

cd /mnt/DroboFS/Shares/DroboApps/openssl
nano README.txt
# copy and paste the content of README.txt from below
nano install.sh
# copy and paste the content of install.sh from below
chmod a+x install.sh
# optionally, remove the docs (saves about 500 KB on the .tgz)
#rm -fr ssl/man
tar czfv ../openssl-1.0.0c.tgz *

Content README.txt:

Name: OpenSSL Description: Secure Sockets Layer and cryptography libraries and tools Version: 1.0.0c Requires: n/a

Content install.sh:

[code]#!/bin/sh

name=“openssl”
lib_dir=dirname \realpath $0``
droboapps="/mnt/DroboFS/Shares/DroboApps"

ln -fs ${lib_dir} ${droboapps}/${name}
[/code]

The README.txt file provides useful information once the drobolib has been installed. The install.sh file makes sure that there is a symlink from the current version (1.0.0c) to a ‘default’ name (‘openssl’). That is necessary to simplify the compilation of app that depend on openssl, since we will be able to reference the default name instead of a specific version of the library.

Here is a link to a ready-to-go version of the openssl-1.0.0c.tgz drobolib.