summaryrefslogtreecommitdiff
path: root/solenv/bin
AgeCommit message (Collapse)Author
2024-02-16Related: tdf#159529 fix increasing failures when setting entitlementsPatrick Luby
Starting in one of the Xcode versions 15.2 or earlier, setting the entitlements without a certificate started failing on Mac Silicon. The hacky solution is to make a copy of the application's executable, set the entitlements on that binary only, and then move the copied binary back. Change-Id: I25c32cbe6f9aa87e2d6c2c554a8a9cf48d79e75d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163468 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-02-15ofz: don't need "cui" for fuzzingCaolán McNamara
Change-Id: I3d8778d23a21bdd4a6babf495552112c67938111 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163413 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-14ofz: don't need "bib" for fuzzingCaolán McNamara
Change-Id: Ie471593779bd44382ebc83355aef0c1fae87ae92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163380 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-22Create MAR updates from msi rather than from archiveStephan Bergmann
...as the former is more convenient for release engineering (see the discussion in the comments at <https://gerrit.libreoffice.org/c/core/+/162157/1#message-8d7ebbcc64a87ee8e4a073ae1a05e3b74f5a3d6a> "Also enable --with-package-format=archive for LibreOfficeWin64.conf"). Instead of ONLINEUPDATE_MAR_OLDARCHIVE and ONLINEUPDATE_MAR_OLDMETADATA make variables, the create-partial-info target now only needs an ONLINEUPDATE_MAR_OLDMSI make variable. TODO: There are two issues when comparing the content of msi files (extracted with msiexec /a), which the old code comparing the content of archives had tried to somewhat (but not fully) address with the metadata files that I had invented (and now reverted): For one, msiexec /a also extracts content that would normally be installed somewhere else in the system (e.g., it extracts Fonts, System, and System64 directories). Differences in those directories will cause a MAR update to create those directories in the installation directory, rather than to update the corresponding files in their actual locations. For another, optional components are not recognized as such, but their content must be added to the MAR file as add/patch-if, not as plain add/patch. To work around that, for now *all* files are added as add/patch-if, conditional on the files themselves. Thus, addition of files will cause a MAR update to miss them. (As they now exclusively operate on msi files, the create-update-info and create-partial-info targets are no longer meaningful for non-Windows platforms, so drop the non-Windows bin/update/create_full_mar_for_languages.py part.) Change-Id: Ifb55b5e7d1a201b4f50a27cb449a634b96c2e29b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162399 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-22use portable "command -v" to detect installed programs, part 4Eli Schwartz
The "which" utility is not guaranteed to be installed either, and if it is, its behavior is not portable either. This means that when various programs are installed, the `which` check will report a fatal error because the which tool did not exist and the shell returned a nonzero status when attempting to fork+exec. If it did exist, it might not be an implementation of `which` that returns nonzero when commands do not exist. The general scripting suggestion is to use the "command -v" shell builtin; this is required to exist in all POSIX 2008 compliant shells, and is thus guaranteed to work everywhere. For some in-depth discussions on the topic, see: - https://mywiki.wooledge.org/BashFAQ/081 - https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250 Examples of open-source shells likely to be installed as /bin/sh on Linux, which implement the 15-year-old standard: ash, bash, busybox, dash, ksh, mksh and zsh. This commit updates a couple build scripts to not rely on fixed paths calculated upfront. Checking the location of a tool with cmd=$(which foo) just to run it as `$cmd` is pointless. It's exactly equivalent to run it as `foo`, but less error-prone and easier to read. For one of the scripts, it also simplifies checking for their existence. Personally, I am skeptical it even makes sense to check at all. POSIX mandates they exist, and it's exceedingly unlikely they will not be installed. However, unlike the shell interpreter itself, we don't *know* they are installed, so leave the existing checks in but simplified. Change-Id: I4703c1165eb3a5aeb45fbab18df3222e8f5f9551 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160665 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-01-22use portable "command -v" to detect installed programs, part 2Eli Schwartz
The "which" utility is not guaranteed to be installed either, and if it is, its behavior is not portable either. This means that when various programs are installed, the `which` check will report a fatal error because the which tool did not exist and the shell returned a nonzero status when attempting to fork+exec. If it did exist, it might not be an implementation of `which` that returns nonzero when commands do not exist. The general scripting suggestion is to use the "command -v" shell builtin; this is required to exist in all POSIX 2008 compliant shells, and is thus guaranteed to work everywhere. For some in-depth discussions on the topic, see: - https://mywiki.wooledge.org/BashFAQ/081 - https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250 Examples of open-source shells likely to be installed as /bin/sh on Linux, which implement the 15-year-old standard: ash, bash, busybox, dash, ksh, mksh and zsh. This commit updates the build system to configure and build correctly on systems without `which`. Change-Id: I23dbde5c7f104dd610fd5f78c82bf9a7d0cc1930 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160663 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-01-22Remove (Windows-only) INIFILETABLE entries from setup.iniStephan Bergmann
(See a31f334d36b5735ba6fc8d0f89e834a73bdcc561 "Windows MAR update issues with program/{setup,version}.ini" for why this cleanup is needed.) It is unclear to me why these entries would be needed in the setup.ini file. The *INSTALLLOCATION values are also stored in the Windows registry (see scp2/source/ooo/registryitem_ooo.scp). FINDPRODUCT was once used as a GetMsiProperty, in code meanwhile removed in 030124d836a3f8571e26c8ce6b5d752ca7ab2511 "remove CustomAction ExecutePostUninstallScript" (so I also removed the FINDPRODUCT property file line from solenv/bin/modules/installer/windows/property.pm, so FINDPRODUCT will no longer in the MSI Property table). ALLUSERS is only used with some SetMsiPropertyW/UnsetMsiPropertyW/IsSetMsiPropertyW/GetMsiPropertySetW code in setup_native/source/win32/customactions/, but that should be unrelated to the setup.ini file. Removing the ProfileItems from scp2/source/ooo/common_brand.scp removed the only uses of the INIFILETABLE style, so also remove the corresponding code from solenv/bin/modules/installer.pm and the complete related solenv/bin/modules/installer/windows/inifile.pm. Fingers crossed. A# modified: scp2/source/ooo/common_brand.scp Change-Id: If2aa72f0da50bc72f8c873df713340a142eed5e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161981 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-22Remove (Windows-only) UpgradeCode from setup.ini and version.iniStephan Bergmann
(See a31f334d36b5735ba6fc8d0f89e834a73bdcc561 "Windows MAR update issues with program/{setup,version}.ini" for why this cleanup is needed.) I couldn't find any traces of any code actually reading that entry from ini-files. (There is some code in setup_native/source/win32/customactions/shellextensions/ calling GetMsiPropertyW with an L"UpgradeCode" argument, but that's something different.) Change-Id: I8ed79e7f7911635c52e1c41f54014b1445c561de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161980 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-22Remove (Windows-only) ProductCode from setup.ini and version.iniStephan Bergmann
(See a31f334d36b5735ba6fc8d0f89e834a73bdcc561 "Windows MAR update issues with program/{setup,version}.ini" for why this cleanup is needed.) There were traces of actually reading that entry from ini-files in commits like 3f01a5e9e4ec757eb26cc056a161fb7832ccd5d6 "INTEGRATION: CWS nativefixer12 (1.2.2); FILE MERGED", d9d86a2d662f38aa0473211fbf3ef2241b1c9c93 "INTEGRATION: CWS nativefixer18 (1.3.2); FILE MERGED", and 2521869690771c7af094520edf92ee8d2c5573a1 "INTEGRATION: CWS native36 (1.7.4); FILE MERGED", but all of them have since been removed with commits like 50c26300e5b5ae9671f18a9e449516604d16105f "Remove lots of dead code", 26c142ca5f2b405b02ab5701dfaeab7bf281a727 "Kill the ancient StarOffice "patch" concept", and e0ea85f61a5914508921b5e73119516219afa158 "we don't build language packs on Windows". (And all of the original code appears to having been related to ancient Windows patch mechanisms.) Change-Id: I552830faf9006bae951fc60e97804abd9de718bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161979 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-22Remove (Windows-only) MsiProductVersion from version.iniStephan Bergmann
(See a31f334d36b5735ba6fc8d0f89e834a73bdcc561 "Windows MAR update issues with program/{setup,version}.ini" for why this cleanup is needed.) The ini-file entry had originally been added with d295757e7ec2cf0f7d83cf903ecb7c115a354bb9 "INTEGRATION: CWS nativefixer11 (1.23.2); FILE MERGED", and setting its value with b993422e59287924d7d85afc75eb9cffc66311db "INTEGRATION: CWS nativefixer11 (1.21.38); FILE MERGED" and 127dd8d32a87cecdc678d4b8288142f65a7a1fc9 "INTEGRATION: CWS nativefixer11 (1.45.2); FILE MERGED", but it doesn't appear to ever have been actually used for anything, other than being recorded in the ini-file. Lets remove it completely for good. Change-Id: I5f0372360416c2c6949ee2d5f0cc7e6babd8ba79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161978 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-11Make create-update-info handle conditional contentStephan Bergmann
That make target operates on an archive, but generates data to be applied to an msi installation, so suffers from any mismatch between archive and msi install sets. Two such mismatches, at least on Windows, are: 1 Files that msi will install outside the LibreOffice installation itself (but which for an archive install set are included under LibreOffice/). This covers (at least) .Net assemblies and associated files that are installed in the GAC (scp2 styles ASSEMBLY and ASSIGNCOMPONENT) and fonts (scp2 style FONT). 2 Files that msi will only install conditionally. This covers optional components (many of which in scp2 are assigned to gid_Module_Optional_... modules) and user interface languages (which in scp2 are assigned to gid_Module_Langpack_... modules). The approach taken here is to create a workdir/installation/LibreOffice/archive/install/metadata file while building an archive install set, and to record any files matching 1 (as "skip" lines) or 2 (as "cond" lines). Then, the create-update-info target uses that metadata file to act accordingly on those files: 1 Files from "skip" lines are simply removed for now from the extracted archive that is passed to Mozilla's make_full_update.sh script. (TODO: That means that changes to such files will not be updated with the MAR update mechanism. This would apparently need some extra processing during the MAR update.) 2 Files from "cond" lines shall be recorded as add-if in the mar file manifest. Mozilla's make_full_update.sh script already has support for emitting add-if vs. plain add, but only for files under distribution/extensions/, which doesn't match our needs. So we generate from the metadata file an ifs file that we pass into the make_full_update.sh script, and patch that script to also take that ifs file into account. (Each line in the ifs file is of the form "testfile" "file" which works as long as none of the pathnames contains double quote characters. The Mozilla script code appears to be confused about the arguments to make_add_instruction(), where this ifs file will be needed: There are calls to make_add_instruction() with two or three arguments across make_full_update.sh and make_incremental_update.sh, but make_add_instruction() checks $1, $2, and $4 (but not $3), so leave that mess alone and pass the ifs file as a global IFSFILE variable instead.) The mar file manifest `add-if "testfile" "file"` adds "file" only if "testfile" is already present, and those two can be different files. TODO: However, for simplicity, for now I always use "file" also as the "testfile" (so that an add-if file only gets updated if it was already present). That avoids having to identify a specific "key file" for each optional component and for each user interface language, where that key file would be used as the add-if testfile. But on the other hand, it means that if an optional component or a user interface language will bring along a completely new file in the future, we will not install that file during a MAR update. What obviously remains to be done is to properly assign each add-if file to a specific key file. (And the current way of identifying add-if files by gid_Module_... names appears to be too simplistic too. For example, there are some gid_Module_Optional_... that are installed unconditionally for msi; but it should be harmless that those files are recorded as add-if rather than as plain add.) Change-Id: I2fdeed92604f3a2d8a0b500b9e3fa421cfb6a9cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161917 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-04Don't mess with UserInstallation setting of --with-package-format=archiveStephan Bergmann
Ever since 9043c50f5e284f00a7eadeab5a3add0417c32227 "INTEGRATION: CWS native62 (1.68.8); FILE MERGED" and its "2006/09/15 14:51:02 is 1.68.8.2: #i67179# new user dir for all simple-package installation sets" archive installation sets had set the UserInstallation bootstrap variable to $ORIGIN/../... instead of the normal $SYSUSERCONFIG/... that is used for other installation set formats. However, I see no good reason for that, and it interferes with my current work of making the --enable-online-update-mar `make create-update-info` work again (which builds a mar file from an archive installation set, so contained a boostrap ini-file with an unexpected UserInstallation value). (I don't know about the "installed" installation set format, which also messes with the UserInstallation setting, so I left that alone.) Change-Id: I3bd1e00771a4149922c3ce4e4d187abd3889b4ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161650 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-02Hard-code --with-online-update-mar-channel=LOOnlineUpdaterStephan Bergmann
(An upcoming change will add an instset/update-settings.ini file containing that value, but using a GeneratedPackage for a single file instead of a directory seems unsupported, so it will use the hard-coded value and a plain Package instead.) Change-Id: I12ffef4db71ce36be9096df674588b39c660e4de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161545 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-21get rid of warnings when reportbuilder is not configured for buildAndras Timar
In the LOK case for example, where there is no reportbuilder, there were a lot of bogus warning messages at startup, confimgr complained that there were translations for non existing configuration nodes, all belonged to reportbuilder. Change-Id: I7f9cef3206bddd9e333b97ee966fb950fbb352d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160887 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161048 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-12-12Split --with-update-config=... into many --with-online-update-mar-...=...Stephan Bergmann
...and allow each of them to be left off, for debug purposes, even if that may render the resulting --enable-online-update-mar feature non-functional. This change tracked each item that was potentially read from the --with-update-config ini file, and turned each of them into a new --with-online-update-mar-... option. The only exception and remaining TODO is bin/update/upload_build_config.py (called from Makefile.gbuild). distro-configs/Jenkins/LibreOfficeLinuxUpdater.conf (which might well be dead) set --with-update-config=~/updater.ini with an ini file of unknown content. So that no items are silently missing if we ever resurrect that distro-config, I set all of the new options to =TODO there for now. Change-Id: I17a13e0d190a868436bac10c1b0a6675d8c704c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160622 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-11-30Use "set logging enabled on/off" instead of deprecated "set logging on/off"Julien Nabet
With GNU gdb (Debian 13.2-1) 13.2, I noticed this trace on console when using --backtrace Warning: 'set logging on', an alias for the command 'set logging enabled', is deprecated. Use 'set logging enabled on'. Change-Id: Ic03911ea94aff57dee8f594744147302ef01a1ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160143 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-10Improve error logging in remove_Files_Without_SourcedirectoryMike Kaganski
Change-Id: I7ed7c08bd57bb5d1b11bc7c029decd571a6758f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159236 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-09tdf#157431 Show description for expert config itemsSamuel Mehrbrodt
Change-Id: I7d0257c2e06ed384f90ca3b51a6d2549044f2cf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157148 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-05Fix typoAndrea Gelmini
Change-Id: Ie41ca6c56bf44b04bd2d65b6cb64594d66295f24 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158951 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-05Fix typoAndrea Gelmini
Change-Id: I84186bee245a95a74e92c974ca94bb81c31ee1ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158950 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-05limit parallelism during msi packaging stage to avoid cscript failuresChristian Lohmaier
with high parallelism there's a high risk of running into random failures when calling WiLangId.vbs via cscript. The limiter doesn't use make's jobserver since it is too easy to deadlock the build since all jobs are started at once, consuming all slots, but in addition all wait for an additional slot that never is made available because all jobs are blocked waiting.... All jobs being started at once and all jobs getting started from that point on getting put under the limiter's control makes this simple approach with separate grab/release calls possible. If they were spread out the semaphore wouldn't be available (gets closed/removed as soon as nothing waits for it anymore) Change-Id: I345f2904a1d7e8989720722415fb51282ab3b05b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158886 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2023-11-02tdf#158038 fix opening pdf files in appstore ver (sandbox issue w/ helper tool)Christian Lohmaier
https://developer.apple.com/documentation/xcode/embedding-a-helper-tool-in-a-sandboxed-app "Adding other entitlements to the tool can cause problems. If the tool immediately crashes with a code signing error when your app runs the tool, check that the tool is signed with just these two entitlements: com.apple.security.app-sandbox and com.apple.security.inherit." This is indeed what happened.. Change-Id: Id03948c03b7d453aae4ca58719f582576e30a16f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158790 Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2023-09-28rpm packaging: don't add /usr/.build-id/* symlinksChristian Lohmaier
the packages are meant to be fully relocatable, having that additional dir makes that more tedious and the files don't add any benefit for packages created via epm - they're meant to support parallel installable debuginfo packages which are not provided by our way of packaging Change-Id: I30284942846bae2f7030884cc15b02507e84e778 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155614 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2023-09-23tdf#105303: Drop html export wizardXisco Fauli
Done during the conference hackfest Change-Id: I765e6dc839a98038c4071c8444ce3db9293c8a6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157173 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-09-02drop ChartController service nameNoel Grandin
not the implementation, just the registering as a component - there is no way to instantiate and use this object as a real service, it is intimately tied into the chart2 internals. Change-Id: I5c80e23f2b043bef23650664a7cc2c7813248433 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156471 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-19Fix nightly build failures on Mac IntelPatrick Luby
When adding entitlements in a debug, non-codesigned build, the codesign command fails on some Mac Intel machines. Since this command is only executed in non-release builds, ignore any failures. Change-Id: I4d89e03bbbc00725b2902446f2abbb99f273eab7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153269 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-06-08No longer append appdata for components to flatpak's metainfoStephan Bergmann
This had originally been added with <https://github.com/flathub/org.libreoffice.LibreOffice/commit/945f6caad87658b1df1e8918bd5f64939058ab7f> "clean up desktop integration", see its part "append the appdata for the separate apps (Base, Draw, etc) to the appdata XML we export for Flatpak, so they are visible in software centers etc". But it now started to cause Flathub builds (like <https://buildbot.flathub.org/#/builders/14/builds/3985>) to fail its "Check for right id in AppStream xml" step, and reportedly "the problem is there are multiple components in the metainfo file and I'm not sure it's allowed" (<https://matrix.to/#/!RfXaBjokqHAbzZrgHz:matrix.org/$jWhob-a4LEH-e_TXsJwGWNfMYLF1kcWpXV_oW982ZpI?via=matrix.org&via=gnome.org&via=kde.org>). The solution appears to be to just remove that again (<https://matrix.to/#/!RfXaBjokqHAbzZrgHz:matrix.org/$Yrzf_ZjJxBgUVs6kuP_10Tneu1t1wKQJCM_SC1vNHC4?via=matrix.org&via=gnome.org&via=kde.org>): > I think maybe the problem was from the times that GNOME Software was also > moonlighting as a menu editor > that without Flatpak providing the metainfo for LibreOffice's different > desktop launchers, they were invisible in GNOME Software, which meant you > couldn't add/remove them to menus or the desktop > but since then GNOME just shows all of the launchers, and menu editing / > categories mostly died or sank to the bottom of the 1990s ocean > so maybe this is a non-problem [...] > ah ok > ah so they don't show any more 🤣 So remove the now-unused solenv/bin/assemble-flatpak-appdata-step2.sh and consequently rename the sole remaining solenv/bin/assemble-flatpak-appdata-step1.sh to just solenv/bin/assemble-flatpak-appdata.sh. Change-Id: I3d3fef502f2114274a856102b77edafdd0ecac83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152744 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-06-07Set entitlements in non-release in $(INSTROOTBASE) and .dmg packagePatrick Luby
Also, when building a .dmg for macOS, skip codesigning for non-release builds, both with and without the macOS sandbox, if there is no identity set but set entitlements to allow Xcode's Instruments application to connect to the application. Lastly, add entitlements when building soffice in $(INSTROOTBASE) if this is a non-release build. Change-Id: I764bf5bd5d44e878669c4287906e6efd6aac593f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152655 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-06-04tdf#71096: xlr filetype not associated with Calc in WindowsJulien Nabet
Change-Id: Ifb9f74f2bd1532ebf364a3d554d303c1209393cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152360 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-06-01Revert "Convert XFastParser into a normal C++ interface"Noel Grandin
This reverts commit 5e68d6cfade45f40b1ad46025a81afe4cb8dd337. Reason for revert: Seems like outside users have been using this API Change-Id: I8814cf1eb4f000eeb4cbbb5db9c282d001465993 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152441 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-01Convert XFastParser into a normal C++ interfaceNoel Grandin
There is no need for it to be an UNO interface anymore (ever since we started supporting dynamic_cast on UNO objects). Which means that XImportFilter2 also needs become a C++ interface. Change-Id: Ice2db0f098271bba32b199bd083b08cb8410ce93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152388 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-02New --with-coredumpctl to obtain core dumps of crashed tests from coredumpctlStephan Bergmann
...for (Linux) systems that don't store core.* files in the current working directory. When enabled, this wraps test execution in `systemd-run --scope --user --unit=...` with unit values unique per individual test invocation, so that solenv/bin/gdb-core-bt.sh can query coredumpctl for matching core dumps. (See the mailing list thread starting at <https://lists.freedesktop.org/archives/systemd-devel/2023-March/048884.html> "[systemd-devel] coredumpctl: matching by e.g. env var?" for further details.) The used --unit=... scheme is a best effort to produce system-wide unique values, combining the target location path of the given test with a second-granularity date/time and the current PID. (In case there would be multiple invocations of the same test per second, which then hopefully wouldn't reuse the same PID. The date/time and PID could be replaced with a high-resolution system-wide monotonic clock/counter if one were easily available. The advantage of the current scheme is that it only uses Posix features.) The overall length of the unit value (incl. the appended ".scope" suffix) must not exceed 256 characters, or else systemd-run would fail with "Failed to mangle scope name: Invalid argument". It might look more natural to pass the unit value into gdb-core-bt.sh as a fourth positional argument rather than via a new LIBO_TEST_UNIT env var. But for one, the unit value is most easily computed from within the recipe shell command lines, where an env var is the most natural fit. And for another, this avoids having to tunnel yet another value through the tearDown method in unotest/source/java/org/openoffice/test/OfficeConnection.java to the given postprocesscommand. Change-Id: Idcb20cd1e1141d8ec7f10947e5edc70aa2aa7d32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149690 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-24ofz#57376 Fuzzing build failureCaolán McNamara
Change-Id: I03624956bebc7c6ce435482bc7cc5fc8b3fc31cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149547 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-03-22Partial fix: iOS missing text direction listbox in Format > Page Style > PagePatrick Luby
Add the static libraries that are required by the LibreOffice's CTL and CJK text layout features to the iOS app add link list. libnumbertext.a is one of the missing static libraries that are required by the LibreOffice's CTL and CJK text layout features. The other missing static library (which was in the ios-all-static-libs list but was getting stripped by Xcode) is added back by listing the "lingucomponent_NumberText_get_implementation" C function. Without these static library changes, enabling CTL or CJK will cause a crash as the "lingucomponent_NumberText_get_implementation" symbol won't be in the binary and that function needs libnumbertext.a. Reference-to: https://github.com/CollaboraOnline/online/issues/6050 Change-Id: I21fddbfd29a1d326b509840127bd136c327cd3d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149110 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-03-14Improve scripts that codesign and create a .dmg from a Universal bundlePatrick Luby
This change adds the following: - The solenv/bin/macosx-codesign-app-bundle script now uses "--timestamp" wherever "--options runtime" is used in order to pass Apple's notarization process. - A second, required argument has been added to the bin/create-dmg-from-merged-app-bundle script that specifies one of the following types: "release", "dev", or "collabora". Only the .DS_Store is different for each as no product set a volume icon currently. - Upon success, the bin/create-dmg-from-merged-app-bundle script will print a warning that the .dmg is not notarized as well as the commands to use to manually notarize the .dmg. Change-Id: I7c3f2d60dbb16b25bd6088b7e0af8c82284702d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148490 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Patrick Luby <plubius@neooffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 86e612db56be2d1934275de021b3213875e9301d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148508 Tested-by: Jenkins
2023-02-12Avoid LOKClipboard harder on iOSTor Lillqvist
Change-Id: I2710a7537594c486878a68c630f762a24ac81c49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133017 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146739 (cherry picked from commit 069aae6be68d67b45222740de01467d11f15adfb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146800 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-02-10Pass product name and not hardcoded "LibreOffice" to make_installer.pl -pTor Lillqvist
Change-Id: I9b2d84bcc18e21b325960f7057e259daa37234a5 Reviewed-on: https://gerrit.libreoffice.org/55640 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 12d1b08aac8cc8c3176040efc7290377e380f0c4) Reviewed-on: https://gerrit.libreoffice.org/79128 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 0069417b55c99166aec5489ccef803eba25d2b4f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136842 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146741 Tested-by: Jenkins
2023-02-06Make LOKClipboard available to other modulesSzymon Kłos
LOKClipboard has higher level dependencies (sfx2) so it cannot be moved to the vcl where SystemClibpoard instance is created. - introduce new interface LokClipboard to differentiate from SystemClipboard so we can have vcl's and lok's implementations at the same time - publish LOKClipboard using new interface for other modules by adding component file in desktop module Thanks to that when code calls GetClipboard and we cannot get clipboard assigned to the vcl::Window* (for welded widgets) in GetSystemClipboard correct instance is returned (shared clipboard for current view) so we can access content which was copied before. Previously always a new instance was created (with empty content). test ScTiledRenderingTest::testPasteIntoWrapTextCell was broken add some content to clipboard to simulate more real case and test the content copied Change-Id: I23c0298960a710c498646493f33122b908864cba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126310 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131644 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135198 Tested-by: Jenkins
2023-02-02capture output of package command and add to log on errorChristian Lohmaier
creating packages failed here and the logs aren't all that helpful without the output of the command that failed. Reason it failed was that macOS thought that a volume with the same name was already mounted (but that didn't show up in Finder). With the output of the command easy to solve by just rebooting to fix that bogus state, but with only "command failed" you question what is different about that specific language, why would packaging that single language fail, … Change-Id: I1f46263f9ec9c9374da5afaa58f6c9939b6a1488 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145239 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2023-01-27Remove support for AIXStephan Bergmann
As discussed in the mailing list thread starting at <https://lists.freedesktop.org/archives/libreoffice/2023-January/089808.html> "Plan to remove dead C++ UNO bridge implementations (bridges/source/cpp_uno/*)", the bridge implementation at bridges/source/cpp_uno/gcc3_aix_powerpc is apparently dead and should thus be removed. However, that was the only bridge implementation for AIX, which implies that support for the AIX platform as a whole is dead and should thus be removed. Change-Id: I96de3f7f97d4fd770ff78256f0ea435383688be9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146057 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-26no need for sd::ModuleController to load these factories via UNONoel Grandin
Change-Id: I2ac1d29ff9cbd5c8676dc1957a62ea02454d052e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146122 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-24[API CHANGE] remove service sd::framework::ModuleControllerNoel Grandin
It makes no sense to be constructed externally. Change-Id: I7e756e225e7b6e1785194b2f73edd5a7d65ec0e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146056 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-24[API CHANGE] remove service sd::framework::ConfigurationControllerNoel Grandin
It makes no sense to be constructed externally. Change-Id: I6fb8f58ff8594c58d190f78e6f26b2703046a95b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146001 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-23[API CHANGE] sd::frame::Configuration does not need to be an UNO serviceNoel Grandin
It does not ever appear to have been used as such, and it makes no sense to be constructed externally. Change-Id: Ia1a0cccdaeb19ded1197ad8aae701ac86dd3bb48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145989 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-20[API CHANGE] remove unused SlideSorterServiceNoel Grandin
which was introduced in commit 8c4d7aa42dd4b3b08c3b4a9e4ba772737b7bd0c4 Author: Kurt Zenker <kz@openoffice.org> Date: Thu Apr 3 13:42:43 2008 +0000 INTEGRATION: CWS presenterview (1.1.2); FILE ADDED but does not appear to have ever been actually used. Change-Id: Icd33f81cfee246fe72a4b9e584f7a6ca96d6e38b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145907 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-20[API CHANGE] PresenterTextView UNO service is deadNoel Grandin
Nothing constructs it, and it looks like it was never fully hooked up, various bits of it have been removed, starting with commit a38cbc58bbe3b385830a5287ea272e28a8ae3652 Author: Felix Zhang <fezhang@suse.com> Date: Mon Oct 24 17:50:01 2011 +0800 remove unused methods from sdext:presenter Change-Id: I61080fa589ab6b886b841d7be5eed892c4bd829a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145898 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-20[API CHANGE] no need to load PresentationFactoryProvider via UNO and/or configNoel Grandin
there is no benefit to having this constructed in such a convoluted manner Change-Id: Ib02b4bfe689326784bd8233003d10960700811d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145778 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-14ooo_vba_VBAToOOEventDesc_get_implementation appears twiceCaolán McNamara
Change-Id: Ic11d112b92d0942a4246e80e4da8ca1065fd12c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145521 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-14com_sun_star_comp_chart2_ChartDocumentWrapper_get_implementation appears twiceCaolán McNamara
Change-Id: If413be43e68af71ce4f2d1f8e43e4c0d0a5bdc2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145520 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-21tdf#140215 Simplify the handling of .ulf filesIlmari Lauhakangas
Now the headings in the ulf files for .desktop files are in the form [filename_Key] Gallery names are also adjusted to fit the new scheme, where there is no longer a need to pass a --key argument to desktop-translate.py Sync comments with .desktop files and the remaining .ulf and remove obsolete Mandriva Linux meta data while at it. Script to mass-replace relevant names in translations will be provided to infra. Change-Id: I87e8028aa5b66f5f5560efa62ddd9b1e5b61c49c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138455 Tested-by: Jenkins Reviewed-by: Sophie Gautier <sophi@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>