Создайте неаккуратный пакет Ubuntu для Travis CI

Я разрабатываю на программном обеспечении, который зависит от программного обеспечения B и C, программное обеспечение B зависит от D, который поставляет копию удобства C также. Для моей работы над A и B, я хотел бы иметь непрерывную интеграцию с GitHub. Это может быть обеспечено Travis CI легко.

Моя проблема с Travis, который CI - то, что она работает на Надежном человеке Ubuntu. Моя рабочая станция выполняет Fedora, суперкомпьютер, который я развертываю на CentOS 7 выполнений. Компиляции кода C/C++ на всех платформах, это разнообразие просто означает намного больше работы.

Здание единственной библиотеки по Travis, CI не является проблемой, я могу сделать это. В настоящее время я создаю все те зависимости, когда я создаю A, который является тратой ресурсов и время. “Надлежащее” решение имело бы пакеты Надежного человека Ubuntu зависимых библиотек в некоторой версии выпуска.'

При создании этих пакетов я нашел, что пакеты Debian являются намного более громоздкими, чем RPM-пакеты. В RPM-пакете я просто делаю следующее:

%build

aclocal
autoreconf -f
./configure \
        --disable-testing \
        --enable-clover \
        --enable-mm-malloc \
        --enable-openmp \
        --enable-parallel-arch=scalar \
        --enable-proc=AVX \
        --enable-soalen=4 \
        --libdir=%{_libdir} \
        --prefix=/usr/ \
        CXX=/usr/bin/g++ CC=/usr/bin/gcc  \
        CXXFLAGS="-O2 -finline-limit=50000 -Wall -Wpedantic -fmax-errors=1 -fopenmp --std=c++11 -Drestrict=__restrict__" \
        || cat config.log

make %{?_smp_mflags}

%install
%make_install

Затем это сделает все эти шаги. С Debian, который, вероятно, возможен, просто переопределив build: в debian/rules файл. Однако это все еще пытается работать dh_auto_clean который затем найдет артефакты сборки в дереве (очевидно, …). Я не могу работать make clean перед вызовом autoreconf,все же.

Это означает, что я не могу работать debuild -S, что означает, что я не могу создать его на Панели запуска PPA, что означает, что я не могу установить тот пакет на Travis CI.

Что разумный путь состоит в том, чтобы получить простой, неаккуратный пакет Ubuntu из моих проектов Автоинструментов GNU (часто вкладываемые подпроекты)?

1
задан 22 April 2017 в 15:28

0 ответов

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

Похожие вопросы: