I greatly dread the inevitiable "Please rebuild all installed 3rd party software" message from
- 1st:
It seems to me that the primary intent for the universal rebuild is to remove all previous version library dependencies and link them accordingly with the new libraries. This is probably wise. However, there are a great many ports which have no immediate core library linkages (e.g. fonts, perl modules, python gems, etc.); so rebuilding everything seems excessive.
Is there a way to simply skip this process and have the requisite libraries moved to /usr/lib/compat instead of having them deleted by a subsequent
Is there a way to generate a list of all libraries which have had their versions bumped when using
Is there a way to list all /usr/local binaries (and subsequently their origin port) linked against the above list of "bumped" libraries? This question is the crux of the biscuit and given a tool which can simply list all ports dependant on the newly deprecated libraries solves both the 1st and 2nd parts.
Hints about how to write such tools if they are missing would also be welcome.
-2nd:
During the interminable
However, resuming this process can be difficult after fixing the problem.
What does the tantalizing message "There are 'install complete' flags from a previous -[rf] run of portmaster" mean? I can find no mention of this message in either the man page or generally via Google? Does this imply that
/tmp/portmasterfail.txt is very useful in this process. ("Thanks" to the folks continuing the work on
Is there a graceful way to guarantee a build-resume?
freebsd-update
and I'm convinced there are ways to reduce the pain. I seek advice.- 1st:
It seems to me that the primary intent for the universal rebuild is to remove all previous version library dependencies and link them accordingly with the new libraries. This is probably wise. However, there are a great many ports which have no immediate core library linkages (e.g. fonts, perl modules, python gems, etc.); so rebuilding everything seems excessive.
Is there a way to simply skip this process and have the requisite libraries moved to /usr/lib/compat instead of having them deleted by a subsequent
freebsd-update install
?Is there a way to generate a list of all libraries which have had their versions bumped when using
freebsd-update upgrade
from, say, 11.0-RELEASE to 11.1-RELEASE? Presumably a recomplied /usr/lib/libarchive.so.6 does not requre relinking unless the previous version in 11.0 was /usr/lib/libarchive.so.5?Is there a way to list all /usr/local binaries (and subsequently their origin port) linked against the above list of "bumped" libraries? This question is the crux of the biscuit and given a tool which can simply list all ports dependant on the newly deprecated libraries solves both the 1st and 2nd parts.
Hints about how to write such tools if they are missing would also be welcome.
-2nd:
During the interminable
portmaster -af
process (use portmaster
to force {-f} reinstall of all {-a} installed ports), there are inevitable interruptions when port builds fail for any number of reasons. This is perfectly understandable and reasonable.However, resuming this process can be difficult after fixing the problem.
What does the tantalizing message "There are 'install complete' flags from a previous -[rf] run of portmaster" mean? I can find no mention of this message in either the man page or generally via Google? Does this imply that
portmaster -af
will resume where it left off with the correct handling?/tmp/portmasterfail.txt is very useful in this process. ("Thanks" to the folks continuing the work on
portmaster
.) However, if one uses portmaster
sucessfully to fix a single port problem, /tmp/portmasterfail.txt is deleted and presumably any 'install complete' flags as well? The obvious workaround is to remember to rename these files before moving on; however, I'm old and stupid.Is there a graceful way to guarantee a build-resume?
Last edited by a moderator: