Package: release.debian.org Severity: normal Tags: bullseye User: release.debian....@packages.debian.org Usertags: pu
[ Reason ] In prepararion to upgrading nvidia-graphics-drivers(-tesla) to the 535 series (a new LTSB branch announced last week and supported until June 2026, i.e. sufficient for bookworm) I'd like to split src:nvidia-settings (building binary packages in main and contrib) into src:libxnvctrl (in main) and src:nvidia-settings (in contrib). src:libxnvctrl will most likely see no further updates over the lifetime of bookworm, while src:nvidia-settings. As a side effect of this decoupling, bin:nvidia-settings will no longer be a key package, removing a lot of contrib and non-free packages from the key package set. [ Impact ] Maintaining the new (split style) in sid/trixie and the old (merged style) in bookworm while updating src:nvidia-settings in bookworm for updated src:nvidia-drivers(-tesla) versions will be much more difficult and less tested than doing the package split in stable, too, and just rebuilding the packages from sid later on. (This does not affect bullseye which cannot be updated beyond the 470 driver series, so no more nvidia-settings updates are expected there.) [ Tests ] diffoscope showed binary identical (excluding metadata) packages built from src:nvidia-settings (old style) and src:libxnvctrl. [ Risks ] Low, the libxnvctrl0, libxnvctrl-dev packages only have metadata changes. [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [ ] the issue is verified as fixed in unstable the NEW package is is ready in experimental, and I'll upload it to both sid and bookworm if this request is granted. [ Changes ] Most of the diff is just deletion of the packaging bits needed for the nvidia-settings binary package. [ Other info ] This package may require stable-NEW processing. Andreas
diff --git a/debian/changelog b/debian/changelog index 884310e..2705350 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,23 @@ +libxnvctrl (525.85.05-3~deb12u1) bookworm; urgency=medium + + * Rebuild for bookworm. + + -- Andreas Beckmann <a...@debian.org> Mon, 10 Jul 2023 12:02:00 +0200 + +libxnvctrl (525.85.05-3) unstable; urgency=medium + + * Upload to unstable. + + -- Andreas Beckmann <a...@debian.org> Mon, 10 Jul 2023 12:01:56 +0200 + +libxnvctrl (525.85.05-2) experimental; urgency=medium + + * Fork as separate source package building only libxnvctrl0, libxnvctrl-dev + in main. + * Upload to experimental. + + -- Andreas Beckmann <a...@debian.org> Tue, 18 Apr 2023 14:14:26 +0200 + nvidia-settings (525.85.05-1) unstable; urgency=medium * New upstream release 525.85.05. diff --git a/debian/control b/debian/control index d9a6b3b..7bf03dc 100644 --- a/debian/control +++ b/debian/control @@ -1,58 +1,19 @@ -Source: nvidia-settings -Section: x11 +Source: libxnvctrl +Section: libs Priority: optional Maintainer: Debian NVIDIA Maintainers <pkg-nvidia-de...@lists.alioth.debian.org> Uploaders: Andreas Beckmann <a...@debian.org>, - Luca Boccassi <bl...@debian.org>, Build-Depends: debhelper-compat (= 13), - m4, - libgl-dev, - libgtk-3-dev, - libjansson-dev, - libwayland-dev, - libvdpau-dev, - libxv-dev, - libxxf86vm-dev, - pkg-config, - xserver-xorg-dev, -Build-Conflicts: - libxnvctrl-dev, + libxext-dev, Rules-Requires-Root: no Standards-Version: 4.6.2 Homepage: https://download.nvidia.com/XFree86/nvidia-settings/ Vcs-Browser: https://salsa.debian.org/nvidia-team/nvidia-settings -Vcs-Git: https://salsa.debian.org/nvidia-team/nvidia-settings.git - -Package: nvidia-settings -Section: contrib/x11 -Architecture: amd64 arm64 -Pre-Depends: - nvidia-installer-cleanup, -Depends: - , ${nvidia}-alternative - , libxnvctrl0 (= ${binary:Version}) - , ${shlibs:Depends}, ${misc:Depends} -Recommends: - , libgl1-${nvidia}-glvnd-glx - , ${nvidia}-vdpau-driver - , lib${nvidia}-ml1 -Provides: - nvidia-settings-gtk-${nvidia:Version}, -Conflicts: - nvidia-settings-gtk-${nvidia:Version}, -Description: tool for configuring the NVIDIA graphics driver${nvidia:VariantDesc} - The nvidia-settings utility is a tool for configuring the NVIDIA - Linux graphics driver. It operates by communicating with the NVIDIA - X driver, querying and updating state as appropriate. This - communication is done with the NV-CONTROL X extension. - . - Values such as brightness and gamma, XVideo attributes, temperature, - and OpenGL settings can be queried and configured via nvidia-settings. +Vcs-Git: https://salsa.debian.org/nvidia-team/nvidia-settings.git -b libxnvctrl/main Package: libxnvctrl0 -Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} diff --git a/debian/gbp.conf b/debian/gbp.conf index d3b0fe0..1924bb8 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -1,8 +1,8 @@ [DEFAULT] upstream-vcs-tag = %(version)s upstream-branch = upstream -debian-branch = main -debian-tag = debian/%(version)s +debian-branch = libxnvctrl/main +debian-tag = libxnvctrl/debian/%(version)s [dch] git-log = --first-parent diff --git a/debian/nvidia-settings.desktop.in b/debian/nvidia-settings.desktop.in deleted file mode 100644 index 7f11284..0000000 --- a/debian/nvidia-settings.desktop.in +++ /dev/null @@ -1,31 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Exec=nvidia-settings -Terminal=false -Categories=HardwareSettings;System;Settings; -Icon=nvidia-settings#VARIANT# -Name=NVIDIA X Server Settings#VARIANT_DESC# -Comment=Configure NVIDIA X Server Settings#VARIANT_DESC# - -# Translations provided by Sun Microsystems -Name[de]=NVIDIA X-Server-Einstellungen -Name[es]=Valores de configuración del servidor NVIDIA X -Name[fr]=Paramètres du serveur X NVIDIA -Name[it]=NVIDIA X Server Settings -Name[ja]=NVIDIA X サーバー設定 -Name[ko]=NVIDIA X 서버 설정 -Name[pt_BR]=Configurações do NVIDIA X Server -Name[zh_CN]=NVIDIA X 服务器设置 -Name[zh_HK]=NVIDIA X 伺服器設定 -Name[zh_TW]=NVIDIA X 伺服器設定 -Comment[de]=Konfigurieren der NVIDIA X-Server-Einstellungen -Comment[es]=Establezca los valores de configuración del servidor NVIDIA X -Comment[fr]=Configurer les paramètres du serveur X NVIDIA -Comment[it]=Configura NVIDIA X Server Settings -Comment[ja]=NVIDIA X サーバー設定を構成します -Comment[ko]=NVIDIA X 서버 설정 구성 -Comment[pt_BR]=Definir &configurações de gerenciamento de usuário... -Comment[zh_CN]=配置 NVIDIA X 服务器设置 -Comment[zh_HK]=配置 NVIDIA X 伺服器設定 -Comment[zh_TW]=配置 NVIDIA X 伺服器設定 diff --git a/debian/nvidia-settings.install.in b/debian/nvidia-settings.install.in deleted file mode 100644 index 0769db9..0000000 --- a/debian/nvidia-settings.install.in +++ /dev/null @@ -1,7 +0,0 @@ -usr/bin/nvidia-settings usr/lib/#PRIVATE#/ -debian/nvidia-settings.desktop usr/lib/#PRIVATE#/ -usr/share/icons/ -usr/bin/nv-control-dpy usr/lib/#PRIVATE#/ -usr/share/man/man1/nvidia-settings.1.gz usr/lib/#PRIVATE#/ -usr/lib/libnvidia-gtk?.so.* -usr/lib/libnvidia-wayland-client.so.* diff --git a/debian/nvidia-settings.lintian-overrides b/debian/nvidia-settings.lintian-overrides deleted file mode 100644 index e4d6f91..0000000 --- a/debian/nvidia-settings.lintian-overrides +++ /dev/null @@ -1,8 +0,0 @@ -# The shared libraries are actually version-specific plugins. -package-name-doesnt-match-sonames -exit-in-shared-library -no-symbols-control-file - -# The current setup involving multiple chained alternatives would be very -# hard to migrate to /usr/libexec. -executable-in-usr-lib diff --git a/debian/patches/12_nvidia-settings.desktop.diff b/debian/patches/12_nvidia-settings.desktop.diff deleted file mode 100644 index 39f2282..0000000 --- a/debian/patches/12_nvidia-settings.desktop.diff +++ /dev/null @@ -1,23 +0,0 @@ -Author: Andreas Beckmann <deb...@abeckmann.de> -Description: substitute placeholders in desktop file -Forwarded: not-needed - ---- a/doc/nvidia-settings.desktop -+++ b/doc/nvidia-settings.desktop -@@ -1,11 +1,12 @@ - [Desktop Entry] -+Version=1.0 - Type=Application --Encoding=UTF-8 -+Exec=nvidia-settings -+Terminal=false -+Categories=HardwareSettings;System;Settings; -+Icon=nvidia-settings - Name=NVIDIA X Server Settings - Comment=Configure NVIDIA X Server Settings --Exec=__UTILS_PATH__/nvidia-settings --Icon=__PIXMAP_PATH__/nvidia-settings.png --Categories=__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__ - - # Translation by Marcin Mikołajczak - Name[pl]=Ustawienia serwera X NVIDIA diff --git a/debian/patches/kfreebsd-hurd.diff b/debian/patches/kfreebsd-hurd.diff deleted file mode 100644 index 254ab3c..0000000 --- a/debian/patches/kfreebsd-hurd.diff +++ /dev/null @@ -1,14 +0,0 @@ -Author: Andreas Beckmann <a...@debian.org> -Description: link against -ldl on !linux, too - ---- a/utils.mk -+++ b/utils.mk -@@ -166,7 +166,7 @@ endif - ifeq ($(TARGET_OS),Linux) - LIBDL_LIBS = -ldl - else -- LIBDL_LIBS = -+ LIBDL_LIBS = -ldl - endif - - # This variable controls which floating-point ABI is targeted. For ARM, it diff --git a/debian/patches/link-order.diff b/debian/patches/link-order.diff deleted file mode 100644 index 9f61a71..0000000 --- a/debian/patches/link-order.diff +++ /dev/null @@ -1,66 +0,0 @@ -Author: Andreas Beckmann <a...@debian.org> -Description: link libraries after object files - to allow proper dependency resolution - drop now superfluous --no-as-needed flag - fail on unresolved symbols - ---- a/src/Makefile -+++ b/src/Makefile -@@ -60,7 +60,7 @@ ifeq (1,$(GTK2_AVAILABLE)) - endif - - ifndef GTK2_LDFLAGS -- GTK2_LDFLAGS := -Wl,--no-as-needed $(shell $(PKG_CONFIG) --libs gtk+-2.0) -+ GTK2_LDFLAGS := $(shell $(PKG_CONFIG) --libs gtk+-2.0) - endif - else - GTK2_CFLAGS ?= -@@ -82,7 +82,7 @@ ifeq (1,$(GTK3_AVAILABLE)) - endif - - ifndef GTK3_LDFLAGS -- GTK3_LDFLAGS := -Wl,--no-as-needed $(shell $(PKG_CONFIG) --libs gtk+-3.0) -+ GTK3_LDFLAGS := $(shell $(PKG_CONFIG) --libs gtk+-3.0) - endif - else - GTK3_CFLAGS ?= -@@ -337,30 +337,30 @@ ifdef BUILD_GTK2LIB - $(eval $(call DEBUG_INFO_RULES, $(GTK2LIB))) - $(GTK2LIB).unstripped: $(LIBXNVCTRL) $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK) - $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ -- $(LIBXNVCTRL) $(LIBS) $(GTK2_LIBS) \ -- -Wl,--unresolved-symbols=ignore-all -o $@ \ -+ -o $@ \ - -Wl,-soname -Wl,$(GTK2LIB_SONAME) \ -- $(GTK2_OBJS) $(IMAGE_OBJS) $(XCP_OBJS) -+ $(GTK2_OBJS) $(IMAGE_OBJS) $(XCP_OBJS) \ -+ $(LIBXNVCTRL) $(LIBS) $(GTK2_LIBS) - endif - - ifdef BUILD_GTK3LIB - $(eval $(call DEBUG_INFO_RULES, $(GTK3LIB))) - $(GTK3LIB).unstripped: $(LIBXNVCTRL) $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK) - $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ -- $(LIBXNVCTRL) $(LIBS) $(GTK3_LIBS) \ -- -Wl,--unresolved-symbols=ignore-all -o $@ \ -+ -o $@ \ - -Wl,-soname -Wl,$(GTK3LIB_SONAME) \ -- $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) -+ $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) \ -+ $(LIBXNVCTRL) $(LIBS) $(GTK3_LIBS) - endif - - ifdef BUILD_WAYLANDLIB - $(eval $(call DEBUG_INFO_RULES, $(WAYLANDLIB))) - $(WAYLANDLIB).unstripped: $(WAYLAND_OBJS) - $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ -- $(LIBS) $(WAYLAND_LIBS) \ -- -Wl,--unresolved-symbols=ignore-all -o $@ \ -+ -o $@ \ - -Wl,-soname -Wl,$(WAYLANDLIB_SONAME) \ -- $(WAYLAND_OBJS) -+ $(WAYLAND_OBJS) \ -+ $(LIBS) $(WAYLAND_LIBS) - - endif - diff --git a/debian/patches/series b/debian/patches/series index d5ba55e..a267793 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,7 +1,2 @@ -link-order.diff 10_libxnvctrl_so_0.diff -12_nvidia-settings.desktop.diff -typos.diff -kfreebsd-hurd.diff -xorg.patch include-Xlib.patch diff --git a/debian/patches/typos.diff b/debian/patches/typos.diff deleted file mode 100644 index 900f8d8..0000000 --- a/debian/patches/typos.diff +++ /dev/null @@ -1,14 +0,0 @@ -Author: Andreas Beckmann <a...@debian.org> -Description: fix some typos found by lintian - ---- a/src/XF86Config-parser/Monitor.c -+++ b/src/XF86Config-parser/Monitor.c -@@ -379,7 +379,7 @@ xconfigParseVerboseMode (void) - Error (UNEXPECTED_EOF_MSG, NULL); - break; - default: -- Error ("Unexepcted token in verbose \"Mode\" entry\n", NULL); -+ Error ("Unexpected token in verbose \"Mode\" entry\n", NULL); - } - } - if (!had_dotclock) diff --git a/debian/patches/xorg.patch b/debian/patches/xorg.patch deleted file mode 100644 index 00a21f8..0000000 --- a/debian/patches/xorg.patch +++ /dev/null @@ -1,19 +0,0 @@ -Author: Andreas Beckmann <a...@debian.org> -Description: resolve xorg libdir at build time -Forwarded: not-needed - ---- a/src/XF86Config-parser/Generate.c -+++ b/src/XF86Config-parser/Generate.c -@@ -204,6 +204,12 @@ static char *find_libdir(GenerateOptions - FILE *stream = NULL; - char *s, *libdir = NULL; - -+#ifdef PKG_CONFIG_XORG_XSERVER_LIBDIR -+ libdir = PKG_CONFIG_XORG_XSERVER_LIBDIR; -+ if (libdir && *libdir) -+ return xconfigStrdup(libdir); -+#endif -+ - /* - * run the pkg-config command and read the output; if the output - * is a directory, then return that as the libdir diff --git a/debian/rules b/debian/rules index 5efee5d..af580de 100755 --- a/debian/rules +++ b/debian/rules @@ -7,17 +7,9 @@ export NV_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all include /usr/share/dpkg/buildflags.mk -include /usr/share/dpkg/pkg-info.mk DPKG_EXPORT_BUILDTOOLS=1 include /usr/share/dpkg/buildtools.mk -PKG_CONFIG_XORG_XSERVER_LIBDIR = $(shell pkg-config --variable=libdir xorg-server) -CPPFLAGS += -DPKG_CONFIG_XORG_XSERVER_LIBDIR='\"$(PKG_CONFIG_XORG_XSERVER_LIBDIR)\"' - -export PREFIX = /usr -export DO_STRIP = -export CC_ONLY_CFLAGS = $(CPPFLAGS) -export HOST_CC_ONLY_CFLAGS = $(CPPFLAGS) # reproducible builds: instead of _out/$(uname)_($uname -m) use a fixed directory export OUTPUTDIR = _out/debian @@ -25,83 +17,14 @@ ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) export DEBUG = 1 endif -export NV_USE_BUNDLED_LIBJANSSON = 0 - -include debian/rules.defs -NVIDIA_LEGACY ?= -NVIDIA_TESLA ?= -NVIDIA_RELEASE = $(DEB_VERSION_UPSTREAM) -variant = $(if $(NVIDIA_TESLA),tesla-$(NVIDIA_TESLA),$(if $(NVIDIA_LEGACY),legacy-$(NVIDIA_LEGACY)xx)) -variant_description = $(if $(NVIDIA_TESLA), (Tesla $(NVIDIA_TESLA) version),$(if $(NVIDIA_LEGACY), ($(NVIDIA_LEGACY)xx legacy version))) --variant = $(if $(variant),-$(variant)) -nvidia = nvidia$(-variant) -nvidia_private = nvidia/$(if $(variant),$(variant),current) -watch_version ?= $(or $(NVIDIA_TESLA),$(NVIDIA_LEGACY)) - -ALL_CONTROL := $(wildcard debian/nvidia-settings.*) -VARIANT_CONTROL := $(wildcard debian/nvidia-settings$(-variant).*) -RENAME_CONTROL = $(filter-out $(VARIANT_CONTROL),$(ALL_CONTROL)) -RENAMED_CONTROL = $(patsubst debian/nvidia-settings.%,debian/nvidia-settings$(-variant).%,$(RENAME_CONTROL)) -TEMPLATES := $(wildcard debian/*.in) -AUTOGEN += $(patsubst %.in,%,$(TEMPLATES)) -AUTOGEN += $(patsubst %.in,%,$(RENAMED_CONTROL)) -AUTOGEN += debian/substvars -AUTOKEEP = debian/watch -AUTOCLEAN = $(filter-out $(AUTOKEEP),$(AUTOGEN)) - %: dh $@ -ifeq (,$(filter nvidia-settings,$(shell dh_listpackages))) -override_dh_auto_build: $(AUTOGEN) +override_dh_auto_build: CC_ONLY_CFLAGS="$(CPPFLAGS)" dh_auto_build --sourcedirectory=src/libXNVCtrl override_dh_auto_install: -else -override_dh_auto_build: $(AUTOGEN) - CC_ONLY_CFLAGS="$(CPPFLAGS)" dh_auto_build --sourcedirectory=src/libXNVCtrl - CC_ONLY_CFLAGS="$(CPPFLAGS)" dh_auto_build -O--parallel - $(MAKE) -C samples - -override_dh_auto_install: - dh_auto_install --destdir=debian/tmp - install -m 0755 samples/$(OUTPUTDIR)/nv-control-dpy debian/tmp/usr/bin/ - install -d -m 0755 debian/tmp/usr/share/icons/hicolor/128x128/apps/ - install -m 0644 doc/nvidia-settings.png debian/tmp/usr/share/icons/hicolor/128x128/apps/nvidia-settings$(-variant).png -endif override_dh_auto_clean: - dh_auto_clean -- BUILD_GTK3LIB=1 - -execute_after_dh_auto_clean: - $(MAKE) -C samples clean - $(RM) -r doc/_out samples/_out src/_out src/libXNVCtrl/_out - $(RM) $(AUTOCLEAN) - $(MAKE) -f debian/rules $(AUTOKEEP) - -override_dh_gencontrol: - dh_gencontrol -- \ - -V'nvidia=$(nvidia)' \ - -V'nvidia:VariantDesc=$(variant_description)' \ - -V'nvidia:Version=$(NVIDIA_RELEASE)' - -# used by dpkg-genchanges -debian/substvars: - echo 'nvidia:VariantDesc=$(variant_description)' > $@ - - -# Generating control files -debian/%:: debian/%.in debian/rules debian/rules.defs - perl -p \ - -e 's{#VARIANT#}{$(-variant)}g;' \ - -e 's{#VARIANT_DESC#}{$(variant_description)}g;' \ - -e 's{#PRIVATE#}{$(nvidia_private)}g;' \ - -e 's{#WATCH_VERSION#}{$(watch_version)}g;' \ - < $< > $@ - -# Renaming control files for variant packaging -ifneq (,$(variant)) -nvidia-settings$(-variant).%: nvidia-settings.% - cp -a $< $@ -endif + $(RM) -r src/libXNVCtrl/_out diff --git a/debian/rules.defs b/debian/rules.defs deleted file mode 100644 index 5bfaa08..0000000 --- a/debian/rules.defs +++ /dev/null @@ -1,2 +0,0 @@ -#NVIDIA_TESLA = -#NVIDIA_LEGACY = diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml index bfed02b..33c3a64 100644 --- a/debian/salsa-ci.yml +++ b/debian/salsa-ci.yml @@ -2,6 +2,3 @@ include: - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml - -variables: - SALSA_CI_COMPONENTS: 'main contrib non-free' diff --git a/debian/watch.in b/debian/watch.in deleted file mode 100644 index ad76a58..0000000 --- a/debian/watch.in +++ /dev/null @@ -1,3 +0,0 @@ -version=4 - -https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-(#WATCH_VERSION#.*).tar.(?:gz|bz2)