как удалить развернутые данные conan

Вот настройка: я создаю библиотеку CPP, используя свой собственный Makefile. Я хочу упаковать общие объекты и включаемые файлы в пакет Conan, чтобы я мог предложить пользователям прямую установку двоичных файлов (без перекомпиляции из исходников).

Одна проблема, с которой я столкнулся, заключалась в развертывании контента в пользовательском пространстве (/usr/local/lib, /usr/local/include/<lib>), но я решил это, добавив метод deploy() в рецепт conanfile.py. Недостатком является то, что данные теперь дублируются (как в кеше conan, так и в пользовательском пространстве), но давайте оставим этот вопрос для другого обсуждения.

Вопрос, который я задаю сейчас, заключается в том, как удалить развернутые данные (из /usr/local/lib, ...) при удалении пакета Conan?

Я проверил это, conan remove <package> не удаляет развернутые данные, только данные из .conan кеша.

Любые идеи?


person Valentin Dumitru    schedule 06.05.2021    source источник
comment
Вы хотите предоставить файлы .o или исполняемые файлы? Не ясно. Если .о, то почему? Это плохая идея, почему бы вместо этого не предоставить окончательные двоичные файлы?   -  person uilianries    schedule 06.05.2021
comment
Пакеты Conan не предназначены для установки по системным путям. Похоже, вы неправильно используете Conan.   -  person John    schedule 06.05.2021
comment
@uilianries, ни то, ни другое, я говорил о .so (общие объекты -> библиотеки) и включаемых файлах.   -  person Valentin Dumitru    schedule 07.05.2021
comment
@John, я согласен, что, возможно, я не использую его по назначению, но он поддерживает развертывание файлов, поэтому тот простой факт, что при удалении пакета развернутые файлы остаются там, я нахожу это немного странным.   -  person Valentin Dumitru    schedule 07.05.2021
comment
Действительно, Conan — это менеджер пакетов, ориентированный на разработку, но поскольку генератор развертывания позволяет вам копировать файл в систему, вы можете установить его куда угодно. И с общими библиотеками все в порядке.   -  person uilianries    schedule 07.05.2021


Ответы (1)


Вопрос, который я задаю сейчас, заключается в том, как удалить развернутые данные (из /usr/local/lib, ...) при удалении пакета Conan?

Нет такой функции. Но вы можете запросить его здесь. Это немного сложно, так как Конану нужно кэшировать развернутые пути.

person uilianries    schedule 06.05.2021
comment
хорошо, это объясняет, почему я ничего не нашел об этом в документации. - person Valentin Dumitru; 07.05.2021