Frequently Asked Questions - SynoCommunity/spksrc GitHub Wiki

How do I add the SynoCommunity repository to my NAS?

Follow the instructions on https://synocommunity.com.

I'm getting Invalid location when trying to add the repository?

Try again at a later time. If the issue persists, here are some troubleshooting suggestions:

  • Are you running DSM version older than 6.2.4-25556 Update 2
    • From the Changelog: 10. Updated the OpenSSL setting in response to new rules of Let's Encrypt certificates
    • Please update the DSM to update the Certificate trust store.
    • Alternatively run sudo mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak && sudo curl -Lko /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem
  • Are you connected via a VPN? Use a direct/local connection instead.
  • Is your NAS able to successfully resolve packages.synocommunity.com to an IP address?
    • Log in to your NAS via SSH;
    • Run nslookup packages.synocommunity.com. You should get an IP address back (e.g. 104.31.95.179)
  • What is the DNS server configured on your NAS? A possible workaround is to set one or two public DNS servers in your Synology:
    • Open Control Panel>Network;
    • On the General tab, activate the checkbox called Manually configure DNS server;
    • Add in one or two of the DNS servers you want to use. (Google: 8.8.8.8/8.8.4.4, OpenDNS: 208.67.222.222/208.67.220.220);
    • Click Apply.

I'm seeing a 400 Bad Request, The browser (or proxy) sent a request that this server could not understand

https://packages.synocommunity.com is the repository URL, and is meant for your NAS only.

Visit https://synocommunity.com for details about the repository and the available packages.

How can I check if a package is available for my model?

My architecture is not listed in the package details. Can it be made available?

If an architecture is not listed, that is probably on purpose. Some packages cannot be compiled for certain architectures. PPC-based architectures (ppc* and qoriq) are known for this.

A second reason is new models. See I have a new nas model. What has to be done to provide packages for it?.

Search open and closed issues on the bugtracker to verify the question has not been asked before. If not, open an issue. Follow the instructions in CONTRIBUTING.

I have a new NAS model. What has to be done to provide packages for it?

A number of things need to happen before we can provide packages for a new model or a new architecture:

  • A toolchain and kernel source must be available for that model;

Synology does not provide any public information on release dates of toolchains, kernel sources and other associated files. They generally state that it can take up to several months before those are made available.

Synology publishes the files on Sourceforge: https://sourceforge.net/projects/dsgpl/files/. Use Architecture per Synology model to look up the relation between a model and an architecture.

  • The toolchain and kernel source has to be included in spksrc;

At this point, anyone can build packages for that model.

  • The packages have to be built and published on the repository.

Which DSM versions do you support?

  • spksrc can build packages for DSM4.0 and newer. However, due to the age of the toolchains, not all software can be compiled anymore.
  • By default we publish the latest supported major DSM version in the SynoCommunity package repository; our latest supported version is currently DSM 7.
  • Upon request, and based on best effort, we can publish packages for the previous DSM major version (currently DSM 5) on the SynoCommunity repository.
  • For DSM4.2 and older, we might not be able to provide packages. You can try to build the packages yourself.

A package should be available for my model and DSM version, but I can't find it in Package Center. What do I do?

  • If the package is listed as a beta package on https://synocommunity.com/packages, make sure you have turned on Yes, I want to see beta versions in the Package Center settings;
  • If you're using the search bar in Package Center, then select the drop-down arrow next to the magnifying glass, and set the value to Community.

Do you provide direct/manual downloads for packages?

Yes, at https://synocommunity.com/packages

I tried to install a package, and I get Failed to install {package}. What do I do?

Set the trust level in the Package Center settings to Synology Inc. and trusted publishers. See How do I add the SynoCommunity repository to my NAS.

A package does not start. What do I do?

Follow the instructions here: CONTRIBUTING.

A package does not show an icon in the DSM menu. How can I fix this?

The icon is shown to the user admin by default. To show it for other users, log in as a user with administrator privileges. Then choose one of the following methods:

  • Open Control Panel > Privileges. Select the application and activate the checkbox for the users who should see the icon;
  • Open Control Panel > User. Select the correct user, click Edit and open the tab Applications. Activate the checkbox for the application for which the icon should be shown.

Notes:

  • The icon does not affect access permissions;
  • Packages that are command-line only will not show an icon.

I'm trying to use a command-line only package, but I'm seeing -ash {command} : not found. Help?

Make sure you have set the path correctly, or use the full path to the binary. For some packages, we add a symlink to the most-used binary in /usr/local/bin, which is on $PATH by default. Examples:

  • PATH=/usr/local/git/bin:$PATH git
  • /usr/local/git/bin/git

How to query package status or start it from command line?

Only tested option is synopkg status packagename and synopkg start packagename

If you find status too slow to answer, here is a more technical work-around as root:

SYNOPKG_PKGNAME="packagename"
SYNOPKG_PKGDEST=/var/packages/${SYNOPKG_PKGNAME}/target
SYNOPKG_DSM_VERSION_MAJOR=6
export SYNOPKG_PKGNAME SYNOPKG_PKGDEST SYNOPKG_DSM_VERSION_MAJOR
/var/packages/${SYNOPKG_PKGNAME}/scripts/start-stop-status status

Notice that because of use of non-privileged service account for most DSM 6 packages, start and stop cannot be used to same way with start-stop-status package script.

Where are the firewall rule files (*.sc) located and what are there for (Advanced, requires ssh)?

The rules show up in the firewall service picker. It allows easier management of firewall rules as it attaches a service name to a port number. It also ensures that the port cannot be used by a different service.

They are located in /usr/local/etc/services.d/[Package_Name].sc and can easily be removed via this command: sudo servicetool --remove-configure-file --package [Package_Name].sc This might be necessary if you cannot install a package because the file was left behind after an incomplete uninstallation.

Downgrade a package without uninstalling (Advanced)

Instead of uninstalling the (higher) version, you can fake a lower version number by modification of the INFO file of the installed package.

  1. SSH into the disk station
  2. sudo vi /var/packages/[Package_Name]/INFO
  3. Modify version from e.g "5.20.1.34" to "1.0" and save the file
  4. Then it will display as 1.0 in DSM package center, and you can manually downgrade to an older version of the package.