Skip to content

Cross compilation framework to create native packages for the Western Digital My Cloud

License

Notifications You must be signed in to change notification settings

WDCommunity/wdpksrc

Repository files navigation

ANNOUNCEMENT AUG 2020

I (Stefaan / TFL) am refactoring this repo for compatibility with OS5. Please use issues tab if something is broken.

Several OS5 packages are now available on CloudSmith. The wdcommunity website is still to be updated.

Hosted By: Cloudsmith

wdpksrc

This project contains the source and tools for software packages for Western Digital My Cloud (OS3) NAS devices. The packages are made available via the WDCommunity website. Most of the packages are simply scripts to fetch the applications from the official sources and configure them with a sensible default. Only a few packages were compiled with the OS3 toolchain with the help of the SynoCommunity project tools.

Most of the packages are published on the WD community forum_ in their own thread. Use the search bar.

Setup Development Environment

mksapkg setup

For simple script based apps (most of the current packages), you only need mksapkg to create a binary.

On Ubuntu 18.04:

.. code::

apt-get install libxml2 openssl

Docker

The build environment is also available in a docker image.

.. code::

docker build -t wdpk .    
docker run -it -v $(pwd):/wdpksrc wdpk /bin/bash    
cd wdpk/<somepackage>    
./build.sh

Build and deploy test

.. code::

./build_and_install.sh  <package>  <host>

This builds the package, installs it on a PR4100 host device and runs a sanity check if a test is available.

Native apps

If you want to compile native apps, you'll need a complete wdpksrc / spksrc toolchain.

Currently, these custom WD targets are available in this SynoCommunity fork_

  • wdx64 - WD PR2100/PR4100/DL2100/DL4100
  • wdpro - WD PR2100 / PR4100 with 4.1.9 kernel
  • wddl - WD DL2100 / DL4100 with 3.10.28 kernel
  • wdarm - all other devices (firmware version 2.x only!)

UPDATE: it now creates WD binary packages right away.

  • add xor_checksum to your PATH (copy it to /usr/local/bin)
  • cd wdpk/someapp
  • make apkg-wdarm
  • packages are available in packages directory

Some installer script changes might be necessary.

Hosting

Package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.

Donate

Thanks, but I'm good. Feel free to donate to these other projects instead

License

When not explicitly set, files are placed under a 3 clause BSD license