--- Begin Message ---
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;' \
--- End Message ---