buildrootがカスタムパッケージビルドに間違ったPREFIXを追加しています

ネイティブ

WSO2 WSF / CカスタムパッケージをbuildrootクロスコンパイルARMプロジェクト含めようとしていますこれまでのwsfc.mkファイルは次のとおりです。

################################################################################
#
# WSO2 WSF/C 
#
################################################################################

    WSFC_VERSION = 2.0.0
    WSFC_SOURCE_BASENAME = wso2-wsf-c-src-$(WSFC_VERSION)
    WSFC_SOURCE = $(WSFC_SOURCE_BASENAME).zip
    WSFC_SITE = $(BR2_EXTERNAL)/package/wsfc/
    WSFC_SITE_METHOD = file
    WSFC_PREFIX = /usr/local/wso/wsf_c/
    WSFC_CONF_OPTS = --prefix=$(WSFC_PREFIX) --exec-prefix=$(WSFC_PREFIX) \
                     --enable-rampart=no --enable-sandesha=no --enable-savan=no

    define WSFC_EXTRACT_CMDS
        unzip $(DL_DIR)/$(WSFC_SOURCE) -d $(@D)
        mv $(@D)/$(WSFC_SOURCE_BASENAME)/* $(@D)
        rmdir $(@D)/$(WSFC_SOURCE_BASENAME)
    endef

    $(eval $(autotools-package))

問題、

の場合WSFC_PREFIX = /usr/local/wso/wsf_c/、ホストにサンプルをインストールしようとするため、アクセスが拒否されます

[... lot of buildroot log output then:]
/usr/bin/make  install-data-hook
make[5]: Entering directory `/home/masteruser/Downloads/buildroot-2015.05/output/build/wsfc-2.0.0/axis2c'
mkdir -p /usr/local/wso/wsf_c/samples/src/axis2c
mkdir: cannot create directory ‘/usr/local/wso’: Permission denied
make[5]: *** [install-data-hook] Error 1
make[5]: Leaving directory `/home/masteruser/Downloads/buildroot-2015.05/output/build/wsfc-2.0.0/axis2c'
make[4]: *** [install-data-am] Error 2
make[4]: Leaving directory `/home/masteruser/Downloads/buildroot-2015.05/output/build/wsfc-2.0.0/axis2c'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/home/masteruser/Downloads/buildroot-2015.05/output/build/wsfc-2.0.0/axis2c'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/masteruser/Downloads/buildroot-2015.05/output/build/wsfc-2.0.0/axis2c'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/masteruser/Downloads/buildroot-2015.05/output/build/wsfc-2.0.0'
make: *** [/home/masteruser/Downloads/buildroot-2015.05/output/build/wsfc-2.0.0/.stamp_target_installed] Error 2

の場合WSFC_PREFIX = $(TARGET_DIR)/usr/local/wso/wsf_c/、エラーは発生しませんが、プレフィックスが重複し、複数のファイルが間違った場所(..home ../ target / home / ...)にインストールされます。

[... lot of buildroot log output then:]
test -z "/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c" || /bin/mkdir -p "/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c"
test -z "/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/docs" || /bin/mkdir -p "/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/docs"
 /usr/bin/install -c -m 644 'config/axis2.xml' '/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/axis2.xml'
 /usr/bin/install -c -m 644 'README' '/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/README'
 /usr/bin/install -c -m 644 'INSTALL' '/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/INSTALL'
 /usr/bin/install -c -m 644 'COPYING' '/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/COPYING'
 /usr/bin/install -c -m 644 'NEWS' '/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/NEWS'
 /usr/bin/install -c -m 644 'CREDITS' '/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/CREDITS'
 /usr/bin/install -c -m 644 'NOTICE' '/home/masteruser/Downloads/buildroot-2015.05/output/target/home/masteruser/Downloads/buildroot-2015.05/output/target/usr/local/wso/wsf_c/NOTICE'
[... lot of buildroot log output ]

パッチを修正する必要があると思いますが、autotoolsに精通していないため、このような動作を回避するために、どこにパッチを適用する必要があり、buildrootがmake中にプレフィックスを追加する方法がわかりません。

ネイティブ

WSF / Cソースがautotoolsを適切に使用していません。手動で作成されたインストールフックがいくつかありますが、ターゲットの場所に$(DESTDIR)/プレフィックスが含まれていません。したがって、これらのものは、出力/ターゲットディレクトリではなくホストシステムにインストールされます。

最も簡単な解決策は、サンプルをインストールしないことです。

ソースを修正してbuildrootに統合するためのファイルとパッチは次のとおりです。

wsfc.mk

################################################################################
#
# WSO2 WSF/C 
#
################################################################################

WSFC_VERSION = 2.0.0
WSFC_SOURCE_BASENAME = wso2-wsf-c-src-$(WSFC_VERSION)
WSFC_SOURCE = $(WSFC_SOURCE_BASENAME).zip
WSFC_SITE = $(BR2_EXTERNAL)/package/wsfc/
WSFC_SITE_METHOD = file
WSFC_PREFIX = /usr/local/wso/wsf_c/
WSFC_CONF_OPTS = --prefix=$(WSFC_PREFIX) --exec-prefix=$(WSFC_PREFIX) --enable-rampart=no --enable-sandesha=no --enable-savan=no

define WSFC_EXTRACT_CMDS
    unzip $(DL_DIR)/$(WSFC_SOURCE) -d $(@D)
    mv $(@D)/$(WSFC_SOURCE_BASENAME)/* $(@D)
    rmdir $(@D)/$(WSFC_SOURCE_BASENAME)
endef

$(eval $(autotools-package))

0001-samples-destdir-fix.patch

diff -ENwbur wso2-wsf-c-src-2.0.0.orig/axis2c/Makefile.am wso2-wsf-c-src-2.0.0/axis2c/Makefile.am
--- wso2-wsf-c-src-2.0.0.orig/axis2c/Makefile.am    2015-08-21 16:33:24.807351795 -0300
+++ wso2-wsf-c-src-2.0.0/axis2c/Makefile.am 2015-08-21 16:37:58.994193027 -0300
@@ -30,6 +30,8 @@
    rm -rf axis2c-bin-${PACKAGE_VERSION}-linux

 install-data-hook:
-   mkdir -p $(samplesdir)/src/axis2c
-   cp -rf samples/* $(samplesdir)/src/axis2c
+   @:
+
+   #mkdir -p $(samplesdir)/src/axis2c
+   #cp -rf samples/* $(samplesdir)/src/axis2c

diff -ENwbur wso2-wsf-c-src-2.0.0.orig/axis2c/Makefile.in wso2-wsf-c-src-2.0.0/axis2c/Makefile.in
--- wso2-wsf-c-src-2.0.0.orig/axis2c/Makefile.in    2015-08-21 16:33:25.191159781 -0300
+++ wso2-wsf-c-src-2.0.0/axis2c/Makefile.in 2015-08-21 16:38:25.178193336 -0300
@@ -823,8 +823,10 @@
    rm -rf axis2c-bin-${PACKAGE_VERSION}-linux

 install-data-hook:
-   mkdir -p $(samplesdir)/src/axis2c
-   cp -rf samples/* $(samplesdir)/src/axis2c
+   @:
+
+   #mkdir -p $(samplesdir)/src/axis2c
+   #cp -rf samples/* $(samplesdir)/src/axis2c
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff -ENwbur wso2-wsf-c-src-2.0.0.orig/Makefile.am wso2-wsf-c-src-2.0.0/Makefile.am
--- wso2-wsf-c-src-2.0.0.orig/Makefile.am   2015-08-21 16:33:24.775367794 -0300
+++ wso2-wsf-c-src-2.0.0/Makefile.am    2015-08-21 16:40:42.506194955 -0300
@@ -10,24 +10,28 @@
    sh dist_hook.sh

 samples:
-   sh build_samples.sh $(prefix)
-   mkdir -p  $(samplesdir)/src/wsf_c
-   cp -rf examples/* $(samplesdir)/src/wsf_c
-   cd $(samplesdir)
-   rm -rf `find $(samplesdir)/ -type d -name *.svn`
-   rm -rf `find $(samplesdir)/ -type d -name *.libs`
-   rm -rf `find $(samplesdir)/ -type d -name *.deps`
-   rm -rf `find $(samplesdir)/ -type f -name Makefile`
-   rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`
-   cp config/axis2.xml $(prefix)
+   @:
+   
+   #sh build_samples.sh $(prefix)
+   #mkdir -p  $(samplesdir)/src/wsf_c
+   #cp -rf examples/* $(samplesdir)/src/wsf_c
+   #cd $(samplesdir)
+   #rm -rf `find $(samplesdir)/ -type d -name *.svn`
+   #rm -rf `find $(samplesdir)/ -type d -name *.libs`
+   #rm -rf `find $(samplesdir)/ -type d -name *.deps`
+   #rm -rf `find $(samplesdir)/ -type f -name Makefile`
+   #rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`
+   #cp config/axis2.xml $(prefix)

 install-data-hook:
-   cp -rf docs/* $(docsdir)
-   rm -rf `find $(samplesdir)/ -type d -name *.svn`
-   rm -rf `find $(samplesdir)/ -type d -name *.libs`
-   rm -rf `find $(samplesdir)/ -type d -name *.deps`
-   rm -rf `find $(samplesdir)/ -type f -name Makefile`
-   rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`
+   @:
+   
+   #cp -rf docs/* $(docsdir)
+   #rm -rf `find $(samplesdir)/ -type d -name *.svn`
+   #rm -rf `find $(samplesdir)/ -type d -name *.libs`
+   #rm -rf `find $(samplesdir)/ -type d -name *.deps`
+   #rm -rf `find $(samplesdir)/ -type f -name Makefile`
+   #rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`

 EXTRA_DIST=build_samples.sh config build.bat clean.bat docs CREDITS NOTICE examples LICENSE configure.in link_samples.sh link.sh build/build_optional.bat build/optional.mk build/init.bat build/versions.in test build/codegen

diff -ENwbur wso2-wsf-c-src-2.0.0.orig/Makefile.in wso2-wsf-c-src-2.0.0/Makefile.in
--- wso2-wsf-c-src-2.0.0.orig/Makefile.in   2015-08-21 16:33:26.042733811 -0300
+++ wso2-wsf-c-src-2.0.0/Makefile.in    2015-08-21 16:41:35.322195578 -0300
@@ -714,24 +714,28 @@
    sh dist_hook.sh

 samples:
-   sh build_samples.sh $(prefix)
-   mkdir -p  $(samplesdir)/src/wsf_c
-   cp -rf examples/* $(samplesdir)/src/wsf_c
-   cd $(samplesdir)
-   rm -rf `find $(samplesdir)/ -type d -name *.svn`
-   rm -rf `find $(samplesdir)/ -type d -name *.libs`
-   rm -rf `find $(samplesdir)/ -type d -name *.deps`
-   rm -rf `find $(samplesdir)/ -type f -name Makefile`
-   rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`
-   cp config/axis2.xml $(prefix)
+   @:
+   
+   #sh build_samples.sh $(prefix)
+   #mkdir -p  $(samplesdir)/src/wsf_c
+   #cp -rf examples/* $(samplesdir)/src/wsf_c
+   #cd $(samplesdir)
+   #rm -rf `find $(samplesdir)/ -type d -name *.svn`
+   #rm -rf `find $(samplesdir)/ -type d -name *.libs`
+   #rm -rf `find $(samplesdir)/ -type d -name *.deps`
+   #rm -rf `find $(samplesdir)/ -type f -name Makefile`
+   #rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`
+   #cp config/axis2.xml $(prefix)

 install-data-hook:
-   cp -rf docs/* $(docsdir)
-   rm -rf `find $(samplesdir)/ -type d -name *.svn`
-   rm -rf `find $(samplesdir)/ -type d -name *.libs`
-   rm -rf `find $(samplesdir)/ -type d -name *.deps`
-   rm -rf `find $(samplesdir)/ -type f -name Makefile`
-   rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`
+   @:  
+
+   #cp -rf docs/* $(docsdir)
+   #rm -rf `find $(samplesdir)/ -type d -name *.svn`
+   #rm -rf `find $(samplesdir)/ -type d -name *.libs`
+   #rm -rf `find $(samplesdir)/ -type d -name *.deps`
+   #rm -rf `find $(samplesdir)/ -type f -name Makefile`
+   #rm -rf `find $(samplesdir)/ -type d -name autom4te.cache`
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Node.jsのnpmが間違ったパッケージをインストールしています

分類Dev

Node.jsのnpmが間違ったパッケージをインストールしています

分類Dev

Buildrootカスタムパッケージが自動的にビルドされない

分類Dev

リアルタイムデータベースにデータを追加していますが、間違った子を追加しています

分類Dev

Netbeans:ソースをJARにパッケージ化できるようにカスタムビルドターゲットを作成しています...?

分類Dev

Spring AnnotationConfigApplicationContext.scan()が間違ったパッケージをスキャンしています

分類Dev

Chocolateyパッケージの作成に間違った.exeファイルを使用していますか?

分類Dev

パッカーは間違ったホストのIPをターゲットにしています

分類Dev

apt-show-versionsは、カスタムメイドのdebパッケージの間違った情報を表示します

分類Dev

自動レイアウトが寸法を計算していないため、カスタムビューにサブビューを追加すると間違ってしまいます

分類Dev

フラッターログインフォームでパスワードまたはユーザーの電子メールが間違っている場合はエラーメッセージを返します

分類Dev

間違ったteamviererパッケージをインストールしましたが、依存関係の問題が満たされていないのですが、元に戻すにはどうすればよいですか?

分類Dev

間違ったteamviererパッケージをインストールしましたが、依存関係の問題が満たされていないのですが、元に戻すにはどうすればよいですか?

分類Dev

CloudTable.Execute(TableOperation)がありません。間違ったNuGetパッケージを使用していますか?

分類Dev

C#アプリケーションに基本的な検証を追加して、間違ったユーザー名またはパスワードが入力された場合のメッセージボックスを表示するにはどうすればよいですか?

分類Dev

Springはカスタマイズされた検証メッセージに間違ったコード化を使用しています

分類Dev

Nvidia-173ドライバーパッケージには、間違った役に立たないnvidia設定アプリが付属しています

分類Dev

pip が間違った場所にパッケージをインストールしようとする

分類Dev

AndroidStudioが間違ったテストを実行します-ユニットテストがandroidTestパッケージから実行されています

分類Dev

間違ったgradleバージョンが原因でビルドが失敗した場合にgradleラッパーをインストールする

分類Dev

パッケージリストファイルには、MySQLの間違ったバージョンがリストされています

分類Dev

Oracle- '式が間違ったタイプです'パッケージ内のレコードタイプのテーブルを返します

分類Dev

PyInstaller-パッケージ化されたPyQt5アプリがMacOSで間違ったスタイルを使用している

分類Dev

タイムピッカーアドオンが間違ったタイムゾーンを使用しています

分類Dev

opencvcmakeインストールのPythonパッケージパスが間違っています

分類Dev

getview()に動的ドローアブルを追加してアダプタアイテムを更新すると、間違ったデータが表示されます

分類Dev

ローカルパッケージを使用したデプロイメントビルドが「インポートパスがホスト名で始まっていない」で失敗する

分類Dev

Homebrew Pythonをインストールした後、Pythonパッケージが間違った場所にありますか?

分類Dev

Mail.appのルールが間違ったメッセージをAppleScriptに送信しています

Related 関連記事

  1. 1

    Node.jsのnpmが間違ったパッケージをインストールしています

  2. 2

    Node.jsのnpmが間違ったパッケージをインストールしています

  3. 3

    Buildrootカスタムパッケージが自動的にビルドされない

  4. 4

    リアルタイムデータベースにデータを追加していますが、間違った子を追加しています

  5. 5

    Netbeans:ソースをJARにパッケージ化できるようにカスタムビルドターゲットを作成しています...?

  6. 6

    Spring AnnotationConfigApplicationContext.scan()が間違ったパッケージをスキャンしています

  7. 7

    Chocolateyパッケージの作成に間違った.exeファイルを使用していますか?

  8. 8

    パッカーは間違ったホストのIPをターゲットにしています

  9. 9

    apt-show-versionsは、カスタムメイドのdebパッケージの間違った情報を表示します

  10. 10

    自動レイアウトが寸法を計算していないため、カスタムビューにサブビューを追加すると間違ってしまいます

  11. 11

    フラッターログインフォームでパスワードまたはユーザーの電子メールが間違っている場合はエラーメッセージを返します

  12. 12

    間違ったteamviererパッケージをインストールしましたが、依存関係の問題が満たされていないのですが、元に戻すにはどうすればよいですか?

  13. 13

    間違ったteamviererパッケージをインストールしましたが、依存関係の問題が満たされていないのですが、元に戻すにはどうすればよいですか?

  14. 14

    CloudTable.Execute(TableOperation)がありません。間違ったNuGetパッケージを使用していますか?

  15. 15

    C#アプリケーションに基本的な検証を追加して、間違ったユーザー名またはパスワードが入力された場合のメッセージボックスを表示するにはどうすればよいですか?

  16. 16

    Springはカスタマイズされた検証メッセージに間違ったコード化を使用しています

  17. 17

    Nvidia-173ドライバーパッケージには、間違った役に立たないnvidia設定アプリが付属しています

  18. 18

    pip が間違った場所にパッケージをインストールしようとする

  19. 19

    AndroidStudioが間違ったテストを実行します-ユニットテストがandroidTestパッケージから実行されています

  20. 20

    間違ったgradleバージョンが原因でビルドが失敗した場合にgradleラッパーをインストールする

  21. 21

    パッケージリストファイルには、MySQLの間違ったバージョンがリストされています

  22. 22

    Oracle- '式が間違ったタイプです'パッケージ内のレコードタイプのテーブルを返します

  23. 23

    PyInstaller-パッケージ化されたPyQt5アプリがMacOSで間違ったスタイルを使用している

  24. 24

    タイムピッカーアドオンが間違ったタイムゾーンを使用しています

  25. 25

    opencvcmakeインストールのPythonパッケージパスが間違っています

  26. 26

    getview()に動的ドローアブルを追加してアダプタアイテムを更新すると、間違ったデータが表示されます

  27. 27

    ローカルパッケージを使用したデプロイメントビルドが「インポートパスがホスト名で始まっていない」で失敗する

  28. 28

    Homebrew Pythonをインストールした後、Pythonパッケージが間違った場所にありますか?

  29. 29

    Mail.appのルールが間違ったメッセージをAppleScriptに送信しています

ホットタグ

アーカイブ