[MacPorts] ksammons added

Ryan Schmidt ryandesign at macports.org
Sat May 17 14:25:43 PDT 2014


On Apr 28, 2014, at 17:41, MacPorts wrote:

> Page "ksammons" was added by ksammons at macports.org
> Content:
> -------8<------8<------8<------8<------8<------8<------8<------8<--------
> Kyle Sammons is a Google Sumer of Code 2014 (GSoC 2014) participant from the University of Oregon, who's currently working on his GSoC 2014 project, [wiki:ksammons#cleanup "Project Clean-up Stuff"]. You can find his personal GitHub [https://www.github.com/centip3de here], where he puts the latest updates for his GSoC 2014 project.

Hi Kyle, welcome to the project!

> '''The full text of "Project Clean-up Stuff" submission: '''
> 
>  The plans for this project are to combine the ideas of "Reclaim Disk Space" and "Configuration and Environment Selftest". While these are clearly two different projects, their similar theme and seeming ease of   completion gave me the thought of combining them into one larger project. This means I'd be adding a "brew doctor"-esque command which will look for common issues such as a port that is known to cause issues, multiple versions of the same library, not having the correct dependency installed, or any other common issue and then report all found to the user. It also means I would also be improving the already implemented "port clean" command to be able to delete and clear out more disk space than it currently is able to by deleting distribution files from a certain version of an application, removing distribution files currently not needed/in use, deleting/uninstalling ports that are no longer in use, or any other way possible.  

Investigating ways to reclaim disk space is great. My "housekeeping" script (in my scripts folder in my user folder in the repository) is a feeble attempt, but fails at being able to actually identify which distfiles are no longer needed and removing them. It's complicated because a port could use any tcl logic to change the list of distfiles (including based on variant, platform, or anything else); ports can store their distfiles in any subdirectory (you can't assume that a folder contains distfiles for only one port); multiple ports could share the same distfiles (just because one port doesn't use a distfile anymore doesn't mean that another port doesn't still need it).

As for the selftest, I'm not sure I completely follow the proposed goals. For example, having multiple versions of a library installed is not possible, unless there are separate ports for different versions of the same software, and if there are, that was a deliberate decision by the port author, and is not an error condition that should be reported. Not having the correct dependency installed shouldn't be possible either, since MacPorts handles upgrading dependencies first already; if it doesn't, then that's a bug in the dependency engine that should be fixed there, not reported after the fact (and there was such a bug recently in rev-upgrade which is fixed in 2.3.0). I am not familiar with Homebrew or what its "brew doctor" command does. The only test mentioned on our GSoC wiki page is checking for software installed in /usr/local, to which I would add /Library/Frameworks and /sw.



More information about the macports-dev mailing list