PKGBUILDをlib32にパッチする方法

PKGBUILDをlib32にパッチする方法

AURを使用してArch64システムにPocoライブラリをインストールしました。ソースがダウンロードされコンパイルされ、パッケージが正常にインストールされました。ただし、32ビットバージョンのライブラリをコンパイルし、64ビットバージョンの横にインストールできるようにPKGBUILDにパッチを適用する必要があります。

これは元のPKGBUILDです:

#管理者:Robert Knoll
#貢献者:Rodrigo Grumiche Silva
#貢献者:nozog
#貢献者:davidhjelm
#貢献者:レイコーラー
#貢献者:Nathan Ove

パッケージ名=poco
パッケージver=1.4.6
pkgrel=1
pkgdesc="ネットワーク中心のポータブルアプリケーション用のC++クラスライブラリ、フルバージョン"
アーチ=('i686''x86_64')
url="http://www.pocoproject.org/"
ライセンス=(「カスタム:ブースト」)
依存する=('unixodbc''libmysqlclient''openssl')
makedependents=('gcc' 'make' 'unixodbc' 'libmysqlclient' 'openssl' 'chrpath')
ソース=(
  "${pkgname}-${pkgver}-all.tar.gz"::"https://sourceforge.net/projects/${pkgname}/files/sources/${pkgname}-${pkgver}/$ {pkgname}-${pkgver}-all.tar.gz/download"
)
シャ256合計=(
  「cf8229310f047e731cc6273a8df55e03b76f0ed7d5b5d251f99a0f80f6c2c763」
)

立てる()
{
  cd "${srcdir}/${pkgname}-${pkgver}-all"
  ./configure --prefix=/usr --no-samples --no-tests
  ODBCLIBDIR="/usr/lib" にします。
}

パック()
{
  cd "${srcdir}/${pkgname}-${pkgver}-all"
  ODBCLIBDIR="/usr/lib" DESTDIR="${pkgdir}"としてインストール
  install -Dm644 'LICENSE' "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
  # バイナリファイルから rpath 情報を削除します。
  chrpath -d "${pkgdir}/usr/bin/cpspc"
  chrpath -d "${pkgdir}/usr/bin/cpspcd"
  chrpath -d "${pkgdir}/usr/bin/f2cpspd"
  chrpath -d "${pkgdir}/usr/bin/f2cpsp"
  # デバッグライブラリの削除
  rm "${pkgdir}/usr/lib/libPoco"*"d.so"*
}

最初に試したことは、他のlib32-* AURパッケージを調べることでしたが、そのフラグを追加することもできませんでした-m32

答え1

する必要があります、

  1. パッケージ名をlib32-XXに変更

  2. 前にorを入れてくださいexport CFLAGS="-m32"(この場合は関数になります)make./configurebuild()

  3. そして、インストールパスを次に変更する必要があります。/usr/lib32この場合、すべてが表示される可能性があるため、ODBCLIBDIR="/usr/lib"試してみる価値があります。

そして、何でもインストールする前に内容が正しいことを確認してくださいpkg

関連情報