如何将 PKGBUILD 修补到 lib32

如何将 PKGBUILD 修补到 lib32

我使用 AUR 在 Arch64 系统上安装了 Poco 库。源已下载、编译并已成功安装包。但现在我需要修补 PKGBUILD,以便我可以编译该库的 32 位版本并将其安装在 64 位版本旁边。

这是原始的 PKGBUILD:

# 维护者:罗伯特·诺尔
# 贡献者:罗德里戈·格鲁米切·席尔瓦
# 贡献者:nozog
# 贡献者:davidhjelm
# 贡献者:雷·科勒
# 贡献者:内森·欧维

pkgname=poco
pkgver=1.4.6
pkgrel=1
pkgdesc="用于以网络为中心的可移植应用程序的 C++ 类库,完整版"
拱门=('i686''x86_64')
url =“http://www.pocoproject.org/”
许可证=('自定义:提升')
取决于=('unixodbc''libmysqlclient''openssl')
makedepends=('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"
sha256sums=(
  '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. 在orexport CFLAGS="-m32"之前放置一个(在这种情况下将是函数make./configurebuild()

  3. 并且您需要将安装路径更改为 ,/usr/lib32在这种情况下“可能”全部出现ODBCLIBDIR="/usr/lib",值得一试

并在安装任何东西之前检查内容pkg,看看是否正确。

相关内容