| 107 | ==== Check dependencies after destroot ==== #depcheck |
| 108 | |
| 109 | MacPorts currently has trace mode to check which files are accessed during build and if they are in the dependency chain. This requires injecting the tracelib in all code that is run and interception all open calls and make checks on the pathnames which slows down the procedure. This task is about creating another feature for verifying the dependencies of a build. |
| 110 | |
| 111 | A new phase would be created which is to be run after the destroot phase for checking dependencies. It would iterate over all binaries and dynamically linked libraries in the destroot which are going to be installed and check the recorded paths against the dependency chain. After that, it should report any files being linked against libraries not in the dependency chain. |
| 112 | |
| 113 | This would be great to do a quick check if the dependencies are met without the effort from trace mode. It could also help to identify unnecessary dependencies. If this actually runs fast enough it could as well be enabled by default, although it should only be necessary for maintainers. |
| 114 | |
| 115 | Classification: medium task[[BR]] |
| 116 | Programming languages: Tcl and C[[BR]] |
| 117 | Potential mentor: raimue |
| 118 | |