2017-11-22 2 views
0

Ich brauche einen OpenWRT Makefile zu schreiben, die ein Modul in Python installiert, Setuptools verwenden, das heißt ruft: PythonInstallieren Sie ein Python-Modul von OpenWrt Make-Datei

installieren setup.py

I setup.py-Datei in meinem Paket haben.

konnte nicht die Antwort in OpenWrt Garnkörperaufbaus referrence

ich es für Setuptools in OpenWrt ist einige Infrastruktur hoffen finden? Ich nehme an, ich muss eine .mk Datei $ (Aufruf include_mk, python-package.mk) einschließen?

und dann ein Ziel von ihm anrufen?

erkennen, jede Probe Makefile/manual

Antwort

1

Sie über Ihren eigenen Python-Modul im Gespräch oder ein öffentlich zugänglichen ein? Hier ist ein Beispiel Makefile für die 'IDNA' Bibliothek, die ich benutze.

include $(TOPDIR)/rules.mk 

PKG_NAME:=idna 
PKG_VERSION:=2.6 
PKG_RELEASE:=1 
PKG_SOURCE:=idna-2.6.tar.gz 
PKG_SOURCE_URL:=https://pypi.python.org/packages/f4/bd/0467d62790828c23c47fc1dfa1b1f052b24efdf5290f071c7a91d0d82fd3/ 
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/ 

#PKG_BUILD_DEPENDS:=python-setuptools 

include $(INCLUDE_DIR)/package.mk 
$(call include_mk, python-package.mk) 

define Package/idna 
    SECTION:=lang-python 
    CATEGORY:=Languages 
    SUBMENU:=Python 
    TITLE:=idna 
    URL:=https://pypi.python.org/pypi/idna 
    DEPENDS:=+python 
endef 

define Package/idna/description 
    Internationalized Domain Names in Applications (IDNA) 
endef 

define Build/Compile 
    $(call Build/Compile/PyMod,., \ 
     install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \ 
    ) 
endef 

define Build/InstallDev 
    $(INSTALL_DIR) $(STAGING_DIR)$(PYTHON_PKG_DIR) 
    $(CP) \ 
     $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ 
     $(STAGING_DIR)$(PYTHON_PKG_DIR)/ 
    [ ! -e $(PKG_INSTALL_DIR)/usr/include ] || $(CP) \ 
     $(PKG_INSTALL_DIR)/usr/include/* \ 
     $(STAGING_DIR)/usr/include/ 
endef 

define Package/idna/install 
    $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/ 
    $(CP) \ 
     $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ 
     $(1)$(PYTHON_PKG_DIR)/ 
endef 

$(eval $(call BuildPackage,idna)) 

Wenn Sie Ihr eigenes Paket/Quelle haben, ist es dann irgendwo hosten wie Gitlab und verwenden, die als Quelle url etc ... so etwas wie dieses ..

PKG_NAME:=myPackage 
PKG_VERSION:=1.0 
PKG_RELEASE=$(PKG_SOURCE_VERSION) 

PKG_SOURCE_PROTO:=git 
PKG_SOURCE_URL:[email protected]:yourprofile/myPackage.git 
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) 
PKG_SOURCE_VERSION:=d65acd7649939505ebedd445f301c46b52616532 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz 
+0

Vielen Dank! Das ist was ich brauche. Und ja, es ist ein privates Modul – alexa