Как зароллить monodevelop

Как собирать monodevelop
как роллить тарболы
Как написать цикл
bugzilla.xamarin:39191
запустить скрипт
/var/lib/tarball-scripts/ArsenShnurkov/shnurise-tarballs-automation/dev-util/monodevelop/monodevelop-6.1_p2016062206.eroll
#!/bin/bash

DISTDIR=/var/calculate/remote/distfiles

# Path to directory, for example: "${PORTDIR}/${CATEGORY}/${PN}/files"
FILESDIR=/var/lib/tarball-scripts/ArsenShnurkov/shnurise-tarballs-automation/dev-util/monodevelop/files

#WORKDIR=/var/tmp/tarballs/dotnet/dev-util/monodevelop
WORKDIR=/Z

echo CHECKPOINT 1

if [ ! -d "${WORKDIR}" ]; then
    mkdir -p "${WORKDIR}"
    cd "${WORKDIR}"
    git clone https://github.com/mono/monodevelop.git "${WORKDIR}"
else
    cd "${WORKDIR}"
    git fetch origin
fi

echo CHECKPOINT 2

git reset --hard 81446f1843f35719f40d766efced30680096a636

echo CHECKPOINT 3

git submodule update --init --recursive

echo CHECKPOINT 4

# cd "${WORKDIR}"
touch extras/MonoDevelop.Database/ChangeLog
patch ${WORKDIR}/main/src/core/MonoDevelop.Ide/Makefile.am ${FILESDIR}/main-src-core-Monodevelop.Ide-Makefile.am.patch
./configure --profile=all
#make dist
#cp "${WORKDIR}/*.tar.bz2" "${DISTDIR}/monodevelop-0.0.0_p2016062206.tar.bz2"
#cd -
Скрипт накатывает патч для Makefile.am на файл Makefile.am
патчи в gentoo накатывают до выполнения configure, вот и тут тоже так сделано. После выполнения патчинга configure генерирует Makefile.in и Makefile на основе уже нового пропатченного файла.

патч для Makefile.am
Нужно ещё попробовать написать патч для automake, чтобы не патчить при роллинге, а сразу исправить источник всех бед

вызовы можно сгруппировать и за один вызов обрабатывать несколько слов.
Для того, чтобы сгруппировать слова:
1) заведем временную переменную (в Makefile);
2) будем добавлять слова в эту переменную, пока не будет добавлено N штук. Мы узнаем, что N-ое слово добавлено, если функция $(word N) вернёт непустое значение.
3) обработаем временную переменную путём передачи её в bash и обнулим её после этого. После обнуления переменной в неё начнёт накапливаться новая группа слов
4) обработаем последнюю, недостаточно длинную, группу слов (если группа непустая)

Этот алгоритм приведен на странице https://blog.melski.net/2012/01/03/makefile-hacks-automatically-split-long-command-lines/

Если бы можно было использовать библиотеку GMSL (GNU Make Standart Library), то там была бы функция для определения длины строки.
Но эта библиотека является отдельным пакетом, который в Sabayon не установлен по-умолчанию.