pkg-static: Unable to access file

I have the exact same problem as in this thread but I can't find any line in the Makefile that points to the port being installed. the port's name is lmms and I can see the lmms binary file in /usr/local/bin. this is the error:
Code:
pkg-static: Unable to access file /usr/ports/audio/lmms/work/stage/usr/local/share/bash-completion/completions/lmms:No such file or directory

here's the Makefile: https://ghostbin.com/paste/s9zYc

This is the part that I think is relevant:
Code:
post-patch:
    @${REINPLACE_CMD} 's|/usr|${LOCALBASE}|g' ${WRKSRC}/src/core/ConfigManager.cpp
    @${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' \
        ${WRKSRC}/src/core/LadspaManager.cpp
    @${REINPLACE_CMD} -e 's/lib64/lib/' \
        ${WRKSRC}/cmake/modules/DetectMachine.cmake
    @${REINPLACE_CMD} 's,share/man/,man/,g' ${WRKSRC}/src/CMakeLists.txt

post-patch-OSS-off:
    @${REINPLACE_CMD} \
        -e 's|SET(LMMS_HAVE_OSS TRUE)|SET(LMMS_HAVE_OSS FALSE)|; \
            s|SET(STATUS_OSS "OK")|SET(STATUS_OSS "<disabled>")|' \
        ${WRKSRC}/CMakeLists.txt

post-install:
    @${RLN} ${STAGEDIR}${DATADIR}/themes/default/icon.png \
        ${STAGEDIR}${PREFIX}/share/pixmaps/lmms.png
 
In the pkg-plist the file is listed but in reality it does not exist. I do not know this port now, but the quick hammer method would be to remove the missing file from pkg-plist.
 
thanks for the reply, but like I said I can see the binary lmms file in /usr/ports/audio/lmms/work/stage/usr/local/bin/lmms and the guy from the other thread says the same thing about his port. Or is that not what he's referring to?
 
Strange. But if it sits in /usr/local/bin in the pkg-plist. How can you get /usr/local/share/bash-completion/completions/lmms:No such file or directory ?
 
These are bash completion files you can use with the executable when running it from the bash shell (so you can hit <TAB> and get the right options, etc.). Apparently those are optional and it looks like the pkg-plist expects them to be there. I suspect the upstream source looks if bash is installed or not. If it's installed it also creates these completion files. That's an error in the port. It should always create them or not, automatic detection shouldn't be relied on if you build packages from a clean environment because they can result in package errors like this.
 
Back
Top