Назад | Перейти на главную страницу

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

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

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

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

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

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

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

Ты можешь использовать 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.