Bonjour

Le programme de synchronisation de synology pour ses nas sous linux, n'est disponible dans ses dernières versions que pour - je vous laisse deviner - ubuntu.

Donc je me suis dis pourquoi pas transformer le deb en un rpm fonctionnel
sudo alien -r  -c -v synology-drive-client-11078.x86_64.deb
        dpkg-deb --info 'synology-drive-client-11078.x86_64.deb' control 2>/dev/null
        dpkg-deb --info 'synology-drive-client-11078.x86_64.deb' control 2>/dev/null
        dpkg-deb --info 'synology-drive-client-11078.x86_64.deb' conffiles 2>/dev/null
        dpkg-deb --fsys-tarfile 'synology-drive-client-11078.x86_64.deb' | tar tf -
        dpkg-deb --info 'synology-drive-client-11078.x86_64.deb' postinst 2>/dev/null
        dpkg-deb --info 'synology-drive-client-11078.x86_64.deb' postrm 2>/dev/null
        dpkg-deb --info 'synology-drive-client-11078.x86_64.deb' preinst 2>/dev/null
        dpkg-deb --info 'synology-drive-client-11078.x86_64.deb' prerm 2>/dev/null
        mkdir synology-drive-6.0.2
        chmod 755 synology-drive-6.0.2
        dpkg-deb -x synology-drive-client-11078.x86_64.deb synology-drive-6.0.2
        rpm --showrc
        cd synology-drive-6.0.2; rpmbuild --buildroot='/home/xxxxx/Téléchargements/synology-drive-6.0.2' -bb --target x86_64 'synology-drive-6.0.2-11079.spec' 2>&1
synology-drive-6.0.2-11079.x86_64.rpm generated
Et lorsque je l'installe
sudo dnf install synology-drive-6.0.2-11079.x86_64.rpm
Dernière vérification de l’expiration des métadonnées effectuée il y a 2:37:46 le mer 11 nov 2020 09:19:10.
Erreur : 
 Problème: conflicting requests
  - nothing provides libfct-qt.so.1()(64bit) needed by synology-drive-6.0.2-11079.x86_64
  - nothing provides libicudata.so.53()(64bit) needed by synology-drive-6.0.2-11079.x86_64
  - nothing provides libicui18n.so.53()(64bit) needed by synology-drive-6.0.2-11079.x86_64
  - nothing provides libicuuc.so.53()(64bit) needed by synology-drive-6.0.2-11079.x86_64
(essayez d’ajouter « --skip-broken » pour ignorer les paquets non installables)
Il manque donc quelques ressources et je ne parviens pas à les trouver pour fedora33

sauf celle-ci disponible pour f32
sudo dnf install compat-libicu63-63.2-2.fc32.x86_64.rpm
A-t-il une solution pour contourner ce problème de ressources ?

Merci

EDIT: je viens de découvrir qu'une version récente sous flatpack existe :

flatpak install flathub com.synology.SynologyDrive
Looking for matches…
Required runtime for com.synology.SynologyDrive/x86_64/stable (runtime/org.freedesktop.Sdk/x86_64/19.08) found in remote flathub
Do you want to install it? [Y/n]: Y

com.synology.SynologyDrive permissions:
    ipc     network     x11     file access [1]     dbus access [2]     tags [3]

    [1] home
    [2] org.freedesktop.Notifications, org.kde.StatusNotifierWatcher
    [3] proprietary


        ID                                                    Branch            Op            Remote             Download
 1.     org.freedesktop.Platform.GL.default                   19.08             i             flathub             < 89,1 MB
 2.     org.freedesktop.Platform.GL.nvidia-455-38             1.4               i             flathub            < 127,0 MB
 3.     org.freedesktop.Platform.VAAPI.Intel                  19.08             i             flathub              < 8,7 MB
 4.     org.freedesktop.Platform.openh264                     2.0               i             flathub              < 1,5 MB
 5.     org.freedesktop.Sdk.Locale                            19.08             i             flathub            < 322,4 MB (partial)
 6.     org.freedesktop.Sdk                                   19.08             i             flathub            < 578,9 MB
 7.     com.synology.SynologyDrive                            stable            i             flathub            < 111,4 MB

Proceed with these changes to the system installation? [Y/n]: n
Mais il doit installer une batterie de ressource , ce qui est normale en soit - mais si je pouvais éviter de passer via un flatpack , cela serait idéal.
Est-il possible de soumettre une suggestion pour de nouveaux paquets - non listés - à Fedora. Sur bugzilla, on est obligé de mettre un composant "connu" lorsqu'on introduit un bug dans le formulaire.

J'aimerai soumettre une demande pour

libfct-qt.so.1
libicudata.so.53
libicui18n.so.53
libicuuc.so.53

afin de pouvoir installer synology. Est-ce possible ?

Merci
En fait les versions de Fedora sont plus récentes concernant le paquet libicu (fourni 67 et 65 en rétro-compatibilité).
$ rpm -ql libicu
/usr/lib/.build-id
/usr/lib/.build-id/16
/usr/lib/.build-id/16/00b578adeb2c27a24fbe68b88562f923d4b694
/usr/lib/.build-id/25
/usr/lib/.build-id/25/24b1007559b7206d04e9868fa17d5cd750aa5a
/usr/lib/.build-id/2b
/usr/lib/.build-id/2b/2e770d641e5e478eb15cf0e0f7b0d2c7947c1f
/usr/lib/.build-id/2b/8137d972d7cb0576002e0e7a540abc4e368aa5
/usr/lib/.build-id/7f
/usr/lib/.build-id/7f/714cf5943346e8b7d8ff42fc12097c40071aee
/usr/lib/.build-id/f3
/usr/lib/.build-id/f3/aa0b40e72e07189b722e1b5f794d020a04f8c0
/usr/lib64/libicudata.so.67
/usr/lib64/libicudata.so.67.1
/usr/lib64/libicui18n.so.67
/usr/lib64/libicui18n.so.67.1
/usr/lib64/libicuio.so.67
/usr/lib64/libicuio.so.67.1
/usr/lib64/libicutest.so.67
/usr/lib64/libicutest.so.67.1
/usr/lib64/libicutu.so.67
/usr/lib64/libicutu.so.67.1
/usr/lib64/libicuuc.so.67
/usr/lib64/libicuuc.so.67.1
/usr/share/doc/libicu
/usr/share/doc/libicu/readme.html
/usr/share/licenses/libicu
/usr/share/licenses/libicu/LICENSE
Il faut voir du côté de Synolgy pour qu'ils modifient leurs specs du paquet pour accepter une version minimum de libicu au pire. Même s'il y a sûrement d'autres choses à contrôler pour s'assurer du bon fonctionnement.
Merci pour la commande, je ne la connaissais pas.

Ou alors peut-on faire un lien de libicudata.so.53 vers libicudata.so.67 , est-ce envisageable, fonctionnel ?

Concernant synology, j'ai déjà posé la question à leur support - il y a un an - pour qu'il mette à jour leur client de synchronisation pour fedora, la réponse a été nous ne supportons pas fedora mais uniquement ubuntu. Hélas.
carabao wrote: Ou alors peux-t-on faire un lien de libicudata.so.53 vers libicudata.so.67 , est-ce envisageable, fonctionnel ?
Je l'ai deja fait pour certains logiciels proprio. et je n'ai pas rencontré de problème. Donc à tester.
j'ai décompressé le rpm, je liste dans le répertoire opt/synology/SynologyDrive/lib, les différentes ressources qui posent problèmes.

Est-ce que cette syntaxe est bonne pour pointer vers la nouvelle version des ressources ?
ln -s libicudata.so.53 libicudata.so.67
ln -s libicui18n.so.53 libicui18n.so.67
....
Maintenant dans le rpm , il existe déjà un lien de libicui18n.so.53 vers libicui18n.so.53.1. Cela pose-t-il problème ?

Merci
Il faut que tu précises le chemin complet pour le lien symbolique afin qu'il le trouve.

L'existant pointe dans le même répertoire ? Effectivement il ne va pas aimer si tu le laisses.
si je comprends bien
ln -s libicudata /usr/lib64/libicudata
ou
ln -s /home/xxxx/Téléchargements/synology-drive-6.0.2-11079.x86_64/opt/Synology/SynologyDrive/lib/libicudata /usr/lib64/libicudata
avant d'installer le rpm.
J'suis pas sûr de tout comprendre du coup, que retourne
$ rpm -ql synology-drive-6.0.2-11079.x86_64.rpm
Parce que si tout est compris dedans alors il ne faut pas l'installer avec dnf mais rpm.
Parce que si tout est compris dedans alors il ne faut pas l'installer avec dnf mais rpm.
et pourquoi donc ? ça c'est nouveau !

dnf install ./machin_truc.rpm pour un fichier déjà téléchargé en local ça fonctionne très bien et ça a l'avantage de résoudre le cas échéant les dépendances.
nouvo09 wrote:
Parce que si tout est compris dedans alors il ne faut pas l'installer avec dnf mais rpm.
et pourquoi donc ? ça c'est nouveau !

dnf install ./machin_truc.rpm pour un fichier déjà téléchargé en local ça fonctionne très bien et ça a l'avantage de résoudre le cas échéant les dépendances.
Oui j'suis entièrement d'accord mais il semble que les dépendances qui posent problème soient dans son paquet rpm aussi.
merci pour vos réponses

Attention, c'est le paquet deb officiel que j'ai transformé avec alien ( alien -r -c -v synology-drive-client-11078.x86_64.deb )

la commande rpm retourne
rpm -Uvh synology*.rpm
erreur : Dépendances requises:
        libfct-qt.so.1()(64bit) est nécessaire pour synology-drive-6.0.2-11079.x86_64
        libicudata.so.53()(64bit) est nécessaire pour synology-drive-6.0.2-11079.x86_64
        libicui18n.so.53()(64bit) est nécessaire pour synology-drive-6.0.2-11079.x86_64
        libicuuc.so.53()(64bit) est nécessaire pour synology-drive-6.0.2-11079.x86_64
        libnautilus-extension.so.1()(64bit) est nécessaire pour synology-drive-6.0.2-11079.x86_64
je continue mes recherches

j'ai installé l'ancienne version disponible pour fedora.
https://global.download.synology.com/download/Utility/CloudStationDrive/4.2.8-4421/Fedora/Installer/x86_64/synology-cloud-station-drive-4.2.8-4421.x86_64.rpm?model=DS216%2BII&bays=2&dsm_version=6.2.3&build_number=25426

Lors de l'installation plusieurs dépendances sont installées.
gnome-autoar
osinfo-db-20201015-1 
exempi-2.5.1-4 gvfs
kde-connect-nautilus
libcue-2.2.1-6   
libgrss
gvfs-client
libgsf
libgxps
libiptcdata
libosinfo
libtracker-sparql
nautilus-extensions
nautilus-python
osinfo-db-tools
totem-pl-parser
tracker3
tracker3-miners
nautilus
Puis je relance l’installation et il ne manque plus qu'une dépendance
sudo dnf install synology-drive-6.0.2-11079.x86_64.rpm
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:09:37 le mer 18 nov 2020 10:30:31.
Erreur : 
 Problème: conflicting requests
  - nothing provides libfct-qt.so.1()(64bit) needed by synology-drive-6.0.2-11079.x86_64
Mais je ne trouve pas ce fichier.
Une recherche sur https://rpmfind.net/linux/rpm2html/search.php?query=libfct&submit=Search+...&system=&arch= ne donne rien
2 mois plus tard
Si je fais un find sur les librairies demandées à l'installation, je les trouve sur ma fedora :
sudo find / -name libfct-qt.so.1
/home/thibaud/.SynologyDrive/SynologyDrive.app/lib/libfct-qt.so.1

sudo find / -name libicudata.so.53
/usr/lib/libicudata.so.53

sudo find / -name libicui18n.so.53
/home/thibaud/.SynologyDrive/SynologyDrive.app/lib/libicui18n.so.53
/usr/lib/libicui18n.so.53

sudo find / -name libicui18n.so
/home/thibaud/.SynologyDrive/SynologyDrive.app/lib/libicui18n.so
/opt/zoom/libicui18n.so
/usr/lib64/libicui18n.so

sudo find / -name libicuuc.so.53
/home/thibaud/.SynologyDrive/SynologyDrive.app/lib/libicuuc.so.53
/usr/lib/libicuuc.so.53
mais à l'installation j'ai quand même
Erreur : 
 Problème: conflicting requests
  - nothing provides libfct-qt.so.1()(64bit) needed by synology-drive-6.0.3-11103.x86_64
  - nothing provides libicudata.so.53()(64bit) needed by synology-drive-6.0.3-11103.x86_64
  - nothing provides libicui18n.so.53()(64bit) needed by synology-drive-6.0.3-11103.x86_64
  - nothing provides libicuuc.so.53()(64bit) needed by synology-drive-6.0.3-11103.x86_64
Je vais tenter un "force"...
que renvoie par exemple un

file /home/thibaud/.SynologyDrive/SynologyDrive.app/lib/libicuuc.so.53
je viens d’essayer aussi la dernière version :
https://global.download.synology.com/download/Utility/SynologyDriveClient/2.0.3-11102/Ubuntu/Installer/x86_64/synology-drive-client-11102.x86_64.deb?model=DS216%2BII&bays=2&dsm_version=6.2.3&build_number=25426
toujours le même problème

sudo dnf install synology-drive-6.0.3-11103.x86_64.rpm
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:08:53 le sam 23 jan 2021 14:11:56.
Erreur : 
 Problème: conflicting requests
  - nothing provides libfct-qt.so.1()(64bit) needed by synology-drive-6.0.3-11103.x86_64
(essayez d’ajouter « --skip-broken » pour ignorer les paquets non installables)
Certaines personnes ayant le même problème ont réussi à l'installer, ou ont contourné le problème:
https://community.synology.com/enu/forum/9/post/121686?page=3&sort=oldest

Sans flatpack, il y a un des derniers posts qui peut peut-être aider:
palmstrom @palmstrom
Oct 31, 2020

I installed the Synology Drive on Fedora 33 as follows. First download .deb package from Synolog website and then in terminal:

sudo alien --to-rpm -vv synology-drive-*.deb
sudo rpm -ivh synology-drive-*.rpm --nodeps --force
sudo ln -s /usr/lib/nautilus/extensions-3.0/libnautilus-drive-extension.so /usr/lib64/nautilus/extensions-3.0/
Comme l'a indiqué Nicosss, il est passé par rpm et pas dnf
(et utiliser gnome, ou du moins nautilus, pour cet exemple)
Super, je confirme que la méthode fonctionne,
j'ai enfin pu faire fonctionner synology drive client sur Fedora 33 par la méthode indiquée en convertissant le paquer deb en rpm avec les options indiquées.
Ma première conversion du paquet deb en rpm sans ces options et avec dnf m'avait conduit à un échec.

Un super grand merci pour vos conseils !!
un an plus tard
Si ça peut être utile un jour pour quelqu'un, j'ai récemment recréé un paquet rpm à la main (sans alien) : https://github.com/EmixamPP/synology-drive (je le maintiendrai à jour).

Il contient toutes les fonctionnalités de la version .deb.
13 jours plus tard
Bonjour xamolf

Merci pour d'avoir créé le rpm pour synology-drive,

Je l'ai installé sans soucis.

Mais j'ai le même problème que lorsque j'utilise le deb transformé en rpm, l’icône ne s'affiche pas automatiquement - pourtant il est listé dans "programmes à démarrer automatiquement" dans la configuration de plasma/kde - au démarrage dans la barre des tâches . Par contre, lorsque je le démarre manuellement soit via l’icône (menu), soit en ligne de commande, l’icône s'affiche bien dans la barre des tâches.


synology-drive
bash-5.1$ lib path = '/opt/Synology/SynologyDrive/lib/plugins'
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
QLayout: Attempting to add QLayout "" to TutorialPanel "tutorial_panel", which already has a layout
QLayout: Attempting to add QLayout "" to TutorialPanel "tutorial_panel", which already has a layout
QLayout: Attempting to add QLayout "" to TutorialPanel "tutorial_panel", which already has a layout
QLayout: Attempting to add QLayout "" to TutorialPanel "tutorial_panel", which already has a layout
QLayout: Attempting to add QLayout "" to TutorialDiagram "", which already has a layout
QLayout: Attempting to add QLayout "" to TutorialDiagram "", which already has a layout
gtk-update-icon-cache: Cache file created successfully.
--> l'icône s'affiche.