From a82672c467a64b7daf25d90c0107d59a348818d6 Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Tue, 5 Dec 2017 19:37:19 +0100 Subject: [PATCH] Update package --- README.md | 67 +++++++++++++++++++++----- README_fr.md | 62 ++++++++++++++++++++++++ YEP.md | 117 +++++++++++++++++++++++++++++++++++++++++++++ app_minidlna.md | 2 +- app_minidlna_fr.md | 2 +- check_process | 11 +++-- manifest.json | 2 +- scripts/_common.sh | 36 ++++++++++++-- 8 files changed, 276 insertions(+), 23 deletions(-) create mode 100644 README_fr.md create mode 100644 YEP.md diff --git a/README.md b/README.md index 1eaf376..5cd0808 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,62 @@ -Serveur DLNA pour YunoHost -================== +# MiniDLNA for YunoHost -[Yunohost project](https://yunohost.org/#/) +[![Integration level](https://dash.yunohost.org/integration/minidlna.svg)](https://ci-apps.yunohost.org/jenkins/job/minidlna%20%28Community%29/lastBuild/consoleFull) +[![Install MiniDLNA with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=minidlna) -Serveur DLNA très léger pour partager simplement les fichiers multimédia avec l'ensemble des appareils compatibles sur le réseau local. +*[Lire ce readme en français.](./README_fr.md)* -http://minidlna.sourceforge.net/ +> *This package allow you to install MiniDLNA quickly and simply on a YunoHost server. +If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* -Le script installe les paquets *i965-va-driver*, *i965-va-driver*, *libavcodec56*, *libavformat56*, *libavresample2*, *libavutil54*, *libexif12* *libflac8* *libgsm1* *libid3tag0* *libmp3lame0* *libogg0* *libopenjpeg5 *libopus0* *liborc-0.4-0* *libschroedinger-1.0-0* *libspeex1* *libtheora0* *libva1* *libvdpau1* *libvorbis0a* *libvorbisenc2* *libx264-142* *libxvidcore4* *va-driver-all* *vdpau-va-driver*. +## Overview -[Documentation minidlna](https://yunohost.org/#/app_minidlna_fr) pour Yunohost. +MiniDLNA is a simple media server software, with the aim of being fully compliant with DLNA/UPnP-AV clients. -**Mise à jour du package:** -sudo yunohost app upgrade --verbose minidlna -u https://github.com/YunoHost-Apps/minidlna_ynh +**Shipped version:** Debian repositories versions. Currently 1.1.2 and 1.1.6 -**Multi-utilisateur:** Pas de gestion des utilisateurs, les partages sont accessible librement. +## Screenshots -**Voir l'état du package:** -*[Dernier rapport hebdomadaire](https://forum.yunohost.org/t/rapport-hebdomadaire-dintegration-continue/2297)* -*[Dernier test d'intégration continue](https://ci-apps.yunohost.org/jenkins/job/minidlna%20%28Community%29/lastBuild/consoleFull)* +## Configuration + +Edit the file `/etc/minidlna.conf` to adjust the configuration of MiniDLNA. + +## Documentation + + * YunoHost documentation: https://yunohost.org/#/app_minidlna + +## YunoHost specific features + +* Use shared Multimedia Directories +* Linked to transmission, nextcloud and all other app which use Multimedia Directories. + +#### Multi-users support + +Not relevant. + +#### Supported architectures + +* Tested on x86_64 + +## Limitations + +## Additionnal informations + +## Links + + * Report a bug: https://github.com/YunoHost-Apps/minidlna_ynh/issues + * MiniDLNA website: http://minidlna.sourceforge.net/ + * YunoHost website: https://yunohost.org/ + +--- + +Developers infos +---------------- + +Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/minidlna_ynh/tree/testing). + +To try the testing branch, please proceed like that. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/minidlna_ynh/tree/testing --verbose +or +sudo yunohost app upgrade minidlna -u https://github.com/YunoHost-Apps/minidlna_ynh/tree/testing --verbose +``` diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..84a577b --- /dev/null +++ b/README_fr.md @@ -0,0 +1,62 @@ +# MiniDLNA pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/minidlna.svg)](https://ci-apps.yunohost.org/jenkins/job/minidlna%20%28Community%29/lastBuild/consoleFull) +[![Installer MiniDLNA avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=minidlna) + +*[Read this readme in english.](./README.md)* + +> *Ce package vous permet d'installer MiniDLNA rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, merci de regarder [ici](https://yunohost.org/#/install_fr) pour savoir comment l'installer et en profiter.* + +## Résumé + +MiniDLNA est un simple serveur multimédia, dont le but est d'être entièrement compatible avec les clients DLNA/UPnP-AV. + +**Version embarquée:** Versions des dépôts Debian. Actuellement 1.1.2 et 1.1.6 + +## Captures d'écran + +## Configuration + +Editez le fichier `/etc/minidlna.conf` pour ajuster la configuration de MiniDLNA. + +## Documentation + + * Documentation YunoHost: https://yunohost.org/#/app_minidlna + +## Fonctionnalités spécifiques à YunoHost + +* Utilise les répertoires multimédia partagés. +* Lié à transmission, nextcloud et toute autre application qui utilise les répertoires multimédia. + +#### Support multi-utilisateurs + +Non applicable. + +#### Architectures supportées. + +* Testé sur x86_64 + +## Limitations + +## Informations additionnelles + +## Liens + + * Reporter un bug: https://github.com/YunoHost-Apps/minidlna_ynh/issues + * Site de MiniDLNA: http://minidlna.sourceforge.net/ + * Site de YunoHost: https://yunohost.org/ + +--- + +Informations à l'intention des développeurs +---------------- + +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/minidlna_ynh/tree/testing). + +Pour tester la branche testing, merci de procéder ainsi. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/minidlna_ynh/tree/testing --verbose +ou +sudo yunohost app upgrade minidlna -u https://github.com/YunoHost-Apps/minidlna_ynh/tree/testing --verbose +``` diff --git a/YEP.md b/YEP.md new file mode 100644 index 0000000..e4755ac --- /dev/null +++ b/YEP.md @@ -0,0 +1,117 @@ +#### [Level 0](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-0) +[YEP 1.1 - Nommer son app et son dépot](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-11) +`Validated` +[YEP 1.2 - Inscrire l'app sur un "répertoire" connu](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-12) +`Validated` + +#### [Level 1](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-1) +[YEP 2.2 - Utiliser bash pour les scripts principaux](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-22) +`Validated` +[YEP 2.5 - Copier correctement des fichiers](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-25) +`Don't know` +[YEP 2.7 - Donner des permissions suffisantes aux instructions bash](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-27) +`Validated` +[YEP 2.15 - Suivre les instructions d'installation de l'application](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-215) +`Validated` + +#### [Level 2](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-2) +[YEP 1.5 - Mettre à jour régulièrement le statut de l'app](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-11) +`Validated` +[YEP 2.18.2 - Gérer l'installation à la racine d’un nom de domaine](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2182) +`Not applicable` +[YEP 2.18.3 - Gérer l'installation sur un sous-domaine](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2183) +`Not applicable` +[YEP 2.18.4 - Gérer l'installation sur un chemin /path](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2184) +`Not applicable` +[YEP 4.6 - Gère le multi-instance](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-11) +`Not applicable` + +#### [Level 3](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-3) +[YEP 2.3 - Sauvegarder les réponses lors de l'installation](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-23) +`Validated` + +#### [Level 4](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-4) +[YEP 4.1 - Lier au ldap](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-41) +`Not applicable` +[YEP 4.2 - Lier l'authentification au sso](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-42) +`Not applicable` + +#### [Level 5](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-5) +[YEP 1.3 - Indiquer la licence associée au paquet](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-13) +`Validated` +[YEP 2.1 - Respecter le format du manifeste](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-21) +`Validated` - *Automatically verified.* +[YEP 2.12 - Utiliser les commandes pratiques (helpers)](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-212) +`Validated` +[YEP 2.18.1 - Lancer le script d'installation d'une webapp correctement](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2181) +`Not applicable` + +#### [Level 6](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-6) +[YEP 1.4 - Informer sur l'intention de maintenir un paquet](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-14) +`Validated` +[YEP 1.6 - Se tenir informé sur l'évolution du packaging d'apps](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-16) +`Validated` +[YEP 1.7 - Ajouter l'app à l'organisation YunoHost-Apps](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-17) +`Validated` - *Automatically verified.* +[YEP 1.8 - Publier des demandes de test](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-18) +`Validated` +[YEP 1.9 - Documenter l'app](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-19) +`Validated` +[YEP 1.10 - Garder un historique de version propre](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-110) +`Don't know` +[YEP 2.9 - Enlever toutes traces de l'app lors de la suppression](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-29) +`Validated` +[YEP 3.3 - Faciliter le contrôle de l'intégrité des sources](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-33) +`Not applicable` +[YEP 3.5 - Suivre les recommendations de la documentation de l'app](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-35) +`Validated` +[YEP 3.6 - Mettre à jour les versions contenant des CVE](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-36) +`Validated` +[YEP 4.3 - Fournir un script de sauvegarde YunoHost fonctionnel](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-43) +`Validated` - *Automatically verified.* +[YEP 4.4 - Fournir un script de restauration YunoHost fonctionnel](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-44) +`Validated` - *Automatically verified.* + +#### [Level 7](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-7) +[YEP 2.6 - Annuler l'action si les valeurs d'entrées sont incorrectes](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-26) +`Validated` +[YEP 3.2 - Ouvrir un port correctement](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-32) +`Validated` + +#### [Level 8](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-8) +[YEP 2.4 - Détecter et gérer les erreurs](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-24) +`Validated` +[YEP 2.8 - Modifier correctement une configuration système](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-28) +`Validated` +[YEP 2.16 - Vérifier la disponibilité des dépendances sur ARM, x86 et x64](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-216) +`Not yet validated` - *Automatically verified.* +[YEP 2.18.5 - Gérer la tuile YunoHost pour faciliter la navigation entre les applications](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2185) +`Not applicable` +[YEP 3.4 - Isoler l'app](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-34) +`Not yet validated` +[YEP 4.5 - Utiliser les hooks](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-45) +`Not applicable` + +#### [Level 9](https://github.com/YunoHost/doc/blob/master/packaging_apps_levels_fr.md#niveau-9) +[YEP 2.10 - Configurer les logs de l'application](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-210) +`Not applicable` +[YEP 2.11 - Utiliser une variable plutôt que l'app id directement](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-211) +`Validated` +[YEP 2.13 - Traduire le paquet en anglais](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-213) +`Not yet validated` +[YEP 2.14 - Remplir correctement un fichier de conf](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-214) +`Not yet validated` +[YEP 2.17 - Prendre en compte la version d'origine lors des mises à jour](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-217) +`Validated` +[YEP 4.2.1 - Déconnexion](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-421) +`Don't know` + +#### Other YEP +[YEP 3.1 - Ne pas demander ou stocker de mot de passe LDAP](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-31) +`Validated` +[YEP 4.7 - Ajouter un module à la CLI](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-47) +`Not applicable` +[YEP 4.8 - Ajouter un module à l'admin web](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-48) +`Not applicable` + +State of each YEP can be one of these: `Validated`, `Partially validated`, `Not yet validated`, `Not applicable`, `Don't know`. diff --git a/app_minidlna.md b/app_minidlna.md index 71dc902..ff6ea67 100644 --- a/app_minidlna.md +++ b/app_minidlna.md @@ -9,7 +9,7 @@ Minidlna does not have a graphical interface, but does not require any special c Minidlna sharing the folder /home/yunohost.multimedia/share, which is common to each user in /home/$USER/Multimedia/Share. [More information about multimedia files here.](Https://github.com/maniackcrudelis/yunohost.multimedia) -~~If [transmission](https://github.com/Kloadut/transmission_ynh) is installed, the downloaded media will be available in dlna.~~ +If [transmission](https://github.com/Kloadut/transmission_ynh) is installed, the downloaded media will be available in dlna. ### How to view and play media files shared by minidlna? To view and play media files, all you need is a compatible client DLNA/UPNP. diff --git a/app_minidlna_fr.md b/app_minidlna_fr.md index 0d1840a..f48a73d 100644 --- a/app_minidlna_fr.md +++ b/app_minidlna_fr.md @@ -9,7 +9,7 @@ Minidlna ne dispose pas d'une interface graphique, mais ne nécessite pas de con Minidlna partage le dossier /home/yunohost.multimedia/share, qui est commun à chaque utilisateur dans le dossier /home/$USER/Multimedia/Share. [Plus d'informations sur les dossiers multimedia ici.](https://github.com/maniackcrudelis/yunohost.multimedia) -~~Si [transmission](https://github.com/Kloadut/transmission_ynh) est installé, les médias téléchargés seront disponible en dlna.~~ +Si [transmission](https://github.com/Kloadut/transmission_ynh) est installé, les médias téléchargés seront disponible en dlna. ### Comment consulter et lire les fichiers multimédias partagés par minidlna? Pour voir et lire les fichiers multimédias, il suffit de disposer d'un client compatible DLNA/UPNP. diff --git a/check_process b/check_process index 0dc2b7d..1149ba5 100644 --- a/check_process +++ b/check_process @@ -1,5 +1,4 @@ ;; Test paquet stable - auto_remove=1 ; Manifest version="A. Version of the Debian repositories - recommended" ; Checks @@ -10,12 +9,13 @@ setup_private=0 setup_public=0 upgrade=1 + upgrade=1 from_commit=2c107b09144c9829be5cc94b202d0f766b2a0db4 backup_restore=1 multi_instance=0 incorrect_path=0 port_already_use=1 (48200) + change_url=0 ;; Test paquet backports - auto_remove=1 ; Manifest version="B. Latest version available for Debian" ; Checks @@ -36,8 +36,7 @@ Level 3=auto # Level 4: Pas de gestion des utilisateurs Level 4=na -# Level 5: https://github.com/YunoHost-Apps/minidlna_ynh/issues/2 - Level 5=1 + Level 5=auto Level 6=auto Level 7=auto Level 8=0 @@ -46,3 +45,7 @@ ;;; Options Email= Notification=down +;;; Upgrade options + ; commit=2c107b09144c9829be5cc94b202d0f766b2a0db4 + name=01 May 2017 2c107b09144c9829be5cc94b202d0f766b2a0db4 + manifest_arg=version=A. Version of the Debian repositories - recommended& diff --git a/manifest.json b/manifest.json index fcdf4a0..b21f535 100644 --- a/manifest.json +++ b/manifest.json @@ -8,7 +8,7 @@ }, "version": "1.0", "url": "http://minidlna.sourceforge.net/", - "license": "GPLv2", + "license": "GPL-2.0", "maintainer": { "name": "Maniack Crudelis", "email": "maniackc_dev@crudelis.fr" diff --git a/scripts/_common.sh b/scripts/_common.sh index 0c814ff..cac8bd1 100755 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -78,6 +78,19 @@ node_version_path="/opt/node_n/n/versions/node" # N_PREFIX est le dossier de n, il doit être chargé dans les variables d'environnement pour n. export N_PREFIX="$n_install_dir" +ynh_install_n () { + echo "Installation of N - Node.js version management" >&2 + # Build an app.src for n + mkdir -p "../conf" + echo "SOURCE_URL=https://github.com/tj/n/archive/v2.1.7.tar.gz +SOURCE_SUM=2ba3c9d4dd3c7e38885b37e02337906a1ee91febe6d5c9159d89a9050f2eea8f" > "../conf/n.src" + # Download and extract n + ynh_setup_source "$n_install_dir/git" n + # Install n + (cd "$n_install_dir/git" + PREFIX=$N_PREFIX make install 2>&1) +} + ynh_use_nodejs () { nodejs_version=$(ynh_app_setting_get $app nodejs_version) @@ -113,9 +126,10 @@ ynh_install_nodejs () { test -x /usr/bin/npm && mv /usr/bin/npm /usr/bin/npm_n # If n is not previously setup, install it - n --version > /dev/null 2>&1 || \ - ( echo "Installation of N - Node.js version management" >&2; \ - curl -sL $n_install_script | N_PREFIX=$N_PREFIX bash -s -- -y - 2>&1 ) + if ! test n --version > /dev/null 2>&1 + then + ynh_install_n + fi # Modify the default N_PREFIX in n script ynh_replace_string "^N_PREFIX=\${N_PREFIX-.*}$" "N_PREFIX=\${N_PREFIX-$N_PREFIX}" "$n_install_dir/bin/n" @@ -219,3 +233,19 @@ EOF chmod +x "/etc/cron.daily/node_update" } + + +#================================================= +#============= FUTURE YUNOHOST HELPER ============ +#================================================= + +# Delete a file checksum from the app settings +# +# $app should be defined when calling this helper +# +# usage: ynh_remove_file_checksum file +# | arg: file - The file for which the checksum will be deleted +ynh_delete_file_checksum () { + local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_' + ynh_app_setting_delete $app $checksum_setting_name +}