Визначення даних налаштувань

Щоб користуватися kdesrc-build, вам слід мати файл з назвою .kdesrc-buildrc (або у $XDG_CONFIG_HOME, якщо встановлено) у вашому домашньому каталозі, у цьому файлі визначаються загальні параметри і перелік модулів, які ви бажаєте отримати і зібрати.

Примітка

Ви можете скористатися іншим файлами налаштувань kdesrc-build, відповідну процедуру описано у розділі Розділ 4, Налаштування kdesrc-build. Якщо у вас є потреба у використанні декількох наборів налаштувань, будь ласка, ознайомтеся з цим розділом. Надалі ми вважатимемо, що налаштування зберігаються у файлі ~/.config/kdesrc-buildrc.

Найпростішим способом початкового налаштування є використання файла kdesrc-buildrc-kf5-sample як зразка. Достатньо змінити загальні параметри так, щоб вони відповідали вашим потребам, а також змінити список модулів, які ви бажаєте зібрати.

Типових параметрів буде достатньо для збирання KDE. Ймовірно, що серед параметрів, які ви захочете змінити, можуть бути:

  • install-dir, який змінює каталог призначення, куди буде встановлено програмне забезпечення KDE. Типовим є каталог ~/kde/usr, тобто середовище буде встановлено для одного (вашого) користувача.

  • branch-group — параметр, яким можна скористатися для вибору відповідної гілки розробки модулів KDE у цілому. Передбачено підтримку багатьох варіантів збирання, але, найімовірніше, вам потрібна гілка kf5-qt5. Якщо використано саме цю гілку, kdesrc-build отримає найсвіжіший код на основі Qt™ 5 та KDE Frameworks 5.

    Підказка

    Якщо ви не виберете якоїсь гілки, kdesrc-build використовуватиме типову, але типова гілка з часом змінюватиметься, тому варто вибрати гілку власноруч, щоб зміна гілки не стала для вас несподіванкою.

  • source-dir — керування каталогом, який kdesrc-build використовує для отримання початкового коду, запуску процедури збирання та збереження журналу. Типовим каталогом є ~/kde/src.

  • cmake-options — параметр, який встановлює параметри, які слід передати програмі CMake під час збирання кожного з модулів. Типово, використовується для встановлення варіантів «debug» або «release», тобто вмикання (або вимикання) додаткових можливостей, або передавання даних щодо розташування потрібних бібліотек до процесу збирання.

  • make-options — параметр, який визначає параметри, які використовуватимуться для запуску самої програми make для збирання кожного з модулів (щойно CMake визначить систему збирання).

    Найтиповішим параметром є -jN, де N слід замінити на максимальну кількість завдань із компіляції, які ви хочете виконувати одночасно. Чим більшою буде кількість (аж до кількості логічних процесорів, які доступні у вашій системі), тим швидшою буде компіляція, але тим більшим буде навантаження на систему.

    Підказка

    kdesrc-build встановлює для параметра num-cores значення визначеної кількості доступних ядер-обробників. Ви також можете скористатися цим значенням у ваших файлах налаштувань, щоб не встановлювати значення вручну.

    Приклад 2.1. Налаштовування Make на компіляцію з використанням усіх доступних процесорів з виключеннями

    global
        # Ця змінна середовища автоматично використовується make, зокрема
        # у командах make, які не віддаються kdesrc-build безпосередньо, наприклад, командах налаштовування Qt
        set-env MAKEFLAGS -j${num-cores}
        …
    end global
    
    …
    
    module-set big-module-set
        repository kde-projects
        use-modules calligra
        make-options -j2 # Зменшити кількість завдань зі збирання лише для цих модулів
    end module-set
    

    Примітка

    У деяких великих сховищах Git ваша система може загрузнути у потоці багатьох паралельних завдань із збирання. Особливо цим відзначаються сховища Qt™ WebKit та Qt™ WebEngine. Щоб зберегти можливість працювати у системі, варто зменшити кількість завдань зі збирання для певних модулів.

    Приклад 2.1, «Налаштовування Make на компіляцію з використанням усіх доступних процесорів з виключеннями» є прикладом того, як це зробити.

Ймовірно, вам захочеться вибрати для збирання інші модулі. Спосіб визначення цих модулів описано у розділі «Вибір модулів для збирання».