PrimtuxMenu
Le lanceur nouvelle génération de Primtux. Présentation
Tester en local
- Récupérer les sources git :
git clone git@framagit.org:mothsart/primtuxmenu.git && cd primtuxmenu
- Activer les hooks git :
git config core.hooksPath=.githooks
- Avoir un environnement virtuel
Il faut au préalable installer venv et pip :
sudo apt install python3.10-venv python3-pip
Puis :
python3 -m venv .
- Installer les dépendances dans l'environnement virtuel
pip install -r requirements.txt
- Lancer ce script :
make init
Il va dans l'ordre :
- Créer un espace virtuelle pour les dépendances python (évite d'installer des dépendances sur votre distribution).
- Installer les dépendances python pour un environnement de test et de dev.
- Alimentation de la Base de données.
Récupération des derniers changements
make db.recover // git pull + make db.init
Mettre à jour les paquets .deb avec une liste de fichiers provenant des sources du Primtuxmenu
-
On rajoute ou modifie le fichier .desktop dans le dossier desktops (qui les centralisent tous).
-
On rajoute ou modifie le fichier image (ex : .png) dans le dossier
static/assets/apps
. -
On édite le fichier : debs_replace.txt Pour chaque, on renseigne dans l'ordre :
- le .deb concerné
- le fichier a incorporer (image ou desktop)
- le chemin de destination
- On lance la commande en renseignant les chemin du dossier contenant les
.deb
:
make path=<le chemin des .debs> deb.replace
Publier des changements en Base de données
- On ajoute les entrées SQL générés dans les sources :
make db.record
- On crée un commit sur son poste avec ses modifs :
git commit -m "la description des changements"
- On envoi son commit avec les modifs sur le serveur :
git push
Démarrer le serveur en mode debug
make run.server
Si l'on souhaite tester l'installation de logiciels, il faut lancer en parallèle un daemon (ce dernier doit avoir les droits root afin de piloter apt) :
sudo make run.daemon
Si vous avez tmux et tmuxp
make tmux
Les tests
Afin de bénéficier des tests d'intégration, il vous faudra installer Cypress. (cf https://docs.cypress.io/guides/getting-started/installing-cypress#System-requirements)
Installer Cypress
- avoir Npm :
sudo apt-get install npm
- disposer de certaines dépendances
sudo apt install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- installer l'applicatif localement dans un cadre de développement
npm install cypress --save-dev
Ouvrir Cypress
make cypress.open
Création du paquet Debian
Prérequis
Installation des paquets manquants :
sudo apt install dpkg build-essential devscripts dh-python python3-distutils-extra debhelper python3-pygments flake8
Compilation
Attention : avant de créer un paquet debian, la BBD va être remise à jour ! Si vous avez édités des changements sans avoir effectué de "make db.record", vos données seront perdues !
make build.debian
sudo dpkg -i ../primtuxmenu_0.1_all.deb