Я создаю файл спецификации RPM для установки пользовательского приложения, и я хотел бы установить это приложение с определенным пользователь: группа , дело в том, что пользователь будет следовать шаблону (например: usr ## , где ## может быть любым числом от 00 до 99 ), и у каждого установочного компьютера будет свой пользователькоторый соответствует этому шаблону.
Я попытался создать переменную в файле спецификации, используя макрос% define, чтобы получить пользователя из ОС и использовать его для назначения значения по умолчанию:
%define _user %(sed -n -r 's/(usr[0-9]{2}).*/\\1/p' /etc/passwd)
%files
%defattr(755,%{_user},group)
Но макрос расширяется во время сборки, поэтому он получает пользователя от моего строительного компьютера, а не от установочного компьютера (отдельного компьютера).Я также попытался поместить его в разделы% pre и% post, и ни один из них не работает.
Кто-нибудь знает, как я могу получить пользователя с установочного компьютера?Спасибо!