Cross compilation environment for Synology NAS
100K+
DSM 7 was release on June 29 2021 as Version 7.0.41890.
You find the status of the packages in the issue #4524_ Meta: DSM7 package status
Despite you see packages of SynoCommunity in the Package Center of your Diskstation with DSM 7, some of the packages are not compatible with DSM 7.
PLEASE do not create issues saying that package xy cannot be installed on DSM 7. All packages not yet ported to DSM 7 will refuse the installation with a message about "package requires root privileges" (or "invalid file format", ...).
Please regard all DSM 7 packages as beta versions (the synocommunity package repository is not capable to declare packages as beta only for DSM 7).
Packages of the follwing kind will need some time to make DSM 7 compatible:
Packages depending MySQL database must be migrated to MariaDB 10
Packages with installation Wizard to configure a shared folder (all download related packages and others)
Packages that integrate into DSM webstation
As this is a community project where people spend there spare time for contribution, it may take a long time until most of the packages are ported to DSM 7. (There are still packages here that are not ported from DSM 5 to DSM 6 yet).
spksrc is a cross compilation framework intended to compile and package software for Synology NAS devices. Packages are made available via the SynoCommunity repository_.
Before opening a new issue, check the FAQ_ and search open issues.
If you can't find an answer, or if you want to open a package request, read CONTRIBUTING_ to make sure you include all the information needed for contributors to handle your request.
Docker ^^^^^^
ℹ️ The Docker development environment supports Linux and macOS systems, but not Windows due to limitations of the underlying file system.
#. Fork and clone_ spksrc: git clone https://github.com/YOUR-USERNAME/spksrc
#. Install Docker on your host OS (see Docker installation, or use a wget-based alternative for linux Install Docker with wget).
#. Download the spksrc Docker container: docker pull synocommunity/spksrc
#. Run the container with the repository mounted into the /spksrc directory with the appropriate command for your host Operating System:
.. code-block:: sh
cd spksrc # Go to the cloned repository's root folder.
docker run -it -v $(pwd):/spksrc synocommunity/spksrc /bin/bash
docker run -it -v $(pwd):/spksrc -e TAR_CMD="fakeroot tar" synocommunity/spksrc /bin/bash
Developers HOW TO_.Virtual machine ^^^^^^^^^^^^^^^ A virtual machine based on an 64-bit version of Debian 10 stable OS is recommended. Non-x86 architectures are not supported.
Install the requirements (in sync with Dockerfile)::
sudo dpkg --add-architecture i386 && sudo apt-get update sudo apt update sudo apt install autoconf-archive autogen automake bc bison build-essential check cmake curl cython debootstrap ed expect fakeroot flex g++-multilib gawk gettext git gperf imagemagick intltool jq libbz2-dev libc6-i386 libcppunit-dev libffi-dev libgc-dev libgmp3-dev libltdl-dev libmount-dev libncurses-dev libpcre3-dev libssl-dev libtool libunistring-dev lzip mercurial ncurses-dev ninja-build php pkg-config python3 python3-distutils rename scons subversion swig texinfo unzip xmlto zlib1g-dev wget https://bootstrap.pypa.io/pip/2.7/get-pip.py -O - | sudo python2 sudo pip2 install wheel httpie wget https://bootstrap.pypa.io/get-pip.py -O - | sudo python3 sudo pip3 install meson==0.56.0
You may need to install some packages from testing like autoconf. Read about Apt-Pinning to know how to do that.
Some older toolchains may require 32-bit development versions of packages, e.g. zlib1g-dev:i386
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.
To support SynoCommunity, you can make a donation to its founder
.. image:: https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif :target: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=F6GDE5APQ4SBN
When not explicitly set, files are placed under a 3 clause BSD license_
.. _3 clause BSD license: http://www.opensource.org/licenses/BSD-3-Clause .. _#4524: https://github.com/SynoCommunity/spksrc/issues/4524
.. _bug tracker: https://github.com/SynoCommunity/spksrc/issues .. _CONTRIBUTING: https://github.com/SynoCommunity/spksrc/blob/master/CONTRIBUTING.md .. _Fork and clone: https://docs.github.com/en/github/getting-started-with-github/fork-a-repo .. _Developers HOW TO: https://github.com/SynoCommunity/spksrc/wiki/Developers-HOW-TO .. _Docker installation: https://docs.docker.com/engine/installation .. _FAQ: https://github.com/SynoCommunity/spksrc/wiki/Frequently-Asked-Questions .. _Install Docker with wget: https://docs.docker.com/linux/step_one .. _SynoCommunity repository: http://www.synocommunity.com
Content type
Image
Digest
sha256:62b473336…
Size
326.9 MB
Last updated
about 5 years ago
docker pull synocommunity/spksrc