Created attachment 239679 [details] rubygem-oj-3.13.23_2.log Hi, I have been instructed in #269020 to open a new ticket, so here it goes. When building devel/rubygem-oj in poudriere as non-root, with the following set in poudriere.conf: BUILD_AS_NON_ROOT=yes PORTBUILD_USER=nobody ...port gets successfully built, even though log shows header files are not copied to approriate destination due to lack of permissions (see attached log). This results in inability to build devel/rubygem-oj-introspect due to lack of header files, and ultimately inability to build www/gitlab-ce, when building in poudriere as non-root / nobody. As no other port out of ~1300 I am currently building in poudriere has problem with building as non-root, would it be possible to fix devel/rubygem-oj in a way it can include header files when building as non-root, rather than asking users of this port to start building ports as root? Thank you in advance,
Created attachment 239682 [details] Makefile patch Hi, I am not much of a porter, but I poked around a bit, and discovered that line: `${INSTALL_DATA} -d ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME}-${PORTVERSION}/ext/oj' ...creates directory with 644 perms instead of 755: root@pkg:/wrkdirs/usr/ports/devel/rubygem-oj/work/stage/usr/local/lib/ruby/gems/3.0/gems/oj-3.13.23/ext # ls -alh total 1 drwxr-xr-x 3 nobody wheel 64B Jan 24 19:33 . drwxr-xr-x 6 nobody wheel 512B Jan 24 19:33 .. drw-r--r-- 2 nobody wheel 0B Jan 24 19:33 oj Porter's Handbook says that empty directories can be created with ${MKDIR}: https://docs.freebsd.org/en/books/porters-handbook/plist/#plist-dir-empty In attached Makefile patch I have bumped PORTREVISION and replaced command to create empty dir from `${INSTALL_DATA} -d ...' to `${MKDIR} ...'. Ports build fine when building as nobody / non-root: [00:05:23] Built ports: devel/rubygem-oj devel/rubygem-oj-introspect www/gitlab-ce I had no time to test gitlab upgrade so far.