
Création Paquets IPK - Python
5. Identification.
Sélectionner "openwrt", taper le mot de passe "openwrt" et cliquer sur "Log In".

6. Mise clavier en Français.
Lorsque la session est ouverte cliquer sur le "bouton démarrer" en bas à gauche, ensuite "System Tools" → "LXTerminal" pour ouvrir le terminal.

6.1. Une nouvelle fenêtre s'ouvre:

taper la commande et valider:
Clavier en QWERTY, taper "setxkb,qp"
setxkbmap fr
7. Création d'un paquet python en ipk (création d'un dossier avec fichier Makefile).
Cliquer sur le "dossier" en bas à gauche, à côté du bouton démarrer.

La fenêtre "Home" s'ouvre.

/home/openwrt/code/barrier_breaker/feeds/oldpackages/lang
Créer un dossier ("Create New..." → "Folder"), exemple: "python-minimalmodbus".
Créer un fichier dans le dossier précédemment créé ("Create New..." → "Empty File"), appeler le - "Makefile".
Lien fichier exemple: python-minimalmodbus.zip
Code à mettre dans "Makefile".
#
# Copyright (C) 2008-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=minimalmodbus
PKG_VERSION:=1.0.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/db/9d/aa72b09d966fe6f30dc90d0dd1e295e2ebadc3a5b08d8bc0a4dfdd9473ca/
PKG_HASH:=5c55b1e26131e1f3b7fe55b950f8abb8a2396b77f73bc0a513cc3ef0051db526
PKG_BUILD_DEPENDS:=python
include $(INCLUDE_DIR)/package.mk
$(call include_mk, python-package.mk)
define Package/python-minimalmodbus
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=python-minimalmodbus
URL:=https://pypi.org/project/minimalmodbus/
DEPENDS:=+python-mini
endef
define Package/python-minimalmodbus/description
Easy-to-use Modbus RTU and Modbus ASCII implementation for Python
endef
define Build/Compile
$(call Build/Compile/PyMod,., \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \
)
endef
define Package/python-minimalmodbus/install
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
$(CP) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
$(1)$(PYTHON_PKG_DIR)/
endef
$(eval $(call BuildPackage,python-minimalmodbus))
8. Modifier le fichier "Makefile".
Mettre le nom du paquet et la version, comme sur le site pypi-minimalmodbus
PKG_NAME:=minimalmodbus PKG_VERSION:=1.0.2
Vérifier et modifier l'extension si besoin.
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
Modifier la source URL et le HASH avec les informations du site pypi-minimalmodbus → "Download files" → "View".

Modifier l'URL avec les informations "BLAKE2-256", copier le code et le coller, après le "/" de packages.
Ajouter 2 "/" au début du code .
db/9d/aa72b09d966fe6f30dc90d0dd1e295e2ebadc3a5b08d8bc0a4dfdd9473ca
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/db/9d/aa72b09d966fe6f30dc90d0dd1e295e2ebadc3a5b08d8bc0a4dfdd9473ca/
Modifier le hash avec les informations "SHA256", copier le code et le coller.
PKG_HASH:=5c55b1e26131e1f3b7fe55b950f8abb8a2396b77f73bc0a513cc3ef0051db526
Modifier après le "/" de Package, mettre le nom du dossier créé.
Modifier TITLE, mettre le nom du dossier créé.
Modifier URL avec le lien du paquet python "https://pypi.org/project/????/".
Modifier DEPENDS si besoin, (utilisé pour la compilation et l'index - Packages.gz).
define Package/python-minimalmodbus SUBMENU:=Python SECTION:=lang CATEGORY:=Languages TITLE:=python-minimalmodbus URL:=https://pypi.org/project/minimalmodbus/ DEPENDS:=+python-mini endef
Modifier après le "/" de Package, mettre le nom du dossier créé.
Modifier dessous la description du paquet.
define Package/python-minimalmodbus/description Easy-to-use Modbus RTU and Modbus ASCII implementation for Python endef
Modifier après le "/" de Package, mettre le nom du dossier créé.
define Package/python-minimalmodbus/install $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR) $(CP) \ $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ $(1)$(PYTHON_PKG_DIR)/ endef
Modifier après la "," de BuildPackage, mettre le nom du dossier créé.
$(eval $(call BuildPackage,python-minimalmodbus))
9. Compilation du dossier.


Se mettre dans le dossier:
cd ~/code/barrier_breaker
Mise à jour des paquets:
./scripts/feeds update -a ./scripts/feeds update -i
Installer les paquets:
./scripts/feeds install -a
ouvrir le menu pour générer la compilation.
make menuconfig
9.3. Sélectionner avec les flèches "Languages" puis "Entrée".



9.4. Sélectionner avec les flèches "Python" puis "Entrée".

9.6. Avec les flèches sélectionner "<Save>" puis "Entrée".

Dans le terminal taper la commande: (Compilation de tout openwrt).
make world
Commande pour ne pas tout compiler.
Pour créer le(s) paquet(s) sélectionner.
make package/python-minimalmodbus/compile
pour afficher le debug lors de la compilation ajouter "V=s".
make package/python-minimalmodbus/compile V=s
Si erreur lors de la compilation, ouvrir le terminal et installer, la ou les dépendances manquantes (selon debug).
Exemple:
pip install setuptools
Pour créer les index (fichier Packages.gz), après la compilation.
make package/index
Les fichiers IPK créés sont dans le dossier:
/home/openwrt/code/barrier_breaker/bin/ramips/packages/oldpackages