MacPorts: как очистить исходный код

6

Так что я никогда не убирался после MacPorts, и я пытаюсь сократить используемое дисковое пространство. Исходный код нескольких (но не всех) портов все еще находится на моем диске. Поскольку я уже скомпилировал и установил эти порты, есть ли причина сохранять исходный код? Как я могу заставить MacPorts удалить исходный код и просто сохранить скомпилированные двоичные файлы? (Или это предполагаемое поведение; я нахожу порты, которые не очищают свои источники должным образом?)

Я сделал port uninstall inactiveи port clean --all installed. Они оба очень помогли очистить другие вещи, но ни один из них не избавился от исходного кода.

Благодарю.

Evan
источник

Ответы:

12

Где вы ищете этот исходный код ? MacPorts загружает исходные пакеты и сохраняет их в /opt/local/var/macports/distfiles. Если вы это сделали, port clean --all installedто ваша система должна была избавиться от этих исходных пакетов. Вы можете лучше запустить, port clean --all allчтобы избавиться от исходных пакетов программного обеспечения, которые вы, возможно, удалили.

Однако, если вы говорите о файлах, хранящихся в /opt/local/var/macports/sources, это не пакеты с исходным кодом. Это фактические файлы портов MacPorts, которые содержат информацию обо всех доступных портах, включая зависимости и инструкции по сборке для portкоманды. Запуск port cleanне коснется этого каталога.

fideli
источник
1
Поэтому файлы, о которых я спрашивал, находятся в / opt / local / var / macports / software. Вот куда идут установленные файлы; видимо некоторые порты устанавливают .c файлы. (Это было для меня новостью.) Спасибо, что указали мне правильное направление.
Эван
Ах я вижу. Если вы хотите проверить, какие файлы поставляются с портом, вы можете использовать port contents <portname>. Должны появиться файлы .c, указывающие, что они предназначены для установки, а не только из исходного пакета.
Фидели
2

Вы также можете удалить листовые пакеты, но перед удалением любого из них вам следует проверить существующие листья.

port echo leaves

Некоторые общие листья (automake, gperf, libtool, pkgconfig) являются зависимостями общих портов во время сборки, поэтому вы можете захотеть «запросить» их (sudo port setrequested port1 port2 port3…), чтобы избежать их удаления, просто чтобы переустановить их позже ,

Вы можете удалить любые оставшиеся листья довольно легко:

sudo port uninstall leaves

взят (плагиат) из:

https://apple.stackexchange.com/questions/10149/how-to-remove-unused-macports-packages

vossman77
источник