dreemurrs-embedded / Pine64-Arch

:penguin: Arch Linux ARM for your PinePhone/Pro and PineTab/2
720 stars 108 forks source link

Unable to build packages using pkgbootstrap.sh on Pinephone #676

Open mevisc0 opened 1 week ago

mevisc0 commented 1 week ago

Device info

Describe the bug As advised by the contributing guidelines, I tried to build a package in Arch Linux Arm (aarch64) on my Pinephone after making changes to a PKGBUILD. ./pkgbootstrap.sh build --arch aarch64 --repo danctnix PKGBUILDS/plasma/plasma-dialer/ The package did not build and I got the following error message: /usr/bin/makechrootpkg: illegal option -- x

To Reproduce Steps to reproduce the behavior:

  1. Clone this repo onto the Pinephone
  2. cd into Pine64-Arch
  3. Install devtools
  4. Run ./pkgbootstrap.sh build --arch aarch64 --repo danctnix PKGBUILDS/plasma/plasma-dialer/
  5. See error and the makechrootpkg usage guide

Expected behavior The script runs without errors from makechrootpkg.

Additional information makechrootpkg is included in the devtools package. Arch Linux Arm has a devtools package and a devtools-alarm package that is older. Running makechrootpkg --help on the Pinephone shows that the -x option does not exist for either devtools or devtools-alarm in Arch Linux Arm. The option does exist in the the version of makechrootpkg that is included in the devtools package available in Arch Linux on x86_64 architecture, so the error is not present on x86_64.

Removing the -x option from the call to makechrootpkg on line 69 of lib/mkpkg.bash resolves the error on aarch64. Perhaps the option could be conditionally added depending on the architecture that the script is being run on?

Danct12 commented 1 week ago

I haven't got around to write documentation for pkgbootstrap, but you need to create a chroot using ./pkgbootstrap.sh chroot create (see -h).

As for the devtools package, yes, Arch Linux ARM used an old version which doesn't have that option, but devtools is an any architecture package so you can just pull it from Arch Linux and install it.