Age | Commit message (Collapse) | Author |
|
...and update to latest Mozilla sources.
Originally, this was a non-external onlineupdate module (plus correspsonding
top-level include/onlineupdate/ directory) that apparently contained sources
originally copied from Mozilla and subsequently modified in-place (plus, mixed
in, presumably some sources that were not copied from Mozilla but were our own
inventions). To clean up this mess, this has been turned into a proper
external/onlineupdate module with a tarball containing the pristine external
Mozilla sources.
The sources for the onlineupdate-c003be8b9727672e7d30972983b375f4c200233f.tar.xz
tarball are taken, somewhat arbitrarily, from a recent
<https://github.com/mozilla/gecko-dev/commit/c003be8b9727672e7d30972983b375f4c200233f>
("Bug 1867784 - Force reflow all kids in the last column balancing reflow.
r=layout-reviewers,dholbert") trunk state, by running
`external/onlineupdate/generate-sources.sh ~/github.com/mozilla/gecko-dev` on a
Fedora 39 machine.
The layout of the tarball still mostly follows the old onlineupdate/ layout,
even if that deviates heavily from the actual source layout at
<https://github.com/mozilla/gecko-dev/>. (And some files, which apparently are
not needed, anyway, lacked sources, see the "Missing source for" in
external/onlineupdate/generate-sources.sh. And win_dirent.h/.cpp has meanwhile
been superseded by updateutils_win.h/.cpp.) Merely newly included source files
are laid out in the tarball according to the actual source layout.
Any LO-specific modifications are made via patch files (rather than modifying
the sources inline, as was done in the past): external/onlineupdate/lo.patch
contains whatever modifications are needed to adapt the functionality, while
external/onlineupdate/gtk3deprecated.patch fixes
> workdir/UnpackedTarball/onlineupdate/onlineupdate/source/update/updater/progressui_gtk.cpp:97:21: error: use of undeclared identifier 'gtk_vbox_new'; did you mean 'gtk_box_new'?
> 97 | GtkWidget* vbox = gtk_vbox_new(TRUE, 6);
> | ^~~~~~~~~~~~
> | gtk_box_new
to not use the deprecated gtk_vbox_new, which is hidden because we include
-DGTK_DISABLE_DEPRECATED in our GTK3_CFLAGS as per our configure.ac.
On Windows, the definition of __BYTE_ORDER__ etc. is needed because
workdir/UnpackedTarball/onlineupdate/include/mozilla/ says "Our supported
compilers provide architecture-independent macros for this", but MSVC doesn't
actually, so define here what would implicitly be defined by GCC. Similarly, on
Windows -U_WIN32_WINNT is needed to undo -D_WIN32_WINNT=0x0601 in
solenv/gbuild/platform/windows.mk, which would cause
> workdir\UnpackedTarball\onlineupdate\include\mozilla/WinHeaderOnlyUtils.h(537): error C2065: 'FILE_ID_INFO': undeclared identifier
etc., despite the #include <windws.h> there.
Curiously, the original gb_CustomTarget_CustomTarget,onlineupdate/generated from
onlineupdate/CustomTarget_generated.mk had to be renamed to
gb_CustomTarget_CustomTarget,external/onlineupdate/generated when the file was
moved to external/onlineupdate/CustomTarget_generated.mk, as otherwise a
top-level `make CustomTarget_onlineupdate/generated` would have failed with "No
rule to make target..." Also, as there is no gb_CustomTarget_use_unpacked, its
effect has been poorly mimicked for now in
external/onlineupdate/CustomTarget_generated.mk.
Similarly, as there is no gb_WinResTarget_use_unpacked, its effect has been
poorly mimicked for now in external/onlineupdate/WinResTarget_updater.mk.
The original onlineupdate/workben/test_dialog.cxx, which is actually code
written by us, has been moved to external/onlineupdate/workben/test_dialog.cxx.
The original onlineupdate/qa/ sources (which were apparently not used during the
build) have been preserved for now as external/onlineupdate/qa/, for
documentation purposes.
The original onlineupdate/astyle.options (which was apparently not used during
the build) has been removed.
Change-Id: I5ea606202e7837269e7b128e45af2f0b8c277f9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160492
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
The code had apparently rotten a bit,
* a wchar_t vs. char16_t confusion in desktop/source/app/updater.cxx
* code broken by 926e4e469d0285ee72f8da80f00370b4b3120417 "Rename online updater
functions and strcmp relpath" in
onlineupdate/source/update/updater/updater.cxx
* -DUNICODE missing in some places (so that plain Windows functions resolve to
the ...W variant), which had been set centrally in the past IIRC
* silencing some warnings like "C4267: 'initializing': conversion from 'size_t'
to 'int', possible loss of data" (where silencing is the right thing to do for
effectively extern code); no sure why those apparently didn't hit in the past,
maybe it is all warnings that compilers only started to emit in recent years,
or only for recent -std:c++... modes
* silencing some "Conversion from string literal loses const qualifier" errors
with -Zc:strictStrings-; these hit at least with recent VS 2022 Preview and
--with-latest-c++, where -Zc:strictStrings is apparently now on by default
Change-Id: I7fe46f5aa2b42fc9c03f24f7f0236512b4d3b936
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Change-Id: Ie838cabfecfef7e3225c1555536d5c9cf3b43f15
Reviewed-on: https://gerrit.libreoffice.org/77405
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Building against libstdc++ effectively always requires -pthread anyway (as
various standard C++ headers require it, see the comment added to
solenv/gbuild/platform/unxgcc.mk), so many explicit uses of -pthread/-lpthread
can be removed.
Doing a (partial) test build on Linux with Clang -stdlib=libc++ suggests that
libc++ indeed doesn't need -pthread as libstdc++ does.
The remaining uses of -pthread/-lpthread are mostly in configure.ac for the
various BSDs (which somebody else might want to clean up now), and related to
external projects. I tried to be careful to remove -pthread/-lpthread from
makefiles only when C++ object files are involved (so -pthread will now be
included on the link command line by default).
Change-Id: I936e082839cb9a434bd273ce5a1f187a4245dfa1
Reviewed-on: https://gerrit.libreoffice.org/71291
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
The code is using expicit (mostly W) Windows API, and is independent
from the macro. Removing it here allows to catch places where some
UNICODE-dependent macro is used unintentionally.
Change-Id: I5dff40aecfc3c3dc7fc4cf7271a995a675943a45
Reviewed-on: https://gerrit.libreoffice.org/70237
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I3e7edb5319ab2e2ec316204b917a7e29c1791b5b
|
|
Change-Id: I795cbd8634a3afe219db033ce40f833af0eee44a
|
|
Change-Id: I1a499f57d01ee28afdb2c4f85dc976f2e6837dfd
Reviewed-on: https://gerrit.libreoffice.org/40837
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
The updater itself does not link to NSS on Windows and instead uses the
Windows-internal crypto libraries. However the mar executable needs to
link against NSS, so we need to split the code a bit.
Change-Id: Iea61c716aa507a876fdb444eb28ad828bdea18bd
Reviewed-on: https://gerrit.libreoffice.org/40608
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
Change-Id: I30186f76302e7666c833933b059931e8b1b7b78c
|
|
Change-Id: I80e80708346aa2850b2964c566ebc6423837a9cd
|
|
We again need to use a static lib to prevent the file is in use problem
during the update.
Change-Id: I22d00ea2ab46949d32cdaae85c799896d6e0468f
|
|
Change-Id: I998355e0c4fb97a5b513be0072bced2a611c9928
|
|
Change-Id: I422eed712da76a90f49b9d9cd5d6155fa394c223
|
|
Change-Id: I489aa2877ff23b556ab587a0fae5125de3b76d21
|
|
Change-Id: I4bfa678b6a028a91a63b79a24f6db3a3644d086a
|
|
Change-Id: Iecb4328e4c665f7dd24fa7c6a66c3328942fb196
|
|
Converted libmar into static library and removed duplicate code.
Change-Id: I51c58ae9a6a1f1128422b4a79491d0cd62e6ced6
Reviewed-on: https://gerrit.libreoffice.org/23312
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
|
|
The option /Zc:wchar_t- prevented to use wchar_t as a built-in type
according to the C++ standard. In Visual C++ 6.0 and earlier, wchar_t
was not implemented as a built-in type, but was declared in wchar.h as
a typedef for unsigned short. Now, years later after the end of life
this outdated toolchain, there is no reason not to use native type.
The only issue could be the ABI compatibility. But on a quick look at
least, it looks like none of the mangled C++ symbols in the stable URE
interface actually depend on wchar_t.
We forgot to get rid of /Zc:wchar_t- in 5.1. Do that for LibreOffice
5.2, though.
Change-Id: I8d6b380660859efa44c83c830734978d31d756a0
Reviewed-on: https://gerrit.libreoffice.org/22589
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Unfortunately needs more work, I've pushed it too early...
This reverts commit e60506acc53098b4b479d565048c316562657cec.
|
|
Converted libmar into static library and removed duplicated code
Change-Id: I6a6c8ce24103a400e1835ccf7e6421024f5cec4b
Reviewed-on: https://gerrit.libreoffice.org/23179
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
|
|
Change-Id: Ib19a5651f7e30108e8fbcdc6f7924c47cbeb4434
|
|
Using both GTK2 and GTK3 sounds like a recipe for disaster, so use gtk2
for now (since we get numerous deprecation warnings with gtk3).
Change-Id: I32a27c3620503b6c5d7d81510137bfddc5abb05c
|
|
Change-Id: I397566ae2488799399cad361b24a281d3599cc5b
|
|
Works with the non-system bzip2; the --with-system case might still need some
love - but then again, distros want to have the online update switched off
anyway...
Change-Id: I26a27aec07a8f1aac22a4d14a38fb5b833550ea7
|
|
Change-Id: Id7547390c49c0bcf672eb1a9863fc236518bfa49
|
|
This will enable the mar-based online update instead of the 'traditional' one.
At the moment, this does not build, as libbz2 was not packaged as an external
library yet.
Change-Id: I1ad7d9adf7a12a427786682ad932597eb2319256
|
|
Change-Id: I033f114d29cd020b6dba5a74257d3f577dd73ea7
|