这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@robertkirkman
Copy link
Member

@robertkirkman robertkirkman commented Nov 17, 2025

~ $ grep -rnI $PREFIX -e /$PREFIX/include -e /$PREFIX/lib
/data/data/com.termux/files/usr/bin/taglib-config:24:  includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/bin/gdal-config:10:CONFIG_PLUGINDIR="/data/data/com.termux/files/usr//data/data/com.termux/files/usr/lib/gdalplugins"
/data/data/com.termux/files/usr/bin/xslt-config:6:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/bin/xslt-config:7:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-c.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-c.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-lua.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-lua.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-query.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-query.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/share/pkgconfig/swipl.pc:3:libdir=/data/data/com.termux/files/usr//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libcares.pc:11:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libcares.pc:12:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/blosc.pc:5:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/toxcore.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/toxcore.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/id3tag.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libxslt.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libxslt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools-shared.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools-shared.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown-inline.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown-inline.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_combined.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_combined.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libtorrent-rasterbar.pc:8:Cflags: -fexceptions  -pthread -I/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include -DTORRENT_LINKING_SHARED -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_NO_DEPRECATED -DTORRENT_USE_OPENSSL -DTORRENT_USE_LIBCRYPTO -DTORRENT_SSL_PEERS -DOPENSSL_NO_SSL2
/data/data/com.termux/files/usr/lib/pkgconfig/muparser.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/muparser.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/haisrt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_static.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_static.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/aom.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/srt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/openxr.pc:7:libdir=${exec_prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libobjc.pc:3:libdir=${exec_prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/openblas.pc:5:includedir=/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas
/data/data/com.termux/files/usr/lib/pkgconfig/libpano13.pc:14:libdir=/data/data/com.termux/files/usr//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libchromaprint.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libchromaprint.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libexslt.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libexslt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:40:set(LIBXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/include")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:41:set(LIBXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/lib")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:42:set(LIBXSLT_EXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/include")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:43:set(LIBXSLT_EXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/lib")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-export.cmake:56:  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}//data/data/com.termux/files/usr/include"
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-export.cmake:64:  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}//data/data/com.termux/files/usr/include"
/data/data/com.termux/files/usr/lib/python3.12/site-packages/scipy/__config__.py:86:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
/data/data/com.termux/files/usr/lib/python3.12/site-packages/scipy/__config__.py:96:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
/data/data/com.termux/files/usr/lib/python3.12/site-packages/numpy/__config__.py:79:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
/data/data/com.termux/files/usr/lib/python3.12/site-packages/numpy/__config__.py:89:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
~ $
  • After:
~ $ grep -rnI $PREFIX -e /$PREFIX/include -e /$PREFIX/lib
~ $
  • Fix prefix pollution build failure shaderc->openxr

  • Remove only remaining instance of obsolete variable TERMUX_PKG_INCLUDE_IN_DEVPACKAGE from taglib

  • Rebuild python-numpy and python-scipy because they got polluted by invalid paths from the openblas.pc

…NCLUDEDIR` to packages that otherwise generate invalid `.cmake` and `.pc` files

- like
  - termux#25694
  - termux#26831
  - termux#27230

- Before:

```
~ $ grep -rnI $PREFIX -e /$PREFIX/include -e /$PREFIX/lib
/data/data/com.termux/files/usr/bin/taglib-config:24:  includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/bin/gdal-config:10:CONFIG_PLUGINDIR="/data/data/com.termux/files/usr//data/data/com.termux/files/usr/lib/gdalplugins"
/data/data/com.termux/files/usr/bin/xslt-config:6:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/bin/xslt-config:7:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-c.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-c.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-lua.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-lua.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-query.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/share/pkgconfig/tree-sitter-query.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/share/pkgconfig/swipl.pc:3:libdir=/data/data/com.termux/files/usr//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libcares.pc:11:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libcares.pc:12:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/blosc.pc:5:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/toxcore.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/toxcore.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/id3tag.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libxslt.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libxslt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools-shared.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/SPIRV-Tools-shared.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown-inline.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown-inline.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_combined.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_combined.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libtorrent-rasterbar.pc:8:Cflags: -fexceptions  -pthread -I/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include -DTORRENT_LINKING_SHARED -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_NO_DEPRECATED -DTORRENT_USE_OPENSSL -DTORRENT_USE_LIBCRYPTO -DTORRENT_SSL_PEERS -DOPENSSL_NO_SSL2
/data/data/com.termux/files/usr/lib/pkgconfig/muparser.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/muparser.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/haisrt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_static.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/shaderc_static.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/aom.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/srt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/openxr.pc:7:libdir=${exec_prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libobjc.pc:3:libdir=${exec_prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/openblas.pc:5:includedir=/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas
/data/data/com.termux/files/usr/lib/pkgconfig/libpano13.pc:14:libdir=/data/data/com.termux/files/usr//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown.pc:2:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/tree-sitter-markdown.pc:3:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libchromaprint.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libchromaprint.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/pkgconfig/libexslt.pc:3:libdir=${prefix}//data/data/com.termux/files/usr/lib
/data/data/com.termux/files/usr/lib/pkgconfig/libexslt.pc:4:includedir=${prefix}//data/data/com.termux/files/usr/include
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:40:set(LIBXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/include")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:41:set(LIBXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/lib")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:42:set(LIBXSLT_EXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/include")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-config.cmake:43:set(LIBXSLT_EXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}//data/data/com.termux/files/usr/lib")
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-export.cmake:56:  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}//data/data/com.termux/files/usr/include"
/data/data/com.termux/files/usr/lib/cmake/libxslt-1.1.43/libxslt-export.cmake:64:  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}//data/data/com.termux/files/usr/include"
/data/data/com.termux/files/usr/lib/python3.12/site-packages/scipy/__config__.py:86:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
/data/data/com.termux/files/usr/lib/python3.12/site-packages/scipy/__config__.py:96:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
/data/data/com.termux/files/usr/lib/python3.12/site-packages/numpy/__config__.py:79:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
/data/data/com.termux/files/usr/lib/python3.12/site-packages/numpy/__config__.py:89:                "include directory": r"/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas",
~ $
```

- After:

```
~ $ grep -rnI $PREFIX -e /$PREFIX/include -e /$PREFIX/lib
~ $
```

- Fix prefix pollutiuon build failure `shaderc`->`openxr`

- Remove only remaining instance of obsolete variable `TERMUX_PKG_INCLUDE_IN_DEVPACKAGE` from `taglib`

- Rebuild `python-numpy` and `python-scipy` because they got polluted by invalid paths from the `openblas.pc`
@robertkirkman robertkirkman force-pushed the relative-cmake-libdir-includedir branch from fc5b304 to ccfe6cd Compare November 17, 2025 20:52
@robertkirkman
Copy link
Member Author

I will merge it in 24 hours if no problems are found and no additional packages in the main repository are found that need relative CMAKE_INSTALL_LIBDIR or CMAKE_INSTALL_INCLUDEDIR.

@licy183
Copy link
Member

licy183 commented Nov 18, 2025

Is it possible to add a check in the massage step?

@robertkirkman
Copy link
Member Author

robertkirkman commented Nov 18, 2025

Is it possible to add a check in the massage step?

Technically, yes, but I think it might not be a good idea. grep -rnI takes a long time when the package has many files, and each additional new check in termux_step_massage() makes it take slightly longer for every package. I think it's necessary to draw the line somewhere so that termux_step_massage() does not waste too much time. That is also part of why I decided to not finish this other check:

For both this check and that other check, it's possible to just occasionally run the command in a Termux installation that has a lot of packages installed to check for any new instances of bad files, rather than running the check on every build of every package.

I will add it if you tell me that it is important to add.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants