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:
parent
01a5bfa45c
commit
38f8c92a28
|
|
@ -1,2 +1,2 @@
|
||||||
1680
|
1681
|
||||||
Changed: lushnikov@chromium.org Tue Jul 12 00:36:09 MSK 2022
|
Changed: lushnikov@chromium.org Tue Jul 12 14:07:22 MSK 2022
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,9 @@ if ! [[ -d $(dirname "$ZIP_PATH") ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IS_UNIVERSAL=""
|
IS_UNIVERSAL_BUILD=""
|
||||||
if [[ $2 == "--universal" ]]; then
|
if [[ $2 == "--universal" ]]; then
|
||||||
IS_UNIVERSAL=1
|
IS_UNIVERSAL_BUILD=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
|
@ -67,7 +67,7 @@ createZipForLinux() {
|
||||||
|
|
||||||
# Generate and unpack MiniBrowser bundles for each port
|
# Generate and unpack MiniBrowser bundles for each port
|
||||||
for port in gtk wpe; do
|
for port in gtk wpe; do
|
||||||
if [[ -n "${IS_UNIVERSAL}" ]]; then
|
if [[ -n "${IS_UNIVERSAL_BUILD}" ]]; then
|
||||||
Tools/Scripts/generate-bundle \
|
Tools/Scripts/generate-bundle \
|
||||||
--syslibs=bundle-all \
|
--syslibs=bundle-all \
|
||||||
--bundle=MiniBrowser --release \
|
--bundle=MiniBrowser --release \
|
||||||
|
|
@ -85,16 +85,14 @@ createZipForLinux() {
|
||||||
|
|
||||||
cd "$tmpdir"
|
cd "$tmpdir"
|
||||||
|
|
||||||
# De-duplicate common files: convert to relative symlinks identical files (same hash).
|
if [[ -n "${IS_UNIVERSAL_BUILD}" ]]; then
|
||||||
# Note: ubuntu 18.04 does not support "deterministic" argument.
|
# De-duplicate common files: convert to relative symlinks identical files (same hash).
|
||||||
local CURRENT_HOST_OS="$(bash -c 'source /etc/os-release && echo $NAME')"
|
# We apply this algorithm only to unified build since in JHBuild WPE/Minibrowser
|
||||||
local CURRENT_HOST_OS_VERSION="$(bash -c 'source /etc/os-release && echo $VERSION_ID')"
|
# and GTK/Minibrowser executables are identical and should not be symlinked.
|
||||||
if [[ "${CURRENT_HOST_OS}" == "Ubuntu" && "${CURRENT_HOST_OS_VERSION}" == "18.04" ]]; then
|
|
||||||
rdfind -makesymlinks true -makehardlinks false -makeresultsfile false .
|
|
||||||
else
|
|
||||||
rdfind -deterministic true -makesymlinks true -makehardlinks false -makeresultsfile false .
|
rdfind -deterministic true -makesymlinks true -makehardlinks false -makeresultsfile false .
|
||||||
|
symlinks -rc .
|
||||||
fi
|
fi
|
||||||
symlinks -rc .
|
|
||||||
# zip resulting directory and cleanup TMP.
|
# zip resulting directory and cleanup TMP.
|
||||||
zip --symlinks -r "$ZIP_PATH" ./
|
zip --symlinks -r "$ZIP_PATH" ./
|
||||||
cd -
|
cd -
|
||||||
|
|
|
||||||
|
|
@ -66,13 +66,12 @@ build_wpe() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ensure_linux_deps() {
|
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
|
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
|
fi
|
||||||
|
|
||||||
yes | DEBIAN_FRONTEND=noninteractive ./Tools/gtk/install-dependencies
|
yes | DEBIAN_FRONTEND=noninteractive ./Tools/gtk/install-dependencies
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue