Package: nvidia-settings Version: 304.48-1 Severity: wishlist Tags: patch Hi
Please add alternatives for the current and legacy nvidia-settings packages to make them co-installable. This is yet another necessary fix to have both drivers available on Debian Live systems. The attached patches contain the necessary changes to the various involved packages (nvidia-settings, nvidia-settings-legacy-173xx, nvidia-graphics-drivers and nvidia-graphics-drivers-legacy-173xx). I'll clone this report to the other packages once it's bug number is available. I choose to implement the alternative as a slave to the already existing alternative "nvidia" for the glx library. I think it does not make sense to point these to different versions. I also added the desktop files to the alternative. IMO only the desktop file for the choosen alternative should be available. The other two files will not show up as they don't end in .desktop. Having menu entries for both versions is just confusing. Unfortunatley this is not possible for the Debian Menu. So this will contain both versions if both are installed regardless of the alternative choosen. Gaudenz -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (800, 'testing'), (700, 'unstable'), (50, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.5-trunk-amd64 (SMP w/2 CPU cores) Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages nvidia-settings depends on: ii libc6 2.13-35 ii libgdk-pixbuf2.0-0 2.26.1-1 ii libglib2.0-0 2.32.3-1 ii libgtk2.0-0 2.24.10-2 ii libpango1.0-0 1.30.0-1 ii libx11-6 2:1.5.0-1 ii libxnvctrl0 304.48-1 ii libxxf86vm1 1:1.1.2-1 ii nvidia-installer-cleanup 20120630+3 ii pkg-config 0.26-1 Versions of packages nvidia-settings recommends: pn libgl1-nvidia-glx <none> nvidia-settings suggests no packages. -- no debconf information
commit 7ff084e40c20ddb8ac24907ea1b8eeda79c6213d Author: Gaudenz Steinlin <[email protected]> Date: Tue Sep 25 09:34:34 2012 +0200 Add alternative for nividia-settings Makes this package co-installable with nvidia-settings-legacy-173xx and adds an alternative for nividia-settings. The alternative is a slave to the already existing nvidia alternative in the package nvidia-alternative. diff --git a/debian/control b/debian/control index 3c628ce..dc8d3bd 100644 --- a/debian/control +++ b/debian/control @@ -26,7 +26,6 @@ Pre-Depends: nvidia-installer-cleanup Depends: pkg-config, ${shlibs:Depends}, ${misc:Depends} Recommends: libgl1-nvidia-glx Breaks: xserver-xorg-video-nvidia (<< 302) -Conflicts: xserver-xorg-video-nvidia-legacy-173xx Description: Tool for configuring the NVIDIA graphics driver The nvidia-settings utility is a tool for configuring the NVIDIA Linux graphics driver. It operates by communicating with the NVIDIA diff --git a/debian/nvidia-settings.menu b/debian/nvidia-settings.menu index e21d8d2..88986b3 100644 --- a/debian/nvidia-settings.menu +++ b/debian/nvidia-settings.menu @@ -2,4 +2,4 @@ needs="X11" \ section="Applications/System/Hardware" \ title="NVIDIA Settings" \ - command="/usr/bin/nvidia-settings" + command="/usr/bin/nvidia-settings-current" diff --git a/debian/rules b/debian/rules index 41a8688..4861659 100755 --- a/debian/rules +++ b/debian/rules @@ -9,6 +9,8 @@ endif export PREFIX = /usr +SETTINGS_PACKAGE_DIR=$(CURDIR)/debian/nvidia-settings +ALTERNATIVE_FILES=/usr/bin/nvidia-settings /usr/bin/nv-control-dpy /usr/share/applications/nvidia-settings.desktop /usr/share/pixmaps/nvidia-settings.png %: dh $@ @@ -18,6 +20,15 @@ override_dh_auto_build: CC_ONLY_CFLAGS="$(CPPFLAGS)" dh_auto_build -O--parallel $(MAKE) -C samples +override_dh_install: + dh_install + # rename alternatives + $(foreach f, $(ALTERNATIVE_FILES), mv $(SETTINGS_PACKAGE_DIR)$(f) $(SETTINGS_PACKAGE_DIR)$(f)-current ; ) + +override_dh_installman: + dh_installman + mv $(SETTINGS_PACKAGE_DIR)/usr/share/man/man1/nvidia-settings.1 $(SETTINGS_PACKAGE_DIR)/usr/share/man/man1/nvidia-settings-current.1 + override_dh_auto_clean: dh_auto_clean $(MAKE) -C samples clean
commit 7ba2216e297208061911e4f6fb27008239d8a834 Author: Gaudenz Steinlin <[email protected]> Date: Tue Sep 25 11:16:48 2012 +0200 Add alternative for nividia-settings Makes this package co-installable with nvidia-settings and adds an alternative for nividia-settings. The alternative is a slave to the already existing nvidia alternative in the package nvidia-alternative-legacy-173xx. diff --git a/debian/control b/debian/control index 77482e7..4818963 100644 --- a/debian/control +++ b/debian/control @@ -28,9 +28,6 @@ Pre-Depends: nvidia-installer-cleanup Depends: pkg-config, ${shlibs:Depends}, ${misc:Depends} Recommends: libgl1-nvidia-legacy-173xx-glx Provides: nvidia-settings -Conflicts: nvidia-settings, - xserver-xorg-video-nvidia, -Replaces: nvidia-settings Description: Tool for configuring the NVIDIA graphics driver The nvidia-settings utility is a tool for configuring the NVIDIA Linux graphics driver. It operates by communicating with the NVIDIA diff --git a/debian/nvidia-settings-legacy-173xx.menu b/debian/nvidia-settings-legacy-173xx.menu index 6953592..b579428 100644 --- a/debian/nvidia-settings-legacy-173xx.menu +++ b/debian/nvidia-settings-legacy-173xx.menu @@ -2,4 +2,4 @@ needs="X11" \ section="Applications/System/Hardware" \ title="NVIDIA Settings (legacy 173xx)" \ - command="/usr/bin/nvidia-settings" + command="/usr/bin/nvidia-settings-legacy-173xx" diff --git a/debian/rules b/debian/rules index d126de8..fb5bb68 100755 --- a/debian/rules +++ b/debian/rules @@ -8,6 +8,8 @@ export DEBUG = 1 endif export PREFIX = /usr +SETTINGS_PACKAGE_DIR=$(CURDIR)/debian/nvidia-settings-legacy-173xx +ALTERNATIVE_FILES=/usr/bin/nvidia-settings /usr/bin/nv-control-dpy /usr/share/applications/nvidia-settings.desktop /usr/share/pixmaps/nvidia-settings.png %: @@ -26,6 +28,15 @@ override_dh_auto_clean: override_dh_auto_install: dh_auto_install --destdir=debian/tmp +override_dh_install: + dh_install + # rename alternatives + $(foreach f, $(ALTERNATIVE_FILES), mv $(SETTINGS_PACKAGE_DIR)$(f) $(SETTINGS_PACKAGE_DIR)$(f)-legacy-173xx ; ) + +override_dh_installman: + dh_installman + mv $(SETTINGS_PACKAGE_DIR)/usr/share/man/man1/nvidia-settings.1 $(SETTINGS_PACKAGE_DIR)/usr/share/man/man1/nvidia-settings-legacy-173xx.1 + override_dh_installexamples: [ ! -f samples/Makefile ] || $(MAKE) -C samples clean dh_installexamples
commit 855f82b2702d4519109429d1b37237f383ed07dc Author: Gaudenz Steinlin <[email protected]> Date: Tue Sep 25 11:29:35 2012 +0200 Add alternatives for nvidia-settings diff --git a/debian/control b/debian/control index 482e08e..da8fd73 100644 --- a/debian/control +++ b/debian/control @@ -154,7 +154,7 @@ Breaks: fglrx-glx (<< 1:11-6-~), ia32-libs (<< 20120701) [i386], nvidia-settings (<< 304), - nvidia-settings-legacy-173xx, + nvidia-settings-legacy-173xx (<< 173.14.35-2), Replaces: nvidia-glx${nvidia:Legacy} (<< 195.36.31), libgl1-nvidia${nvidia:Legacy}-dev, diff --git a/debian/nvidia-alternative.postinst.in b/debian/nvidia-alternative.postinst.in index 17ba10b..931d516 100644 --- a/debian/nvidia-alternative.postinst.in +++ b/debian/nvidia-alternative.postinst.in @@ -52,6 +52,11 @@ if [ "$1" = "triggered" ]; then $(add_slave /usr/lib/nvidia/libglx.so libglx.so /usr/lib/#PRIVATE#/libglx.so) $(add_slave /usr/lib/nvidia/nvidia_drv.so nvidia_drv.so /usr/lib/#PRIVATE#/nvidia_drv.so) $(add_slave /usr/lib/nvidia/nvidia-bug-report.sh nvidia-bug-report.sh /usr/lib/#PRIVATE#/nvidia-bug-report.sh) + $(add_slave /usr/bin/nvidia-settings nvidia-settings /usr/bin/nvidia-settings#LEGACY_OR_CURRENT#) + $(add_slave /usr/bin/nv-control-dpy nv-control-dpy /usr/bin/nv-control-dpy#LEGACY_OR_CURRENT#) + $(add_slave /usr/share/applications/nvidia-settings.desktop nvidia-settings.desktop /usr/share/applications/nvidia-settings.desktop#LEGACY_OR_CURRENT#) + $(add_slave /usr/share/pixmaps/nvidia-settings.png nvidia-settings.png /usr/share/pixmaps/nvidia-settings.png#LEGACY_OR_CURRENT#) + $(add_slave /usr/share/man/man1/nvidia-settings.1.gz nvidia-settings.1.gz /usr/share/man/man1/nvidia-settings#LEGACY_OR_CURRENT#.1.gz) " if echo "$slaves" | grep -q "slave" ; then update-alternatives --install /usr/lib/nvidia/nvidia nvidia /usr/lib/#PRIVATE# #MAJOR# $slaves diff --git a/debian/nvidia-alternative.triggers.in b/debian/nvidia-alternative.triggers.in index 57cd16d..eb6d528 100644 --- a/debian/nvidia-alternative.triggers.in +++ b/debian/nvidia-alternative.triggers.in @@ -3,3 +3,8 @@ interest register-nvidia-alternative#LEGACY# interest /usr/lib/#PRIVATE# interest /usr/lib/i386-linux-gnu/#PRIVATE# interest /usr/lib/x86_64-linux-gnu/#PRIVATE# +interest /usr/bin/nvidia-settings#LEGACY_OR_CURRENT# +interest /usr/bin/nv-control-dpy#LEGACY_OR_CURRENT# +interest /usr/share/applications/nvidia-settings.desktop#LEGACY_OR_CURRENT# +interest /usr/share/pixmaps/nvidia-settings.png#LEGACY_OR_CURRENT# +interest /usr/share/man/man1/nvidia-settings#LEGACY_OR_CURRENT#.1.gz diff --git a/debian/rules b/debian/rules index a2d4b1b..b9fc9fd 100755 --- a/debian/rules +++ b/debian/rules @@ -283,6 +283,7 @@ endif -e 's{#VERSION#}{$(version)}g;' \ -e 's{#MAJOR#}{$(firstword $(subst ., ,$(version)))}g;' \ -e 's{#LEGACY#}{$(legacy)}g;' \ + -e 's{#LEGACY_OR_CURRENT#}{$(if $(legacy),$(legacy),-current)}g;' \ -e 's{#WATCH_PATTERN#}{$(subst \,\\,$(watch_pattern))}g;' \ -e 's{#LIBDIR#}{$(libdir)}g;' \ -e 's{#PRIVATE#}{$(nvidia_private)}g;' \
commit 2296ea04de3b9345fcbfc7bc281e17b64daa142d Author: Gaudenz Steinlin <[email protected]> Date: Tue Sep 25 12:32:36 2012 +0200 Add alternatives for nvidia-settings diff --git a/debian/nvidia-alternative.postinst.in b/debian/nvidia-alternative.postinst.in index 17ba10b..931d516 100644 --- a/debian/nvidia-alternative.postinst.in +++ b/debian/nvidia-alternative.postinst.in @@ -52,6 +52,11 @@ if [ "$1" = "triggered" ]; then $(add_slave /usr/lib/nvidia/libglx.so libglx.so /usr/lib/#PRIVATE#/libglx.so) $(add_slave /usr/lib/nvidia/nvidia_drv.so nvidia_drv.so /usr/lib/#PRIVATE#/nvidia_drv.so) $(add_slave /usr/lib/nvidia/nvidia-bug-report.sh nvidia-bug-report.sh /usr/lib/#PRIVATE#/nvidia-bug-report.sh) + $(add_slave /usr/bin/nvidia-settings nvidia-settings /usr/bin/nvidia-settings#LEGACY_OR_CURRENT#) + $(add_slave /usr/bin/nv-control-dpy nv-control-dpy /usr/bin/nv-control-dpy#LEGACY_OR_CURRENT#) + $(add_slave /usr/share/applications/nvidia-settings.desktop nvidia-settings.desktop /usr/share/applications/nvidia-settings.desktop#LEGACY_OR_CURRENT#) + $(add_slave /usr/share/pixmaps/nvidia-settings.png nvidia-settings.png /usr/share/pixmaps/nvidia-settings.png#LEGACY_OR_CURRENT#) + $(add_slave /usr/share/man/man1/nvidia-settings.1.gz nvidia-settings.1.gz /usr/share/man/man1/nvidia-settings#LEGACY_OR_CURRENT#.1.gz) " if echo "$slaves" | grep -q "slave" ; then update-alternatives --install /usr/lib/nvidia/nvidia nvidia /usr/lib/#PRIVATE# #MAJOR# $slaves diff --git a/debian/nvidia-alternative.triggers.in b/debian/nvidia-alternative.triggers.in index 57cd16d..eb6d528 100644 --- a/debian/nvidia-alternative.triggers.in +++ b/debian/nvidia-alternative.triggers.in @@ -3,3 +3,8 @@ interest register-nvidia-alternative#LEGACY# interest /usr/lib/#PRIVATE# interest /usr/lib/i386-linux-gnu/#PRIVATE# interest /usr/lib/x86_64-linux-gnu/#PRIVATE# +interest /usr/bin/nvidia-settings#LEGACY_OR_CURRENT# +interest /usr/bin/nv-control-dpy#LEGACY_OR_CURRENT# +interest /usr/share/applications/nvidia-settings.desktop#LEGACY_OR_CURRENT# +interest /usr/share/pixmaps/nvidia-settings.png#LEGACY_OR_CURRENT# +interest /usr/share/man/man1/nvidia-settings#LEGACY_OR_CURRENT#.1.gz diff --git a/debian/rules b/debian/rules index 4c1590a..ff9052f 100755 --- a/debian/rules +++ b/debian/rules @@ -283,6 +283,7 @@ endif -e 's{#VERSION#}{$(version)}g;' \ -e 's{#MAJOR#}{$(firstword $(subst ., ,$(version)))}g;' \ -e 's{#LEGACY#}{$(legacy)}g;' \ + -e 's{#LEGACY_OR_CURRENT#}{$(if $(legacy),$(legacy),-current)}g;' \ -e 's{#WATCH_PATTERN#}{$(subst \,\\,$(watch_pattern))}g;' \ -e 's{#LIBDIR#}{$(libdir)}g;' \ -e 's{#PRIVATE#}{$(nvidia_private)}g;' \

