2017-11-29 7 views
0

OpenWRTビルドにバックポート-abcのpythonモジュールをビルドしようとしていますが、ビルド/抽出プロセスの助けが必要です。openWRT pythonバックポートのMakefile-abc

私の問題は、ダウンロードしたbackports-abc tarファイルが、背後のtarファイル構造のためにbackports_abc-0.5に内容を抽出しているようですが、ビルドプロセスはbackports-abc-0.5 (下記参照)。手動でファイルをコピーして再構築することはできますが、正常に動作しますが、それは理想的ではありません。また、正常に構築されますが、デバイスにイメージをロードすると、バックポートモジュールが失われます。

/home/ubuntu/build2/openwrt/staging_dir/host/bin/python2: can't open file './setup.py': [Errno 2] No such file or directory 
Makefile:59: recipe for target '/home/ubuntu/build2/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/backports-abc-0.5//.built' failed 
make[3]: *** [/home/ubuntu/build2/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/backports-abc-0.5//.built] Error 2 
make[3]: Leaving directory '/home/ubuntu/build2/openwrt/feeds/linkit/python-backports-abc 

Makefileの周りにOpenWrtのドキュメントは少し曖昧であり、そのプロセスの私の理解です。

正しいフォルダにtarファイルを展開するにはどうすればよいですか、またはMakefileプロセスで正しいフォルダにファイルをコピーするだけですか?

ここに私のMakefileがあります。

include $(TOPDIR)/rules.mk 

PKG_NAME:=backports_abc 
PKG_VERSION:=0.5 
PKG_RELEASE:=1 
PKG_SOURCE:=backports_abc-0.5.tar.gz 
PKG_SOURCE_URL:=https://pypi.python.org/packages/68/3c/1317a9113c377d1e33711ca8de1e80afbaf4a3c950dd0edfaf61f9bfe6d8/ 
PKG_MD5SUM:=7d1936ec183a3586290adf60f6f96764 
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/backports_abc 
     SECTION:=lang-python 
     CATEGORY:=Languages 
     SUBMENU:=Python 
     TITLE:=backports_abc 
     URL:=https://pypi.python.org/pypi/backports_abc/0.5 
     DEPENDS:=+python 
endef 

define Package/backports_abc/description 
     A backport of recent additions to the 'collections.abc' module. 
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/backportsabc/install 
     $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/ 
     $(CP) \ 
       $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ 
       $(1)$(PYTHON_PKG_DIR)/ 
endef 

$(eval $(call BuildPackage,backports_abc)) 

答えて

0

あなたのMakefileをpackagesディレクトリのどこかにコピーして、問題を解決するには、MakefileからPKG_BUILD_DIR変数を削除してください。

+0

ありがとうございます。私はすでにそれを解決しましたが(下)、解決策のように聞こえるかもしれません。 –

0

私は...いくつかのアンダースコアとハイフンを固定することにより、すなわち、これを解決.. これをbackports_abcと基本的にバックポート-ABC を... PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/ は、それがPKG_NAME変数に基づいてファイルを探していたことを意味しました。

include $(TOPDIR)/rules.mk 

PKG_NAME:=backports_abc 
PKG_VERSION:=0.5 
PKG_RELEASE:=1 
PKG_SOURCE:=backports_abc-0.5.tar.gz 
PKG_SOURCE_URL:=https://pypi.python.org/packages/68/3c/1317a9113c377d1e33711ca8de1e80afbaf4a3c950dd0edfaf61f9bfe6d8/ 
PKG_MD5SUM:=7d1936ec183a3586290adf60f6f96764 
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/backports-abc 
    SECTION:=lang-python 
    CATEGORY:=Languages 
    SUBMENU:=Python 
    TITLE:=backports-abc 
    URL:=https://pypi.python.org/pypi/backports_abc/0.5 
    DEPENDS:=+python 
endef 

define Package/backports-abc/description 
    A backport of recent additions to the 'collections.abc' module. 
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/backports-abc/install 
    $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/ 
    $(CP) \ 
     $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \ 
     $(1)$(PYTHON_PKG_DIR)/ 
endef 

$(eval $(call BuildPackage,backports-abc)) 
関連する問題