[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#916627: marked as done (stretch-pu: package glx-alternatives/0.8.8~deb9u1)



Your message dated Sat, 16 Feb 2019 11:36:33 +0000
with message-id <1550316993.21192.50.camel@adam-barratt.org.uk>
and subject line Closing bugs for updates included in 9.8
has caused the Debian Bug report #916627,
regarding stretch-pu: package glx-alternatives/0.8.8~deb9u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
916627: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916627
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

I'd like to upgrade the non-free nvidia-graphics-drivers package in
stretch to the 390.xx legacy branch. As a prerequisite we need an
updated version of glx-alternatives to support the changed handling of
the libGLX_indirect.so.0 symlink. It also comes with some bugfixes.

The updated package has been in stretch-backports for quite some time
already.

This pu needs to go in together with the new driver version, as it
breaks the older driver version currently in stretch.


Andreas
diff --git a/debian/changelog b/debian/changelog
index d5e1a19..653f3bc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,44 @@
+glx-alternatives (0.8.8~deb9u1) stretch; urgency=medium
+
+  * Rebuild for stretch.
+
+ -- Andreas Beckmann <anbe@debian.org>  Sun, 16 Dec 2018 16:53:20 +0100
+
+glx-alternatives (0.8.8) unstable; urgency=medium
+
+  * glx-diversions: Put all packages that had shared libraries diverted into
+    triggers-awaited state to ensure the triggers in glx-alternative-mesa
+    setting up the glx alternative get processed earlier.  (Closes: #905908)
+  * Bump Standards-Version to 4.2.1. No changes needed.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 05 Sep 2018 12:04:55 +0200
+
+glx-alternatives (0.8.7) unstable; urgency=medium
+
+  * Update validation of the diverted libGL.so symlink.
+
+ -- Andreas Beckmann <anbe@debian.org>  Tue, 31 Jul 2018 17:27:59 +0200
+
+glx-alternatives (0.8.6) unstable; urgency=medium
+
+  * glx-alternative-mesa: libGLX_mesa.so.0 is not diverted and therefore not
+    an indicator to install the alternative.  (Closes: #904486)
+
+ -- Andreas Beckmann <anbe@debian.org>  Thu, 26 Jul 2018 13:55:24 +0200
+
+glx-alternatives (0.8.5) unstable; urgency=medium
+
+  * Avoid confusing diagnostic message if no nvidia alternative is available.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 18 Jul 2018 19:30:23 +0200
+
+glx-alternatives (0.8.4) unstable; urgency=medium
+
+  * Add diversion and alternative for libGLX_indirect.so.0.
+  * Bump Standards-Version to 4.1.5. No changes needed.
+
+ -- Andreas Beckmann <anbe@debian.org>  Mon, 16 Jul 2018 16:26:25 +0200
+
 glx-alternatives (0.8.3~deb9u1) stretch; urgency=medium
 
   * Rebuild for stretch.
diff --git a/debian/control b/debian/control
index 316d36f..d69216a 100644
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@ Uploaders:
 Build-Depends:
  debhelper (>= 9),
 Rules-Requires-Root: no
-Standards-Version: 4.1.3
+Standards-Version: 4.2.1
 Vcs-Browser: https://salsa.debian.org/nvidia-team/glx-alternatives
 Vcs-Git: https://salsa.debian.org/nvidia-team/glx-alternatives.git
 
@@ -60,6 +60,9 @@ Recommends:
  glx-diversions,
 Suggests:
  libgl1-mesa-glx | libgl1,
+Breaks:
+# libGLX_indirect.so.0 alternative
+ nvidia-alternative (<< 390.67-3~),
 Description: allows the selection of MESA as GLX provider
  In setups with several GLX providers (e.g. the free MESA implementation and
  proprietary graphics hardware vendor implementations) this metapackage
@@ -88,7 +91,7 @@ Breaks:
 # does not use the nvidia/bumblebee glx alternative
  bumblebee-nvidia (<< 3.2.1-10~),
 # old-style modprobe configuration snippets
- nvidia-alternative (<< 352.55),
+# nvidia-alternative (<< 352.55),
  nvidia-legacy-340xx-alternative (<< 340.93-2~),
  nvidia-legacy-304xx-alternative (<< 304.132-1~),
 # ancient drivers
@@ -96,6 +99,8 @@ Breaks:
  nvidia-alternative-legacy-173xx (<< 304),
  nvidia-alternative-legacy-96xx (<< 304),
  nvidia-alternative-legacy-71xx (<< 304),
+# libGLX_indirect.so.0 alternative
+ nvidia-alternative (<< 390.67-3~),
 Description: allows the selection of NVIDIA as GLX provider
  In setups with several GLX providers (e.g. the free MESA implementation and
  proprietary graphics hardware vendor implementations) this metapackage
diff --git a/debian/glx-alternative-mesa.postinst b/debian/glx-alternative-mesa.postinst
index 9625595..6c70db7 100644
--- a/debian/glx-alternative-mesa.postinst
+++ b/debian/glx-alternative-mesa.postinst
@@ -26,6 +26,7 @@ add_multiarch_slave()
 	source_dir="$4"
 	source_sub_dir="$5"
 	prefix="$6"
+	srcfile="${7:-$file}"
 
 	for triplet in $TRIPLETS ; do
 		# s|/$||; s|^/|-|;
@@ -34,7 +35,7 @@ add_multiarch_slave()
 		add_slave \
 			"${target_dir}${triplet}${target_sub_dir}${file}" \
 			"${prefix}${file}${suffix}" \
-			"${source_dir}${triplet}${source_sub_dir}${file}"
+			"${source_dir}${triplet}${source_sub_dir}${srcfile}"
 	done
 }
 
@@ -53,9 +54,13 @@ setup_alternatives()
 		$(add_multiarch_slave /usr/lib "" libGLESv1_CM.so.1 /usr/lib/mesa-diverted)
 		$(add_multiarch_slave /usr/lib "" libGLESv2.so.2 /usr/lib/mesa-diverted)
 "
+	slave_indirect=
+	if ! update-alternatives --query nvidia 2>/dev/null | grep -q nvidia--libGLX_indirect.so.0- ; then
+		slave_indirect="$(add_multiarch_slave /usr/lib "" libGLX_indirect.so.0 /usr/lib "" "" libGLX_mesa.so.0)"
+	fi
 
 	if echo "$slaves" | grep -q "slave" ; then
-		update-alternatives --install /usr/lib/glx glx /usr/lib/mesa-diverted 5 $slaves
+		update-alternatives --install /usr/lib/glx glx /usr/lib/mesa-diverted 5 $slaves $slave_indirect
 	else
 		update-alternatives --remove glx /usr/lib/mesa-diverted
 	fi
diff --git a/debian/glx-alternative-mesa.triggers.sh b/debian/glx-alternative-mesa.triggers.sh
index 1fe5fc7..23f1948 100644
--- a/debian/glx-alternative-mesa.triggers.sh
+++ b/debian/glx-alternative-mesa.triggers.sh
@@ -5,8 +5,8 @@ echo "interest-await register-glx-alternative-mesa"
 echo
 
 TRIPLETS="/ /i386-linux-gnu/ /x86_64-linux-gnu/ /arm-linux-gnueabihf/"
-LIBS="libGL.so.1 libEGL.so.1 libGLESv1_CM.so.1 libGLESv2.so.2"
-SOLINKS="libGL.so libEGL.so libGLESv1_CM.so libGLESv2.so"
+LIBS="libGL.so.1 libEGL.so.1 libGLESv1_CM.so.1 libGLESv2.so.2 libGLX_mesa.so.0"
+SOLINKS="libGL.so libEGL.so libGLESv1_CM.so libGLESv2.so libGLX_indirect.so.0"
 
 for lib in $SOLINKS $LIBS
 do
diff --git a/debian/glx-alternative-nvidia.postinst b/debian/glx-alternative-nvidia.postinst
index 59cc916..c5a1034 100644
--- a/debian/glx-alternative-nvidia.postinst
+++ b/debian/glx-alternative-nvidia.postinst
@@ -37,6 +37,7 @@ add_multiarch_slave()
 	source_dir="$4"
 	source_sub_dir="$5"
 	prefix="$6"
+	srcfile="${7:-$file}"
 
 	for triplet in $TRIPLETS ; do
 		# s|/$||; s|^/|-|;
@@ -45,7 +46,7 @@ add_multiarch_slave()
 		add_slave \
 			"${target_dir}${triplet}${target_sub_dir}${file}" \
 			"${prefix}${file}${suffix}" \
-			"${source_dir}${triplet}${source_sub_dir}${file}"
+			"${source_dir}${triplet}${source_sub_dir}${srcfile}"
 	done
 }
 
@@ -92,6 +93,7 @@ setup_alternatives()
 		$(search_multiarch_slave libGL.so.1 nvidia)
 		$(add_multiarch_slave /usr/lib "" libXvMCNVIDIA.so.1 /usr/lib nvidia/)
 		$(add_multiarch_slave /usr/lib "" libXvMCNVIDIA_dynamic.so.1 /usr/lib nvidia/)
+		$(add_multiarch_slave /usr/lib "" libGLX_indirect.so.0 /usr/lib "" "" libGLX_nvidia.so.0)
 "
 	libEGL_nvidia_slaves="
 		$(search_multiarch_slave libEGL.so.1 nvidia)
@@ -100,6 +102,7 @@ setup_alternatives()
 "
 	libGL_mesa_slaves="
 		$(search_multiarch_slave libGL.so.1)
+		$(add_multiarch_slave /usr/lib "" libGLX_indirect.so.0 /usr/lib "" "" libGLX_mesa.so.0)
 "
 	libEGL_mesa_slaves="
 		$(search_multiarch_slave libEGL.so.1)
diff --git a/debian/glx-diversions.postinst b/debian/glx-diversions.postinst
index fb7011c..4f01b07 100644
--- a/debian/glx-diversions.postinst
+++ b/debian/glx-diversions.postinst
@@ -42,6 +42,7 @@ then
 	add_multiarch_diversion libGLESv2.so.2 /usr/lib /usr/lib/mesa-diverted
 	add_multiarch_diversion libGLESv2.so.2.0.0 /usr/lib /usr/lib/mesa-diverted
 	add_multiarch_diversion libGLESv2.so.2.1.0 /usr/lib /usr/lib/mesa-diverted
+	add_multiarch_diversion libGLX_indirect.so.0 /usr/lib /usr/lib/mesa-diverted
 
 fi
 
@@ -85,7 +86,11 @@ if [ "$1" = "configure" ]; then
 
 	# do some validation of the diverted libGL.so and libGL.so.1
 	for triplet in $TRIPLETS ; do
-		validate_diverted_symlink /usr/lib${triplet}libGL.so /usr/lib/mesa-diverted${triplet}libGL.so libGL.so.1
+		for target in libGL.so.1.7.0 libGL.so.1 NONE
+		do
+			test ! -f /usr/lib/mesa-diverted${triplet}${target} || break
+		done
+		validate_diverted_symlink /usr/lib${triplet}libGL.so /usr/lib/mesa-diverted${triplet}libGL.so ${target}
 		# the symlink should point to the newest (libglvnd > mesa > ancient whatever) file that we have diverted
 		for target in libGL.so.1.7.0 libGL.so.1.0.0 libGL.so.1.2.0 libGL.so.1.2 NONE
 		do
@@ -104,6 +109,12 @@ if [ "$1" = "configure" ]; then
 	dpkg-trigger /usr/lib/libGL.so.1
 	dpkg-trigger /usr/lib/libGL.so
 
+	# put all packages shipping the diverted files in triggers-awaited state
+	for package in libgl1 libegl1 libgles1 libgles2 libgl1-mesa-glx libegl1-mesa libgles1-mesa libgles2-mesa libglx-mesa0
+	do
+		dpkg-trigger --by-package=${package} register-glx-alternative-mesa
+	done
+
 	dpkg-trigger --no-await ldconfig
 
 fi
diff --git a/debian/glx-diversions.postrm b/debian/glx-diversions.postrm
index fb4015d..2386153 100644
--- a/debian/glx-diversions.postrm
+++ b/debian/glx-diversions.postrm
@@ -54,6 +54,7 @@ if [ "$1" = "remove" ]; then
 	remove_multiarch_diversion libGLESv2.so.2.0.0 /usr/lib /usr/lib/mesa-diverted
 	remove_multiarch_diversion libGLESv2.so.2 /usr/lib /usr/lib/mesa-diverted
 	remove_multiarch_diversion libGLESv2.so /usr/lib /usr/lib/mesa-diverted
+	remove_multiarch_diversion libGLX_indirect.so.0 /usr/lib /usr/lib/mesa-diverted
 
 	for triplet in $TRIPLETS ; do
 		rmdir /usr/lib/mesa-diverted${triplet} 2>/dev/null || true

--- End Message ---
--- Begin Message ---
Version: 9.8

Hi,

The update referenced by each of these bugs was included in this
morning's stretch point release.

Regards,

Adam

--- End Message ---

Reply to: