summaryrefslogtreecommitdiffstats
path: root/solenv
Commit message (Collapse)AuthorAgeFilesLines
* tdf#105311 VC++ Runtime installed in wrong directoryDavid Ostrovsky2017-02-015-1/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from MSVC 14.0, the directory table layout of VC++ Runtime merge module changed. As consequence, all MSI produced with newer compilers, including MSVC 15.0 (aka VS 2017) are broken in term that the VC++ Runtime DLLs are installed in the wrong directory, e.g.: C:\System64. According to the specification for merging merge module (msm), see: "Authoring Merge Module Directory Tables": [1], custom action 51 (set property) must be emitted for every directory name in the merge module directory table if the directory name is starting with the standard directory name. Quoting it here: " When a predefined directory is included in a merge module, the merge tool automatically adds a Custom Action Type 51 to the target database. The merge module author must ensure that a CustomAction table is also included. The CustomAction table may be empty, but this table is required to exist in the target database and ensures that the modified predefined directories are written to the correct locations. For example, when a system directory is included in a merge module, the merge module author must ensure that a Custom Action table exists. Note that the matching algorithm for the generation of these type 51 custom actions only checks that the directory name begins with one of the predefined SystemFolder properties. It does not verify that the directory name exactly equals the directory property. Any directory beginning with one of these standard folder names gets a type 51 custom action, even if the rest of the name is not a GUID. Authors need to take care that this does not generate false positive matches, and unintended custom action generation, on derivative primary keys that begin with one of the SystemFolder properties." Rectify the problem by analyzing the directory table from the merge module, checking whether the directory name starts with the standard prefix name and if it is the case, emitting custom action 51 to set this variable to the standard directory name. Implementation details: We use the existing facility for emitting the custom action table events including referencing them in the corresponding sequence tables. Given that the specification above doesn't mention what sequence table should be referencing this emitted custom action, we reversed engineer this information from WiX toolkit. Merging the VC++ CRT module with WiX toolkit and investigating the resulting MSI with Orca MSI reader, reveals that these sequence tables were referencing from these sequence tables: * AdminExecuteSequence * AdminUISequence * AdvtExecuteSequence * InstallExecuteSequence * InstallUISequence Replicate this behaviour here as well. Note, though, that custom actions are generally not referenced in AdminUISequence and AdvtExecuteSequence tables in LibreOffice MSI building tool chain. Rendering of the custom action is achieved by programmatic emulation of custom action in SCP module. Consider this similar SCP module based action: Name = "MigrateInstallPath"; Typ = "321"; Source = "shlxtmsi.dll"; Target = "MigrateInstallPath"; Inbinarytable = 1; Assignment1 = ("InstallExecuteSequence", "", "CostInitialize"); Assignment2 = ("InstallUISequence", "", "CostInitialize"); We instantiate the following data structure to emit custom action System64Folder.3CFBED52_9B44_3A4D_953C_90E456671BA1: Name = "System64Folder.3CFBED52_9B44_3A4D_953C_90E456671BA1" Typ = "51" Source = "System64Folder.3CFBED52_9B44_3A4D_953C_90E456671BA1" Target = "[System64Folder]" Styles = "NO_FILES" Assignment1 = ("AdminExecuteSequence", "", "CostInitialize") Assignment2 = ("InstallExecuteSequence", "", "CostInitialize") Assignment3 = ("InstallUISequence", "", "CostInitialize") [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa367787%28v=vs.85%29.aspx Change-Id: I2fbd37ff63298d99b2ba1b6afe6e875f56d8e378 Reviewed-on: https://gerrit.libreoffice.org/33366 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Ostrovsky <david@ostrovsky.org>
* Make plugin rewriting work on Windows tooStephan Bergmann2017-01-272-74/+79
| | | | | | ...in a somewhat hacked-up way for now (see the TODO comment) Change-Id: Ida89fb8257b876cfca05b3048ce15996091c5703
* Use 'CPT' (for "compilerplugins test") instead of 'C??'Tor Lillqvist2017-01-271-1/+1
| | | | Change-Id: I783a121b43223bbd0fd3f6250b2e009a77c87a85
* unittest gbuildtojsonjan Iversen2017-01-261-1/+1
| | | | | | Rename of FLEX to LEX needs to be done in the unittest as well. Change-Id: Ic038fa01d65edb5724c3d9dc8a04c72c6367372d
* gbuildtojson support for yacc files.jan Iversen2017-01-261-1/+4
| | | | | | added support for add_grammars macro Change-Id: I17955bd1534d9f43e1953691d985a18ee8241d38
* gbuildtojson, added support for lex filesjan Iversen2017-01-261-3/+6
| | | | | | | | | added add_scanner macro Finalized the move around in gbuild-to-ide, to signal which generators are actively supported. Change-Id: I11699cd4380d49efc3b541abb7780b5136162433
* -DOPTIMIZE appears to be unused, since foreverStephan Bergmann2017-01-251-1/+0
| | | | Change-Id: I56c91974a27cf100bc0faa1b009f4bf6358b47f5
* Minor loplugin:stringconstant improvementsStephan Bergmann2017-01-251-0/+1
| | | | Change-Id: I0b39526c0f0854ddbb29e77ece303cf2bdd842c4
* Default -ferror-limit=20 doesn't make sense for CompilerTestStephan Bergmann2017-01-251-1/+1
| | | | Change-Id: Ic535de878c17749cdb2e7a6eadeb27dd2194810e
* Fix typo in comments: absolut -> absoluteTakeshi Abe2017-01-241-1/+1
| | | | | | | Change-Id: I8aab9004001a9a2ddd54b4c73857b6f9c5b51515 Reviewed-on: https://gerrit.libreoffice.org/33486 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
* Revert "used std::map in SfxItemSet"Noel Grandin2017-01-231-2/+42
| | | | | | | | | | | | This reverts commit 2757ee9fe610e253e4ccc37423fa420004d0f388. Besides causing a performance regression, I now notice that there is code in SW that relies on iterating over two different SfxItemSet's in parallel, and assumes that missing items are returned as nullptr, which is not the case for my std::map based change. Change-Id: I2b1110350fe4c4b74e5508558e9661ef1e1a103e
* update approximate install location in READMECaolán McNamara2017-01-181-2/+2
| | | | Change-Id: I6a139d5be193c968c2bf3373b415baa25dc32595
* remove executable bit from .mk filesMichael Stahl2017-01-171-0/+0
| | | | Change-Id: I2ed12aae6596492e1059f8461efbafb711d16472
* Change Idle to be a Timer subclassJan-Marek Glogowski2017-01-171-9/+17
| | | | | | | Drops a lot of duplicated code, as Idle is just a convenience class for instant, mostly low priority timers. Change-Id: I847592e92e86d15ab1cab168bf0e667322e48048
* Refactor Scheduler to add Task classJan-Marek Glogowski2017-01-171-8/+8
| | | | | | | | Moves all the "task-specific" stuff into a Task class and just keeps the "real" static Scheduler functions in the original Scheduler class. Change-Id: I9eb02d46e2bcf1abb06af5bab1fa0ee734d1984c
* tdf#97087 GDB pretty print the Scheduler task listJan-Marek Glogowski2017-01-172-1/+92
| | | | | | | In addition to the GDB pretty printer, this annotates a lot more Timers and Idles. Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c
* used std::map in SfxItemSetNoel Grandin2017-01-171-42/+2
| | | | | | | | | | | | instead of naked array SfxItemIter ended up needing to take copies of stuff because various code likes to iterate over the items and delete items inside the loop. The gdb pretty printer is no longer quite as pretty as it was before, but it still prints useful info. Change-Id: I59b07ea42f6b1c74798a15402970b9dbd8233dbe
* fix testStephan Bergmann2017-01-161-1/+1
| | | | Change-Id: Id915626324a692d8ec87cc6899c3de298682348b
* post_GbuildToJson.mk, extended with extra file typesjan Iversen2017-01-161-3/+4
| | | | | | | | Extended the call to gbuildtojson, with extra file types. Some filetypes still need data collection, this is noted in the file as todo. Change-Id: I3e832f82656236d42d1d7b59bf3ac2925c5b1568
* gbuildtojson prepare for new filetypes.jan Iversen2017-01-162-29/+18
| | | | | | | | gbuild-to-ide now contains a dict with json name -> file extension post_GbuildToJson.ml contains a todo list (missing files, new arguments) gbuildtojson.cxx made resistent (no extra argument list to maintain) Change-Id: I7f346f606ed5fba0a1eaffdd38454b484cecfcf5
* cosmetics: no need for that echo when using codesign with --verboseChristian Lohmaier2017-01-141-1/+0
| | | | Change-Id: I7e51445e890bd1ed5bcafb9cc713c6f5fad24631
* workaround for codesigning on Mac baseline - do jnilibs firstChristian Lohmaier2017-01-141-1/+10
| | | | | | | as otherwise signing fails (LibreOffice.app: code object is not signed at all In subcomponent: path/to/foo.jnilib) Change-Id: I3e4691f2ada408d9e76d200a3291b044753ec85c
* tdf#105204 shellcheckJochen Nitschke2017-01-131-18/+10
| | | | | | | | | | | | | | | | | | addressed issues in order of appearance: warnings - prefer [..] && [..] (SC2166) - unused 'awkCMD' (SC2034) - typo currentFirstLIne -> currentFirstLine (SC2154) recommendations - use $(..) instead of `..` (SC2006) - remove $ on arithmetic variable OPTIND (SC2004) - double quote to prevent globbing in $findArgs (SC2086) Change-Id: I2d2b7aecac97b2e4e0df8ce556c85995d4ecf7cf Reviewed-on: https://gerrit.libreoffice.org/33003 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
* solenv: don't run solenv_python test with make 3.81Michael Stahl2017-01-131-0/+2
| | | | | | see 7a75b39273de47190b7a1fa20e0bcaca6d089033 Change-Id: I575e5d5dc757cc054a49ae6596183f46373072f2
* gbuild: make 3.81 doesn't currently work with gbuildtojsonMichael Stahl2017-01-121-0/+4
| | | | | | | | | | There is some problem with the pattern rule in post_GbuildToJson.mk being ignored, causing spurious workdir/GbuildToJson/Library/lib*.exports files with bogus content to be written; rather than trying to adapt that to 3.81 pattern rule evaluation, just refuse to run with 3.81, which is obsolete anyway. Change-Id: I492866464b309f8c475e34e8f311e42bf8736247
* gbuild: fix "make gbuildtojson" on Mac OS XMichael Stahl2017-01-121-0/+1
| | | | | | | Fails because library has dep on GeneratedPackage_python3, so nerf the dep like the others. Change-Id: I050a0f50996ce4231eb966fb6b624908d2f1788c
* Allow CompilerTest_compilerplugins_clang to include css/uno/Reference.hxxStephan Bergmann2017-01-122-0/+3
| | | | | | | Change-Id: Ib35d8fcc41e1c49bfef01c980b25c051190cb753 Reviewed-on: https://gerrit.libreoffice.org/32990 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Update comment to match realityTor Lillqvist2017-01-121-3/+3
| | | | Change-Id: I0b4ee6377aac984b7acf7085ac43cad3d088612d
* Always exit with error if codesign failsTor Lillqvist2017-01-121-5/+5
| | | | | | | | | | | | | That sanity check was added in 615fae2f67028f3c5c51c70c77dbaa9b9f3856d6 but we lost it at some stage. The codesigning script has a very confusing history, in part caused by its use for two purposes, when building for the Mac App Store and when building for a TDF style distribution on a dmg disk image. Those who work with the former and those who work with the latter haven't necessarily checked that it doesn't break for the other case. Sorry. Change-Id: I79011302f60b1f6551328c8b80e00f5d3698504c
* CodesignRules.plist was removed in 615fae2f67028f3c5c51c70c77dbaa9b9f3856d6Tor Lillqvist2017-01-121-5/+2
| | | | Change-Id: Ibde5189ecf09ec8dfaf3223683c5480974084865
* loplugin:externvarStephan Bergmann2017-01-091-1/+1
| | | | Change-Id: I63571c0003e6e0d7bd7a0c71a7dd47955a8871e0
* New loplugin:externvarStephan Bergmann2017-01-091-0/+1
| | | | Change-Id: Ie5404f11cbc5b05bd18455ae81526eb2de01548c
* Remove useless cat, and replace backtickMuhammet Kara2017-01-041-1/+1
| | | | | | | | | | | | | | | | | | cat is a tool for con"cat"enating files. Reading a single file as input to a program is considered a Useless Use Of Cat (UUOC). It's more efficient and less roundabout to simply give file as input. Also use $(..) instead of legacy `..` Backtick command substitution `..` is legacy syntax with several issues. It has a series of undefined behaviors related to quoting in POSIX. It imposes a custom escaping mode with surprising results. It's exceptionally hard to nest. $(..) command substitution has none of these problems, and is therefore strongly encouraged. Change-Id: Ia668c6323660641bbb5084ee824ae9ae7631c76f Reviewed-on: https://gerrit.libreoffice.org/32473 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
* gbuild: CppunitTest: export VCL_HIDE_WINDOWSMichael Stahl2017-01-041-1/+1
| | | | | | | | | This currently has no effect and so the CppunitTest_cppcanvas_emfplus pops up an annoying window. (regression from 181932b31ea9c07a9bec3677e73b67a9a6d4e3f2) Change-Id: I26314d98f10f6b39ca1c28821ccd0de6ba2a4358
* Fix GbuildToJson for tests: Set source files correctlyMatúš Kukan2016-12-301-18/+24
| | | | | | | | | | Need newline in gb_LinkTarget_add_foo_object. With that we can avoid direct gb_Executable_foo and gb_Library_foo. Change-Id: I1e2b1ef2f2a3e15f4bb81170f23265186ef47733 Reviewed-on: https://gerrit.libreoffice.org/32503 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
* make the gbuildtojson output debugable.jan Iversen2016-12-271-1/+1
| | | | | | | Added a NEWLINE after each JSON variable, this makes the files easier readable and has no impact on performance. Change-Id: I5610c79ba74d6d34b7c4bacd0ba8626d37cb4e70
* drop imglstCaolán McNamara2016-12-222-3/+1
| | | | Change-Id: Iff88349acf3fc0f474cff0a882346a6d8496aec1
* bodge linking for disable-dynamic-loading caseCaolán McNamara2016-12-201-7/+14
| | | | | | | Change-Id: I5c1c6cae8d2f179a68e0c6e11e89c7c947e4b479 Reviewed-on: https://gerrit.libreoffice.org/32229 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* use new ENABLE_NSS for code which needs nssCaolán McNamara2016-12-201-2/+2
| | | | | | | | | | which isn't available on a static-only build (iOS and fuzzing) and android Change-Id: I99bb7c0b45d4499579ddf73f469a762ddcae99ab Reviewed-on: https://gerrit.libreoffice.org/32182 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* sanitze->sanitizeCaolán McNamara2016-12-201-1/+1
| | | | Change-Id: I1b94438e43df6f1f8f7774d9e86f415785e60284
* gdb pretty printers: fix the SwXTextCursor::Impl one even moreMichael Stahl2016-12-201-5/+8
| | | | | | | | Turns out that commit 30f3315d52df22716c086836c41465a6c4cb98b5 has removed the SwClient there a long time ago, and the SwUnoCrsr was also renamed... Change-Id: I92932130c5adbea530c39557932efce70c9f75e7
* gdb pretty printers: fix BigPtrArray printer for member renameMichael Stahl2016-12-201-4/+4
| | | | Change-Id: Ia9da0c0931a01b2c99c24420a9ba603b47a711c1
* gdb pretty printers: fix SwXTextCursor::Impl printer for SwClient renameMichael Stahl2016-12-201-1/+1
| | | | Change-Id: Ief136f57ce60bde1faa0603961aa775967621fbf
* gdb pretty printers: fix SwPaM printer for Ring member renamingMichael Stahl2016-12-201-2/+2
| | | | Change-Id: I605e4e972468165e7f5d21681b6e7eeb228dfdc9
* bootstrap building with --disable-dynloading on standard linuxCaolán McNamara2016-12-202-1/+6
| | | | | | | Change-Id: I5baf70f0053612cba8b74f54aff11ce25cdeb95a Reviewed-on: https://gerrit.libreoffice.org/32202 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* uitest: help on windows with the debug outputMarkus Mohrhard2016-12-191-0/+1
| | | | Change-Id: Id22412389f3de2c9923887fd99a3e1c6860e1f33
* initial support to build with --disable-dynloading on standard linuxCaolán McNamara2016-12-191-3/+25
| | | | | | | Change-Id: I25dd59b5a12e91ee492508a77a80a69f16912b62 Reviewed-on: https://gerrit.libreoffice.org/32193 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* lets always have at least dbtoolsCaolán McNamara2016-12-191-1/+1
| | | | | | | Change-Id: I72f768ad760fd9fa1e3ec988e5217672bca9c824 Reviewed-on: https://gerrit.libreoffice.org/32175 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* forms is disabled without HAVE_FEATURE_DBCONNECTIVITYCaolán McNamara2016-12-191-25/+25
| | | | Change-Id: I6ee4993ec65ba60234daf3e6fcc4cab432939f5f
* split out inability to have nss as HAVE_FEATURE_NSSCaolán McNamara2016-12-171-2/+2
| | | | | | | Change-Id: Ie9fa0291117ba81529cc396f96f3f02c4a7e4d79 Reviewed-on: https://gerrit.libreoffice.org/32093 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>