feat: update libqmi, add lpac (#472)

* feat: update libqmi, add lpac

* eof
This commit is contained in:
Trey Moen
2025-05-20 14:43:41 -07:00
committed by GitHub
parent 29aa74601e
commit f396d0eb1e
4 changed files with 73 additions and 34 deletions
+19 -4
View File
@@ -33,12 +33,24 @@ COPY ./userspace/compile-ffmpeg.sh /tmp/agnos/
RUN --mount=type=cache,target=/root/.ccache,id=ffmpeg,sharing=shared \
/tmp/agnos/compile-ffmpeg.sh
# libqmi
FROM agnos-compiler AS agnos-compiler-libqmi
COPY ./userspace/compile-libqmi.sh /tmp/agnos/
RUN --mount=type=cache,target=/root/.ccache,id=libqmi,sharing=shared \
/tmp/agnos/compile-libqmi.sh
# ModemManager
FROM agnos-compiler AS agnos-compiler-modemmanager
FROM agnos-compiler-libqmi AS agnos-compiler-modemmanager
COPY ./userspace/compile-modemmanager.sh /tmp/agnos/
RUN --mount=type=cache,target=/root/.ccache,id=modemmanager,sharing=shared \
/tmp/agnos/compile-modemmanager.sh
# lpac
FROM agnos-compiler-libqmi AS agnos-compiler-lpac
COPY ./userspace/compile-lpac.sh /tmp/agnos/
RUN --mount=type=cache,target=/root/.ccache,id=lpac,sharing=shared \
/tmp/agnos/compile-lpac.sh
# qtwayland5
FROM agnos-compiler AS agnos-compiler-qtwayland5
COPY ./userspace/qtwayland/*.deb /tmp/agnos/
@@ -96,8 +108,10 @@ COPY ./userspace/hardware_setup.sh /tmp/agnos
RUN /tmp/agnos/hardware_setup.sh
RUN mv /data/persist /system/ && rm -rf /data/*
# Pre-compiled libqmi and modemmanager
COPY --from=agnos-compiler-modemmanager /tmp/libqmi.deb /tmp/modemmanager.deb /tmp/
COPY --from=agnos-compiler-libqmi /tmp/libqmi.deb /tmp/
COPY --from=agnos-compiler-modemmanager /tmp/modemmanager.deb /tmp/
COPY --from=agnos-compiler-lpac /tmp/lpac.deb /tmp/
RUN cd /tmp && \
apt-get update && \
apt-get install -yq --no-install-recommends \
@@ -116,7 +130,8 @@ RUN cd /tmp && \
polkitd-pkla \
mobile-broadband-provider-info && \
apt-get -o Dpkg::Options::="--force-overwrite" install -yq ./libqmi.deb && \
apt-get -o Dpkg::Options::="--force-overwrite" install -yq ./modemmanager.deb
apt-get -o Dpkg::Options::="--force-overwrite" install -yq ./modemmanager.deb && \
apt-get -o Dpkg::Options::="--force-overwrite" install -yq ./lpac.deb
# Pre-compiled capnp (must be before python install)
COPY --from=agnos-compiler-capnp /tmp/capnproto.deb /tmp/capnproto.deb
+31
View File
@@ -0,0 +1,31 @@
#!/bin/bash
set -e
LIBQMI_VERSION="1.36.0"
cd /tmp
# meson support for checkinstall
git clone https://github.com/keithbowes/meson-install.git
apt-get update && apt-get install -yq --no-install-recommends \
bash-completion \
gobject-introspection \
gtk-doc-tools \
help2man \
libgirepository1.0-dev \
libglib2.0-dev \
libgudev-1.0-dev \
meson \
ninja-build \
git clone -b $LIBQMI_VERSION --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
cd libqmi
meson setup build --prefix=/usr --libdir=/usr/lib/aarch64-linux-gnu -Dmbim_qmux=false -Dqrtr=false
ninja -C build
cd build
checkinstall -yD --install=no --fstrans=no --pkgname=libqmi /tmp/meson-install/meson-install
mv libqmi*.deb /tmp/libqmi.deb
apt-get -o Dpkg::Options::="--force-overwrite" install -yq /tmp/libqmi.deb
+23
View File
@@ -0,0 +1,23 @@
#!/bin/bash
set -e
LPAC_VERSION="v2.2.1"
cd /tmp
git clone -b $LPAC_VERSION --depth 1 https://github.com/estkme-group/lpac.git
cd lpac
apt-get update && apt-get install -yq --no-install-recommends cmake
./scripts/setup-debian.sh
cmake \
-DLPAC_WITH_APDU_QMI=ON \
-DLPAC_WITH_APDU_PCSC=OFF \
-DCPACK_GENERATOR=DEB .
make -j package
mv lpac*.deb /tmp/lpac.deb
-30
View File
@@ -2,37 +2,9 @@
set -e
MM_VERSION="1.22.0"
LIBQMI_VERSION="1.34.0"
cd /tmp
# meson support for checkinstall
git clone https://github.com/keithbowes/meson-install.git
# libqmi
apt-get update && apt-get install -yq --no-install-recommends \
bash-completion \
gobject-introspection \
gtk-doc-tools \
help2man \
libgirepository1.0-dev \
libglib2.0-dev \
libgudev-1.0-dev \
meson \
ninja-build \
git clone -b $LIBQMI_VERSION --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
cd libqmi
meson setup build --prefix=/usr --libdir=/usr/lib/aarch64-linux-gnu -Dmbim_qmux=false -Dqrtr=false
ninja -C build
cd build
checkinstall -yD --install=no --fstrans=no --pkgname=libqmi /tmp/meson-install/meson-install
mv libqmi*.deb /tmp/libqmi.deb
# ModemManager
cd /tmp
git clone -b $MM_VERSION --depth 1 https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git
apt-get install -y --no-install-recommends \
@@ -43,8 +15,6 @@ apt-get install -y --no-install-recommends \
libsystemd-dev \
udev
apt-get -o Dpkg::Options::="--force-overwrite" install -yq /tmp/libqmi.deb
cd ModemManager
meson setup build \
--prefix=/usr \