On Wednesday 05 December 2007, Stuart Henderson wrote: > On 2007/12/04 17:30, J.C. Roberts wrote: > > update: devel/p5-File-Find-Rule-0.30 > > update: devel/p5-File-Find-Rule-Filesys-Virtual-1.22 > > update: devel/p5-Params-Validate-0.89 > > update: devel/p5-Log-Dispatch > > update: devel/p5-Test-Warn-0.10 > > update: devel/p5-Test-Tester-0.106 > > update: devel/p5-Devel-StackTrace-1.15 > > update: devel/p5-Test-NoWarnings-0.084 > > Apart from p5-Test-Warn these are all depended on by other ports. > Did you verify that no regressions for those depending ports have > been introduced?
Assuming dependencies like this: p5-ABC (outdated) | +- p5-123 (uptodate) | +- p5-345 (uptodate) | +----------------+ | p5-DEF +--------+ | | +------------------------------+--- p5-whatever (outdated) | +--------+ p5-GHI | | | +- p5-123 | | | +- p5-678 | | | +----------------+ When I want to update p5-ABC, I walk down the dependency tree. I'll start with updating the right-most (p5-whatever), and eventually work my way up to the original target (p5-ABC). When that branch is done, I go back and walk from the right-most back out to the other paths (i.e. back out to p5-DEF and p5-GHI). Unfortunately, using `make show-required-by` on the right-most doesn't really show all of the dependencies because it skips REGRESS_DEPENDS. In case of a regression on a regression, I take a more aggressive approach to finding all the dependencies, including REGRESS_DEPENDS. $ cd /usr/ports $ find . -type f -name 'Makefile' -exec sh -c 'if [ X`grep -l \ > p5-whatever "{}"` == X"{}" ]; then echo {}; fi' \; The above gives me everything touched by a port, including the 'stated' regression test dependencies. Unfortunately, it doesn't give me the unstated (in the port Makefile) dependencies. It would be nice if I could automate the tree walking for regression failures, but some stuff in the tree never passes regression tests, for example, p5-Net-SSLeay just hangs. It's slow going, but it seems to get the job done accurately as long as I don't get confused in the hierarchy or miss an unstated dependency. The above has always worked for me, but it's something I made up on my own for quietly maintaining my personal -stable tree. If there's a better way to go about it, please drop kick me in the right direction. Kind Regards, JCR