Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi all,

at the end of the last week, there landed in master a new feature that
will allow us to do less zipping during build (and unzipping during
installation).

This is because the only purpose for creating most of the zips (if not
all of them) is to workaround shortomings in our install set
configuration. IOW, scp2 sucks. It requires at least two lines (if there
is a specific macro; if not, then five or more) to put a file into an
install set; it does not allow two files to have the same name (but
there is no diagnostic if it happens, by mistake); etc. etc. So there
exists a way to avoid this unpleasantness: put a bunch of files into a
zip, add a File record in scp2 with a special flag ARCHIVE and the
installer will unpack the zip and put the files it contains into the
install set in the zips place.

But wait, do we really need a zip for that? All that is needed is a list
of files and a base directory for computing their relative path in the
install set. And it turned out to be quite easy to do. I added a new
flag FILELIST for scp, the installer code that handles it, and modified
gb_Package to produce a list of files it delivers. The files are looked
up in a new top level directory $INSTDIR (suggested by Michael), which
required another (bigger) change to gb_Package (especially a new
function gb_Package_set_outdir). And that is about it :-) I converted a
couple of existing Zips from module extras as an excercise and, as a
bigger challenge, adapted the installation of IDL files for SDK. There
is an easy hack for converting more Zips into Packages:
https://bugs.freedesktop.org/show_bug.cgi?id=63197 , with a (hopefully)
detailed recipe for the conversion.

In the near future, I am going to look for some harder cases where this
might be applied. My latest branch (posted for review/test builds on
gerrit) adapts installation of uiconfig files and avoids the need for
special processing in postprocess.

D.

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.