summaryrefslogtreecommitdiff
path: root/configmgr
AgeCommit message (Collapse)AuthorFilesLines
2015-11-22cppcheck:useInitializationListNoel Grandin5-14/+14
Change-Id: I744ff3e268fbffca9499121f3567640934aaae51 Reviewed-on: https://gerrit.libreoffice.org/20110 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian1-108/+41
Ported update_pch.sh to Python with improved performance and features. The new script is invoked from the same update_pch.sh which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts (update_pch_autotune.sh) which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: https://gerrit.libreoffice.org/19965 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann16-109/+109
Change-Id: I520c7e35d539ba804da17185353317eca504a582
2015-11-09new loplugin: oncevarNoel Grandin6-12/+6
Change-Id: If57390510dde4d166be3141b9f658a7453755d3f Reviewed-on: https://gerrit.libreoffice.org/19815 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-09Replace a local functor in configmgr by a lambda.Mario J. Rugiero1-21/+2
Change-Id: Ida4317ec6b96ab8cb3362243b4acace3680bcd31 Reviewed-on: https://gerrit.libreoffice.org/19846 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-06loplugin:stringconstant: elide explicit ctor usage (manually due to macros)Stephan Bergmann1-12/+12
Change-Id: I409ea5a7e4b6a8e2886d5b489b66b217b3be58b6
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann1-13/+13
Change-Id: Iab64ec9b325da65b90d79f3c986e97774825f6e2
2015-11-04yyyyyNoel Grandin1-13/+6
Change-Id: I9a947beefd2dfe21da8239e841ea3fb416bd1548
2015-11-02tdf#94269: Replace "n" prefix for bool variables with "b"Benjamin Ni3-10/+10
Change-Id: I178545792c7354a362658ac7ef8b1d4cf0865797 Signed-off-by: Michael Stahl <mstahl@redhat.com>
2015-11-01no need to use OUString constructor in call to createInstanceNoel Grandin1-4/+2
Change-Id: Iaf3d83ba1490cb1d97a5bd4d1f7cd6943d4a7296 Reviewed-on: https://gerrit.libreoffice.org/19704 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-30use uno::Reference::set method instead of assignmentNoel Grandin3-4/+3
Change-Id: I080668f86f0ab8b3bba857ee21411f907ae285c4
2015-10-30Get this remove/re-add dance finally sorted out for goodStephan Bergmann1-1/+6
Change-Id: I16cb3fdd699dcd45de25b49d30e0d1b6392fd82b
2015-10-30loplugin:unusedmethodsNoel Grandin1-2/+0
Change-Id: Id3b5cd75d4357336ed592ef11a3f34d209f8e95f Reviewed-on: https://gerrit.libreoffice.org/19636 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-21configmgr/dconf: Simplify Fleet Commander write-back modeStephan Bergmann3-14/+31
* Get rid of different dconf trees for reading and writing again; the one single tree is /org/libreoffice/registry/. * Trigger the special write-back mode when a file $SYSUSERCONFIG/libreoffice/dconfwrite is present; then, ignore the default user:!... entry in CONFIGURATION_LAYERS (i.e., don't use the UserInstallation's registrymodifications.xcu) and instead write changes back to the dconf tree. Change-Id: I6b4d7251851da3fe7abbc9dcb080d57b278de96b
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann19-219/+219
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann14-31/+31
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-10-09Create a wrapper to make listening for configmgr changes easy.Michael Meeks2-0/+51
Change-Id: Ib58d04f9e046e604b24e0e338796a7a60aa1d6fd Reviewed-on: https://gerrit.libreoffice.org/19253 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-10-02configmgr: remove unused old dmake fileMiklos Vajna1-84/+0
Change-Id: Idbeadeaebf85c9de84d6fafe4d140c77907c0eeb
2015-10-01Revert function removal that breaks --enable-dconfStephan Bergmann1-0/+2
...from 58aea3f36c14414f95668e229a7350598f6c53a8 "loplugin:unusedmethods" Change-Id: I2b218ca01589f3d2efd583aa4e5fb21d19d6319e
2015-10-01loplugin:unusedmethodsNoel Grandin2-3/+1
- improvements to the plugin to find more method calls - improvements to python script to remove more false+ - fix the FORCE_COMPILE_ALL build flag to include code in the $WORKDIR Change-Id: I4d6015dcb9b9d60c26f0bcee8abad807177a7836 Reviewed-on: https://gerrit.libreoffice.org/19064 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-29Avoid false -Werror=maybe-uninitializedStephan Bergmann1-1/+1
Change-Id: I5493c49eb97c630e91cdc8368ad8b017557f1fa1
2015-09-23Report nil-valued localized property as suchStephan Bergmann1-2/+1
...regression introduced with 879aa54e895a56cb65f93ae98e6a9e7b08981a47 "configmgr: accelerate simple config key fetches." Change-Id: Ifb732a25d902f58c76e06ebaad3a6178ff102f58
2015-09-07cppcheck: noExplicitCopyMoveConstructorCaolán McNamara1-1/+1
Change-Id: I8718ddd144bec48541e6412a8c9feb74d9391ecc
2015-09-03Restored missing includes from source files.Ashod Nakashian1-0/+1
These source files relied on pch to include these missing headers (at least on Windows). Also included the script used to find the missing includes. The script is self-contained and includes unittests. It detects superfluous includes and required includes (which was used to restore the includes in this patch). Change-Id: I7ee09e5c712f42d5f6c3524898bc62dda78f5cc0 Reviewed-on: https://gerrit.libreoffice.org/18208 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-09-02Fix documentationStephan Bergmann1-1/+2
Change-Id: I8fc081d3f445a362f5e1ee735ce8baeab1d6cc9b
2015-09-02configmgr: Split dconf in two /org/libreoffice/registry/{system,user}/Stephan Bergmann3-6/+11
...so that the lower-layer "dconf:*" reads from the .../system/ dconf tree while the final-layer "dconf:!" reads from and writes to the .../user/ dconf tree. Using a single tree would not really work: For one, a sysadmin will want to finalize a property so it cannot be changed by extensions; that means that property must be set and finalized in the lower-layer "dconf:*". But for another, a user will want to change a property for which an extension provides a value; that means that property must be set in the final-layer "dconf:!". So the two "dconf:*" and "dconf:!" must store their respective data in different places. Change-Id: I9029e7f779bcb86e8f26cfc22401e97e0cb3362b
2015-09-01configmgr: support writing back to dconf (WIP)Stephan Bergmann4-3/+594
Needs to be enabled manually for now by changing CONFIGURATION_LAYERS's tail from " user:..." to " user:*... dconf:!". Change-Id: I31cd806f21d2ded376832faf98f49167b7243d1c
2015-09-01dconf: Change the way set elements are encodedStephan Bergmann1-96/+136
...to avoid having multiple dconf paths for the same set element (with different template names or operations encoded into the dconf path segment), esp. when introducing write-back into dconf. Change-Id: Ieebad3b1024dd7607022abbfa963850b05c26d65
2015-09-01Handle dconf_client_new failureStephan Bergmann1-0/+4
Change-Id: Ib873ca03a2552dc0405236ed87040672ba359e5e
2015-09-01dconf: fix check for matching templateStephan Bergmann1-36/+36
Change-Id: I8319bf10310d55e2f29de8103d983e34a53f87df
2015-09-01dconf: fix encoding of set element namesStephan Bergmann1-10/+21
Change-Id: I6aba45a70a9ebee65be34af1036bb515fd2a22b7
2015-09-01Rename stuff, in preparation of dconf::writeModificationsStephan Bergmann4-12/+12
Change-Id: Icd472e91b222907e2cdcbdba1b78b33c44eff566
2015-09-01Support modification write-back to other than registrymodifications.xcuStephan Bergmann2-18/+48
...to eventually support writing to dconf (see TODO). Even when writing somewhere else, it may still be useful to read from the current "user:" location, so a new convention was introduced to CONFIGURATION_LAYERS types that support write-back: - A leading "!" indicates that the layer is indeed used for write-back (probably in addition to reading from it). For backwards compatibility (when users use own settings of CONFIGURATION_LAYERS, instead of depending on the value in the shipped fundamental ini-file), no prefix on the "user:" is now interpreted the same as a "!" prefix. - A leading "*" indicates that the layer is not used for write-back (but only for reading from it). Change-Id: I399cc7bfe927db50586834f9630c184aaa2153f2
2015-09-01readdconflayer: avoid deref of null (removed) memberStephan Bergmann1-63/+68
Change-Id: I3b2ce8ef79c4bc0dde8ba43f96ca4e97a71dd2cd
2015-08-31loplugin:stringconstant: OUStringBuffer: appendAscii -> appendStephan Bergmann2-6/+6
Change-Id: Id852428e7b7cde6eec6eeb9a2a9004d1f2e789b6
2015-08-27Simplify hasModifications checkStephan Bergmann3-12/+5
Change-Id: Idcbd9a20ab13d0717f8728673e2c55e87aa92be4
2015-08-21Generalize CONFIGURATION_LAYERS "winreg:" notationStephan Bergmann1-6/+9
...after 097292feab4fc3c064983e1dd08ac4bebe1fe216 "Add HKEY_CURRENT_USER registry integration" added "winuserreg:". Even though changing from the exisiting "winreg:" to "winreg:LOCAL_MACHINE" should be compatible, as it only ends up in fundamental.ini included in the LO inst set, play it safe it keep treating "winreg" the same as "winreg:LOCAL_MACHINE". ("url" is a misnomer now in configmgr's Components ctor, and should eventually be renamed to something more accurate.) Change-Id: Ifbcf3284d904490891642599468470d03547f92a Reviewed-on: https://gerrit.libreoffice.org/17891 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2015-08-21Support "finalized" in dconf layerStephan Bergmann1-1/+18
Change-Id: Id33e21b01d8898ea9ff49bc7cc59b573580ab88d
2015-07-28com::sun::star->css in configmgrNoel Grandin16-326/+299
Change-Id: Ief642571ddccbf016fa1625b5859b4889a4a3e8e Reviewed-on: https://gerrit.libreoffice.org/17366 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-24loplugin:unusedmethodsNoel Grandin3-1/+4
Change-Id: If5090c330e12d6e537766bf4a9be0a2360381a7a Reviewed-on: https://gerrit.libreoffice.org/17312 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-15tdf#92764 - make configmgr write less noisy.Michael Meeks3-58/+102
Re-factor the TempFile abstraction and add a trivial OStringBuffer to avoid emitting so many system calls - for writing small fragments of configuration XML. Change-Id: Ifbf5982ddb44845b2316087cafab4175a40e03cc
2015-07-15loplugin:unusedmethods configmgrNoel Grandin8-21/+0
Change-Id: Ie0338860717630633752a39814057c736d1faee8 Reviewed-on: https://gerrit.libreoffice.org/17059 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-14Add HKEY_CURRENT_USER registry integration.Michael Meeks3-5/+11
It seems rather odd that we dump this to a file and parse again to me. Change-Id: Ia32ba9ff3e7878d40032bd7d10fba2c143d11757 Reviewed-on: https://gerrit.libreoffice.org/17033 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2015-07-13tdf#92639: Slashes are allowed in set member names, of courseStephan Bergmann2-8/+9
Change-Id: I30944fe9611e83566c891a7d1461ad02979daddd
2015-07-13tdf#88206 replace cppu::WeakImplHelper* etc.Takeshi Abe7-20/+17
with the variadic variants, in configmgr. Change-Id: I0cf82ab487ed879aa385d6065e908e347c0778e8 Reviewed-on: https://gerrit.libreoffice.org/16964 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-08configmgr: support reading from a dconf layer (WIP)Stephan Bergmann5-2/+977
Work in progress to allow integration of LO with <https://wiki.gnome.org/Projects/FleetCommander>. During configuration, dconf support is implicitly enabled when available on the host (which is presumably only available on Linux). It is explicitly disabled for TDF Linux builds for now, though, to avoid accidental dependencies of the distributed installation sets on system dconf libraries. A dconf layer is represented in the CONFIGURATION_LAYERS bootstrap variable with type "dconf" and an empty URL. See the comment at the top of configmgr/source/readdconflayer.cxx for the encoding of component-data in dconf. All of this is still subject to change. Change-Id: I2d08d81c8ea43ba4a99040a8882ae75b91bcfdb9 Reviewed-on: https://gerrit.libreoffice.org/16848 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-07-07Validate names of elements added via the APIStephan Bergmann2-0/+74
Change-Id: I052f8ca6a8788665acb1bf87456f7cc67d64c365
2015-07-02Minor clean upStephan Bergmann1-29/+23
Change-Id: I7be5bf1319ac927ffb746d47f9e0d596284e2283
2015-07-01parseFileLeniently is always called with data_ as argumentStephan Bergmann2-10/+9
Change-Id: I1c4f5e468062ced7f76b877939f96435b00d05e3
2015-06-08cppcheck: noExplicitConstructorCaolán McNamara7-7/+7
Change-Id: Ie2ae923ad4c1a66e779711de6ff05328ef144dac