keeping a (maximally) clean active tree
Jay Chandler
lists at sequestered.net
Wed Dec 5 22:16:01 PST 2007
Am I missing something, or will "port upgrade outdated" solve this? I
don't show old versions of upgraded ports...
-- Jay
David Blank-Edelman wrote:
> Hi-
>
> Pardon me if this is an obvious question, but I'd like to know if
> there is an easy way (e.g. a script) to keep a maximally clean tree of
> active ports? I'd ideally like to have only the latest and greatest of
> every port I use installed on my machine. As new versions of ports
> (libraries in particular) get released, it seems like one starts to
> collect old versions of these ports because something else previously
> installed linked against that old version.
>
> For example, right now my "ports outdated" says:
>
> apr 1.2.11_0 < 1.2.12_0
> apr-util 1.2.10_0 < 1.2.12_0
> cairo 1.4.10_0 < 1.4.12_0
> freetype 2.3.5_0 < 2.3.5_1
> glib2 2.14.3_0 < 2.14.4_1
> gtk2 2.12.1_0 < 2.12.3_0
> sqlite3 3.5.2_0 < 3.5.3_1
>
> I'm familiar with the -u switch to ports, but just to continue this
> example, I can't say "port -u upgrade cairo" because it says:
>
> ---> Unable to uninstall freetype 2.3.5_0, the following ports depend
> on it:
> ---> fontconfig
> ---> cairo
> ---> Xft2
> ---> gtk2
> Error: Uninstall freetype 2.3.5_0 failed: Please uninstall the ports
> that depend on freetype first.
> ---> Unable to uninstall cairo 1.4.10_0, the following ports depend
> on it:
> ---> pango
> ---> gtk2
> Error: Uninstall cairo 1.4.10_0 failed: Please uninstall the ports
> that depend on cairo first.
>
> As far as I know, the only way to keep only the latest version of
> cairo is to uninstall all of the stuff that depends on the past
> version(s) of cairo, upgrade cairo, and then rebuild/reinstall all of
> those ports. For certain ports there are enough steps in the chain
> (e.g. wireshark) that this becomes a bit of a hassle.
>
> So my questions are:
> 1) Am I missing some incantation with port that will chase these
> dependencies for me?
> 2) If not, it seems like it should be possible to write a script
> that figures out the right uninstall/build/install dance in the
> shortest number of moves to leave a ports tree with only the very
> latest things installed. Anybody have one?
> 3) Another possibility would be to write something that kept a list
> of installed ports, blew away the current port installation, and
> installed that list again from scratch. This seems a bit heavy handed,
> but it would work.
>
> Thanks for any help you can offer (and my sincere thanks to the people
> on the project plus the ports maintainers for all of the hard work
> that they do).
>
> -- dNb
> _______________________________________________
> macports-users mailing list
> macports-users at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macports-users
More information about the macports-users
mailing list