Perl DroboApp build scripts
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/dest
.gitignore
.travis.yml
LICENSE
README.md
app.sh
build.sh
crosscompile.sh
uncrosscompile.sh

README.md

perl5

This is a set of scripts to package a DroboApp from scratch, i.e., download sources, unpackage, compile, install, and package in a TGZ file. The master branch contains the Drobo5N version, the drobofs branch contains the DroboFS version.

I just want to install the DroboApp, what do I do?

Check the releases page. If there are no releases available, then you have to compile.

How to compile

First make sure that you have a working cross-compiling VM.

Log in the VM, pick a temporary folder (e.g., ~/build), and then do:

git clone https://github.com/droboports/perl5.git
cd perl5
./build.sh
ls -la *.tgz

Each invocation creates a log file with all the generated output.

  • ./build.sh distclean removes everything, including downloaded files.
  • ./build.sh clean removes everything but downloaded files.
  • ./build.sh package repackages the DroboApp, without recompiling.

Build a cross-compiler

First, install the package qemu-user-static.

Then, make sure there are no residual files, and use the BUILD_DEST variable.

./build.sh clean
XPERL="${HOME}/xtools/perl5/5n"
BUILD_DEST="${XPERL}" ./build.sh

And set the QEMU_LD_PREFIX to use the python cross-compiler.

. crosscompile.sh
export QEMU_LD_PREFIX="${TOOLCHAIN}/${HOST}/libc"
export HPERL="/mnt/DroboFS/Shares/DroboApps/perl5"
export XPERL="${HOME}/xtools/perl5/5n"
XPERL_VERSION="$("${XPERL}/bin/perl" -e 'print $^V' | cut -c2-)"
export PERL5LIB="${HOME}/xtools/perl5/5n/lib/perl5/${XPERL_VERSION}:${HPERL}/lib/perl5/${XPERL_VERSION}:${DEST}/lib/perl5/site_perl/${XPERL_VERSION}:${DEST}/lib/perl5/site_perl/${XPERL_VERSION}/arm-linux"

"${XPERL}/bin/perl" Makefile.PL PREFIX="${DEST}" \
  CCCDLFLAGS="${CFLAGS} ${CPPFLAGS}" \
  LDFLAGS="${LDFLAGS} -Wl,-rpath,${HPERL}/lib -L${XPERL}/lib" \
  LDDLFLAGS="-shared ${LDFLAGS} -Wl,-rpath,${HPERL}/lib -L${XPERL}/lib"
make
make install

Acknowledgements

Many thanks to the people behind perl-cross for making cross-compiling perl a reality.

Sources

Disclaimer

Drobo, DroboShare, Drobo FS, Drobo 5N, DRI and all related trademarks are the property of Data Robotics, Inc. This site is not affiliated, endorsed or supported by DRI in any way. The use of information and software provided on this website may be used at your own risk. The information and software available on this website are provided as-is without any warranty or guarantee. By visiting this website you agree that: (1) We take no liability under any circumstance or legal theory for any DroboApp, software, error, omissions, loss of data or damage of any kind related to your use or exposure to any information provided on this site; (2) All software are made “AS AVAILABLE” and “AS IS” without any warranty or guarantee. All express and implied warranties are disclaimed. Some states do not allow limitations of incidental or consequential damages or on how long an implied warranty lasts, so the above may not apply to you.