Coder Social home page Coder Social logo

mickkael / wdpksrc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wdcommunity/wdpksrc

0.0 1.0 0.0 253 KB

Cross compilation framework to create native packages for the Western Digital NAS

License: BSD 3-Clause "New" or "Revised" License

Dockerfile 0.57% Shell 94.65% HTML 4.77%

wdpksrc's Introduction

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 16.04:

apt-get install libxml2:i386

Ensure you have openssl v1.0.x, not openssl v1.1+ (as is the case on Ubuntu 18).

Docker

The build environment is also available in a docker image.

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

Build and deploy test

./build_and_install.sh  <package>  <host>

This will build the package, install it on a PR4100 host device and run 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. Then follow the

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!)

Once you have a development environment set up , you can start building packages, create new ones, or improve upon existing packages while making your changes available to other people. See the Developers HOW TO for information on how to use spksrc.

Note that spksrc creates synology SPK packages... these need to be simplified to WD apps.

  • Rename the .spk package with the .tar extension
  • Unpack with tar xf somepackage.tar
  • Move the bins and libs to your wdpk somepackage
  • Modify the start/stop scripts as necessary into the wdpk format, stripped from all synology specific logistics. In OS3, basically everything runs as root.

Donate

Feel free to donate to the SynoCommunity project, the major inspiration for this project.

License

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

wdpksrc's People

Contributors

mickkael avatar mousi avatar stefaang avatar tonyrayo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.