Intereting Posts
Запустить раздел Solaris в Linux Что означают «функции, включенные» в GNU? Как обернуть команду так, чтобы в качестве исполняемого файла появился скрипт, а не его дочерний элемент? Изменение макета клавиатуры по умолчанию на Lubuntu 16.04 Есть ли плагин меню файла для vim (а не gVim), который создает текстовую систему меню графического интерфейса? Как написать вывод live-f1 в файл как установить кавычки вокруг переменной, чтобы программы рассматривали их как кавычки Самый быстрый способ найти, существует ли файл в нескольких tarballs? Печать строки между двумя круглыми скобками использование ключа GPG в Gajim без кодовой фразы Как получить общее чтение / запись диска в байтах на устройство hdd из / proc Ищете удобный способ создания «постоянного массива», Как создать детерминированный tar.gz с помощью git-архива? чашки – сломанная труба Я установил открытый ключ, но мой логин не запрашивает парольную фразу

Автоматическая дистанция с символическими источниками

Я поддерживаю «мастер» makefile для проекта со многими подмодулями, каждый из которых имеет свою собственную структуру автотюсков. Этот проект протестирован в нескольких конфигурациях (например, построен на основе сторонних версий) и может быть построен на разных платформах / архитектурах, используя один и тот же домашний каталог через NFS или с помощью кросс-компиляторов. Все это обрабатывается путем использования текущего исходного кода (git repo clone), «клонирования (*)» источника в отдельный каталог для текущей сборки сборки и configure / autogen , клон источников (так что не загрязнение оригинальной проверки) , и, наконец, построив его вне дерева, как хорошо поддерживаемый autotools.

Часть («) клонирования» (*) реализована несколькими способами, такими как cp / tar копирование исходного рабочего пространства в «исходный клон» или путем создания структуры каталогов в клоне, заполненной относительными символическими ссылками, в исходные файлы в основное рабочее пространство. А вот драконы 🙂

Исходный клон, заполненный естественными файлами, является самодостаточным и прекрасно передает задания автомата и, в частности, distdistcheck ) – в отличие от «symlink clone», где make dist видимому, архивирует относительные символические ссылки «как есть», они не указывают смысла.

Поверхность символических ссылок заключается в том, что разработчик может редактировать файлы в рабочей области и перестраивать все платформы за одно заклинание, не сводя их к git и т. Д. – ускорение циклов итераций dev (по крайней мере, до тех пор, пока новые файлы не добавляются – просто повторно – «сделать» отредактированных существующих). Это также значительно меньше затрат времени на хранение и время, чем много копирование одинаковых файлов.

Поэтому возникает вопрос: возможно ли «сделать dist» каталогом, заполненным относительными символическими ссылками, в исходные источники? Возможно, какой-то «dist hook» или другие способы переопределить способ создания tarball? (было бы приемлемо, если бы процедура dist создавала реальные файлы в своем выделенном подкаталоге, например, путем разыменования исходных-символьных символических ссылок)

Или это просто не выполнимо, и мы не можем оба есть торт и есть его? 🙂

(Для справки, «главный» Makefile находится на https://github.com/42ity/FTY/ )