Age | Commit message (Collapse) | Author |
|
...by extending the hackery in helpcontent2/CustomTarget_html.mk (see comment
there). (Ultimately, the gbuild HelpTarget machinery should probably be adapted
to the needs of this new help format, once the old help format is no longer
supported?)
The Perl packaging code finds source files through the "include" paths specified
in instsetoo_native/util/openoffice.lst.in. To avoid potential name clashes,
put the new .filelist files into
workdir/CustomTarget/helpcontent2/help3xsl/filelists/html-help/ sub-directories.
read_filelist in solenv/bin/modules/installer/filelists.pm does not strip white
space following the last item in a file list, but (with HAVE_GNUMAKE_FILE_FUNC)
the gb_HelpTarget_get_translation_target .filelist files (which are then
transformed with sed into the .html .filelist files read by the Perl packaging
code) may contain such trailing white space. So $(strip ...) their content in
solenv/gbuild/HelpTarget.mk.
This is the core part of a change spanning core and helpcontent2.
Change-Id: I82e0093ea2064725327330c5485f8e581573e1f2
|
|
Using nested install is bad because (1) MS advises against it (though it
most possibly doesn't relate to our specific case, when we install the
vc redist exe package in UI part, so actually only a single MSI session
is active at any time); (2) because it adds some extra interactions
(user sees something "unrelated" being installed, which raises concerns;
additional admin authentication required); and (3) because it runs in
InstallUISequence, thus only installing the UCRT when doing interactive
installation (unattended installs, including GPO, need to install UCRT
separately).
This patch aims to incorporate the original UCRT MSU (Windows Update)
packages (https://support.microsoft.com/en-us/help/2999226) available as
a zip archive from
https://www.microsoft.com/en-us/download/details.aspx?id=48234
- the same as used in VC redists for VS 2015 and 2017. This obsoletes
the separate installation of the redist; since we also have the redist
as merge module in our MSI, that is enough (and removes redundancy).
The MSUs are installed using wusa.exe in a custom action (deferred,
non-impersonating).
As a small bonus, embedding MSUs instead of redist EXE allows us to
shrink the size of installer a little (~10 MB).
As deferred custom actions cannot access current installer database,
we workaround this by using initial immediate impersonating action to
extract the binaries into a temporary location. To ensure that the file
gets removed upon completion (both successful and failed), we use an
additional cleanup action.
Commit 61b1d631331551b43bc7d619be33bfbfeff7cad6 is effectively reverted.
Change-Id: I1529356fdcc67ff24b232c01ddf8bb3a31bb00bd
Reviewed-on: https://gerrit.libreoffice.org/52923
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This reverts commits 914f6385d98f8c898102c971a4d5b0eb9f075ef0 and
a6045159237419ce8fa49202c672e3895f0ab30a. A investigation required why
is the problem with them; meanwhile, they break builds.
Change-Id: I713b27dd64e8ac7beb2757c362765b60ce191f8d
Reviewed-on: https://gerrit.libreoffice.org/53078
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
section.
The OOO_ARPURLINFOABOUTTEMPLATE is simply missleading as the caption in
Windows itself is "Supportlink". As the help states that the product
homepage can be used, switch to libreoffice.org, see documentation at
https://msdn.microsoft.com/en-us/library/aa367752
Additionally switch some links to https.
Change-Id: I8d6d871130d2a50a5ce9aa3e80687601e3038c4e
Reviewed-on: https://gerrit.libreoffice.org/52193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I7e2cc08a1312da629e4644be97ebc7ed40250702
Reviewed-on: https://gerrit.libreoffice.org/52995
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I697458fb3deba508e61e414c43fcfc85aff76f9b
Signed-off-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/49237
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Those conditions that rely on AppSearch should only be checked when
not yet installed, since AppSearch is not performed in maintenance modes
Change-Id: Ie2c3fa8e8742a4c335f0cd8be571fa563a178a49
Reviewed-on: https://gerrit.libreoffice.org/52851
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This uses VC Runtime upgrade code (checked using Upgrade table) to
find installed redist, instead of checking registry keys that change
between versions (while the runtime is still compatible, as with 2015
and 2017).
Also, it checks if UCRT is present. Now, if either VC Runtime or UCRT
is absent, we try to install the redist. This would allow to install
UCRT in scenarios when first install was attempted on a system not
suitable for UCRT (like Win7 w/o SP1, or Win8.1 w/o April 2014 update
rollup), where VC Runtime gets installed, but UCRT is still missing.
We use the ucrtbase.dll version to check that; and as the expected
version is 10.x, we take into account that Win10 lies about versions.
Change-Id: I864dfc09cf1bdc775501729fa2a27dc98295588c
Reviewed-on: https://gerrit.libreoffice.org/52794
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
... since it's the required prerequisite for Universal CRT.
This moves Windows version check to LaunchCondition table; and adds a
check for kernel32.dll version associated with the said update level.
Change-Id: I1de84dc47c9392fcb7122e1a877db2e99eae2415
Reviewed-on: https://gerrit.libreoffice.org/52743
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Currently we support Win7 SP1 and later; so let installer fail on lower SP levels.
Change-Id: I807e0a04870b9eeabbfae258d68da4a1156b0408
Reviewed-on: https://gerrit.libreoffice.org/52619
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Breaks windows installer
This reverts commit 7b129f55b4da9a20581fe805b7dacadcb6386252.
Change-Id: I21a5a6790eac1704da4bda41fb0969dc10b19d1c
Reviewed-on: https://gerrit.libreoffice.org/48369
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: Ia90de861bc3aa02e8b0bf482f602ab1ea29aae00
Reviewed-on: https://gerrit.libreoffice.org/48304
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
... in InstallUISequense.
Use --with-vcredist-dir to point to a directory with vc_redist.x64.exe
and/or vc_redist.x86.exe. Use --without-vcredist-dir (or
--with-vcredist-dir=no) if you don't want to ship it as part of
installer and want to silence the configure warning.
VCRedist 2015 version 14.0.24215.1 is available at
https://www.microsoft.com/en-us/download/details.aspx?id=53840
Since VisualStudio 2015, VC redist merge module that we used before
started to work differently: it installs the UCRT only on WinXP,
but not on later OSes (Vista to 8.1) which may lack the UCRT (Win10
has it out of the box). The merge module only installs VCRuntime on
those systems, which still leaves us with "api-ms-*.dll is missing"
problem.
(https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/
gives more information on VCRedist refactoring background.)
Since commit 71d9a61302e65fe091cf70c13fa72b3df09b7e3a, we use a
workaround described at the page mentioned above as "App-local
deployment of the Universal CRT". We just copy all UCRT DLLs to
LibreOffice/program. This has a drawback though, that our UCRT
is not updated by Windows Update, so users would rely on LibreOffice
updates in case of some vulnerabilities in UCRT (and they could
even not realize they have that problem).
MS recommends to install UCRT using EXEs they provide from their
site. The EXEs install both VCRuntimes and UCRTs, along with
required patches, for all Windows versions (Windows XP through
Windows 10, where they only install VCRuntimes); the installed
libraries are managed by system's update mechanism. But those EXEs
cannot be used in MSI custom actions inside InstallExecuteSequence,
because they use MSI themselves.
So this patch integrates the vc_redist.xXX.exe into MSI binary
table, and uses custom action to run the EXE after ExecuteAction
in InstallUISequence. This will show the user a VCRedist install
window after the main LibreOffice installation finishes; no user
interaction is required (except for one additional UAC request),
and errors are ignored.
Since this installation takes care of both VCRuntime and UCRT,
we can ultimately drop both the app-local workaround, and
vcredist merge module (so VCRuntime would also be updated by
system). The former is done here: this reverts commit
71d9a61302e65fe091cf70c13fa72b3df09b7e3a.
This approach has its drawback: if one wants to use unattended
installation (without UI; one example is deployment using
ActiveDirectory GPO), then InstallUISequence is not run, and so
VCRedist isn't installed. In this case, one should install
VCRedist separately. Supposedly this should not be huge problem,
because this is the case for many existing applications that need
separate VCRedist deployment in these scenarios, and unattended
installation is advanced stuff that requires prepared user. A
notice would be required in release notes and FAQ, though.
Change-Id: Ia6a16be60af8a08f41ea7c3dbd457d8f89006006
Reviewed-on: https://gerrit.libreoffice.org/46356
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
VersionNT is now always greated than 600 (only needs checking in version
checking action). ISSETUPDRIVEN and ISSCHEDULEREBOOT are specific to
InstallShield and aren't relevant to LibreOffice installer.
Change-Id: I6cb769c863e09f1568ae895a6cfbb0e5940c2486
Reviewed-on: https://gerrit.libreoffice.org/46434
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Introduced two new consts
Change-Id: I15e01eabe9fd3225c36d06cbb59310a07a30f2c1
Reviewed-on: https://gerrit.libreoffice.org/45105
Reviewed-by: Heiko Tietze <tietze.heiko@googlemail.com>
Tested-by: Heiko Tietze <tietze.heiko@googlemail.com>
|
|
(cherry picked from commit 4e2b0c14b49d5e74a2c7493ed4bcc1f8080efdb3)
Change-Id: I3d5e003a313228188119ee439c858c1ee505c9b0
|
|
Change-Id: I76f5702aad9b57f3031bc35b5271a5dde8ed4f28
|
|
(cherry picked from commit 6b62e035d388ce14630da65d63db5a216e1848e7)
Change-Id: I7e0c7edf12a30daec35d9461f0be12b6d07fddc3
Reviewed-on: https://gerrit.libreoffice.org/41575
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Change-Id: Id19578a889de51cacac869d7ec681c5c18c40cf9
Reviewed-on: https://gerrit.libreoffice.org/41365
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
Change-Id: Iad07c19a6f87ea697a499b6075752d9f24ba1cb4
Reviewed-on: https://gerrit.libreoffice.org/40957
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
Windows installer images updated
Change-Id: I385f4446eb9612dd4965983375d256a3361974b5
Reviewed-on: https://gerrit.libreoffice.org/40881
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Heiko Tietze <tietze.heiko@googlemail.com>
|
|
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl
* all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string")
* ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching
MODULE .mo files
* UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui
goes from l10n target to normal one, so the res/lang.zips of UI files go away
* translation via Translation::get(hrc-define-key, imbued-std::locale)
* python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there
to keep finding the .hrc file uniform) so magic numbers can go away there
* java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation
mechanism
* en-US res files go away, their strings are now the .hrc keys in the source code
* remaining .res files are replaced by .mo files
* in .res/.ui-lang-zip files, the old scheme missing translations of strings
results in inserting the english original so something can be found, now the
standard fallback of using the english original from the source key is used, so
partial translations shrink dramatically in size
* extract .hrc strings with hrcex which backs onto
xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap
* extract .ui strings with uiex which backs onto
xgettext --add-comments --no-wrap
* qtz for gettext translations is generated at runtime as ascii-ified crc32 of
content + "|" + msgid
* [API CHANGE] remove deprecated binary .res resouce loader related uno apis
com::sun::star::resource::OfficeResourceLoader
com::sun::star::resource::XResourceBundleLoader
com::sun::star::resource::XResourceBundle
when translating strings via uno apis
com.sun.star.resource.StringResourceWithLocation
can continue to be used
Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
|
|
Improved alignment of product name with the motif, cleaned Windows installer image
Change-Id: I13b658b989f639cc444ba59834afad397170478e
Reviewed-on: https://gerrit.libreoffice.org/39861
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Heiko Tietze <tietze.heiko@googlemail.com>
|
|
Initial proposal for branding
Change-Id: I9fffe6b1c319505cd8a6b54a84ed585151a93122
Reviewed-on: https://gerrit.libreoffice.org/39507
Reviewed-by: Heiko Tietze <tietze.heiko@googlemail.com>
Tested-by: Heiko Tietze <tietze.heiko@googlemail.com>
|
|
Change-Id: I676414b679bff95829bdc1d5d02cef4fcfca4576
|
|
Change-Id: I49f4f8361dfd93a788faa7c0de88bf954d3d3574
Reviewed-on: https://gerrit.libreoffice.org/35485
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
USERDIRPRODUCTVERSION is stuck at 4 now (as its main use is for the version
number of the UserInstallation directory), so use LIBO_VERSION_MAJOR instead
(like generation of the version ini-file counterpart for instdir/ does in
instsetoo_native/CustomTarget_setup.mk).
Change-Id: Ib87536d335487383940cff2f69c864a33f05bbee
Reviewed-on: https://gerrit.libreoffice.org/35301
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
...so that they match the order in the scp2-generated counterpart
Change-Id: Id0a77536081872a5feff7f98417462bd7fd057b3
|
|
Change-Id: I8a2bbd05ccdf71a59a0c74d5595c37b2308988ea
Reviewed-on: https://gerrit.libreoffice.org/34091
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Icons refreshed according Tango style
Change-Id: Ibb86ea0a7153f0ac7331d278b2dcd8f8c64835e7
Reviewed-on: https://gerrit.libreoffice.org/32998
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Language code has been arranged in
alphabetical order for given files.
Change-Id: Ib2ade0857bc5dd1a77348fbec470747abae4893e
Reviewed-on: https://gerrit.libreoffice.org/33661
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: I3a7aa394792c47c6c5a3a553174d177e66ade617
Reviewed-on: https://gerrit.libreoffice.org/33582
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: I8106ec674080ede7072581dab2e6700040de5828
Reviewed-on: https://gerrit.libreoffice.org/33032
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: Id87fc80f05ae8427a713e5968522899410538c98
|
|
Change-Id: Iea95f5975968f73e2e4aea34246c83f384341592
Reviewed-on: https://gerrit.libreoffice.org/33000
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
This reverts commit 1cb1cc30b5eb75483b6aaeec0192f7ee1d833461.
Setup.ico contains of three different image sizes. Furthermore, the design is not applied to the other setup icons (partial, complete). And please discuss proposal first.
Change-Id: I3cc9ad3424f85c812ae89939cabaddf38e3c41b3
Reviewed-on: https://gerrit.libreoffice.org/32751
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Heiko Tietze <tietze.heiko@googlemail.com>
|
|
Changed setup.ico to a more decent and elegant looking one
Change-Id: I7c9ad6903d0319f22ad0a2202cb808a304f1fc12
Reviewed-on: https://gerrit.libreoffice.org/32457
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Adaptions to UI, added more modes what the user
can do in SafeMode. Adapted locations to write
pack information and added places where to enter
SafeMode. Implemented basically all five
possible user choices
Change-Id: Ic5324a8f77ab434309e840949c3803e65a75c538
Reviewed-on: https://gerrit.libreoffice.org/29785
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Saving configuration is now extended to three
basic modes, from just saving registrymodifiications
to adding user-defined config stuff to saving all
information in the user profile, additionally
configuration information for Extensions is saved.
Added configuration entries for this and tested
saving/restoring.
Change-Id: I79b09c37617803bf656826f76a7e3db79cda49ac
Reviewed-on: https://gerrit.libreoffice.org/29770
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Added default values for SecureUserConfig values
to soffice.ini/rc which enable the mechanism,
enable by default and set a maximum of three backups
file in packed form. Added more handy flag for easy
decision to add compressed/uncompressed.
Change-Id: I5a624c09fec4e4278314e13fc5f693ac085d5e61
|
|
The goal is to allow installer to automatically close and restart closed
applications, and thus diminish users frustration when they don't know
how to close explorer.exe, or how to start it again and bring desktop back.
Reference: https://msdn.microsoft.com/en-us/library/windows/desktop/aa370379
Notes:
* A dialog MsiRMFilesInUse must be present in MSI.
* It will only be used when operating system's Windows Installer version
is >=4.0, and OS is Vista or newer. If system's Windows Installer is older,
then current FilesInUse dialog will be used.
* MSIRESTARTMANAGERCONTROL property has default value of 0, that enables
installer to use the Restart Manager. It is explicitly set in MSI just in case.
* Do not use Restart Manager and do reboot is selected by default.
Change-Id: If9d8be7cb478d81db03485ee912991ae9d568ed8
Reviewed-on: https://gerrit.libreoffice.org/28171
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Failing to do this caused a mysterious uncaught exception in gengal,
with no explanation printed. This turned out to be caused by the
'CONFIGURATION_LAYERS: missing ":"' exception thrown in configmgr,
which was caused by the unencoded space confusing the parsing of the
CONFIGURATION_LAYERS thing.
Change-Id: I9c91819906c2e0dd434d9f96a04bc14c0e0408ed
|
|
The new option thoroughly replaces the product name mentioned in the
AC_INIT() call. Work in progress.
Also take care of spaces in the product name in a more systematic
fashion.
This should affect mainly OS X where the final app bundle that is
installed should use the product name as such, including spaces, if
any. However, our build system does not cope that well with having an
app bundle with spaces in it in instdir. So in instdir, and also in
test-install, spaces are stripped away from the product name when used
as part of the app bundle name.
Change-Id: Ic16b5039f23c96a4f39387a1869faeb25e05aafb
|
|
Change-Id: I55f332117cc7530eb6d562846db379d95e628a22
|
|
Nowadays we have them all, so it is big, non-useful data.
Change-Id: Ia08b863852e6a0916f30e2ecdc14eea4fafe2ab0
Reviewed-on: https://gerrit.libreoffice.org/23143
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Id3f9e17bf68ad5ca2d9a7571aed49f5a3d81b932
Reviewed-on: https://gerrit.libreoffice.org/20970
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
This reverts commit 795c61e052671d4de6a3b9cf77f9c0ad117e064d.
<sberg_> but what is 795c61e052671d4de6a3b9cf77f9c0ad117e064d
supposed to help anyway? on all platforms, gengal should already get
URE_BOOTSTRAP set, either via redirectrc, or via
extendApplicationEnvironment()
<mst_> sberg_: so ... you mean that gengal.rc is actually unnecessary,
and that the problem was caused by a missing dep on
Package_instsetoo_native_setup ?
<sberg_> I'm pretty sure a missing gengal ini-file was a red herring
Change-Id: I50ebc360e0e5c75c16f8407cbac6a54753fca272
Reviewed-on: https://gerrit.libreoffice.org/20226
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Change-Id: Ib2042d6419dafcd62aaec95efb844cb09833c266
|
|
Off by default.
Expand config options to show the user agent used.
Re-use this to show more useful info in Help->About too.
Change-Id: I1044116ef9beeb341a537c0f4451dca54e198f67
Reviewed-on: https://gerrit.libreoffice.org/20098
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Conflicts:
shell/source/backends/gconfbe/gconfbackend.cxx
Change-Id: I609ec83ec59f5ae8d3a8c9c09649695bfcb03b87
Reviewed-on: https://gerrit.libreoffice.org/19408
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
|