I built my own 3rd Party Synology Package Repository

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

I actually created this because you and @Tommes mentioned you wished there was a package repository that was better than cphub and synocommunity, and I didn't want to deal with SynoCommmunity's rules to publish my own packages.

Rather than forcing people to make spk files that conform to what my repository requires or expects, I decided to make it flexible enough to cope with:
  1. Missing keys in the INFO file.
  2. Whatever naming and versioning format authors have already.
  3. It even works if there are no releases and the spk files are in the repo's file tree (complete with inconsistent file names) like https://github.com/BenjV/SYNO-packages.
From my end, to add a new GitHub repo I just add 1 line to my GitHub workflow.

I haven't decided if I want to release the source code yet. I don't want a bunch of copycat package repositories out there while I'm trying to get people to use my package repository.

I just added SynoOCR to the GitHub workflow and your packages highlighted 3 issues with my GitHub workflow, and CloudFlare worker, that I've now fixed. The issues were:
  1. GitHub workflow was not finding the PACKAGE_ICON_256.PNG in your spk files.
  2. GitHub workflow was trying to create the same packagename_120.png for both DSM6 and DSM7 packages. It now creates packagename_DSM6_120.png for DSM 6 packages and packagename_120.png for DSM 7 packages.
  3. CloudFlare worker needed changing to map x86_64 (and all other arches) to the various CPU platforms (all 37 of them).
After 5 hours I finally got synoOCR showing in Package Center for DSM 7 and DSM 6.

1776906070167.png

Now Medusa has a friend :)
1776905648580.png
 
@geimist
I was checking out the source code for your synoOCR packages to see why they are x86_64 and if they could be noarch, when I noticed they require docker.

In your DMS 7 INFO file you should add: install_dep_packages="ContainerManager"

In your DMS 6 INFO file you should add: install_dep_packages="Dockerr"
 
I haven't decided if I want to release the source code yet. I don't want a bunch of copycat package repositories out there while I'm trying to get people to use my package repository.
That’s a great point! I hadn’t thought of that. I’m all for that idea. 👍

Still, we should make sure to promote your package source. Maybe you could also update your initial post so users can copy the package source URL directly (I didn’t even look for it in the screenshot at first 🙈).

After 5 hours I finally got synoOCR showing in Package Center for DSM 7 and DSM 6.
Oh, I feel sick …
Thank you!

Now Medusa has a friend :)
Friends are so important 😍

I was checking out the source code for your synoOCR packages to see why they are x86_64 and if they could be noarch, when I noticed they require docker.
Actually, it’s designed for noarch. However, in the last release (1.5.x), I encountered incompatibilities with arm64 involving a Python module that I couldn’t resolve at the time. That’s why the restriction is so strict. But I plan to fix the bug in the next release and then switch back to noarch. Also, I probably won’t be offering any more releases for DSM6. The outcry shouldn’t be deafening (only 1.2% of update requests still come from DSM6).

In your DMS 7 INFO file you should add: install_dep_packages="ContainerManager"
In your DMS 6 INFO file you should add: install_dep_packages="Dockerr"
Yes, that would be consistent. However, in the past there were devices for which there was no Synology installation of Docker (not even using workarounds). That’s why I manually check for Docker in preinst. But I think I might reconsider this approach now.

EDIT: I'm just wondering if it's really that simple. The switch from the Docker package to Container Manager wasn't from DSM 6 to DSM 7, but from DSM 7.1 to DSM 7.2. From the update requests, I can see that over 160 users are still using DSM 7.1. This will likely be addressed in a future update.
 
Zuletzt bearbeitet:

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat