How are installation sets being built?

Stephan Bergmann sbergman at redhat.com
Thu Oct 10 00:14:58 PDT 2013


On 10/09/2013 10:58 PM, Christian Lohmaier wrote:
> On Tue, Oct 8, 2013 at 10:50 AM, Stephan Bergmann <sbergman at redhat.com> wrote:
>> I was always thinking that --enable-epm (despite its name) was the magic
>> autogen.input switch to instruct a top-level "make" (or "make check") to
>> also build installation sets (deb, rpm, dmg, msi, ...), on all
> platforms.
>
> Nope - but it is the prerequisite to build deb and rpms - and was also
> uses for dmg, due to similarities, but msi is completely different and
> not supported by epm.

Sure.  It's just that I think we want to have a trigger whether or not 
to produce installation sets during a build, and I always thought that 
--enable-epm, despite its name and original purpose, achieved that. 
(But, it appears, it happens to achieve that only for non-Windows builds.)

>> So, I am wondering how exactly the official TDF-released installation sets
>> are being built for the various platforms.  What are the autogen.sh
>> (autogen.input) switches, and what are the exact make command lines?
>
> https://wiki.documentfoundation.org/Development/ReleaseBuilds

Ah, good to know.  And the commands issued to do the build are just 
./autogen.sh and a no-arguments "make"?  (Btw, 
<https://wiki.documentfoundation.org/Development/ReleaseBuilds#Linux_.28same_options_for_x86_.26_x86_64.29> 
misses the manually updated flex now, IIUC, right?)

>> Where
>> is that stored in git or similar (if it is stored anywhere at all)?
>
> Not stored in git - the relevant feature switches are all in the
> distro-config, the other parameters are just details, like where to
> store external tarballs, what languages to build, options to
> accellerate one-off builds (disable-dependency-tracking) - and the
> packaging options for linux.

Yeah, I get the idea.

> build process creates input file for epm, and epm converts to rpm spec
> file and deb input file and runs rpmbuild/dpkg to pack the binaries
> into the package.
>
> without epm, you cannot feed rpmbuild/deb with the corresponding
> controlfile, so that's why this also toggles building of installation
> sets.
>
> I don't know why it is used for Mac, as there are no individual
> packages, but I assume that's scp2 heritage.

...which brings me back to my original question for a universal trigger 
whether or not to produce installation sets during a build.

Seeing that --enable-epm currently effectively fulfills that role 
everywhere but on Windows, one option would be to make it fulfill that 
role on Windows too.  (I have a local patch to do that.)

The alternative would be to introduce an explicit 
--enable-installation-sets.  Opinions, anyone?

>> Similarly, how exactly are any of those "nightly" installation sets
>> (uploaded from select tinderboxes, IIUC) being built?  How can you trace
>> that?
>
> My understanding is that those are the regular installsets that are
> created using epm.

Yes, that's my understanding, too.

> The configure switches for the individual tinderboxes are in the logs
> on tinderbox.libreoffice.org, and there should be a build-info file in
> the directory with the uploaded packages, e.g.
> http://dev-builds.libreoffice.org/daily/libreoffice-4-1/MacOSX-Intel@27-OSX_10.7.0-gcc_4.2.1_llvm/2013-10-09_13.15.57/libreoffice-4-1~2013-10-09_13.15.57_build_info.txt
> that lists the configure switches.

Ah, there's an example of such a file, thanks.  I was pretty sure we had 
something like that, just couldn't find any in that maze of mostly empty 
directories at <http://dev-builds.libreoffice.org/daily/>.


More information about the LibreOffice mailing list