This is something I discovered recently, and only recently did it actually start to matter for Manjaro ARM.
Because of the way we do our images and build or packages, the .install and .hook scripts from pacman packages does not get run when the
manjaro-arm-tools does it’s
It seems to be because pacstrap uses the hosts
pacman to execute on the guest chroot, which is another architecture for us.
I did hope that the qemu binaries for arm, would fix this, but not quite. According to Eli from Arch Linux, using pacstrap to create a chroot for another architecture, will probably result in problems. But we did not have these problems, until recently.
Because pacman (x86_64) assumes an x86_64 architecture when it runs inside the chroot with pacstrap, any packages providing a .install or .hook will (appearently) not get it run when on armv7h or aarch64 architectures instead. This can be seen by lines like
execv failed when running the build commands. Most of the time it does not matter, but right now we have encountered a problem with a kernel update for the raspberry pi.
The rpi2 18.09 images use kernel 4.14.66, which works fine from the image. But if you try updating that kernel, to say the current 4.14.74 in the repo, USB input devices will seize to work, probably all USB devices in general.
But if I create an image with kernel 4.14.74 on it and boot it, I have working USB.
The only difference I can see, is that when I create the image, the .install and .hook from the kernel package does not get run properly, and thus it still works. These scripts will obviously get run when a normal update on the device is performed.
Disclaimer: I have not tested this out on other devices/kernels. I will when I get home. So I don’t know if this is also a problem with them.
PS: These .install files not running, might also be the problem with certain package builds failing on armv7h too. But it seems odd that aarch64 is not affected by this.