Знание файлов, созданных / установленных после сборки из источника

У меня есть задача для завершения, которая включает в себя создание ряда библиотек из исходного кода с использованием configure; make; make install, Сгенерированные библиотеки и файлы разного формата будут помещены во встроенную систему, совместимую со средой сборки.

У меня вопрос: как узнать, какие файлы установлены и где я могу их перехватить и перенести во встроенную среду?

Является ли журнал, созданный путем запуска make install? Или я просто делаю вывод make install в файл?

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

2 ответа

Решение

Ты можешь использовать make -n install чтобы увидеть, что сделает make install. Обратите внимание, что иногда одна из команд, которые он запускает, является другой make в дочернем каталоге; make -n не рекурсивный

Если программное обеспечение использует стандартный скрипт конфигурации gnu autoconf, вы должны быть в состоянии

./configure --prefix=/my/directory/for/embedded/system [...]

и тогда все будет установлено под этим префиксом.

Вы можете попробовать скопировать его в "стандартные" места встроенной системы, но программное обеспечение может работать, а может и работать неправильно.

Если ничего другого, вы можете использовать это как способ сбора информации о том, что устанавливает программное обеспечение.

Другой трюк - попробуйте изменить Makefile, чтобы переопределить команду, которая устанавливает файлы (часто "install" или "install.sh"). Замените его своей версией, которая записывает свое действие в файл журнала.

Если вам нужно более легкое решение для управления этим (против RPM или dpkg), взгляните на GNU Stow.

Это причина № 1 использовать упаковочную систему, такую ​​как RPM (Red Hat) или deb (Debian).

Для встраиваемых систем Linux обычной системой управления пакетами является opkg, преемник ipkg, который свободно основан на формате deb и обычно легко адаптируется из инструкций по сборке пакетов Debian.

Другие вопросы по тегам