Skip to content

Commit

Permalink
Don't conflict with Debian's -dev libs
Browse files Browse the repository at this point in the history
It's literally the same as done here torizon/imx-gpu-viv-deb#7

Signed-off-by: Leonardo Held <[email protected]>
  • Loading branch information
leonheldattoradex committed Feb 7, 2025
1 parent c01aeac commit 48240bb
Show file tree
Hide file tree
Showing 9 changed files with 249 additions and 78 deletions.
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
imx-gpu-mali (50-1+toradex2) bookworm; urgency=medium

* Don't conflict with Debian's -dev mesa packages

-- Leonardo Held <[email protected]> Fri, 07 Feb 2025 12:30:36 -0300

imx-gpu-mali (50-1+toradex1) bookworm; urgency=medium

* Initial packaging
Expand Down
1 change: 0 additions & 1 deletion debian/compat

This file was deleted.

100 changes: 29 additions & 71 deletions debian/control
Original file line number Diff line number Diff line change
@@ -1,100 +1,58 @@
Source: imx-gpu-mali
Priority: optional
Maintainer: Toradex Packaging Team <[email protected]>
Build-Depends:
ca-certificates,
debhelper,
libx11-6,
libxfixes3,
libxdamage1,
libxext6,
Build-Depends: ca-certificates,
debhelper-compat (= 13),
libdrm-common,
libdrm2,
libwayland-server0,
libwayland-client0,
libwayland-cursor0,
libwayland-egl1,
libdrm-common,
libwayland-server0,
libx11-6,
libx11-data,
libxau6,
libxcb1,
libxdamage1,
libxdmcp6,
libxext6,
libxfixes3,
wget
Standards-Version: 4.1.4
Standards-Version: 4.7.0
Section: libs

Package: imx-gpu-mali
Section: libs
Architecture: arm64
Provides:
libegl1,
libgbm1 (=22.2.0-1),
libgl1,
libgles1,
libgles2,
ocl-icd-libopencl1,
libopencl-1.2-1
Conflicts:
libegl1,
Architecture: any
Multi-Arch: same
Provides: libegl1 (= 1.6.0-1),
libgbm1 (= 22.3.6-1+deb12u1),
libgles1 (= 1.6.0-1),
libgles2 (= 1.6.0-1),
libopencl-1.2-1,
ocl-icd-libopencl1
Conflicts: libegl1,
libgbm1,
libgl1,
libgles1,
libgles2,
ocl-icd-libopencl1,
libopencl-1.2-1
Replaces:
libegl1,
libopencl-1.2-1,
ocl-icd-libopencl1
Replaces: libegl1,
libgbm1,
libgl1,
libgles1,
libgles2,
ocl-icd-libopencl1,
libopencl-1.2-1
Depends: ${shlibs:Depends}, ${misc:Depends}
libopencl-1.2-1,
ocl-icd-libopencl1
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Mali Wayland binaries
Mali Userspace Graphics libraries for wayland.

Package: imx-gpu-mali-dev
Section: libdevel
Architecture: arm64
Depends: imx-gpu-mali, libdrm-dev
Provides:
libegl-dev,
libgbm-dev,
libgl-dev,
libgles-dev,
libglx-dev,
ocl-icd-opencl-dev,
opencl-c-headers,
opencl-clhpp-headers,
libgl1-mesa-dev,
libgles1-mesa-dev,
libgles2-mesa-dev,
libegl1-mesa-dev
Conflicts:
libegl-dev,
libgbm-dev,
libgl-dev,
libgles-dev,
libglx-dev,
ocl-icd-opencl-dev,
opencl-c-headers,
opencl-clhpp-headers,
libgl1-mesa-dev,
libgles1-mesa-dev,
libgles2-mesa-dev,
libegl1-mesa-dev
Replaces:
libegl-dev,
libgbm-dev,
libgl-dev,
libgles-dev,
libglx-dev,
ocl-icd-opencl-dev,
opencl-c-headers,
opencl-clhpp-headers,
libgl1-mesa-dev,
libgles1-mesa-dev,
libgles2-mesa-dev,
libegl1-mesa-dev
Architecture: any
Multi-Arch: same
Depends: imx-gpu-mali (= ${binary:Version}),
libdrm-dev,
${misc:Depends}
Description: Development files for imx-gpu-mali
Mali development files for wayland.
7 changes: 7 additions & 0 deletions debian/extra_files/mali_icd.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"file_format_version": "1.0.0",
"ICD": {
"library_path": "/usr/lib/libmali.so",
"api_version": "1.3.239"
}
}
55 changes: 55 additions & 0 deletions debian/imx-gpu-mali-dev.postrm
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/sh
# postrm script for #PACKAGE#.
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <postrm> 'remove'
# * <postrm> 'purge'
# * <old-postrm> 'upgrade' <new-version>
# * <new-postrm> 'failed-upgrade' <old-version>
# * <new-postrm> 'abort-install'
# * <new-postrm> 'abort-install' <old-version>
# * <new-postrm> 'abort-upgrade' <old-version>
# * <disappearer's-postrm> 'disappear' <overwriter>
# <overwriter-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.

files_to_divert="EGL/eglplatform.h \
EGL/egl.h \
gbm.h \
GLES/glext.h \
GLES/egl.h \
GLES/gl.h \
GLES/glplatform.h \
GLES2/gl2ext.h \
GLES2/gl2platform.h \
GLES2/gl2.h \
KHR/khrplatform.h"

case "$1" in
remove|abort-install|disappear)
for file in $files_to_divert; do
dpkg-divert --rename --package imx-gpu-mali-dev \
--remove /usr/include/$file
done
;;

purge|upgrade|failed-upgrade|abort-upgrade)
;;

*)
echo "postrm called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
51 changes: 51 additions & 0 deletions debian/imx-gpu-mali-dev.preinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/sh
# preinst script for #PACKAGE#.
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <new-preinst> 'install'
# * <new-preinst> 'install' <old-version>
# * <new-preinst> 'upgrade' <old-version>
# * <old-preinst> 'abort-upgrade' <new-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.

files_to_divert="EGL/eglplatform.h \
EGL/egl.h \
gbm.h \
GLES/glext.h \
GLES/egl.h \
GLES/gl.h \
GLES/glplatform.h \
GLES2/gl2ext.h \
GLES2/gl2platform.h \
GLES2/gl2.h \
KHR/khrplatform.h"

case "$1" in
install|upgrade)
for file in $files_to_divert; do
dpkg-divert --rename --package imx-gpu-mali-dev \
--divert /usr/include/$file.debian \
--add /usr/include/$file
done
;;

abort-upgrade)
;;

*)
echo "preinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
49 changes: 49 additions & 0 deletions debian/imx-gpu-mali.postrm
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/bin/sh
# postrm script for #PACKAGE#.
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <postrm> 'remove'
# * <postrm> 'purge'
# * <old-postrm> 'upgrade' <new-version>
# * <new-postrm> 'failed-upgrade' <old-version>
# * <new-postrm> 'abort-install'
# * <new-postrm> 'abort-install' <old-version>
# * <new-postrm> 'abort-upgrade' <old-version>
# * <disappearer's-postrm> 'disappear' <overwriter>
# <overwriter-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.

files_to_divert="libEGL.so \
libgbm.so \
libGLESv1_CM.so \
libGLESv2.so \
libOpenCL.so"

case "$1" in
remove|abort-install|disappear)
for file in $files_to_divert; do
dpkg-divert --rename --package imx-gpu-mali \
--remove /usr/lib/#DEB_HOST_MULTIARCH#/$file
done
;;

purge|upgrade|failed-upgrade|abort-upgrade)
;;

*)
echo "postrm called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
45 changes: 45 additions & 0 deletions debian/imx-gpu-mali.preinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/sh
# preinst script for #PACKAGE#.
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <new-preinst> 'install'
# * <new-preinst> 'install' <old-version>
# * <new-preinst> 'upgrade' <old-version>
# * <old-preinst> 'abort-upgrade' <new-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.

files_to_divert="libEGL.so \
libgbm.so \
libGLESv1_CM.so \
libGLESv2.so \
libOpenCL.so"

case "$1" in
install|upgrade)
for file in $files_to_divert; do
dpkg-divert --rename --package imx-gpu-mali \
--divert /usr/lib/#DEB_HOST_MULTIARCH#/$file.debian \
--add /usr/lib/#DEB_HOST_MULTIARCH#/$file
done
;;

abort-upgrade)
;;

*)
echo "preinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
13 changes: 7 additions & 6 deletions debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_OPTIONS=noautodbgsym

FILENAME="mali-imx-r50.0-39604c3"
URL="https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FILENAME).bin"

LIBVULKAN_VERSION=1.2.1
LIBVULKAN_VERSION_MAJOR=1
LIBVULKAN_API_VERSION=1.3.239

%:
dh $@
Expand All @@ -21,8 +21,9 @@ override_dh_auto_configure:
mv $(FILENAME)/* .
rm -rf $(FILENAME)

override_dh_strip_nondeterminism:

override_dh_strip:
execute_before_dh_install:
sed -e "s|%libdir%|/usr/lib/$(DEB_HOST_GNU_TYPE)|" \
-e "s|%api_version%|$(LIBVULKAN_API_VERSION)|" \
-i `find . -iname mali_icd.json`

# override_dh_makeshlibs:
override_dh_strip_nondeterminism:

0 comments on commit 48240bb

Please sign in to comment.