В `PKGBUILD`, команды в `post_install()` и других подобных функциях выполняются с правами пользователя `root`, так что использовать команды `chown` для изменения владельца каталога на пользователя, который выполняет `makepkg -si`, не получится, так как `post_install()` выполняется после установки пакета, а сам процесс установки выполняется от имени root.
Чтобы установить владельцем каталога приложения пользователя, который выполняет установку, вы можете использовать следующие подходы:
1. **Создание скрипта для установки**: Вместо того чтобы пытаться менять владельца прямо в `post_install()`, вы можете включить в пакет скрипт, который пользователь должен будет выполнить самостоятельно после установки. Этот скрипт может менять владельца:
```bash
#!/bin/bash
chown -R "$(whoami):$(whoami)" /opt/app
```
2. **Документация для пользователя**: В документе, поставляемом с пакетом (например, в README), вы можете указать, что после установки пользователь должен изменить владельца каталога вручную с помощью команды:
```bash
sudo chown -R "$USER:$USER" /opt/app
```
3. **Паспортные данные**: Если ваше приложение требует работы от имени пользователя, вы можете переопределить конфигурацию в самом приложении, чтобы оно работало с правами текущего пользователя в контексте запуска.
Итак, основной момент здесь в том, что команды в `PKGBUILD` не могут изменять контекст запуска. Прямое выполнение `chown` в `post_install()` приведет к тому, что команда будет выполнена от имени root, и она не сможет установить владельца на другого пользователя.