I don’t ask lightly, as I’ve spent hours reading code and searching for answers.
The brotli Portfile: https://github.com/macports/macports-ports/blob/master/archivers/brotli/Portfile Contains: post-destroot { xinstall -m 640 {*}[glob ${worksrcpath}/docs/*.1] ${destroot}${prefix}/share/man/man1/ … } However, after port installation, I look in the work directory and see: ls -la destroot/opt/local/share/man/man1 -r--r--r-- root admin … brotli.1.gz Also, /opt/local/share/man/man1/brotli.1.gz contains the same perms and .ext (as the above work/destroot). * How is the permissions mode 444, instead of 640 (as designated in the post-destroot block)? * And how did it get the .gz extension? This is the source-dir on GitHub: https://github.com/google/brotli/tree/master/docs You can see the file is just “brotli.1” (no .gz ext). brotli is built with cmake, and I did see cmake “install” commands that seem to align with post-destroot. https://github.com/google/brotli/blob/master/CMakeLists.txt * But even at that, CMakeLists.txt doesn’t mention anything about .gz extension, and besides, shouldn’t MacPorts post-destroot be the last word anyway? TIA, -Frank P.S. This isn’t really a question about brotli. The question comes about in the context of a larger effort to understand mpkg, and the [pre/post]destroot actions and implications of many different ports.