From todays failed rawhide compose: 08:29:49,894 DDEBUG dnf: RPM transaction start. 08:30:27,647 INF dnf.rpm: /var/tmp/rpm-tmp.zeypl5: line 1: ln: command not found warning: %post(hunspell-1.7.0-13.fc36.x86_64) scriptlet failed, exit status 127 08:30:27,649 ERR dnf.rpm: Error in POSTIN scriptlet in rpm package hunspell So, I guess you need a 'Requires: coreutils' or to change that post to use lua. 'Requires: coreutils' might cause a loop...
This was introduced in https://src.fedoraproject.org/rpms/hunspell/c/09babb9078789004d270e8b7369279cdad64fd73?branch=rawhide maybe? Seems like the package either needs Requires(post): coreutils (that should not cause a loop, or at least I don't know why) or to write both the scriptlets in Lua, not just the %pretrans one.
I just pushed a hunspell-1.7.0-14.fc36 build to koji rawhide with the Requires(post) change. Hopefully that is enough to unbreak the compose. (I wasn't smart enough to work out how to do symlinks easily in LUA.;-)
https://rpm-software-management.github.io/rpm/manual/lua.html suggests it is posix.symlink('existing', 'link')
Thanks, Miro! That was helpful I opened https://src.fedoraproject.org/rpms/hunspell/pull-request/4 which also adds an existence check to %post than was missing.
I am also curious if relative or absolute symlink makes any difference here. Probably not much in this case? To be conservative we went with absolute so far.