PKGBUILD에 32비트 버전의 패키지를 어떻게 설치합니까?

PKGBUILD에 32비트 버전의 패키지를 어떻게 설치합니까?

따라서 저는 32비트 및 64비트 패키지에 대한 별도의 소스를 사용하여 분리된 AUR 패키지를 인수했습니다. 저는 64비트 시스템을 사용하고 있지만 업데이트된 PKGBUILD를 푸시하기 전에 32비트 설치가 작동하는지 테스트하고 싶습니다. 내가 읽고PKG 빌드Arch Linux Wiki 섹션에 있지만 이 작업에 대해서는 아무 것도 언급되어 있지 않습니다.

PKGBUILD의 예(단순화):

pkgname=...
pkgver=...
pkgdesc=...
arch=('i686' 'x86_64')
depends_x86_64=(
  'lib32-freetype2')
depends_i686=(
  'freetype2')
source_x86_64=("https://site.com/download/{pkgver}_amd64.deb"
                "https://archive.archlinux.org/packages/l/lib32-freetype2/lib32-freetype2-2.11.0-3-x86_64.pkg.tar.zst")
source_i686=("https://site.com/download/{pkgver}_i386.deb"
              "https://archive.archlinux.org/packages/f/freetype2/freetype2-2.11.0-4-x86_64.pkg.tar.zst")
sha256sums_i686=('SKIP'
                 'SKIP')
sha256sums_x86_64=('SKIP'
                   'SKIP')

package() {
    install -d -m0755 "${pkgdir}"/usr/{share/applications,share/pkgname}
}

makepkg가 32비트 버전을 빌드하도록 하려면 어떻게 해야 합니까?

답변1

멍청한 나야 - 알고 보니 makepkg.

~에서https://wiki.archlinux.org/title/Makepkg


32비트 구성 파일 생성

~/.makepkg.i686.conf
CARCH="i686"
CHOST="i686-unknown-linux-gnu"
CFLAGS="-m32 -march=i686 -mtune=generic -O2 -pipe"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-m32 -Wl,-O1,--sort-common,--as-needed,-z,relro"

그리고 makepkg를 호출하세요

linux32 makepkg --config ~/.makepkg.i686.conf

관련 정보