Xiyue Deng <manp...@gmail.com> writes: > Xiyue Deng <manp...@gmail.com> writes: > >> Control: tags -1 patch >> >> Hi, >> >> It looks like the gsettings-backend dependency was introduced since >> Emacs 29.1. Tried to debug this a little, and it looks like the >> dependencies was pulled in through ${misc:Depends} due to the GSettings >> schema file[1]. With helps from folks on IRC, we found that this file >> was installed only in PGTK mode[2], so technically this is not required >> by other modes and should be safe to be moved from emacs-common to >> emacs-pgtk. >> >> I have prepared a MR[3] (patch also attached) as an attempt and verified >> that it moved the "dconf-gsettings-backend | gsettings-backend" from >> emacs-common to emacs-pgtk. I'll try to use this locally with emacs-nox >> to further verify that it doesn't cause any issues. >> >> Meanwhile, would be great to have people review the patch. TIA! >> >> [1] Search for >> "/usr/share/glib-2.0/schemas/org.gnu.emacs.defaults.gschema.xml" on >> https://packages.debian.org/sid/all/emacs-common/filelist >> >> [2] >> https://salsa.debian.org/rlb/deb-emacs/-/blob/deb/emacs/d/sid/master/Makefile.in?ref_type=heads#L1334-1337 >> >> [3] https://salsa.debian.org/rlb/deb-emacs/-/merge_requests/12 > > I have made a few updates to the merge request, and please see the > updated patch attached. Do refer to the merge request[1] for the latest > updates. > > [1] https://salsa.debian.org/rlb/deb-emacs/-/merge_requests/12
I have attached the refreshed patches after the release of 29.3+1-1. TIA! (Note that merge requests were closed so the salsa link is no longer valid.) -- Xiyue Deng
>From 2ce769b9ea45d72ed54d6168875626b10c8e7321 Mon Sep 17 00:00:00 2001 From: Xiyue Deng <manp...@gmail.com> Date: Wed, 13 Mar 2024 10:22:46 -0700 Subject: [PATCH] Install GSettings schema in pgtk build only (Closes: #1050393) * In PGTK build it generates the GSettings schema file "/usr/share/glib-2.0/schemas/org.gnu.emacs.defaults.gschema.xml" which is not needed in other variant. * Move the file from emacs-common to emacs-pgtk, and adds proper breaks/replaces/conflicts to ensure a smooth upgrade. --- debian/changelog | 7 +++++++ debian/control | 12 ++++++++++-- debian/rules | 9 ++++++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6ffab5c7af8..18c502de26d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +emacs (1:29.3+1-2) UNRELEASED; urgency=medium + + * Team upload. + * Install GSettings schema in pgtk build only (Closes: #1050393) + + -- Xiyue Deng <manp...@gmail.com> Wed, 13 Mar 2024 10:22:10 -0700 + emacs (1:29.3+1-1) unstable; urgency=high * Merge upstream version 29.3. Thanks to David Bremner for the diff --git a/debian/control b/debian/control index e168717089f..0c6fab0bfeb 100644 --- a/debian/control +++ b/debian/control @@ -138,8 +138,15 @@ Provides: editor, emacs, emacsen, info-browser, mail-reader, news-reader Recommends: fonts-noto-color-emoji Suggests: emacs-common-non-dfsg Conflicts: emacs-gtk, emacs-lucid, emacs-nox -Replaces: emacs-gtk, emacs-lucid, emacs-nox, emacs-bin-common (<< 1:29.2) -Breaks: emacs-bin-common (<< 1:29.2) +Replaces: + emacs-gtk, + emacs-lucid, + emacs-nox, + emacs-bin-common (<< 1:29.2), + emacs-common (<< 1:29.2+1-3~), +Breaks: + emacs-bin-common (<< 1:29.2), + emacs-common (<< 1:29.2+1-3~), Description: GNU Emacs editor (with GTK+ Wayland GUI support) GNU Emacs is the extensible self-documenting text editor. This package contains a version of Emacs with a graphical user interface @@ -184,6 +191,7 @@ Breaks: emacs-gtk (<< 1:25), emacs-lucid (<< 1:25), emacs-nox (<< 1:25), + emacs-pgtk (<< 1:29.2+1-3~), Replaces: emacs-bin-common (<< 1:28) Description: GNU Emacs editor's shared, architecture independent infrastructure diff --git a/debian/rules b/debian/rules index 38965316f3d..8448d7c9be3 100755 --- a/debian/rules +++ b/debian/rules @@ -425,6 +425,9 @@ override_dh_auto_install: $(autogen_install_files) cp -a $(install_dir_pgtk)/* $(pkgdir_common) rm -r $(pkgdir_common)/usr/bin + # PGTK builds a GSettings schema that is PGTK specific and + # should not be shipped in emacs-common + rm -r $(pkgdir_common)/usr/share/glib-2.0 rm \ $(pkgdir_common)/$(libexec_dir_emacs)/hexl \ $(pkgdir_common)/$(libexec_dir_emacs)/emacs-*.pdmp \ @@ -548,7 +551,7 @@ override_dh_auto_install: $(autogen_install_files) ################################################## # emacs-pgtk - ifneq (,$(findstring emacs, $(shell dh_listpackages))) + ifneq (,$(findstring emacs-pgtk, $(shell dh_listpackages))) $(call install_common_binpkg_bits,$(install_dir_pgtk),$(pkgdir_pgtk),emacs-pgtk,pgtk) # install desktop entries @@ -557,6 +560,10 @@ override_dh_auto_install: $(autogen_install_files) debian/emacs.desktop \ debian/emacs-term.desktop \ $(pkgdir_pgtk)/usr/share/applications/ + # install GSettings schema + install -d $(pkgdir_pgtk)/usr/share/glib-2.0 + cp -a $(install_dir_pgtk)/usr/share/glib-2.0/* \ + $(pkgdir_pgtk)/usr/share/glib-2.0 endif ################################################## -- 2.39.2