devops: do not dedupe webkit archives (#15565)

The 2e331715ff introduced
universal webkit build and tried re-using archive deduping technique
across all our regular JHBuild-based builds.

However, this turns out to be too aggressive and doesn't work. At least
on Ubuntu 18.04:
- `minibrowser-gtk/minibrowser` is identical to
  `minibrowser-wpe/minibrowser`
- WPE gets symlinked into GTK
- Thus we now always start headed
This commit is contained in:
Andrey Lushnikov 2022-07-12 04:15:27 -07:00 committed by GitHub
parent 01a5bfa45c
commit 38f8c92a28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 18 deletions

View File

@ -1,2 +1,2 @@
1680
Changed: lushnikov@chromium.org Tue Jul 12 00:36:09 MSK 2022
1681
Changed: lushnikov@chromium.org Tue Jul 12 14:07:22 MSK 2022

View File

@ -28,9 +28,9 @@ if ! [[ -d $(dirname "$ZIP_PATH") ]]; then
exit 1
fi
IS_UNIVERSAL=""
IS_UNIVERSAL_BUILD=""
if [[ $2 == "--universal" ]]; then
IS_UNIVERSAL=1
IS_UNIVERSAL_BUILD=1
fi
main() {
@ -67,7 +67,7 @@ createZipForLinux() {
# Generate and unpack MiniBrowser bundles for each port
for port in gtk wpe; do
if [[ -n "${IS_UNIVERSAL}" ]]; then
if [[ -n "${IS_UNIVERSAL_BUILD}" ]]; then
Tools/Scripts/generate-bundle \
--syslibs=bundle-all \
--bundle=MiniBrowser --release \
@ -85,16 +85,14 @@ createZipForLinux() {
cd "$tmpdir"
# De-duplicate common files: convert to relative symlinks identical files (same hash).
# Note: ubuntu 18.04 does not support "deterministic" argument.
local CURRENT_HOST_OS="$(bash -c 'source /etc/os-release && echo $NAME')"
local CURRENT_HOST_OS_VERSION="$(bash -c 'source /etc/os-release && echo $VERSION_ID')"
if [[ "${CURRENT_HOST_OS}" == "Ubuntu" && "${CURRENT_HOST_OS_VERSION}" == "18.04" ]]; then
rdfind -makesymlinks true -makehardlinks false -makeresultsfile false .
else
if [[ -n "${IS_UNIVERSAL_BUILD}" ]]; then
# De-duplicate common files: convert to relative symlinks identical files (same hash).
# We apply this algorithm only to unified build since in JHBuild WPE/Minibrowser
# and GTK/Minibrowser executables are identical and should not be symlinked.
rdfind -deterministic true -makesymlinks true -makehardlinks false -makeresultsfile false .
symlinks -rc .
fi
symlinks -rc .
# zip resulting directory and cleanup TMP.
zip --symlinks -r "$ZIP_PATH" ./
cd -

View File

@ -66,13 +66,12 @@ build_wpe() {
}
ensure_linux_deps() {
SUDO="" ; [ $UID -ne 0 ] && SUDO="sudo"
# These two packages are needed to de-duplicate files on the GTK+WPE bundle and reduce its size.
DEBIAN_FRONTEND=noninteractive ${SUDO} apt-get install -y symlinks rdfind
if [[ -n "${IS_UNIVERSAL_BUILD}" ]]; then
DEBIAN_FRONTEND=noninteractive ${SUDO} apt-get install -y flatpak
SUDO="" ; [ $UID -ne 0 ] && SUDO="sudo"
# - flatpak drives the build
# - symlinks and rdfind are needed to de-duplicate files on the GTK+WPE bundle to reduce its size.
DEBIAN_FRONTEND=noninteractive ${SUDO} apt-get install -y flatpak symlinks rdfind
fi
yes | DEBIAN_FRONTEND=noninteractive ./Tools/gtk/install-dependencies