1

I develop on software A which depends on software B and C, software B depends on D, which ships a convenience copy of C as well. For my work on A and B, I'd like to have continuous integration with GitHub. That can be provided by Travis CI easily.

My issue with Travis CI is that it runs on Ubuntu Trusty. My workstation runs Fedora, the supercomputer that I deploy to runs CentOS 7. The C/C++ code compiles on all platforms, this diversity just means much more work.

Building a single library on Travis CI is not a problem, I can do that. Currently I build all those dependencies when I build A, which is a waste of resources and time. The “proper” solution would be having Ubuntu Trusty packages of the dependent libraries at some release version.'

While building these packages I found that Debian packages are much more cumbersome than RPM packages. In the RPM package, I just do the following:

%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

Then it will do all these steps. With Debian, that is probably possible by just overriding build: in the debian/rules file. However, it still tries to run dh_auto_clean which will then find the in-tree build artifacts (obviously …). I cannot run make clean before calling autoreconf, though.

This means that I cannot run debuild -S, which means that I cannot build it on a Launchpad PPA, which means that I cannot install that package on Travis CI.

What is a sensible way to get a simple, sloppy Ubuntu package from my GNU Autotools projects (often nested subprojects)?

1
  • I believe that I had faced such autoreconf/ dh_auto_clean issue before in Debian packaging, Could you add the contents of debian/rules?
    – user.dz
    May 25, 2017 at 9:01

0

You must log in to answer this question.

Browse other questions tagged .