diff --git a/Dockerfile.agnos b/Dockerfile.agnos index 2830ddc..e94dbc5 100644 --- a/Dockerfile.agnos +++ b/Dockerfile.agnos @@ -35,6 +35,7 @@ RUN mkdir -p /tmp/agnos/graphics && \ patchelf --rename-dynamic-symbols /tmp/agnos/graphics-symbols.map \ --remove-needed libwayland-client.so.0 --remove-needed libwayland-server.so.0 \ --remove-needed libwayland-egl.so.1 --remove-needed libffi.so.6 \ + --remove-needed libpcre.so.1 \ --add-needed libagnos-wayland-stubs.so "$lib" || exit 1; \ done @@ -85,6 +86,9 @@ RUN apt-get update && \ libmm-glib0 \ libpolkit-gobject-1-0 \ libsystemd0 \ + android-liblog \ + libjson-c5 \ + patchelf \ polkitd && \ test ! -e /lib/systemd/system/ModemManager.service @@ -115,6 +119,15 @@ RUN --mount=type=bind,source=userspace/root,target=/tmp/agnos/root \ set -o pipefail && \ tar -C /tmp/agnos/root --owner=0 --group=0 --mode=go-w -cf - . | tar -C / --no-overwrite-dir -xf - COPY ./userspace/root/home/$USERNAME/.config/ /root/.config + +# These vendor libraries retain unused PCRE dependencies from their original GLib build. +RUN cd /usr/lib/aarch64-linux-gnu && \ + for lib in libdiag.so.1 libconfigdb.so.0 libqmi_cci.so.1 libxml.so.0 libqmi_client_qmux.so.1 libdsutils.so.1; do \ + patchelf --remove-needed libpcre.so.1 "$lib" || exit 1; \ + done && \ + patchelf --replace-needed libjson-c.so.2 libjson-c.so.5 /usr/bin/pdmappersvc && \ + apt-get purge -y patchelf + RUN chown -R $USERNAME: /home/$USERNAME RUN touch -r /lib/systemd/systemd /etc/fstab diff --git a/userspace/.gitattributes b/userspace/.gitattributes index 52ad73d..66127ce 100644 --- a/userspace/.gitattributes +++ b/userspace/.gitattributes @@ -6,7 +6,6 @@ root/usr/comma/updater filter=lfs diff=lfs merge=lfs -text graphics/libgbm.so filter=lfs diff=lfs merge=lfs -text root/usr/lib/aarch64-linux-gnu/libEGL_adreno.so filter=lfs diff=lfs merge=lfs -text root/usr/lib/aarch64-linux-gnu/libGLESv2_adreno.so filter=lfs diff=lfs merge=lfs -text -root/usr/lib/aarch64-linux-gnu/libpcre.so.1 filter=lfs diff=lfs merge=lfs -text root/usr/lib/aarch64-linux-gnu/libdiag.so.1 filter=lfs diff=lfs merge=lfs -text root/usr/lib/aarch64-linux-gnu/libqmiservices.so.1 filter=lfs diff=lfs merge=lfs -text root/usr/sbin/cnss_daemon filter=lfs diff=lfs merge=lfs -text diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libjson-c.so.2 b/userspace/root/usr/lib/aarch64-linux-gnu/libjson-c.so.2 deleted file mode 100644 index 2733adc..0000000 Binary files a/userspace/root/usr/lib/aarch64-linux-gnu/libjson-c.so.2 and /dev/null differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 deleted file mode 100755 index fce8364..0000000 Binary files a/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 and /dev/null differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 new file mode 120000 index 0000000..7c7d801 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 @@ -0,0 +1 @@ +android/liblog.so.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1 deleted file mode 100755 index a39dfb9..0000000 --- a/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c8a7c325c7abd144236284e3d60420961c1d76da1bf348f42620926bdb043145 -size 247648 diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0 deleted file mode 100755 index d62d1f8..0000000 Binary files a/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0 and /dev/null differ